132 virtual InitStatus
Init();
137 virtual InitStatus
ReInit();
140 virtual void Exec(Option_t* opt);
161 T ReadBranch(
const char* name);
169 T AddHistClone(T h,
const char* postfix =
"")
171 auto hClone = (T)h->Clone(Form(
"%s%s", h->GetName(), postfix));
172 hClone->SetTitle(Form(
"%s%s", h->GetTitle(), postfix));
173 fOutputList->Add(hClone);
176 void FillHistograms();
177 bool FitRunDistr(std::string histName, std::vector<double>& fitPar,
float fitMin = 0,
float fitMax = 0);
178 int GetPeak(
BmnTrigWaveDigit* digit,
float timeMin = 0,
float timeMax = 1e9);
181 std::vector<double> hitTimes,
184 float relHitTimeMin = -1,
185 float relHitTimeMax = 1);
188 std::vector<int> GetNdigits(TClonesArray* array, std::vector<double> hitTimes,
float relTimeMin,
float relTimeMax);
190 std::vector<float> GetSumAmp(TClonesArray* digits,
191 std::vector<double> hitTimes,
194 FairRootManager* ioman;
196 TClonesArray* fArrTQDC_BC1S;
197 TClonesArray* fArrTQDC_BC2AS;
198 TClonesArray* fArrTQDC_VCS;
199 TClonesArray* fArrTQDC_FD;
200 TClonesArray* fArrBDdigits;
201 TClonesArray* fArrTOF400digits;
202 TClonesArray* fArrTOF700digits;
203 TClonesArray* fArrSILICONdigits;
204 TClonesArray* fArrGEMdigits;
213 std::string fOutputFileName =
"es.root";
214 std::string fInputFileName =
"all.root";
217 TH2F* h2runId_eventClass;
218 TH2F* h2runId_time_SingleBC1S;
219 TH2F* h2runId_time_BC1S_k0;
220 TH2F* h2runId_time_BC1S_k1;
221 TH2F* h2runId_time_BC1S_kV0;
222 TH2F* h2runId_time_BC1S_kV1;
223 TH2F* h2runId_time_SingleVCS_BC1S;
224 TH2F* h2runId_time_SingleBC2AS_BC1S;
225 TH2F* h2runId_time_SingleFD_BC1S;
226 TH2F* h2runId_shapeShifted_SingleBC1S;
227 TH2F* h2runId_shapeShiftedBC1S_SingleVCS;
228 TH2F* h2runId_shapeShiftedBC1S_SingleBC2AS;
229 TH2F* h2runId_shapeShiftedBC1S_SingleFD;
230 TH2F* h2runId_shapeShiftedBC1S_BD;
231 TH2F* h2runId_shapeShiftedBC1S_TOF400digit;
232 TH2F* h2runId_shapeShiftedBC1S_TOF700digit;
233 TH2F* h2runId_peak_SingleBC1S;
234 TH2F* h2runId_peak_SingleVCS;
235 TH2F* h2runId_peak_SingleBC2AS;
236 TH2F* h2runId_peak_SingleFD;
237 TH2F* h2runId_NdigitsBD;
238 TH2F* h2runId_NdigitsBD_SingleBC1S;
239 TH2F* h2runId_NdigitsBD_nc;
240 TH2F* h2runId_SumAmpBD;
241 TH2F* h2runId_SumAmpBD_SingleBC1S;
242 TH2F* h2runId_SumAmpBD_nc;
243 TH2F* h2runId_NdigitsTOF400;
244 TH2F* h2runId_NdigitsTOF400_SingleBC1S;
245 TH2F* h2runId_NdigitsTOF400_nc;
246 TH2F* h2runId_NdigitsTOF700;
247 TH2F* h2runId_NdigitsTOF700_SingleBC1S;
248 TH2F* h2runId_NdigitsTOF700_nc;
249 TH2F* h2runId_peak_BC1S;
250 TH2F* h2runId_peak_VCS;
251 TH2F* h2runId_peak_BC2AS;
252 TH2F* h2runId_peak_FD;
253 TH2F* h2runId_peak_FD_nc;
255 THnSparse* h5runId_trigger_eventClass_dt_nTOF400digits;
256 THnSparse* h5runId_trigger_eventClass_dt_nTOF700digits;
257 THnSparse* h5runId_trigger_eventClass_dt_nSILICONdigits;
258 THnSparse* h5runId_trigger_eventClass_dt_nGEMdigits;
260 int fNchannelsTQDC = 450;
265 std::vector<double> fTimesBC1S;
266 std::vector<double> fRelTimesBC1S;
267 std::vector<double> fTimesVCS;
268 std::vector<double> fTimesBC2AS;
269 std::vector<double> fTimesFD;
270 float fSingleBC1hitTimeMean = 2050;
271 float fBC1SpeakTimeMin = 0;
272 float fBC1SpeakTimeMax = 80;
273 float fSingleVCS_BC1S_hitTimeMin = -5;
274 float fSingleVCS_BC1S_hitTimeMax = 5;
275 float fVCSpeakTimeMin = 0;
276 float fVCSpeakTimeMax = 300;
277 float fSingleVCSpeakMin = 500;
278 float fSingleBC2AS_BC1S_hitTimeMin = -8.5;
279 float fSingleBC2AS_BC1S_hitTimeMax = -7;
280 float fBC2ASpeakTimeMin = 0;
281 float fBC2ASpeakTimeMax = 300;
282 float fSingleBC2ASpeakMin = 1200;
283 float fSingleFD_BC1S_hitTimeMin = 110;
284 float fSingleFD_BC1S_hitTimeMax = 160;
285 float fFDpeakTimeMin = 0;
286 float fFDpeakTimeMax = 250;
287 float fSingleFDpeakMin = 1;
288 float fBDtimeMin = -125;
289 float fBDtimeMax = -117;
290 float fTOF400digitTimeMin = -670;
291 float fTOF400digitTimeMax = -640;
292 float fTOF700digitTimeMin = -2080;
293 float fTOF700digitTimeMax = -2030;
294 int fNsPerChannel = 8;
295 int fCentralHitIndexBC1S;
296 float fCentralHitTimeBC1S;
299 unsigned int fTrigAR;
300 unsigned int fNdigitsSILICON{0};
301 unsigned int fNdigitsGEM{0};
302 std::vector<int> fBC1Speaks;
303 std::vector<int> fVCSpeaks;
304 std::vector<int> fBC2ASpeaks;
305 std::vector<int> fFDpeaks;
306 std::vector<int> fNdigitsBD;
307 std::vector<float> fSumAmpBD;
308 std::vector<int> fNdigitsTOF400;
309 std::vector<int> fNdigitsTOF700;
310 std::vector<int> fBC1hitClasses;
311 bool fNoCalibrationData =
false;
312 bool fWriteBC1hitInfo =
true;
313 bool fFillCalibrationHists =
false;
314 bool fFillPerformanceHists =
false;