180 fHM->
Create1<TH1D>(
"fhNofEvents",
"fhNofEvents;Entries", 1, 0.5, 1.5);
181 fHM->
Create1<TH1D>(
"fhNofCbmEvents",
"fhNofCbmEvents;Entries", 1, 0.5, 1.5);
182 fHM->
Create1<TH1D>(
"fhNofCbmEventsRing",
"fhNofCbmEventsRing;Entries", 1, 0.5, 1.5);
184 fHM->
Create1<TH1D>(
"fhHitsInTimeslice",
"fhHitsInTimeslice;Timeslice;#Hits", 200, 1, 200);
187 fHM->
Create1<TH1D>(
"fhNofRichDigisInTimeslice",
"fhNofRichDigisInTimeslice;# RICH digis / timeslice;Entries", 100,
189 fHM->
Create1<TH1D>(
"fhNofRichHitsInTimeslice",
"fhNofRichHitsInTimeslice;# RICH hits / timeslice;Entries", 100, -0.5,
191 fHM->
Create1<TH1D>(
"fhNofRichRingsInTimeslice",
"fhNofRichRingsInTimeslice;# RICH rings / timeslice;Entries", 10,
195 fHM->
Create2<TH2D>(
"fhRichHitXY",
"fhRichHitXY;RICH hit X [cm];RICH hit Y [cm];Entries", 67, -20.1 +
fXOffsetHisto,
197 fHM->
Create2<TH2D>(
"fhRichDigiPixelRate",
"fhRichDigiPixelRate;RICH Digi X [cm];RICH Digi Y [cm];Hz", 67,
202 fHM->
Create1<TH1D>(
"fhRichDigisTimeLog",
"fhNofRichDigisTimeLog;Time [ns];Entries", 400, 0., 0.);
203 fHM->
Create1<TH1D>(
"fhRichDigisTimeLogZoom",
"fhNofRichDigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.);
204 fHM->
Create1<TH1D>(
"fhRichDigisTimeLogZoom2",
"fhNofRichDigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.);
206 fHM->
Create1<TH1D>(
"fhRichRingsTimeLog",
"fhNofRichRingsTimeLog;Time [ns];Entries", 400, 0., 0.);
207 fHM->
Create1<TH1D>(
"fhRichRingsTimeLogZoom",
"fhNofRichRingsTimeLogZoom;Time [ns];Entries", 400, 0., 0.);
208 fHM->
Create1<TH1D>(
"fhRichRingsTimeLogZoom2",
"fhNofRichRingsTimeLogZoom2;Time [ns];Entries", 400, 0., 0.);
211 fHM->
Create1<TH1D>(
"fhTofDigisTimeLog",
"fhTofDigisTimeLog;Time [ns];Entries", 400, 0., 0.);
212 fHM->
Create1<TH1D>(
"fhTofDigisTimeLogZoom",
"fhTofDigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.);
213 fHM->
Create1<TH1D>(
"fhTofDigisTimeLogZoom2",
"fhTofDigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.);
216 fHM->
Create1<TH1D>(
"fhStsDigisTimeLog",
"fhStsDigisTimeLog;Time [ns];Entries", 400, 0., 0.);
217 fHM->
Create1<TH1D>(
"fhStsDigisTimeLogZoom",
"fhStsDigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.);
218 fHM->
Create1<TH1D>(
"fhStsDigisTimeLogZoom2",
"fhStsDigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.);
221 fHM->
Create1<TH1D>(
"fhBmonDigisTimeLog",
"fhBmonDigisTimeLog;Time [ns];Entries", 400, 0., 0.);
222 fHM->
Create1<TH1D>(
"fhBmonDigisTimeLogZoom",
"fhBmonDigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.);
223 fHM->
Create1<TH1D>(
"fhBmonDigisTimeLogZoom2",
"fhBmonDigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.);
226 fHM->
Create1<TH1D>(
"fhTrd1dDigisTimeLog",
"fhTrd1dDigisTimeLog;Time [ns];Entries", 400, 0., 0.);
227 fHM->
Create1<TH1D>(
"fhTrd1dDigisTimeLogZoom",
"fhTrd1dDigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.);
228 fHM->
Create1<TH1D>(
"fhTrd1dDigisTimeLogZoom2",
"fhTrd1dDigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.);
231 fHM->
Create1<TH1D>(
"fhTrd2dDigisTimeLog",
"fhhTrd2dDigisTimeLog;Time [ns];Entries", 400, 0., 0.);
232 fHM->
Create1<TH1D>(
"fhTrd2dDigisTimeLogZoom",
"fhhTrd2dDigisTimeLogZoom;Time [ns];Entries", 400, 0., 0.);
233 fHM->
Create1<TH1D>(
"fhTrd2dDigisTimeLogZoom2",
"fhhTrd2dDigisTimeLogZoom2;Time [ns];Entries", 400, 0., 0.);
236 fHM->
Create1<TH1D>(
"fhRichDigisToT",
"fhRichDigisToT;ToT [ns];Entries", 601, 9.975, 40.025);
237 fHM->
Create1<TH1D>(
"fhRichHitToT",
"fhRichHitToT;ToT [ns];Entries", 601, 9.975, 40.025);
238 fHM->
Create1<TH1D>(
"fhRichHitToTEvent",
"fhRichHitToTEvent;ToT [ns];Entries", 601, 9.975, 40.025);
239 fHM->
Create2<TH2D>(
"fhRichHitXYEvent",
"fhRichHitXYEvent;RICH hit X [cm];RICH hit Y [cm];Entries", 67,
244 fHM->
Create2<TH2D>(
"fhRichRingXY",
"fhRichRingXY;Ring center X [cm];Ring center Y [cm];Entries", 67,
246 fHM->
Create2<TH2D>(
"fhRichRingXY_goodTrack",
"fhRichRingXY_goodTrack;Ring center X [cm];Ring center Y [cm];Entries",
248 fHM->
Create2<TH2D>(
"fhRichRing_goodTrackXY",
"fhRichRing_goodTrackXY;Track center X [cm];Track center Y [cm];Entries",
251 fHM->
Create2<TH2D>(
"fhRichRingRadiusY",
"fhRichRingRadiusY;Ring Radius [cm]; Y position[cm];Entries", 70, -0.05, 6.95,
253 fHM->
Create2<TH2D>(
"fhRichHitsRingRadius",
"fhRichHitsRingRadius;#Rich Hits/Ring; Ring Radius [cm];Entries", 50, -0.5,
254 49.5, 70, -0.05, 6.95);
256 fHM->
Create1<TH1D>(
"fhRichRingRadius",
"fhRichRingRadius;Ring radius [cm];Entries", 100, 0., 7.);
257 fHM->
Create1<TH1D>(
"fhNofHitsInRing",
"fhNofHitsInRing;# hits in ring;Entries", 50, -0.5, 49.5);
259 fHM->
Create1<TH1D>(
"fhRichRingRadius_goodRing",
"fhRichRingRadius_goodRing;Ring radius [cm];Entries", 100, 0., 7.);
260 fHM->
Create1<TH1D>(
"fhNofHitsInRing_goodRing",
"fhNofHitsInRing_goodRing;# hits in ring;Entries", 50, -0.5, 49.5);
263 fHM->
Create2<TH2D>(
"fhTofRichX",
"fhTofRichX;Rich Hit X [cm];TofHit X [cm];Entries", 67, -20.1 +
fXOffsetHisto,
265 fHM->
Create2<TH2D>(
"fhTofRichX_stack1",
"fhTofRichX_stack1;Rich Hit X [cm];TofHit X [cm];Entries", 67,
267 fHM->
Create2<TH2D>(
"fhTofRichX_stack2",
"fhTofRichX_stack2;Rich Hit X [cm];TofHit X [cm];Entries", 67,
269 fHM->
Create2<TH2D>(
"fhTofRichX_stack3",
"fhTofRichX_stack3;Rich Hit X [cm];TofHit X [cm];Entries", 67,
271 fHM->
Create2<TH2D>(
"fhTofRichY",
"fhTofRichY;Rich Hit Y [cm];TofHit Y [cm];Entries", 84, -25.2, 25.2, 200, -80, 80);
272 fHM->
Create2<TH2D>(
"fhTofRichY_stack1",
"fhTofRichY_stack1;Rich Hit Y [cm];TofHit Y [cm];Entries", 84, -25.2, 25.2,
274 fHM->
Create2<TH2D>(
"fhTofRichY_stack2",
"fhTofRichY_stack2;Rich Hit Y [cm];TofHit Y [cm];Entries", 84, -25.2, 25.2,
276 fHM->
Create2<TH2D>(
"fhTofRichY_stack3",
"fhTofRichY_stack3;Rich Hit Y [cm];TofHit Y [cm];Entries", 84, -25.2, 25.2,
279 fHM->
Create2<TH2D>(
"fhTofTrackRichHitX",
"fhTofTrackRichHitX;RICH Hit X [cm];TofTrack X [cm];Entries", 67,
281 fHM->
Create2<TH2D>(
"fhTofTrackRichHitY",
"fhTofTrackRichHitY;RICH Hit Y [cm];TofTrack Y [cm];Entries", 84, -25.2,
285 fHM->
Create2<TH2D>(
"fhTofTrackHitRichHitX_oBetacuts_dtime",
286 "fhTofTrackHitRichHitX_oBetacuts_dtime;Rich Hit X "
287 "[cm];TofHit X [cm];Entries",
289 fHM->
Create2<TH2D>(
"fhTofTrackHitRichHitY_oBetacuts_dtime",
290 "fhTofTrackHitRichHitY_oBetacuts_dtime;Rich Hit Y "
291 "[cm];TofHit Y [cm];Entries",
292 84, -25.2, 25.2, 200, -80, 80);
295 fHM->
Create2<TH2D>(
"fhTofTrackRichHitX_cuts",
"fhTofTrackRichHitX_cuts;RICH Hit X [cm];TofTrack X [cm];Entries", 67,
297 fHM->
Create2<TH2D>(
"fhTofTrackRichHitY_cuts",
"fhTofTrackRichHitY_cuts;RICH Hit Y [cm];TofTrack Y [cm];Entries", 84,
298 -25.2, 25.2, 200, -80, 80);
300 fHM->
Create2<TH2D>(
"fhTofTrackRichHitX_oBetacuts",
301 "fhTofTrackRichHitX_oBetacuts;RICH Hit X [cm];TofTrack X [cm];Entries", 67, -20.1 +
fXOffsetHisto,
303 fHM->
Create2<TH2D>(
"fhTofTrackRichHitY_oBetacuts",
304 "fhTofTrackRichHitY_oBetacuts;RICH Hit Y [cm];TofTrack Y [cm];Entries", 84, -25.2, 25.2, 200, -80,
306 fHM->
Create1<TH1D>(
"fhTofTrackRichHitTime_oBetacuts",
"fhTofTrackRichHitTime_oBetacuts;#Delta Time [ns];Entries", 280,
309 fHM->
Create2<TH2D>(
"fhTofTrackRichHitX_uBetacuts",
310 "fhTofTrackRichHitX_uBetacuts;RICH Hit X [cm];TofTrack X [cm];Entries", 67, -20.1 +
fXOffsetHisto,
312 fHM->
Create2<TH2D>(
"fhTofTrackRichHitY_uBetacuts",
313 "fhTofTrackRichHitY_uBetacuts;RICH Hit Y [cm];TofTrack Y [cm];Entries", 84, -25.2, 25.2, 200, -80,
316 fHM->
Create2<TH2D>(
"fhTofTrackRichHitX_oBetacuts_dtime",
317 "fhTofTrackRichHitX_oBetacuts_dtime;RICH Hit X "
318 "[cm];TofTrack X [cm];Entries",
320 fHM->
Create2<TH2D>(
"fhTofTrackRichHitY_oBetacuts_dtime",
321 "fhTofTrackRichHitY_oBetacuts_dtime;RICH Hit Y "
322 "[cm];TofTrack Y [cm];Entries",
323 84, -25.2, 25.2, 200, -80, 80);
325 fHM->
Create2<TH2D>(
"fhTofTrackRichHitX_oBetacuts_dtime_4",
326 "fhTofTrackRichHitX_oBetacuts_dtime_4;RICH Hit X "
327 "[cm];TofTrack X [cm];Entries",
329 fHM->
Create2<TH2D>(
"fhTofTrackRichHitY_oBetacuts_dtime_4",
330 "fhTofTrackRichHitY_oBetacuts_dtime_4;RICH Hit Y "
331 "[cm];TofTrack Y [cm];Entries",
332 84, -25.2, 25.2, 200, -80, 80);
334 fHM->
Create2<TH2D>(
"fhTofTrackRichHitX_oBetacuts_dtime_6",
335 "fhTofTrackRichHitX_oBetacuts_dtime_6;RICH Hit X "
336 "[cm];TofTrack X [cm];Entries",
338 fHM->
Create2<TH2D>(
"fhTofTrackRichHitY_oBetacuts_dtime_6",
339 "fhTofTrackRichHitY_oBetacuts_dtime_6;RICH Hit Y "
340 "[cm];TofTrack Y [cm];Entries",
341 84, -25.2, 25.2, 200, -80, 80);
343 fHM->
Create2<TH2D>(
"fhTofTrackRichHitX_oBetacuts_dtime_8",
344 "fhTofTrackRichHitX_oBetacuts_dtime_8;RICH Hit X "
345 "[cm];TofTrack X [cm];Entries",
347 fHM->
Create2<TH2D>(
"fhTofTrackRichHitY_oBetacuts_dtime_8",
348 "fhTofTrackRichHitY_oBetacuts_dtime_8;RICH Hit Y "
349 "[cm];TofTrack Y [cm];Entries",
350 84, -25.2, 25.2, 200, -80, 80);
352 fHM->
Create2<TH2D>(
"fhTofTrackRichHitX_oBetacuts_dtime_10",
353 "fhTofTrackRichHitX_oBetacuts_dtime_10;RICH Hit X "
354 "[cm];TofTrack X [cm];Entries",
356 fHM->
Create2<TH2D>(
"fhTofTrackRichHitY_oBetacuts_dtime_10",
357 "fhTofTrackRichHitY_oBetacuts_dtime_10;RICH Hit Y "
358 "[cm];TofTrack Y [cm];Entries",
359 84, -25.2, 25.2, 200, -80, 80);
361 fHM->
Create2<TH2D>(
"fhTofTrackRichRingHitX",
"fhTofTrackRichRingHitX;RICH Ring Hit X [cm];TofTrack X [cm];Entries",
363 fHM->
Create2<TH2D>(
"fhTofTrackRichRingHitY",
"fhTofTrackRichRingHitY;RICH Ring Hit Y [cm];TofTrack Y [cm];Entries",
364 84, -25.2, 25.2, 200, -80, 80);
366 fHM->
Create2<TH2D>(
"fhTofHitRichRingHitX",
"fhTofHitRichRingHitX;RICH Ring Hit X [cm];Tof Hit X [cm];Entries", 67,
368 fHM->
Create2<TH2D>(
"fhTofHitRichRingHitY",
"fhTofHitRichRingHitY;RICH Ring Hit Y [cm];Tof Hit Y [cm];Entries", 84,
369 -25.2, 25.2, 200, -80, 80);
372 fHM->
Create2<TH2D>(
"fhTofRichX_zoomed",
"fhTofRichX_zoomed;Rich Hit X [cm];TofHit X [cm];Entries", 27,
374 fHM->
Create2<TH2D>(
"fhTofRichY_zoomed",
"fhTofRichY_zoomed;Rich Hit Y [cm];TofHit Y [cm];Entries", 14, 7.8, 16.2, 30,
377 fHM->
Create2<TH2D>(
"fhClosTrackRingX",
"fhClosTrackRingX;Rich Ring center X [cm];Tof Track X [cm];Entries", 67,
379 fHM->
Create2<TH2D>(
"fhClosTrackRingY",
"fhClosTrackRingY;Rich Ring center Y [cm];Tof Track Y [cm];Entries", 84, -25.2,
382 fHM->
Create2<TH2D>(
"fhTofRichRingX",
"fhTofRichRingX;Rich Ring Center X [cm];TofHit X [cm];Entries", 100,
384 fHM->
Create2<TH2D>(
"fhTofRichRingY",
"fhTofRichRingY;Ring Ring Center Y [cm];TofHit Y [cm];Entries", 125, -25, 25,
386 fHM->
Create2<TH2D>(
"fhTofRichRingXZ",
"fhTofRichXZ; Z [cm];Hit/Ring X [cm];Entries", 140, 230, 370, 400, -50, 110);
388 fHM->
Create2<TH2D>(
"fhTofTrackRichRingXY",
"fhTofTrackRichRingXY; X [cm]; Y [cm];Entries", 100, -20 +
fXOffsetHisto,
391 fHM->
Create2<TH2D>(
"fhTofClosTrackRichRingXY",
"fhTofClosTrackRichRingXY; X [cm]; Y [cm];Entries", 100,
395 fHM->
Create3<TH3D>(
"fhTofXYZ",
"fhTofXYZ;Tof Hit X [cm];TofHit Z [cm];Tof Hit Y [cm];Entries", 100, -20, 20, 141,
396 230., 370., 100, -20, 20);
397 fHM->
Create2<TH2D>(
"fhTofHitsXY",
"fhTofHitsXY;Tof Hit X [cm];Tof Hit Y [cm];Entries", 100, -20, 20, 200, -80, 80);
399 for (
auto moduleIds = 0; moduleIds < 5; moduleIds++) {
400 fHM->
Create2<TH2D>(Form(
"fhTofHitsXY_%u", moduleIds),
401 Form(
"fhTofHitsXY_%u;Tof Hit X [cm];Tof Hit Y [cm];Entries", moduleIds), 200, -100, 100, 200,
403 fHM->
Create2<TH2D>(Form(
"fhTofHitsZX_%u", moduleIds),
404 Form(
"fhTofHitsZX_%u;Tof Hit X [cm];Tof Hit Y [cm];Entries", moduleIds), 200, 200, 400, 200,
406 fHM->
Create2<TH2D>(Form(
"fhTofRichX_%u", moduleIds),
407 Form(
"fhTofRichX_%u;Rich Hit X [cm];TofHit X [cm];Entries", moduleIds), 67,
409 fHM->
Create2<TH2D>(Form(
"fhTofRichY_%u", moduleIds),
410 Form(
"fhTofRichY_%u;Rich Hit Y [cm];TofHit Y [cm];Entries", moduleIds), 84, -25.2, 25.2, 200,
412 fHM->
Create2<TH2D>(Form(
"fhTofRichHitsResidual_%u", moduleIds),
413 Form(
"fhTofRichHitsResidual_%u;Rich-Tof hit X [cm];Rich-Tof hit Y [cm];Entries", moduleIds),
414 150, -15.0, 15.0, 150, -15.0, 15.0);
417 fHM->
Create1<TH1D>(
"fhTofHitsZ",
"fhTofHitsZ;Z [cm];Entries", 350, -0.5, 349.5);
418 fHM->
Create2<TH2D>(
"fhTofHitsXZ",
"fhTofHitsXZ;Z [cm];X [cm];Entries", 350, -0.5, 349.5, 400, -50, 110);
420 fHM->
Create1<TH1D>(
"fhTofTracksPerEvent",
"fhTofTracksPerEvent;NofTracks/Event;Entries", 20, -0.5, 19.5);
421 fHM->
Create1<TH1D>(
"fhTofTracksPerRichEvent",
"fhTofTracksPerRichEvent;NofTracks/RichEvent;Entries", 20, -0.5, 19.5);
422 fHM->
Create2<TH2D>(
"fhTofTracksXY",
"fhTofTracksXY;X[cm];Y[cm];NofTracks/cm^2", 250, -100, 150, 300, -150,
425 fHM->
Create2<TH2D>(
"fhTofTracksXY_Target",
"fhTofTracksXY_Target;X[cm];Y[cm];NofTracks/cm^2", 100, -50, 50, 100, -50,
427 fHM->
Create2<TH2D>(
"fhGoodRingsXY_TargetPos",
"fhGoodRingsXY_TargetPos;X[cm];Y[cm];NofTracks/cm^2", 100, -50, 50, 100,
431 fHM->
Create2<TH2D>(
"fhTofTrackRichRingX",
"fhTofTrackRichRingX;Rich Ring Center X [cm];TofTrack X [cm];Entries", 100,
433 fHM->
Create2<TH2D>(
"fhTofTrackRichRingY",
"fhTofTrackRichRingY;Ring Ring Center Y [cm];TofTrack Y [cm];Entries", 125,
434 -25, 25, 200, -80, 80);
436 fHM->
Create2<TH2D>(
"fhTofTracksXYRICH",
"fhTofTracksXYRICH;X[cm];Y[cm];NofTracks/cm^2", 50, -20 +
fXOffsetHisto,
439 fHM->
Create1<TH1D>(
"fhNofTofTracks",
"fhNofTofTracks;X[cm];Y[cm];NofTracks", 4, 0,
442 fHM->
Create1<TH1D>(
"fhRingTrackDistance",
"fhRingTrackDistance;RingTrackDistance [cm];Entries", 31, -0.25, 14.75);
443 fHM->
Create1<TH1D>(
"fhRingTrackDistance_X",
"fhRingTrackDistance_X;RingTrackDistance X [cm];Entries", 100, -25.0,
445 fHM->
Create1<TH1D>(
"fhRingTrackDistance_Y",
"fhRingTrackDistance_Y;RingTrackDistance Y [cm];Entries", 100, -25.0,
448 "fhRingTrackDistance_XY;RingTrackDistance X [cm]; RingTrackDistance Y [cm]; Entries", 100, -25.0,
449 25.0, 100, -25.0, 25.0);
451 fHM->
Create1<TH1D>(
"fhTrackRingDistance",
"fhTrackRingDistance;TrackRingDistance [cm];Entries", 31, -0.5, 30.5);
452 fHM->
Create1<TH1D>(
"fhTrackRingDistanceOnTarget",
"fhTrackRingDistanceOnTarget;TrackRingDistance [cm];Entries", 31,
454 fHM->
Create1<TH1D>(
"fhTrackRingDistanceOffTarget",
"fhTrackRingDistanceOffTarget;TrackRingDistance [cm];Entries", 31,
456 fHM->
Create2<TH2D>(
"fhTrackRingDistanceVSRingradius",
457 "fhTrackRingDistanceVSRingradius;TrackRingDistance "
458 "[cm];RingRadius [cm];Entries",
459 81, -0.5, 80.5, 100, 0., 7.);
461 fHM->
Create2<TH2D>(
"fhTrackRingDistanceVSRingChi2",
462 "fhTrackRingDistanceVSRingChi2;TrackRingDistance [cm];\\Chi^2;Entries", 60, 0, 30, 101, 0., 10.1);
463 fHM->
Create2<TH2D>(
"fhTrackRingDistanceVSRingChi2_goodRing",
464 "fhTrackRingDistanceVSRingChi2_goodRing;TrackRingDistance "
465 "[cm];\\Chi^2;Entries",
466 40, 0, 10.0, 101, 0., 10.1);
468 fHM->
Create1<TH1D>(
"fhTrackRingDistance_corr",
"fhTrackRingDistance_corr;TrackRingDistance [cm];Entries", 31, -0.5,
471 fHM->
Create1<TH1D>(
"fhTofBetaTracksWithHitsNoRing",
"fhTofBetaTracksWithHitsNoRing; \\beta;Entries", 301, -1.505,
473 fHM->
Create1<TH1D>(
"fhTofBetaTracksWithHits",
"fhTofBetaTracksWithHits; \\beta;Entries", 151, -0.005, 1.505);
474 fHM->
Create1<TH1D>(
"fhTofBetaTracksNoRing",
"fhTofBetaTracksNoRing; \\beta;Entries", 151, -0.005, 1.505);
475 fHM->
Create1<TH1D>(
"fhTofBetaTrackswithClosestRingInRange",
"fhTofBetaTrackswithClosestRingInRange; \\beta;Entries",
478 fHM->
Create1<TH1D>(
"fhRichRingBeta",
"fhRichRingBeta; \\beta;Entries", 151, -0.005, 1.505);
479 fHM->
Create1<TH1D>(
"fhRichRingBeta_GoodRing",
"fhRichRingBeta_GoodRing; \\beta;Entries", 151, -0.005, 1.505);
481 fHM->
Create1<TH1D>(
"fhTofBetaRing",
"fhTofBetaRing; \\beta;Entries", 301, -1.505, 1.505);
482 fHM->
Create1<TH1D>(
"fhTofBetaAll",
"fhTofBetaAll; \\beta;Entries", 301, -1.505, 1.505);
483 fHM->
Create2<TH2D>(
"fhTofBetaVsRadius",
"fhTofBetaVsRadius; \\beta;ring radius [cm];Entries", 301, -1.505, 1.505, 100,
485 fHM->
Create2<TH2D>(
"fhTofBetaRingDist",
"fhTofBetaRingDist; \\beta;ring Dist [cm];Entries", 301, -1.505, 1.505, 100,
487 fHM->
Create1<TH1D>(
"fhTofBetaAllFullAcc",
"fhTofBetaAllFullAcc; \\beta;Entries", 301, -1.505, 1.505);
489 fHM->
Create1<TH1D>(
"fhRingDeltaTime",
"fhRingDeltaTime; \\Delta Time/ns;Entries", 101, -10.1, 10.1);
490 fHM->
Create1<TH1D>(
"fhRingToTs",
"fhRingToTs; ToT/ns;Entries", 601, 9.975, 40.025);
491 fHM->
Create1<TH1D>(
"fhRingLE",
"fhRingLE;LE/ns;Entries", 261, -60.5, 200.5);
492 fHM->
Create1<TH1D>(
"fhGoodRingLE",
"fhGoodRingLE;LE/ns;Entries", 261, -60.5, 200.5);
493 fHM->
Create1<TH1D>(
"fhRingNoClTrackLE",
"fhRingNoClTrackLE;LE/ns;Entries", 261, -60.5, 200.5);
494 fHM->
Create1<TH1D>(
"fhRingClTrackFarAwayLE",
"fhRingClTrackFarAwayLE;LE/ns;Entries", 231, -30.5, 200.5);
495 fHM->
Create2<TH2D>(
"fhRingLEvsToT",
"fhRingLEvsToT;LE/ns;ToT/ns;Entries", 261, -60.5, 200.5, 601, 9.975, 40.025);
497 fHM->
Create1<TH1D>(
"fhInnerRingDeltaTime",
"fhInnerRingDeltaTime; \\Delta Time/ns;Entries", 101, -10.1, 10.1);
498 fHM->
Create1<TH1D>(
"fhInnerRingToTs",
"fhInnerRingToTs; ToT/ns;Entries", 601, 9.975, 40.025);
499 fHM->
Create1<TH1D>(
"fhInnerRingLE",
"fhInnerRingLE;LE/ns;Entries", 261, -60.5, 200.5);
500 fHM->
Create1<TH1D>(
"fhInnerGoodRingLE",
"fhInnerGoodRingLE;LE/ns;Entries", 261, -60.5, 200.5);
501 fHM->
Create1<TH1D>(
"fhInnerRingNoClTrackLE",
"fhInnerRingNoClTrackLE;LE/ns;Entries", 261, -60.5, 200.5);
502 fHM->
Create1<TH1D>(
"fhInnerRingClTrackFarAwayLE",
"fhInnerRingClTrackFarAwayLE;LE/ns;Entries", 261, -60.5, 200.5);
503 fHM->
Create1<TH1D>(
"fhInnerRingFlag",
"fhInnerRingFlag;Has|HasNot;Entries", 2, -0.5, 1.5);
504 fHM->
Create1<TH1D>(
"fhNofInnerHits",
"fhNofInnerHits;#Hits;Entries", 31, -0.5, 30.5);
506 fHM->
Create1<TH1D>(
"fhDiRICHsInRegion",
"fhNofInnerHits;#Hits;DiRICH", 4096, 28672, 32767);
508 fHM->
Create1<TH1D>(
"fhBlobTrackDistX",
"fhBlobTrackDistX; |TofTrackX - MAPMT center X| [cm];Entries", 30, -0.5, 29.5);
509 fHM->
Create1<TH1D>(
"fhBlobTrackDistY",
"fhBlobTrackDistY; |TofTrackY - MAPMT center Y| [cm];Entries", 30, -0.5, 29.5);
510 fHM->
Create1<TH1D>(
"fhBlobTrackDist",
"fhBlobTrackDist; |TofTrack - MAPMT center dist| [cm];Entries", 30, -0.5, 29.5);
512 fHM->
Create1<TH1D>(
"fhNofBlobEvents",
"fhNofBlobEvents;;#Events with min. one Blob", 1, 0.5, 1.5);
513 fHM->
Create1<TH1D>(
"fhNofBlobsInEvent",
"fhNofBlobsInEvent;#Blobs in Event;Entries", 36, 0.5, 36.5);
515 fHM->
Create1<TH1D>(
"fhRichDigisConsecTime",
"fhRichDigisConsecTime;consecutive time [ns];Entries", 500, -0.5, 499.5);
516 fHM->
Create1<TH1D>(
"fhRichDigisConsecTimeTOT",
"fhRichDigisConsecTimeTOT;consecutive time [ns];Entries", 500, -0.5,
519 fHM->
Create1<TH1D>(
"fhNofHitsInGoodRing",
"fhNofHitsInGoodRing;# hits in ring;Entries", 50, -0.5, 49.5);
520 fHM->
Create1<TH1D>(
"fhTracksWithRings",
"fhTracksWithRings;Scenarios;Entries", 5, -0.5, 4.5);
522 fHM->
Create1<TH1D>(
"fhRichRingChi2",
"fhRichRingChi2;\\Chi^2;Entries", 101, 0., 10.1);
523 fHM->
Create1<TH1D>(
"fhRichRingChi2_goodRing",
"fhRichRingChi2_goodRing;\\Chi^2;Entries", 101, 0., 10.1);
525 fHM->
Create2<TH2D>(
"fhTofTracksXYRICH_Accectance",
"fhTofTracksXYRICH_Accectance;X[cm];Y[cm];NofTracks/cm^2", 50,
529 fHM->
Create1<TH1D>(
"fhHitTimeEvent",
"fhHitTimeEvent;time [ns];Entries", 300, -100., 200);
531 for (
auto i = 0; i < 5; ++i)
532 fHM->
Create2<TH2D>(Form(
"fhTofHitXZ_Station_%u", i), Form(
"fhTofHitXZ_Station_%u;Z [cm];X [cm];Entries", i), 350,
533 -0.5, 349.5, 400, -50, 110);
535 fHM->
Create1<TH1D>(
"fhBmonDigiMultiplicity",
"fhBmonDigiMultiplicity;multiplicity; Entries", 16, -1.5, 14.5);
536 fHM->
Create1<TH1D>(
"fhBmonDigiTime",
"fhBmonDigiTime;time [ns]; Entries", 500, 0., 100.);
537 fHM->
Create1<TH1D>(
"fhBmonDigiTimeEvent",
"fhBmonDigiTimeEvent;time [ns]; Entries", 500, 0., 100.);
541 fHM->
Create1<TH1D>(
"fhHitTimeMeanRichHit",
"fhHitTimeMeanRichHit;time [ns];Entries", 600, -30., 30);
542 fHM->
Create1<TH1D>(
"fhHitTimeMeanRichHitVsEvent",
"fhHitTimeMeanRichHitVsEvent;time [ns];Entries", 300, -100., 200);
543 fHM->
Create1<TH1D>(
"fhHitTimeMeanTofHitVsEvent",
"fhHitTimeMeanTofHitVsEvent;time [ns];Entries", 300, -100., 200);
544 fHM->
Create1<TH1D>(
"fhHitTimeMeanRichHitVsMeanTof",
"fhHitTimeMeanRichHitVsMeanTof;time [ns];Entries", 300, -100.,
547 for (
auto i = 0; i < 72; ++i)
548 fHM->
Create1<TH1D>(Form(
"/HitTime/fhHitTimeEvent_%u", i),
549 Form(
"/HitTime/fhHitTimeEvent_%u; time [ns];Entries", i), 300, -100, 200);
551 for (
auto i = 0; i < 72; ++i)
552 fHM->
Create1<TH1D>(Form(
"/HitTime/fhHitTimeMeanRichHit_%u", i),
553 Form(
"/HitTime/fhHitTimeMeanRichHit_%u; time [ns];Entries", i), 300, -30, 30);
555 for (
auto i = 0; i < 72; ++i)
556 fHM->
Create2<TH2D>(Form(
"/HitTime_2D/fhHitTimeEvent_%u", i),
557 Form(
"/HitTime_2D/fhHitTimeEvent_%u; time [ns], ToT [ns];Entries", i), 300, -100, 200, 30, 15,
560 for (
auto i = 0; i < 33; ++i)
561 fHM->
Create1<TH1D>(Form(
"/HitTime_chnl/fhHitTimeEvent_chnl_%u", i),
562 Form(
"/HitTime_chnl/fhHitTimeEvent_chnl_%u; time [ns];Entries", i), 300, -100, 200);
570 fHM->
H1(
"fhNofEvents")->Fill(1);
571 cout <<
"CbmRichMCbmQaReal, event No. " <<
fEventNum << endl;
573 uint64_t tsStartTime = 0;
577 auto nOfCbmEvent =
fCbmEvent->GetEntriesFast();
578 if (nOfCbmEvent > 0) {
594 double dTZoom1 = 0.8e9;
595 double dTZoom2 = 0.008e9;
596 fHM->
H1(
"fhRichDigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT);
597 fHM->
H1(
"fhRichDigisTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1);
598 fHM->
H1(
"fhRichDigisTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2);
600 fHM->
H1(
"fhRichRingsTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT);
601 fHM->
H1(
"fhRichRingsTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1);
602 fHM->
H1(
"fhRichRingsTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2);
604 fHM->
H1(
"fhTofDigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT);
605 fHM->
H1(
"fhTofDigisTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1);
606 fHM->
H1(
"fhTofDigisTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2);
608 fHM->
H1(
"fhStsDigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT);
609 fHM->
H1(
"fhStsDigisTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1);
610 fHM->
H1(
"fhStsDigisTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2);
612 fHM->
H1(
"fhTrd1dDigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT);
613 fHM->
H1(
"fhTrd1dDigisTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1);
614 fHM->
H1(
"fhTrd1dDigisTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2);
616 fHM->
H1(
"fhTrd2dDigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT);
617 fHM->
H1(
"fhTrd2dDigisTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1);
618 fHM->
H1(
"fhTrd2dDigisTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2);
620 fHM->
H1(
"fhBmonDigisTimeLog")->GetXaxis()->SetLimits(minTime, minTime + dT);
621 fHM->
H1(
"fhBmonDigisTimeLogZoom")->GetXaxis()->SetLimits(minTime, minTime + dTZoom1);
622 fHM->
H1(
"fhBmonDigisTimeLogZoom2")->GetXaxis()->SetLimits(minTime, minTime + dTZoom2);
632 double TsTimeAfterStart =
static_cast<double>(tsStartTime -
fTSMinTime);
634 fHM->
H1(
"fhNofRichDigisInTimeslice")->Fill(nofRichDigis);
635 for (
int i = 0; i < nofRichDigis; i++) {
637 fHM->
H1(
"fhRichDigisTimeLog")->Fill(digi->
GetTime() + TsTimeAfterStart);
638 fHM->
H1(
"fhRichDigisTimeLogZoom")->Fill(digi->
GetTime() + TsTimeAfterStart);
639 fHM->
H1(
"fhRichDigisTimeLogZoom2")->Fill(digi->
GetTime() + TsTimeAfterStart);
642 int nofRichRings =
fRichRings->GetEntriesFast();
643 for (
int i = 0; i < nofRichRings; i++) {
645 fHM->
H1(
"fhRichRingsTimeLog")->Fill(ring->
GetTime() + TsTimeAfterStart);
646 fHM->
H1(
"fhRichRingsTimeLogZoom")->Fill(ring->
GetTime() + TsTimeAfterStart);
647 fHM->
H1(
"fhRichRingsTimeLogZoom2")->Fill(ring->
GetTime() + TsTimeAfterStart);
651 for (
int i = 0; i < nofTofDigis; i++) {
653 fHM->
H1(
"fhTofDigisTimeLog")->Fill(digi->
GetTime() + TsTimeAfterStart);
654 fHM->
H1(
"fhTofDigisTimeLogZoom")->Fill(digi->
GetTime() + TsTimeAfterStart);
655 fHM->
H1(
"fhTofDigisTimeLogZoom2")->Fill(digi->
GetTime() + TsTimeAfterStart);
660 for (
int i = 0; i < nofStsDigis; i++) {
662 fHM->
H1(
"fhStsDigisTimeLog")->Fill(digi->GetTime() + TsTimeAfterStart);
663 fHM->
H1(
"fhStsDigisTimeLogZoom")->Fill(digi->GetTime() + TsTimeAfterStart);
664 fHM->
H1(
"fhStsDigisTimeLogZoom2")->Fill(digi->GetTime() + TsTimeAfterStart);
670 for (
int i = 0; i < nofTrd1dDigis; i++) {
675 fHM->
H1(
"fhTrd1dDigisTimeLog")->Fill(digi->
GetTime() + TsTimeAfterStart);
676 fHM->
H1(
"fhTrd1dDigisTimeLogZoom")->Fill(digi->
GetTime() + TsTimeAfterStart);
677 fHM->
H1(
"fhTrd1dDigisTimeLogZoom2")->Fill(digi->
GetTime() + TsTimeAfterStart);
680 fHM->
H1(
"fhTrd2dDigisTimeLog")->Fill(digi->
GetTime() + TsTimeAfterStart);
681 fHM->
H1(
"fhTrd2dDigisTimeLogZoom")->Fill(digi->
GetTime() + TsTimeAfterStart);
682 fHM->
H1(
"fhTrd2dDigisTimeLogZoom2")->Fill(digi->
GetTime() + TsTimeAfterStart);
688 Int_t nrBmonDigis = 0;
691 LOG(debug) <<
"BmonDigis: " << nrBmonDigis;
693 for (Int_t iBmon = 0; iBmon < nrBmonDigis; ++iBmon) {
698 fHM->
H1(
"fhBmonDigisTimeLog")->Fill(BmonDigi->
GetTime() + TsTimeAfterStart);
699 fHM->
H1(
"fhBmonDigisTimeLogZoom")->Fill(BmonDigi->
GetTime() + TsTimeAfterStart);
700 fHM->
H1(
"fhBmonDigisTimeLogZoom2")->Fill(BmonDigi->
GetTime() + TsTimeAfterStart);
705 int nofRichHits =
fRichHits->GetEntriesFast();
706 fHM->
H1(
"fhNofRichHitsInTimeslice")->Fill(nofRichHits);
711 for (
int i = 0; i < nofRichDigis; i++) {
713 fHM->
H1(
"fhRichDigisToT")->Fill(richDigi->
GetToT());
726 Double_t zPos_tmp = 0.;
727 for (
int iH = 0; iH < nofRichHits; iH++) {
729 fHM->
H2(
"fhRichHitXY")->Fill(richHit->
GetX(), richHit->
GetY());
731 zPos_tmp = ((zPos_tmp * iH) + richHit->
GetZ()) / (iH + 1);
734 if (nofRichHits > 0)
RichZPos = zPos_tmp;
738 auto fNCbmEvent =
fCbmEvent->GetEntriesFast();
740 for (
int i = 0; i < fNCbmEvent; i++) {
743 fHM->
H1(
"fhNofCbmEvents")->Fill(1);
748 std::vector<int> ringIndx;
749 std::vector<int> evRichHitIndx;
750 std::array<uint32_t, 36> pmtHits;
751 for (
auto& a : pmtHits)
764 Double_t startTime = std::numeric_limits<Double_t>::max();
777 Double_t minT0TimeDiff = std::numeric_limits<Double_t>::max();
779 for (uint32_t j = 0; j <
fBmonDigis->size(); j++) {
784 if (std::fabs(timeDiffBmon) < std::fabs(minT0TimeDiff)) {
785 minT0TimeDiff = timeDiffBmon;
790 fHM->
H1(
"fhBmonDigiTime")->Fill(minT0TimeDiff);
792 Double_t meanRichHitTime = 0.;
797 meanRichHitTime += richHit->
GetTime();
801 Double_t meanTofHitTime = 0.;
805 meanTofHitTime += tofHit->
GetTime();
811 fHM->
H1(
"fhHitTimeMeanRichHitVsMeanTof")->Fill(meanRichHitTime - meanTofHitTime);
816 evRichHitIndx.push_back(iRichHit);
818 uint32_t pmtId = (((richHit->
GetAddress()) >> 24) & 0xF) * 9 + (((richHit->
GetAddress()) >> 20) & 0xF);
822 uint32_t DiRichId = (((richHit->
GetAddress()) >> 24) & 0xF) * 18 + (((richHit->
GetAddress()) >> 20) & 0xF) * 2
826 fHM->
H1(Form(
"/HitTime/fhHitTimeMeanRichHit_%u", DiRichId))->Fill(richHit->
GetTime() - meanRichHitTime);
827 fHM->
H1(
"fhHitTimeMeanRichHit")->Fill(richHit->
GetTime() - meanRichHitTime);
829 fHM->
H2(Form(
"/HitTime_2D/fhHitTimeEvent_%u", DiRichId))
832 fHM->
H1(Form(
"/HitTime_chnl/fhHitTimeEvent_chnl_%u", richHit->
GetAddress() & 0xFFFF))
836 fHM->
H1(
"fhRichHitToTEvent")->Fill(richHit->
GetToT());
837 fHM->
H2(
"fhRichHitXYEvent")->Fill(richHit->
GetX(), richHit->
GetY());
842 if (richHit->
GetTime() < startTime) {
843 startTime = richHit->
GetTime();
845 int nofRichRings2 =
fRichRings->GetEntriesFast();
846 for (
int l = 0; l < nofRichRings2; l++) {
849 for (
int m = 0; m < NofRingHits; m++) {
850 auto RingHitIndx = ring->
GetHit(m);
851 if (RingHitIndx == iRichHit) {
853 for (
auto check : ringIndx) {
859 if (used ==
false) ringIndx.push_back(l);
868 if (tofHit->
GetTime() < startTime) {
871 if (tofHit->
GetZ() < 2.)
continue;
873 auto TofModulId = (tofHit->
GetAddress() >> 4) & 0x3F;
874 auto TofModulType = (tofHit->
GetAddress() >> 11) & 0xF;
876 if (TofModulType != 0)
continue;
879 fHM->
H2(Form(
"fhTofHitXZ_Station_%u", TofModulId))->Fill(tofHit->
GetZ(), tofHit->
GetX());
886 if (TofModulId == 0) {
887 fHM->
H2(
"fhTofRichX_stack1")->Fill(richHit->
GetX(), tofHit->
GetX());
888 fHM->
H2(
"fhTofRichY_stack1")->Fill(richHit->
GetY(), tofHit->
GetY());
889 fHM->
H2(
"fhTofRichX")->Fill(richHit->
GetX(), tofHit->
GetX());
890 fHM->
H2(
"fhTofRichY")->Fill(richHit->
GetY(), tofHit->
GetY());
891 fHM->
H2(
"fhTofHitsXY")->Fill(tofHit->
GetX(), tofHit->
GetY());
893 if (TofModulId == 1) {
894 fHM->
H2(
"fhTofRichX_stack2")->Fill(richHit->
GetX(), tofHit->
GetX());
895 fHM->
H2(
"fhTofRichY_stack2")->Fill(richHit->
GetY(), tofHit->
GetY());
896 fHM->
H2(
"fhTofRichX")->Fill(richHit->
GetX(), tofHit->
GetX());
897 fHM->
H2(
"fhTofRichY")->Fill(richHit->
GetY(), tofHit->
GetY());
898 fHM->
H2(
"fhTofHitsXY")->Fill(tofHit->
GetX(), tofHit->
GetY());
900 if (TofModulId == 2) {
901 fHM->
H2(
"fhTofRichX_stack3")->Fill(richHit->
GetX(), tofHit->
GetX());
902 fHM->
H2(
"fhTofRichY_stack3")->Fill(richHit->
GetY(), tofHit->
GetY());
903 fHM->
H2(
"fhTofRichX")->Fill(richHit->
GetX(), tofHit->
GetX());
904 fHM->
H2(
"fhTofRichY")->Fill(richHit->
GetY(), tofHit->
GetY());
905 fHM->
H2(
"fhTofHitsXY")->Fill(tofHit->
GetX(), tofHit->
GetY());
913 fHM->
H2(Form(
"fhTofHitsXY_%u", TofModulId))->Fill(tofHit->
GetX(), tofHit->
GetY());
914 fHM->
H2(Form(
"fhTofHitsZX_%u", TofModulId))->Fill(tofHit->
GetZ(), tofHit->
GetX());
915 fHM->
H2(Form(
"fhTofRichX_%u", TofModulId))->Fill(richHit->
GetX(), tofHit->
GetX());
916 fHM->
H2(Form(
"fhTofRichY_%u", TofModulId))->Fill(richHit->
GetY(), tofHit->
GetY());
918 fHM->
H2(Form(
"fhTofRichHitsResidual_%u", TofModulId))
919 ->Fill(richHit->
GetX() - hitExtr.X(), richHit->
GetY() - hitExtr.Y());
945 fHM->
H1(
"fhTofTracksPerEvent")->Fill(noftofTracks);
947 for (
size_t j = 0; j < noftofTracks; j++) {
950 if (tTrack ==
nullptr)
continue;
952 fHM->
H1(
"fhTracksWithRings")->Fill(0);
955 fHM->
H1(
"fhNofTofTracks")->Fill(0.5);
967 if (richHit ==
nullptr)
continue;
980 fHM->
H2(
"fhTofTracksXYRICH")
983 fHM->
H1(
"fhNofTofTracks")->Fill(3.5);
984 std::vector<int> evTofTrack;
985 evTofTrack.push_back(iTofTrack);
988 if (ringIndx.size() == 0 && evRichHitIndx.size() > 0)
989 fHM->
H1(
"fhTofBetaTracksWithHitsNoRing")->Fill(
getBeta(tTrack));
990 if (evRichHitIndx.size() > 0)
fHM->
H1(
"fhTofBetaTracksWithHits")->Fill(
getBeta(tTrack));
991 if (ringIndx.size() == 0)
fHM->
H1(
"fhTofBetaTracksNoRing")->Fill(
getBeta(tTrack));
998 if (trackXpos > -8 && trackXpos < 13 && trackYpos > -21 && trackYpos < 24) {
999 if (!(trackXpos > -8 && trackXpos < -3 && trackYpos > 5 && trackYpos < 7.5)
1000 && !(trackXpos > 7.8 && trackXpos < 13 && trackYpos > 5 && trackYpos < 7.5)
1001 && !(trackXpos > -8 && trackXpos < 2 && trackYpos > 21 && trackYpos < 24)
1002 && !(trackXpos > 7.8 && trackXpos < 13 && trackYpos > 21 && trackYpos < 24)
1003 && !(trackXpos > 2.2 && trackXpos < 13 && trackYpos > 21 && trackYpos < 16)) {
1004 fHM->
H2(
"fhTofTracksXYRICH_Accectance")->Fill(trackXpos, trackYpos);
1005 fHM->
H1(
"fhTracksWithRings")->Fill(2);
1006 if (ringIndx.size() > 0)
fHM->
H1(
"fhTracksWithRings")->Fill(4);
1016 if (closeRing.first > -1) {
1017 fHM->
H1(
"fhRingTrackDistance")->Fill(closeRing.second);
1018 fHM->
H1(
"fhTracksWithRings")->Fill(1);
1026 fHM->
H1(
"fhRingTrackDistance_X")->Fill(xDist);
1027 fHM->
H1(
"fhRingTrackDistance_Y")->Fill(yDist);
1028 fHM->
H2(
"fhRingTrackDistance_XY")->Fill(xDist, yDist);
1030 if (closeRing.second < ring->
GetRadius() * 1.2)
1031 fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange")->Fill(
getBeta(tTrack));
1039 fHM->
H1(
"fhNofTofTracks")->Fill(2.5);
1042 fHM->
H1(
"fhNofTofTracks")->Fill(1.5);
1047 std::vector<TVector3> RichTofEv;
1052 if (tofHit->
GetZ() < 2.)
continue;
1054 fHM->
H1(
"fhTofHitsZ")->Fill(tofHit->
GetZ());
1055 fHM->
H2(
"fhTofHitsXZ")->Fill(tofHit->
GetZ(), tofHit->
GetX());
1059 if (ringIndx.size() > 0) {
1066 for (
int k = 0; k < ring->
GetNofHits(); k++) {
1067 Int_t hitInd = ring->
GetHit(k);
1069 if (
nullptr == hit)
continue;
1070 fHM->
H2(
"fhTofHitRichRingHitX")->Fill(hit->
GetX(), tofHit->
GetX());
1071 fHM->
H2(
"fhTofHitRichRingHitY")->Fill(hit->
GetY(), tofHit->
GetY());
1078 if (ringIndx.size() > 0) {
1079 std::vector<CbmTofTracklet*> TracksOfEvnt;
1082 fHM->
H1(
"fhTofTracksPerRichEvent")->Fill(nofTofTracks);
1083 for (
size_t j = 0; j < nofTofTracks; j++) {
1086 if (track ==
nullptr)
continue;
1088 TracksOfEvnt.emplace_back(track);
1094 if (richHit ==
nullptr)
continue;
1107 fHM->
H1(
"fhTofTrackRichHitTime_oBetacuts")->Fill(deltatime);
1108 if (deltatime > -10 && deltatime < +40) {
1161 if (
nullptr == ring)
continue;
1174 for (
size_t j = 0; j < nofTofTracks; j++) {
1177 if (track ==
nullptr)
continue;
1189 const double rDist = std::sqrt(xDist * xDist + yDist * yDist);
1190 fHM->
H1(
"fhTrackRingDistance_corr")->Fill(rDist);
1194 for (
int k = 0; k < ring->
GetNofHits(); k++) {
1195 Int_t hitInd = ring->
GetHit(k);
1197 if (
nullptr == hit)
continue;
1203 if (clTrack.first > -1) {
1207 fHM->
H1(
"fhTrackRingDistance")->Fill(clTrack.second);
1209 TracksOfEvnt[clTrack.first];
1210 if (track ==
nullptr)
continue;
1212 fHM->
H1(
"fhTrackRingDistanceOnTarget")->Fill(clTrack.second);
1215 fHM->
H1(
"fhTrackRingDistanceOffTarget")->Fill(clTrack.second);
1217 fHM->
H2(
"fhTrackRingDistanceVSRingradius")->Fill(clTrack.second, ring->
GetRadius());
1218 fHM->
H2(
"fhTrackRingDistanceVSRingChi2")->Fill(clTrack.second, ring->
GetChi2());
1226 if ((clTrack.second < (ring->
GetRadius() * 1.2))) {
1228 fHM->
H1(
"fhRichRingChi2_goodRing")->Fill(ring->
GetChi2());
1229 fHM->
H2(
"fhTrackRingDistanceVSRingChi2_goodRing")->Fill(clTrack.second, ring->
GetChi2());
1231 fHM->
H2(
"fhTofBetaRingDist")->Fill(
getBeta(track), clTrack.second);
1236 fHM->
H1(
"fhRichRingBeta_GoodRing")->Fill(
getBeta(ring));
1240 fHM->
H2(
"fhTofRichRingXZ")
1245 fHM->
H2(
"fhTofTrackRichRingXY")
1251 fHM->
H1(
"fhNofCbmEventsRing")->Fill(1);
1262 for (
unsigned int j = 0; j < pmtHits.size(); ++j) {
1263 if (pmtHits[j] > 30) {
1266 double xBlob = -7.95 + (int((j / 9)) * 5.3) +
fXOffsetHisto;
1267 double yBlob = 21.2 - ((j % 9) * 5.3);
1272 if (track ==
nullptr)
continue;
1275 fHM->
H1(
"fhBlobTrackDistX")->Fill(std::fabs(xBlobTrack));
1276 fHM->
H1(
"fhBlobTrackDistY")->Fill(std::fabs(yBlobTrack));
1277 fHM->
H1(
"fhBlobTrackDist")->Fill(std::sqrt(xBlobTrack * xBlobTrack + yBlobTrack * yBlobTrack));
1282 fHM->
H1(
"fhNofBlobEvents")->Fill(1);
1283 fHM->
H1(
"fhNofBlobsInEvent")->Fill(blob);
1400 double nofEvents =
fHM->
H1(
"fhNofCbmEvents")->GetEntries();
1404 fHM->
CreateCanvas(
"rich_mcbm_fhNofCbmEvents",
"rich_mcbm_fhNofCbmEvents", 600, 600);
1409 fHM->
CreateCanvas(
"rich_mcbm_fhNofCbmEventsRing",
"rich_mcbm_fhNofCbmEventsRing", 600, 600);
1414 fHM->
CreateCanvas(
"rich_mcbm_fhNofEvents",
"rich_mcbm_fhNofEvents", 600, 600);
1424 fHM->
CreateCanvas(
"RichDigisConsecTime",
"RichDigisConsecTime", 600, 600);
1430 fHM->
CreateCanvas(
"RichDigisConsecTimeTOT",
"RichDigisConsecTimeTOT", 600, 600);
1443 TCanvas* c =
fHM->
CreateCanvas(
"RichRingXY_goodTrack",
"RichRingXY_goodTrack", 1200, 600);
1453 TCanvas* c =
fHM->
CreateCanvas(
"rich_mcbm_nofObjectsInTimeslice",
"rich_mcbm_nofObjectsInTimeslice", 1500, 500);
1464 TCanvas* c =
fHM->
CreateCanvas(
"rich_mcbm_XY",
"rich_mcbm_XY", 1200, 600);
1474 TCanvas* c =
fHM->
CreateCanvas(
"rich_tof_XY",
"rich_tof_XY", 1200, 600);
1484 TCanvas* c =
fHM->
CreateCanvas(
"rich_tof_XY_zoomed",
"rich_tof_XY_zoomed", 1200, 600);
1494 TCanvas* c =
fHM->
CreateCanvas(
"rich_mcbm_richDigisTimeLog",
"rich_mcbm_richDigisTimeLog", 1200, 1200);
1498 fHM->
H1(
"fhStsDigisTimeLog"),
fHM->
H1(
"fhTrd1dDigisTimeLog"),
fHM->
H1(
"fhTrd2dDigisTimeLog")},
1499 {
"RICH",
"TOF",
"Bmon",
"STS",
"TRD",
"TRD2D"},
kLinear,
kLog,
true, 0.87, 0.75, 0.99, 0.99);
1500 gPad->SetLeftMargin(0.1);
1501 gPad->SetRightMargin(0.10);
1502 fHM->
H1(
"fhStsDigisTimeLog")->GetYaxis()->SetTitleOffset(0.7);
1503 fHM->
H1(
"fhStsDigisTimeLog")->SetMinimum(0.9);
1505 DrawH1({
fHM->
H1(
"fhRichDigisTimeLogZoom"),
fHM->
H1(
"fhTofDigisTimeLogZoom"),
fHM->
H1(
"fhBmonDigisTimeLogZoom"),
1506 fHM->
H1(
"fhStsDigisTimeLogZoom"),
fHM->
H1(
"fhTrd1dDigisTimeLogZoom"),
fHM->
H1(
"fhTrd2dDigisTimeLogZoom")},
1507 {
"RICH",
"TOF",
"Bmon",
"STS",
"TRD",
"TRD2D"},
kLinear,
kLog,
true, 0.87, 0.75, 0.99, 0.99);
1508 gPad->SetLeftMargin(0.1);
1509 gPad->SetRightMargin(0.1);
1510 fHM->
H1(
"fhStsDigisTimeLogZoom")->GetYaxis()->SetTitleOffset(0.7);
1511 fHM->
H1(
"fhStsDigisTimeLogZoom")->SetMinimum(0.9);
1515 fHM->
CreateCanvas(
"rich_mcbm_richDigisTimeLog2",
"rich_mcbm_richDigisTimeLog2", 1200, 600);
1516 DrawH1({
fHM->
H1(
"fhRichDigisTimeLogZoom2"),
fHM->
H1(
"fhTofDigisTimeLogZoom2"),
fHM->
H1(
"fhBmonDigisTimeLogZoom2"),
1517 fHM->
H1(
"fhStsDigisTimeLogZoom2"),
fHM->
H1(
"fhTrd1dDigisTimeLogZoom2"),
1518 fHM->
H1(
"fhTrd2dDigisTimeLogZoom2")},
1519 {
"RICH",
"TOF",
"Bmon",
"STS",
"TRD",
"TRD2D"},
kLinear,
kLog,
true, 0.87, 0.75, 0.99, 0.99);
1520 gPad->SetLeftMargin(0.1);
1521 gPad->SetRightMargin(0.1);
1522 fHM->
H1(
"fhStsDigisTimeLogZoom2")->GetYaxis()->SetTitleOffset(0.7);
1523 fHM->
H1(
"fhStsDigisTimeLogZoom2")->SetMinimum(0.9);
1527 fHM->
CreateCanvas(
"rich_mcbm_richDigisRingTimeLog",
"rich_mcbm_richDigisRingTimeLog", 1200, 600);
1528 TH1D* copyRichDigi = (TH1D*)
fHM->
H1(
"fhRichDigisTimeLog")->Clone();
1529 TH1D* copyRichRing = (TH1D*)
fHM->
H1(
"fhRichRingsTimeLog")->Clone();
1530 DrawH1({copyRichDigi,
fHM->
H1(
"fhTofDigisTimeLog"),
fHM->
H1(
"fhBmonDigisTimeLog"), copyRichRing,
1531 fHM->
H1(
"fhStsDigisTimeLog"),
fHM->
H1(
"fhTrd1dDigisTimeLog"),
fHM->
H1(
"fhTrd2dDigisTimeLog")},
1532 {
"RICH",
"TOF",
"Bmon",
"RICH RING",
"STS",
"TRD",
"TRD2D"},
kLinear,
kLog,
true, 0.83, 0.75, 0.99, 0.99);
1533 gPad->SetLeftMargin(0.1);
1534 gPad->SetRightMargin(0.1);
1535 copyRichDigi->GetYaxis()->SetTitleOffset(0.7);
1536 copyRichDigi->SetMinimum(0.9);
1541 TCanvas* c =
fHM->
CreateCanvas(
"rich_mcbm_richRingsTimeLog",
"rich_mcbm_richRingsTimeLog", 1200, 1200);
1545 0.87, 0.75, 0.99, 0.99);
1546 gPad->SetLeftMargin(0.1);
1547 gPad->SetRightMargin(0.10);
1548 fHM->
H1(
"fhRichDigisTimeLog")->GetYaxis()->SetTitleOffset(0.7);
1549 fHM->
H1(
"fhRichDigisTimeLog")->SetMinimum(0.9);
1552 true, 0.87, 0.75, 0.99, 0.99);
1553 gPad->SetLeftMargin(0.1);
1554 gPad->SetRightMargin(0.1);
1555 fHM->
H1(
"fhRichDigisTimeLogZoom")->GetYaxis()->SetTitleOffset(0.7);
1556 fHM->
H1(
"fhRichDigisTimeLogZoom")->SetMinimum(0.9);
1560 fHM->
CreateCanvas(
"rich_mcbm_richRingsTimeLog2",
"rich_mcbm_richRingsTimeLog2", 1200, 600);
1562 true, 0.87, 0.75, 0.99, 0.99);
1563 gPad->SetLeftMargin(0.1);
1564 gPad->SetRightMargin(0.1);
1565 fHM->
H1(
"fhRichDigisTimeLogZoom2")->GetYaxis()->SetTitleOffset(0.7);
1566 fHM->
H1(
"fhRichDigisTimeLogZoom2")->SetMinimum(0.9);
1580 TCanvas* c =
fHM->
CreateCanvas(
"rich_BlobTrackDist",
"rich_BlobTrackDist", 1800, 600);
1592 fHM->
H3(
"fhTofXYZ")->Draw();
1597 TCanvas* c =
fHM->
CreateCanvas(
"rich_mcbm_rings",
"rich_mcbm_rings", 1200, 600);
1607 fHM->
H1(
"fhTofHitsZ")->Draw();
1611 fHM->
CreateCanvas(
"TofTracksPerEvent",
"TofTracksPerEvent", 1200, 1200);
1616 fHM->
CreateCanvas(
"TofTracksPerRichEvent",
"TofTracksPerRichEvent", 1200, 1200);
1621 TCanvas* c =
fHM->
CreateCanvas(
"TofRichRingX_Y",
"TofRichRingX_Y", 1200, 1200);
1630 TCanvas* c =
fHM->
CreateCanvas(
"TofRichX_Stacks",
"TofRichX_Stacks", 1800, 600);
1641 TCanvas* c =
fHM->
CreateCanvas(
"TofRichY_Stacks",
"TofRichY_Stacks", 1800, 600);
1670 TCanvas* c =
fHM->
CreateCanvas(
"TofHitsXY_moduleIds",
"TofHitsXY_moduleIds", 2500, 500);
1686 TCanvas* c =
fHM->
CreateCanvas(
"TofHitsZX_moduleIds",
"TofHitsZX_moduleIds", 2500, 500);
1702 TCanvas* c =
fHM->
CreateCanvas(
"TofRichHitsX_moduleIds",
"TofRichHitsX_moduleIds", 2500, 500);
1718 TCanvas* c =
fHM->
CreateCanvas(
"TofRichHitsY_moduleIds",
"TofRichHitsY_moduleIds", 2500, 500);
1734 TCanvas* c =
fHM->
CreateCanvas(
"fhTofRichHitsResidual_moduleIds",
"fhTofRichHitsResidual_moduleIds", 2500, 500);
1750 fHM->
CreateCanvas(
"TofTrackRichRingXY",
"TofTrackRichRingXY", 1200, 1200);
1756 fHM->
CreateCanvas(
"TofClosTrackRichRingXY",
"TofClosTrackRichRingXY", 1200, 1200);
1762 TCanvas* c =
fHM->
CreateCanvas(
"TrackRingDist",
"TrackRingDist", 1200, 800);
1767 DrawH2(
fHM->
H2(
"fhTrackRingDistanceVSRingradius"));
1776 TCanvas* c =
fHM->
CreateCanvas(
"RingTrackDist_all",
"RingTrackDist_all", 1800, 800);
1787 TCanvas* c =
fHM->
CreateCanvas(
"ClosTrackRingXY",
"ClosTrackRingXY", 1200, 800);
1796 TCanvas* c =
fHM->
CreateCanvas(
"TrackRingXY",
"TrackRingXY", 1200, 800);
1805 TCanvas* c =
fHM->
CreateCanvas(
"TofTracksXY",
"TofTracksXY", 1200, 800);
1814 fHM->
CreateCanvas(
"TofTracksXY_Target",
"TofTracksXY_Target", 800, 800);
1819 fHM->
CreateCanvas(
"GoodRingsXY_TargetPos",
"GoodRingsXY_TargetPos", 800, 800);
1825 gStyle->SetOptStat(0);
1826 fHM->
H1(
"fhTofBetaAll")->Draw(
"HIST");
1827 fHM->
H1(
"fhTofBetaTracksWithHitsNoRing")->SetLineColorAlpha(kGreen, 1);
1828 fHM->
H1(
"fhTofBetaTracksWithHitsNoRing")->Draw(
"HIST SAME");
1836 fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange")->SetLineColorAlpha(44, 1);
1837 fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange")->Draw(
"HIST SAME");
1839 fHM->
H1(
"fhTofBetaRing")->SetLineColorAlpha(kRed, 1);
1840 fHM->
H1(
"fhTofBetaRing")->Draw(
"HIST SAME");
1842 auto legend =
new TLegend(0.1, 0.75, 0.4, 0.9);
1843 legend->AddEntry(
fHM->
H1(
"fhTofBetaTracksWithHitsNoRing"),
"Tracks with RichHits and no Ring",
"l");
1846 legend->AddEntry(
fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange"),
"Tracks with clos. Ring in +20% Radius",
"l");
1847 legend->AddEntry(
fHM->
H1(
"fhTofBetaRing"),
"Tracks in good ring",
"l");
1849 legend->AddEntry(
fHM->
H1(
"fhTofBetaAll"),
"All Tracks in mRICH Acc.",
"l");
1852 legend->AddEntry(
fHM->
H1(
"fhTofBetaAll"),
"All Tracks in full mRICH Acc.",
"l");
1855 legend->AddEntry(
fHM->
H1(
"fhTofBetaAll"),
"All Tracks",
"l");
1861 TCanvas* c =
fHM->
CreateCanvas(
"TofBetaLog",
"TofBetaLog", 1000, 1000);
1864 Double_t max =
fHM->
H1(
"fhTofBetaAll")->GetMaximum();
1865 fHM->
H1(
"fhTofBetaAll")->Draw(
"HIST");
1867 if (
fHM->
H1(
"fhTofBetaTracksWithHitsNoRing")->GetMaximum() > max)
1868 max =
fHM->
H1(
"fhTofBetaTracksWithHitsNoRing")->GetMaximum();
1869 fHM->
H1(
"fhTofBetaTracksWithHitsNoRing")->SetLineColorAlpha(kGreen, 1);
1870 fHM->
H1(
"fhTofBetaTracksWithHitsNoRing")->Draw(
"HIST SAME");
1878 if (
fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange")->GetMaximum() > max)
1879 max =
fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange")->GetMaximum();
1880 fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange")->SetLineColorAlpha(12, 1);
1881 fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange")->Draw(
"HIST SAME");
1883 if (
fHM->
H1(
"fhTofBetaRing")->GetMaximum() > max) max =
fHM->
H1(
"fhTofBetaRing")->GetMaximum();
1884 fHM->
H1(
"fhTofBetaRing")->SetLineColorAlpha(kRed, 1);
1885 fHM->
H1(
"fhTofBetaRing")->Draw(
"HIST SAME");
1887 fHM->
H1(
"fhTofBetaAll")->SetAxisRange(1., max * 1.8,
"Y");
1889 auto legend =
new TLegend(0.75, 0.77, 0.99, 0.96);
1890 legend->AddEntry(
fHM->
H1(
"fhTofBetaTracksWithHitsNoRing"),
"Tracks with RichHits and no Ring",
"l");
1893 legend->AddEntry(
fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange"),
"Tracks with clos. Ring in +20% Radius",
"l");
1894 legend->AddEntry(
fHM->
H1(
"fhTofBetaRing"),
"Tracks in good ring",
"l");
1896 legend->AddEntry(
fHM->
H1(
"fhTofBetaAll"),
"All Tracks in mRICH Acc.",
"l");
1899 legend->AddEntry(
fHM->
H1(
"fhTofBetaAll"),
"All Tracks in full mRICH Acc.",
"l");
1902 legend->AddEntry(
fHM->
H1(
"fhTofBetaAll"),
"All Tracks",
"l");
1908 TCanvas* c =
fHM->
CreateCanvas(
"TofBetaLog_pos",
"TofBetaLog_pos", 1000, 1000);
1911 TH1D* copyTofBetaAll = (TH1D*)
fHM->
H1(
"fhTofBetaAll")->Clone();
1913 Double_t max = copyTofBetaAll->GetMaximum();
1915 copyTofBetaAll->GetXaxis()->SetRangeUser(0.0, 1.2);
1916 copyTofBetaAll->Draw(
"HIST");
1918 if (
fHM->
H1(
"fhTofBetaTracksWithHitsNoRing")->GetMaximum() > max)
1919 max =
fHM->
H1(
"fhTofBetaTracksWithHitsNoRing")->GetMaximum();
1920 fHM->
H1(
"fhTofBetaTracksWithHitsNoRing")->SetLineColorAlpha(kGreen, 1);
1921 fHM->
H1(
"fhTofBetaTracksWithHitsNoRing")->Draw(
"HIST SAME");
1929 if (
fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange")->GetMaximum() > max)
1930 max =
fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange")->GetMaximum();
1931 fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange")->SetLineColorAlpha(12, 1);
1932 fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange")->Draw(
"HIST SAME");
1934 if (
fHM->
H1(
"fhTofBetaRing")->GetMaximum() > max) max =
fHM->
H1(
"fhTofBetaRing")->GetMaximum();
1935 fHM->
H1(
"fhTofBetaRing")->SetLineColorAlpha(kRed, 1);
1936 fHM->
H1(
"fhTofBetaRing")->Draw(
"HIST SAME");
1938 copyTofBetaAll->SetAxisRange(1., max * 1.8,
"Y");
1940 auto legend =
new TLegend(0.75, 0.77, 0.99, 0.96);
1941 legend->AddEntry(
fHM->
H1(
"fhTofBetaTracksWithHitsNoRing"),
"Tracks with RichHits and no Ring",
"l");
1944 legend->AddEntry(
fHM->
H1(
"fhTofBetaTrackswithClosestRingInRange"),
"Tracks with clos. Ring in +20% Radius",
"l");
1945 legend->AddEntry(
fHM->
H1(
"fhTofBetaRing"),
"Tracks in good ring",
"l");
1947 legend->AddEntry(
fHM->
H1(
"fhTofBetaAll"),
"All Tracks in mRICH Acc.",
"l");
1950 legend->AddEntry(copyTofBetaAll,
"All Tracks in full mRICH Acc.",
"l");
1953 legend->AddEntry(copyTofBetaAll,
"All Tracks",
"l");
1969 fHM->
CreateCanvas(
"TofBetaAllFullAcc",
"TofBetaAllFullAcc", 800, 800);
1974 TCanvas* c =
fHM->
CreateCanvas(
"TofBetaAllFullAccLog",
"TofBetaAllFullAccLog", 800, 800);
1980 TCanvas* c =
fHM->
CreateCanvas(
"RingAnalysis",
"RingAnalysis", 1000, 1000);
1989 {
fHM->
H1(
"fhRingLE"),
fHM->
H1(
"fhRingNoClTrackLE"),
fHM->
H1(
"fhRingClTrackFarAwayLE"),
fHM->
H1(
"fhGoodRingLE")},
1990 {
"all Rings",
"Rings w/o closest Track",
"Rings w/ closest Track >5cm",
"Good Rings"},
kLinear,
kLinear,
true,
1991 0.70, 0.75, 0.95, 0.99);
1997 TCanvas* c =
fHM->
CreateCanvas(
"InnerRingAnalysis",
"InnerRingAnalysis", 1000, 1200);
2005 DrawH1({
fHM->
H1(
"fhInnerRingLE"),
fHM->
H1(
"fhInnerRingNoClTrackLE"),
fHM->
H1(
"fhInnerRingClTrackFarAwayLE"),
2006 fHM->
H1(
"fhInnerGoodRingLE")},
2007 {
"all Rings",
"Rings w/o closest Track",
"Rings w/ closest Track >5cm",
"Good Rings"},
kLinear,
kLinear,
2008 true, 0.70, 0.75, 0.95, 0.99);
2022 fHM->
CreateCanvas(
"RichRingRadiusVsY",
"RichRingRadiusVsY", 800, 800);
2028 fHM->
CreateCanvas(
"RichRingHitsVsRadius",
"RichRingHitsVsRadius", 800, 800);
2044 fHM->
CreateCanvas(
"rich_mcbm_fhBlobEvents",
"rich_mcbm_fhBlobEvents", 600, 600);
2049 fHM->
CreateCanvas(
"rich_mcbm_fhBlobsInCbmEvent",
"rich_mcbm_fhBlobsInCbmEvent", 600, 600);
2054 TCanvas* c =
fHM->
CreateCanvas(
"TofTrackRichHitXY",
"TofTrackRichHitXY", 1200, 800);
2063 TCanvas* c =
fHM->
CreateCanvas(
"TofTrackRichRingHitXY",
"TofTrackRichRingHitXY", 1200, 800);
2072 TCanvas* c =
fHM->
CreateCanvas(
"TofHitRichRingHitXY",
"TofHitRichRingHitXY", 1200, 800);
2081 TCanvas* c =
fHM->
CreateCanvas(
"TrackRingDistance_Target",
"TrackRingDistance_Target", 1200, 800);
2090 TCanvas* c =
fHM->
CreateCanvas(
"TofTrackRichHitXY_cut",
"TofTrackRichHitXY_cut", 1200, 800);
2099 TCanvas* c =
fHM->
CreateCanvas(
"TofTrackRichHitXY_overBetaCut",
"TofTrackRichHitXY_overBetaCut", 1200, 800);
2108 TCanvas* c =
fHM->
CreateCanvas(
"TofTrackRichHitXY_underBetaCut",
"TofTrackRichHitXY_underBetaCut", 1200, 800);
2117 TCanvas* c =
fHM->
CreateCanvas(
"TofTrackRichHitXY_oBetacuts_dtime",
"TofTrackRichHitXY_oBetacuts_dtime", 1200, 800);
2120 DrawH2(
fHM->
H2(
"fhTofTrackRichHitX_oBetacuts_dtime"));
2122 DrawH2(
fHM->
H2(
"fhTofTrackRichHitY_oBetacuts_dtime"));
2127 fHM->
CreateCanvas(
"TofTrackHitRichHitXY_oBetacuts_dtime",
"TofTrackHitRichHitXY_oBetacuts_dtime", 1200, 800);
2130 DrawH2(
fHM->
H2(
"fhTofTrackHitRichHitX_oBetacuts_dtime"));
2132 DrawH2(
fHM->
H2(
"fhTofTrackHitRichHitY_oBetacuts_dtime"));
2136 fHM->
CreateCanvas(
"TofTrackRichHitTime_oBetacuts",
"TofTrackRichHitTime_oBetacuts", 600, 600);
2137 DrawH1(
fHM->
H1(
"fhTofTrackRichHitTime_oBetacuts"));
2142 TCanvas* c =
fHM->
CreateCanvas(
"TofTrackHitRichHitXY_oBetacuts_dtime_evo",
2143 "TofTrackHitRichHitXY_oBetacuts_dtime_evo", 1200, 3200);
2146 DrawH2(
fHM->
H2(
"fhTofTrackRichHitX_oBetacuts_dtime_4"));
2148 DrawH2(
fHM->
H2(
"fhTofTrackRichHitY_oBetacuts_dtime_4"));
2151 DrawH2(
fHM->
H2(
"fhTofTrackRichHitX_oBetacuts_dtime_6"));
2153 DrawH2(
fHM->
H2(
"fhTofTrackRichHitY_oBetacuts_dtime_6"));
2156 DrawH2(
fHM->
H2(
"fhTofTrackRichHitX_oBetacuts_dtime_8"));
2158 DrawH2(
fHM->
H2(
"fhTofTrackRichHitY_oBetacuts_dtime_8"));
2161 DrawH2(
fHM->
H2(
"fhTofTrackRichHitX_oBetacuts_dtime_10"));
2163 DrawH2(
fHM->
H2(
"fhTofTrackRichHitY_oBetacuts_dtime_10"));
2167 fHM->
CreateCanvas(
"TrackRingDistance_AfterCorr",
"TrackRingDistance_AfterCorr", 600, 600);
2186 TCanvas* c =
fHM->
CreateCanvas(
"richRingBeta",
"richRingBeta", 1200, 800);
2195 TCanvas* c =
fHM->
CreateCanvas(
"TrackRingDistanceVSRingChi2",
"TrackRingDistanceVSRingChi2", 1200, 800);
2200 DrawH2(
fHM->
H2(
"fhTrackRingDistanceVSRingChi2_goodRing"));
2205 TCanvas* c =
fHM->
CreateCanvas(
"RichRingChi2",
"RichRingChi2", 1600, 800);
2215 fHM->
CreateCanvas(
"TofTracksXYRICH_Accectance",
"TofTracksXYRICH_Accectance", 1200, 1200);
2251 TCanvas* c =
nullptr;
2258 c->SetGrid(
true,
true);
2259 TH2D* pad =
nullptr;
2261 pad =
new TH2D(ss.str().c_str(), (ss.str() +
";X [cm];Y [cm]").c_str(), 1, -15., 10., 1, -5., 20);
2264 pad =
new TH2D(ss.str().c_str(), (ss.str() +
";X [cm];Y [cm]").c_str(), 1, -5., 5., 1, -5., 5);
2267 pad->SetStats(
false);
2272 TLine* line0 =
new TLine(-6.25, 8, -6.25, 15.9);
2274 TLine* line1 =
new TLine(-6.25, 15.9, -1.05, 15.9);
2276 TLine* line2 =
new TLine(-1.05, 15.9, -1.05, 13.2);
2278 TLine* line3 =
new TLine(-1.05, 13.2, +4.25, 13.2);
2280 TLine* line4 =
new TLine(4.25, 13.2, +4.25, 8);
2282 TLine* line5 =
new TLine(4.25, 8, -6.25, 8);
2291 if (full ==
false) {
2292 double xmin = 99999., xmax = -99999., ymin = 99999., ymax = -99999.;
2293 for (
int i = 0; i < ring->
GetNofHits(); i++) {
2294 Int_t hitInd = ring->
GetHit(i);
2296 if (
nullptr == hit)
continue;
2297 if (xmin > hit->
GetX()) xmin = hit->
GetX();
2298 if (xmax < hit->GetX()) xmax = hit->
GetX();
2299 if (ymin > hit->
GetY()) ymin = hit->
GetY();
2300 if (ymax < hit->GetY()) ymax = hit->
GetY();
2302 xCur = (xmin + xmax) / 2.;
2303 yCur = (ymin + ymax) / 2.;
2308 circle->SetFillStyle(0);
2309 circle->SetLineWidth(3);
2316 uint nofDrawHits = 0;
2319 for (
int i = 0; i < ring->
GetNofHits(); i++) {
2320 Int_t hitInd = ring->
GetHit(i);
2322 if (
nullptr == hit)
continue;
2323 TEllipse* hitDr =
new TEllipse(hit->
GetX() - xCur, hit->
GetY() - yCur, .25);
2326 hitDr->SetFillColor(kRed);
2329 hitDr->SetFillColor(kBlue);
2331 hitZ += hit->
GetZ();
2335 hitZ /= nofDrawHits;
2340 if (track.size() > 0) {
2342 std::string sTrackLabel;
2343 double dist = -99999.999;
2344 for (
auto trackInd : track) {
2345 TEllipse* hitDr =
new TEllipse(trackInd->GetFitX(hitZ) - xCur, trackInd->GetFitY(hitZ) - yCur, .25);
2346 hitDr->SetFillColor(kGreen);
2349 if (trackInd->GetFitX(hitZ) < 30.0) {
2351 double tmp_dist = std::sqrt(trackInd->GetFitX(hitZ) * trackInd->GetFitX(hitZ)
2352 + trackInd->GetFitY(hitZ) * trackInd->GetFitY(hitZ));
2353 if (dist < -99999.0) {
2355 sTrackLabel =
"\\beta : " + std::to_string((
double)
getBeta(trackInd));
2357 else if (dist > tmp_dist) {
2359 sTrackLabel =
"\\beta : " + std::to_string((
double)
getBeta(trackInd));
2364 TLatex* latex1 =
new TLatex(-4., 0.5, ss3.str().c_str());
2374 if (full ==
false) {
2375 ss2 <<
"(x,y,r,n)=(" << setprecision(3) << ring->
GetCenterX() <<
", " << ring->
GetCenterY() <<
", "
2379 ss2 <<
"(x,y,r,n,T,Tc)=(" << setprecision(3) << ring->
GetCenterX() <<
", " << ring->
GetCenterY() <<
", "
2380 << ring->
GetRadius() <<
", " << ring->
GetNofHits() <<
", " << track.size() <<
", " << Tc <<
")";
2382 TLatex* latex =
nullptr;
2387 latex =
new TLatex(-4., 4., ss2.str().c_str());
2394 if (richHitIndx.size() < 1 || tofTrackIndx.size() < 1)
return;
2397 std::string dir =
"./" +
fOutputDir +
"/png/TREv/";
2398 gSystem->mkdir(dir.c_str(),
true);
2401 TCanvas* c =
nullptr;
2403 c->SetGrid(
true,
true);
2405 TH2D* pad =
new TH2D(ss.str().c_str(), (ss.str() +
";X [cm];Y [cm]").c_str(), 1, -15., 10., 1, -5., 20);
2407 pad->SetStats(
false);
2411 TLine* line0 =
new TLine(-6.25, 8, -6.25, 15.9);
2413 TLine* line1 =
new TLine(-6.25, 15.9, -1.05, 15.9);
2415 TLine* line2 =
new TLine(-1.05, 15.9, -1.05, 13.2);
2417 TLine* line3 =
new TLine(-1.05, 13.2, +4.25, 13.2);
2419 TLine* line4 =
new TLine(4.25, 13.2, +4.25, 8);
2421 TLine* line5 =
new TLine(4.25, 8, -6.25, 8);
2424 int nofDrawHits = 0;
2427 for (
unsigned int i = 0; i < richHitIndx.size(); i++) {
2429 if (
nullptr == hit)
continue;
2430 TEllipse* hitDr =
new TEllipse(hit->
GetX(), hit->
GetY(), .25);
2432 hitDr->SetFillColor(kRed);
2435 hitDr->SetFillColor(kBlue);
2437 hitZ += hit->
GetZ();
2441 if (nofDrawHits != 0) {
2442 hitZ /= nofDrawHits;
2450 for (
unsigned int i = 0; i < tofTrackIndx.size(); i++) {
2452 if (track ==
nullptr)
continue;
2453 TEllipse* trDr =
new TEllipse(track->
GetFitX(hitZ), track->
GetFitY(hitZ), .25);
2454 trDr->SetFillColor(kGreen);
2457 ss2 <<
"\\beta: " <<
getBeta(track);
2460 TLatex* latex =
new TLatex(-4., 4., ss2.str().c_str());