35 #ifndef STETOFCALIBMAKER_H
36 #define STETOFCALIBMAKER_H
68 Int_t InitRun( Int_t );
69 Int_t FinishRun( Int_t );
78 void setFileNameElectronicsMap(
const char* fileName );
79 void setFileNameStatusMap(
const char* fileName );
80 void setFileNameTimingWindow(
const char* fileName );
81 void setFileNameSignalVelocity(
const char* fileName );
82 void setFileNameCalibHistograms(
const char* fileName );
83 void setFileNameOffsetHistograms(
const char* fileName );
84 void setFileNameResetTimeCorr(
const char* fileName );
85 void setFileNamePulserTotPeak(
const char* fileName );
86 void setFileNamePulserTimeDiffGbtx(
const char* fileName );
88 void setDoQA(
const bool doQA );
89 void setDebug(
const bool debug );
90 void setStrictPulserHandling(
const bool debug );
91 void setReferencePulserIndex(
const int index );
100 return geomId == r.geomId && fabs( time - r.time ) < 1.e-5 && fabs( tot - r.tot ) < 1.e-5;
106 bool isFileExisting(
const std::string fileName );
110 void flagPulserDigis (
StETofDigi* aDigi,
unsigned int index, std::map<
unsigned int, std::vector< unsigned int > >& pulserCandMap );
116 void flagPulserDigis (
StMuETofDigi* aDigi,
unsigned int index, std::map<
unsigned int, std::vector< unsigned int > >& pulserCandMap );
119 void calculatePulserOffsets( std::map<
unsigned int, std::vector< unsigned int > >& pulserCandMap );
124 double slewingTimeOffset(
StETofDigi* aDigi );
125 double applyPulserOffset(
StETofDigi* aDigi );
127 double resetTimeCorr()
const;
132 unsigned int channelToKey(
const unsigned int channelId );
133 unsigned int detectorToKey(
const unsigned int detectorId );
134 unsigned int sideToKey(
const unsigned int sideId );
137 void bookHistograms();
138 void setHistFileName();
139 void writeHistograms();
146 std::string mFileNameCalibParam;
147 std::string mFileNameElectronicsMap;
148 std::string mFileNameStatusMap;
149 std::string mFileNameTimingWindow;
150 std::string mFileNameSignalVelocity;
151 std::string mFileNameCalibHistograms;
152 std::string mFileNameOffsetHistograms;
153 std::string mFileNameResetTimeCorr;
154 std::string mFileNamePulserTotPeak;
155 std::string mFileNamePulserTimeDiffGbtx;
158 Float_t mGet4TotBinWidthNs;
159 Int_t mMinDigisPerSlewBin;
160 Float_t mResetTimeCorr;
162 Double_t mTriggerTime;
166 Float_t mPulserPeakTime;
167 Int_t mReferencePulserIndex;
169 std::map< UInt_t, std::pair< Float_t, Float_t > > mTimingWindow;
170 std::map< UInt_t, std::pair< Float_t, Float_t > > mPulserWindow;
171 std::map< UInt_t, UInt_t > mStatus;
172 std::map< UInt_t, Float_t > mSignalVelocity;
174 std::map< UInt_t, TH1F* > mDigiTotCorr;
175 std::map< UInt_t, TH1F* > mDigiTimeCorr;
176 std::map< UInt_t, TProfile* > mDigiSlewCorr;
178 std::map< UInt_t, Float_t > mPulserPeakTot;
179 std::map< UInt_t, Double_t > mPulserTimeDiff;
180 std::map< UInt_t, Double_t > mPulserTimeDiffGbtx;
181 std::map< UInt_t, UInt_t > mNPulsersCounter;
182 std::map< UInt_t, UInt_t > mNStatusBitsCounter;
183 std::map< UInt_t, Bool_t > mPulserPresent;
185 std::map< UInt_t, Int_t > mJumpingPulsers;
187 std::map< UInt_t, Int_t > mUnlockPulserState;
189 std::vector< StructStuckFwDigi > mStuckFwDigi;
191 Bool_t mStrictPulserHandling;
192 Bool_t mUsePulserGbtxDiff;
195 std::string mHistFileName;
196 std::map< std::string, TH1* > mHistograms;
202 virtual const Char_t *GetCVS()
const {
static const char cvs[]=
"Tag $Name: $Id: built " __DATE__
" " __TIME__ ;
return cvs; }
208 inline void StETofCalibMaker::setFileNameElectronicsMap(
const char* fileName ) { mFileNameElectronicsMap = fileName; }
209 inline void StETofCalibMaker::setFileNameStatusMap(
const char* fileName ) { mFileNameStatusMap = fileName; }
210 inline void StETofCalibMaker::setFileNameTimingWindow(
const char* fileName ) { mFileNameTimingWindow = fileName; }
211 inline void StETofCalibMaker::setFileNameSignalVelocity(
const char* fileName ) { mFileNameSignalVelocity = fileName; }
212 inline void StETofCalibMaker::setFileNameCalibHistograms(
const char* fileName ) { mFileNameCalibHistograms = fileName; }
213 inline void StETofCalibMaker::setFileNameOffsetHistograms(
const char* fileName ) { mFileNameOffsetHistograms = fileName; }
214 inline void StETofCalibMaker::setFileNameResetTimeCorr(
const char* fileName ) { mFileNameResetTimeCorr = fileName; }
215 inline void StETofCalibMaker::setFileNamePulserTotPeak(
const char* fileName ) { mFileNamePulserTotPeak = fileName; }
216 inline void StETofCalibMaker::setFileNamePulserTimeDiffGbtx(
const char* fileName ) { mFileNamePulserTimeDiffGbtx = fileName; }
219 inline double StETofCalibMaker::resetTimeCorr()
const {
return mResetTimeCorr; }
221 inline void StETofCalibMaker::setStrictPulserHandling(
const bool StrictPulserHandling ) { mStrictPulserHandling = StrictPulserHandling; }
222 inline void StETofCalibMaker::setDoQA(
const bool doQA ) { mDoQA = doQA; }
223 inline void StETofCalibMaker::setDebug(
const bool debug ) { mDebug = debug; }
224 inline void StETofCalibMaker::setReferencePulserIndex(
const int index ) { mReferencePulserIndex = index; }
226 #endif // STETOFCALIBMAKER_H
void setFileNameCalibParam(const char *fileName)
read calibration parameters from file
StETofCalibMaker(const char *name="etofCalib")
default constructor