2 #ifndef STAR_StTpcdEdxCorrection
3 #define STAR_StTpcdEdxCorrection
6 #include "StTrackPidTraits.h"
9 #include "StDetectorDbMaker/St_tpcGasC.h"
10 #include "StDetectorDbMaker/St_tpcCorrectionC.h"
22 void Print(Option_t *option=
"")
const {
23 cout << Form(
"dE = %5.2f keV, dx = %f5.2f cm, dE/dx = %5.2f keV/cm, dEdxL = %f, ddEdxL = %f",1e6*dE,dx,1e6*dEdx,dEdxL,ddEdxL) << endl;
29 Name(name), Title(title), Chair(chair) {}
38 enum ESector :
int {kTpcOuter = 0, kTpcInner = 1, kiTpc = 2};
44 kAdcCorrectionMDF = 4,
45 kAdcCorrection3MDF = 5,
46 kAdcCorrection4MDF = 6,
47 kAdcCorrection5MDF = 7,
48 kAdcCorrection6MDF = 8,
51 kTpcCurrentCorrection = 11,
55 kTpcAccumulatedQ = 15,
64 ktpcGasTemperature = 24,
83 kTpcNoAnodeVGainC = 43,
84 kTpcLengthCorrection = 44,
85 kTpcLengthCorrectionMDF= 45,
86 kTpcLengthCorrectionMD2= 46,
87 kTpcLengthCorrectionMDN= 47,
89 kTpcAllCorrections = 49
93 Int_t dEdxCorrection(
dEdxY2_t &dEdx, Bool_t doIT=kTRUE);
94 Int_t dEdxTrackCorrection(Int_t type,
dst_dedx_st &dedx, Double_t etaG = 0);
95 Int_t dEdxTrackCorrection(EOptions k, Int_t type,
dst_dedx_st &dedx, Double_t etaG = 0);
96 void SettpcGas (St_tpcGas *m = 0) {m_tpcGas = m;}
98 void SetDebug(Int_t m=0) {m_Debug = m;}
99 void SetMask (Long_t m=0) {m_Mask = m;}
100 void SetSimulation(Bool_t k = kTRUE) {m_IsSimulation = k;}
101 void ReSetCorrections();
102 St_tpcGas *tpcGas() {
return m_tpcGas;}
104 const dEdxCorrection_t &CorrectionStatus(Int_t k = 0) {
return *&m_Corrections[k];}
113 St_tpcCorrectionC *TpcLengthCorrection() {
return Correction(kTpcLengthCorrection);}
119 Int_t Debug() {
return m_Debug;}
120 Long_t Mask() {
return m_Mask;}
121 Float_t Adc2GeV() {
return mAdc2GeV;}
122 void Print(Option_t *opt =
"")
const;
123 Bool_t IsFixedTarget() {
return m_isFixedTarget;}
124 Bool_t IsSimulation() {
return m_IsSimulation;}
133 Bool_t m_isFixedTarget;
134 Bool_t m_IsSimulation;
136 Double_t mTimeBinWidth;
137 Double_t mInnerSectorzOffset;
138 Double_t mOuterSectorzOffset;
156 Float_t ZdriftDistance;
157 Float_t ZdriftDistanceO2;
158 Float_t ZdriftDistanceO2W;
189 dE_t C[StTpcdEdxCorrection::kTpcAllCorrections+1];
199 void Reset() {memset(first, 0, last - first);}