10 #include <tracking/vxdMomentumEstimation/VXDMomentumEstimationTools.h>
26 template <
class ClusterType>
41 double aE = 1.56173140e+07;
43 double bE = -9.89192780e+03;
45 double cE = 2.42177970e-02;
47 double dE = 2.65702553e-08;
72 double estimateQOverP(
const ClusterType& cluster,
const TVector3& momentum,
const TVector3& position,
short charge,
77 const double dEdX = tools.
getDEDX(cluster, momentum, position, charge);
78 const double momentumEstimation =
convertDEDXToMomentum(dEdX, fitParameters, correctionFitParameters);
79 const double QOverP = charge / momentumEstimation;
92 const double momentumEstimation =
convertDEDXToMomentum(dEdX, fitParameters, correctionFitParameters);
93 const double QOverP = charge / momentumEstimation;
103 const double firstPart = fitParameters.
aE / (dEdX - fitParameters.
bE) / (dEdX - fitParameters.
bE);
104 const double lastPart = fitParameters.
cE + fitParameters.
dE * dEdX;
105 const double estimation = firstPart + lastPart;
107 const double quadPart = correctionFitParameters.
aM * estimation * estimation;
108 const double linearPart = correctionFitParameters.
bM * estimation;
109 const double constantPart = correctionFitParameters.
cM;
110 const double cubicPart = correctionFitParameters.
dM * estimation * estimation * estimation;
111 const double mediumCorrection = cubicPart + quadPart + linearPart + constantPart;
113 const double estimationWithMediumCalibration = estimation - mediumCorrection;
114 return estimationWithMediumCalibration;
Class doing the momentum estimation from dEdX for SVDClusters and PXDClusters.
VXDMomentumEstimation & operator=(const VXDMomentumEstimation &)
Do not copy or create.
VXDMomentumEstimation(const VXDMomentumEstimation &)
Do not copy or create.
double estimateQOverP(const ClusterType &cluster, const TVector3 &momentum, const TVector3 &position, short charge, const FitParameters &fitParameters, const CorrectionFitParameters &correctionFitParameters) const
Main function: Estimate p over q for the given cluster and the path length calculated using the given...
double estimateQOverPWithThickness(const ClusterType &cluster, short charge, const FitParameters &fitParameters, const CorrectionFitParameters &correctionFitParameters) const
Main function: Estimate p over q for the given cluster and the thickness of the cluster with the fit ...
double convertDEDXToMomentum(double dEdX, const FitParameters &fitParameters, const CorrectionFitParameters &correctionFitParameters) const
After calculating dEdX we need to map this to p using a predefined function and parameters that were ...
static const VXDMomentumEstimation & getInstance()
Use this class as a singleton.
VXDMomentumEstimation()
Do not copy or create.
Abstract base class for different kinds of events.
Struct holding the parameters of the correction function to map them median of the estimation functio...
Struct holding the parameters of the estimation function which maps dEdX to p.