Belle II Software  release-05-01-25
MuidBuilder.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Leo Piilonen *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 /* KLM headers. */
14 #include <klm/dbobjects/KLMLikelihoodParameters.h>
15 #include <klm/muid/MuidElementNumbers.h>
16 
17 /* Belle 2 headers. */
18 #include <framework/database/DBObjPtr.h>
19 
20 namespace Belle2 {
26  class KLMMuidLikelihood;
27 
31  class MuidBuilder {
32 
33  public:
34 
39  explicit MuidBuilder(int pdg);
40 
44  ~MuidBuilder();
45 
50  double getPDF(const KLMMuidLikelihood* muid) const;
51 
52  private:
53 
57  MuidBuilder();
58 
63 
68 
74 
84  void spline(int n, double dx, double Y[], double B[], double C[], double D[]);
85 
90  double getLongitudinalPDF(const KLMMuidLikelihood* muid) const;
91 
96  double getTransversePDF(const KLMMuidLikelihood* muid) const;
97 
103 
108 
113 
118 
124 
130 
136 
142 
146  double m_ReducedChiSquaredDx;
147 
152 
153  };
154 
156 }
Belle2::MuidBuilder::m_ReducedChiSquaredPDF
double m_ReducedChiSquaredPDF[MuidElementNumbers::getMaximalDetector()+1][MuidElementNumbers::getMaximalHalfNdof()+1][MuidElementNumbers::getSizeReducedChiSquared()]
Reduced chi-squared (transverse) PDF (overflows in last bin).
Definition: MuidBuilder.h:131
Belle2::MuidElementNumbers::getMaximalOutcome
static constexpr int getMaximalOutcome()
Get maximal value of the track extrapolation outcome.
Definition: MuidElementNumbers.h:164
Belle2::MuidElementNumbers::getMaximalHalfNdof
static constexpr int getMaximalHalfNdof()
Get maximal value of NDof/2 (for transverse scattering).
Definition: MuidElementNumbers.h:180
Belle2::MuidBuilder
Build the Muid likelihoods starting from the hit pattern and the transverse scattering in the KLM.
Definition: MuidBuilder.h:39
Belle2::MuidBuilder::m_ReducedChiSquaredScaleX
double m_ReducedChiSquaredScaleX[MuidElementNumbers::getMaximalDetector()+1][MuidElementNumbers::getMaximalHalfNdof()+1]
Reduced chi-squared (transverse) analytical PDF: horizontal scale ~ 1.
Definition: MuidBuilder.h:120
Belle2::MuidBuilder::~MuidBuilder
~MuidBuilder()
Destructor.
Definition: MuidBuilder.cc:63
Belle2::MuidBuilder::m_ReducedChiSquaredD1
double m_ReducedChiSquaredD1[MuidElementNumbers::getMaximalDetector()+1][MuidElementNumbers::getMaximalHalfNdof()+1][MuidElementNumbers::getSizeReducedChiSquared()]
First derivative of reduced chi-squared PDF (for spline interpolation).
Definition: MuidBuilder.h:137
Belle2::MuidBuilder::m_ReducedChiSquaredScaleY
double m_ReducedChiSquaredScaleY[MuidElementNumbers::getMaximalDetector()+1][MuidElementNumbers::getMaximalHalfNdof()+1]
Reduced chi-squared (transverse) analytical PDF: vertical scale.
Definition: MuidBuilder.h:125
Belle2::MuidElementNumbers::Hypothesis
Hypothesis
Hypothesis number.
Definition: MuidElementNumbers.h:75
Belle2::MuidBuilder::m_LikelihoodParameters
DBObjPtr< KLMLikelihoodParameters > m_LikelihoodParameters
Likelihood parameters.
Definition: MuidBuilder.h:159
Belle2::MuidBuilder::getPDF
double getPDF(const KLMMuidLikelihood *muid) const
Get total PDG for a given hypothesis.
Definition: MuidBuilder.cc:145
Belle2::MuidBuilder::m_ReducedChiSquaredD2
double m_ReducedChiSquaredD2[MuidElementNumbers::getMaximalDetector()+1][MuidElementNumbers::getMaximalHalfNdof()+1][MuidElementNumbers::getSizeReducedChiSquared()]
Second derivative of reduced chi-squared PDF (for spline interpolation).
Definition: MuidBuilder.h:143
Belle2::MuidElementNumbers::getMaximalBarrelLayer
static constexpr int getMaximalBarrelLayer()
Get maximal barrel layer number (0-based).
Definition: MuidElementNumbers.h:140
Belle2::MuidBuilder::MuidBuilder
MuidBuilder()
Default constructor.
Definition: MuidBuilder.cc:25
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::MuidBuilder::operator=
MuidBuilder & operator=(const MuidBuilder &)
Copy assignment.
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::MuidElementNumbers::getSizeReducedChiSquared
static constexpr int getSizeReducedChiSquared()
Get size of array with reduced chi-squared values (for transverse scattering).
Definition: MuidElementNumbers.h:188
Belle2::MuidBuilder::fillPDFs
void fillPDFs(MuidElementNumbers::Hypothesis hypothesis)
Retrieve the PDFs from the database according to the given hypothesis.
Definition: MuidBuilder.cc:67
Belle2::MuidBuilder::spline
void spline(int n, double dx, double Y[], double B[], double C[], double D[])
Construct spline interpolation coefficients (first, second, third derivatives).
Definition: MuidBuilder.cc:110
Belle2::MuidElementNumbers::getMaximalEndcapForwardLayer
static constexpr int getMaximalEndcapForwardLayer()
Get maximal endcap-forward layer number (0-based).
Definition: MuidElementNumbers.h:148
Belle2::MuidBuilder::m_ReducedChiSquaredD3
double m_ReducedChiSquaredD3[MuidElementNumbers::getMaximalDetector()+1][MuidElementNumbers::getMaximalHalfNdof()+1][MuidElementNumbers::getSizeReducedChiSquared()]
Third derivative of reduced chi-squared PDF (for spline interpolation).
Definition: MuidBuilder.h:149
Belle2::MuidBuilder::getTransversePDF
double getTransversePDF(const KLMMuidLikelihood *muid) const
Calculate the transverse PDF for a given hypothesis.
Definition: MuidBuilder.cc:202
Belle2::MuidElementNumbers::getMaximalDetector
static constexpr int getMaximalDetector()
Get maximal value of the detector selector (for transverse scattering).
Definition: MuidElementNumbers.h:172
Belle2::MuidBuilder::m_LayerPDF
double m_LayerPDF[MuidElementNumbers::getMaximalOutcome()+1][MuidElementNumbers::getMaximalBarrelLayer()+1][MuidElementNumbers::getMaximalBarrelLayer()+MuidElementNumbers::getMaximalEndcapForwardLayer()+2]
Longitudinal PDF.
Definition: MuidBuilder.h:110
Belle2::MuidBuilder::m_ReducedChiSquaredDx
double m_ReducedChiSquaredDx
Reduced chi-squared (transverse) PDF's bin size.
Definition: MuidBuilder.h:154
Belle2::KLMMuidLikelihood
Class to store the likelihoods from KLM with additional informations related to the extrapolation.
Definition: KLMMuidLikelihood.h:38
Belle2::MuidBuilder::getLongitudinalPDF
double getLongitudinalPDF(const KLMMuidLikelihood *muid) const
Calculate the longitudinal PDF for a given hypothesis.
Definition: MuidBuilder.cc:150
Belle2::MuidBuilder::m_ReducedChiSquaredThreshold
double m_ReducedChiSquaredThreshold[MuidElementNumbers::getMaximalDetector()+1][MuidElementNumbers::getMaximalHalfNdof()+1]
Reduced chi-squared (transverse) analytical PDF: threshold.
Definition: MuidBuilder.h:115