45 , fGlobalTracks(nullptr)
47 , fStsTrackMatches(nullptr)
48 , fRichPoints(nullptr)
51 , fRichRingMatches(nullptr)
52 , fRichProjections(nullptr)
53 , fArrayCentrality(nullptr)
62 , imageellipse(nullptr)
66 , ForChristian_P_vs_R(nullptr)
67 , AllPoints2D(nullptr)
68 , AllPoints3D(nullptr)
69 , MC_PdgCodes(nullptr)
70 , MC_All_photons_Pt(nullptr)
71 , MC_Not_Direct_photons_Pt(nullptr)
72 , MC_Direct_photons_Pt(nullptr)
73 , MC_All_photons_P(nullptr)
74 , MC_Not_Direct_photons_P(nullptr)
75 , MC_Direct_photons_P(nullptr)
76 , MC_photons_mother_Pdg(nullptr)
77 , MC_Not_Direct_photons_theta(nullptr)
78 , MC_Not_Direct_photons_theta_vs_rap(nullptr)
79 , MC_Direct_photons_theta(nullptr)
80 , MC_Direct_photons_theta_vs_rap(nullptr)
81 , MC_Direct_photons_Pt_vs_rap(nullptr)
82 , MC_Direct_photons_Pt_vs_rap_est(nullptr)
83 , MC_electrons_Pt_vs_rap_est(nullptr)
84 , MC_Reconstructed_electrons_Pt_vs_rap_est(nullptr)
85 , MC_omega_Pt_vs_rap_est(nullptr)
87 , MC_pi0_Pt_est(nullptr)
88 , MC_pi0_Pt_vs_rap(nullptr)
89 , MC_pi0_Pt_vs_rap_primary(nullptr)
90 , Pi0_pt_vs_rap_est(nullptr)
91 , Pi0_pt_vs_rap_est_primary(nullptr)
92 , MC_pi0_theta(nullptr)
94 , MC_pi0_Rapidity(nullptr)
95 , MC_pi0_theta_vs_rap(nullptr)
96 , MC_leptons_conversion_ZY(nullptr)
97 , MC_leptons_conversion_XY(nullptr)
98 , MC_leptons_conversion_XZ(nullptr)
99 , MC_leptons_from_pi0_start_vertex(nullptr)
100 , MC_leptons_from_pi0_P(nullptr)
102 , MC_eta_Pt_vs_rap(nullptr)
103 , MC_eta_Pt_vs_rap_primary(nullptr)
104 , MC_eta_theta(nullptr)
105 , MC_eta_theta_vs_rap(nullptr)
106 , BoA_electrons(nullptr)
107 , BoA_1d_electrons(nullptr)
108 , A_1d_electrons(nullptr)
109 , B_1d_electrons(nullptr)
110 , A_electrons(nullptr)
111 , B_electrons(nullptr)
112 , NumberOfRings_electrons(nullptr)
113 , AllHits_electrons(nullptr)
114 , dR_electrons(nullptr)
115 , dR2d_electrons(nullptr)
116 , Distance_electron(nullptr)
117 , Distance_positron(nullptr)
118 , Tracks_electrons(nullptr)
119 , Rings_electrons(nullptr)
120 , fhBoverAXYZ(nullptr)
121 , fhBaxisXYZ(nullptr)
122 , fhAaxisXYZ(nullptr)
124 , Test_rings(nullptr)
125 , AllPointsPerPMT(nullptr)
126 , AllPointsPerPixel(nullptr)
129 , AllHitsPerPMT(nullptr)
130 , AllHitsPerPixel(nullptr)
131 , temporarygraph(nullptr)
132 , HitsPerPmtFullPlane(nullptr)
133 , HitsPerPmtFullMiddle(nullptr)
195 for (
int i = 0; i < nofRichPoints; i++) {
197 if (point ==
nullptr)
continue;
199 double xPOINT = point->GetX();
200 double yPOINT = point->GetY();
201 double zPOINT = point->GetZ();
213 int nofRichHits =
fRichHits->GetEntriesFast();
214 for (
int i = 0; i < nofRichHits; i++) {
216 if (hit ==
nullptr)
continue;
218 double xHIT = hit->
GetX();
219 double yHIT = hit->
GetY();
220 double zHIT = hit->
GetZ();
240 Int_t nofMcTracks =
fMcTracks->GetEntriesFast();
241 for (
int i = 0; i < nofMcTracks; i++) {
243 if (mctrack ==
nullptr)
continue;
249 if (TMath::Abs(mctrack->
GetPdgCode()) == 111) {
250 TVector3
v, momentum;
262 MC_pi0_theta->Fill(momentum.Theta() * 180. / TMath::Pi());
263 MC_pi0_phi->Fill(momentum.Phi() * 180. / TMath::Pi());
268 if (TMath::Abs(mctrack->
GetPdgCode()) == 221) {
269 TVector3
v, momentum;
275 MC_eta_theta->Fill(momentum.Theta() * 180. / TMath::Pi());
281 TVector3
v, momentum;
307 if (TMath::Abs(mctrack->
GetPdgCode()) == 11) {
310 if (motherId == -1)
continue;
312 if (
nullptr == mother)
continue;
314 if (grandmotherId == -1)
continue;
316 if (
nullptr == grandmother)
continue;
317 int mcGrandmotherPdg = grandmother->
GetPdgCode();
318 if (mcGrandmotherPdg == 111) {
328 if (TMath::Abs(mctrack->
GetPdgCode()) == 223) {
340 for (Int_t iTr = 0; iTr < ngTracks; iTr++) {
342 if (
nullptr == gTrack)
continue;
348 if (stsInd < 0)
continue;
350 if (stsTrack ==
nullptr)
continue;
353 if (stsMatch ==
nullptr)
continue;
356 if (stsMcTrackId < 0)
continue;
358 if (mcTrackSTS ==
nullptr)
continue;
362 if (TMath::Abs(mcTrackSTS->
GetPdgCode()) == 11 || TMath::Abs(mcTrackSTS->
GetPdgCode()) == 211) {
365 if (richRing ==
nullptr)
continue;
367 if (richMatch ==
nullptr)
continue;
370 if (richMcTrackId < 0)
continue;
372 if (mcTrackRICH ==
nullptr)
continue;
374 if (TMath::Abs(pdgRICH) != 11 && TMath::Abs(pdgRICH) != 211)
continue;
375 if (stsMcTrackId != richMcTrackId)
continue;
380 if (TMath::Abs(pdgSTS) != 11)
continue;
389 if (richInd < 0)
continue;
391 if (richRing ==
nullptr)
continue;
394 if (richMatch ==
nullptr)
continue;
397 if (richMcTrackId < 0)
continue;
399 if (mcTrackRICH ==
nullptr)
continue;
401 if (TMath::Abs(pdgRICH) != 11)
continue;
405 if (stsMcTrackId != richMcTrackId)
continue;
413 for (
int i = 0; i < nofHits; i++) {
414 Int_t hitInd = richRing->
GetHit(i);
416 if (
nullptr == hit)
continue;
430 double p = ringHit.
GetPhi();
448 double minAngle = 0.;
449 double maxAngle = 2 * 3.14159265358979323846;
450 double stepAngle = 0.01;
451 for (
int iH = 0; iH < ringHit.
GetNofHits(); iH++) {
458 for (
double iT = minAngle; iT < maxAngle; iT = iT + stepAngle) {
459 double xEll = a *
cos(iT) *
cos(p) - b *
sin(iT) *
sin(p) + xc;
460 double yEll = a *
cos(iT) *
sin(p) + b *
sin(iT) *
cos(p) + yc;
461 double L =
sqrt((xh - xEll) * (xh - xEll) + (yh - yEll) * (yh - yEll));
468 Double_t sign =
sqrt((xmin - xc) * (xmin - xc) + (ymin - yc) * (ymin - yc))
469 -
sqrt((xh - xc) * (xh - xc) + (yh - yc) * (yh - yc));
471 if (sign < 0) { dr = -Lmin; }
521 new TH1D(
"MC_All_photons_Pt",
"Monte Carlo, all #gamma, p_{t} distribution; p_{t} in GeV/c", 200, 0, 2);
525 "MC_Not_Direct_photons_Pt",
"Monte Carlo, #gamma from decays, p_{t} distribution; p_{t} in GeV/c", 200, 0, 2);
529 new TH1D(
"MC_Direct_photons_Pt",
"Monte Carlo, direct #gamma, p_{t} distribution; p_{t} in GeV/c", 200, 0, 2);
533 new TH1D(
"MC_All_photons_P",
"Monte Carlo, all #gamma, p distribution; p in GeV/c", 1000, 0, 10);
537 new TH1D(
"MC_Not_Direct_photons_P",
"Monte Carlo, #gamma from decays, p distribution; p in GeV/c", 1000, 0, 10);
541 new TH1D(
"MC_Direct_photons_P",
"Monte Carlo, direct #gamma, p distribution; p in GeV/c", 1000, 0, 10);
545 "Monte Carlo, direct #gamma, p_{t} vs rapidity distribution; "
546 "rapidity y; p_{t} in GeV/c ",
547 90, -2., 7., 60, -1., 5.);
551 "Monte Carlo, direct #gamma, p_{t} vs rapidity distribution; "
552 "rapidity y; p_{t} in GeV/c ",
553 10, 0., 4., 40, 0., 4.);
556 MC_photons_mother_Pdg =
new TH1D(
"MC_photons_mother_Pdg",
"MC_photons_mother_Pdg; Id;#", 2500, -10, 2511);
560 "Monte Carlo, #gamma from decays, #theta distribution; "
561 "emission angle #theta in deg;Entries",
566 "Monte Carlo, #gamma from decays, #theta vs rapidity "
567 "distribution; emission angle #theta in deg; rapidity y",
568 180., 0., 180., 270, -2., 7.);
572 "Monte Carlo, direct #gamma, #theta distribution; emission "
573 "angle #theta in deg;Entries",
578 "Monte Carlo, direct #gamma, #theta vs rapidity distribution; "
579 "emission angle #theta in deg; rapidity y",
580 180., 0., 180., 270, -2., 7.);
584 "Monte Carlo, direct e, p_{t} vs rapidity distribution; "
585 "rapidity y; p_{t} in GeV/c ",
586 10, 0., 4., 40, 0., 4.);
590 "Monte Carlo, reconstructed e, p_{t} vs rapidity "
591 "distribution; rapidity y; p_{t} in GeV/c ",
592 10, 0., 4., 40, 0., 4.);
596 "Monte Carlo, #omega, p_{t} vs rapidity distribution; "
597 "rapidity y; p_{t} in GeV/c ",
598 10, 0., 4., 40, 0., 4.);
604 new TH1D(
"MC_pi0_Pt",
"Monte Carlo, #pi^{0}, p_{t} distribution;p_{t} in GeV/c; Entries", 200., 0., 10.);
608 new TH1D(
"MC_pi0_Pt_est",
"Monte Carlo, #pi^{0}, p_{t} distribution;p_{t} in GeV/c; Entries", 20., 0., 2.);
612 "Monte Carlo, #pi^{0}, p_{t} vs rapidity "
613 "distribution; rapidity y; p_{t} in GeV/c ",
614 90, -2., 7., 60, -1., 5.);
618 "Monte Carlo, primary #pi^{0}, p_{t} vs rapidity "
619 "distribution; rapidity y; p_{t} in GeV/c ",
620 90, -2., 7., 60, -1., 5.);
624 new TH2D(
"Pi0_pt_vs_rap_est",
"Pi0_pt_vs_rap_est; rapidity y; p_{t} in GeV/c ", 10, 0., 4., 40, 0., 4.);
628 "Pi0_pt_vs_rap_est_primary",
"Pi0_pt_vs_rap_est_primary; rapidity y; p_{t} in GeV/c ", 10, 0., 4., 40, 0., 4.);
632 "Monte Carlo, #pi^{0}, #theta distribution; "
633 "emission angle #theta in deg;Entries",
638 "Monte Carlo, #pi^{0}, #phi distribution; emission "
639 "angle #phi in deg; Entries",
644 "Monte Carlo, #pi^{0}, #rapidity distribution; emission angle "
645 "#phi in deg; Entries",
650 "Monte Carlo, #pi^{0}, #theta vs rapidity distribution; "
651 "emission angle #theta in deg; rapidity y",
652 180., 0., 180., 270, -2., 7.);
656 new TH2D(
"MC_leptons_conversion_ZY",
"Start vertices of leptons coming from #gamma; z[cm]; y[cm]", 800, -1, 400,
660 new TH2D(
"MC_leptons_conversion_XY",
"Start vertices of leptons coming from #gamma; x[cm]; y[cm]", 1200, -300, 300,
664 new TH2D(
"MC_leptons_conversion_XZ",
"Start vertices of leptons coming from #gamma; x[cm]; z[cm]", 1200, -300, 300,
669 new TH2D(
"MC_leptons_from_pi0_start_vertex",
"Start vertices of leptons coming from #pi^{0}; z[cm]; y[cm]", 200, -1,
673 MC_leptons_from_pi0_P =
new TH1D(
"MC_leptons_from_pi0_P",
"MC_leptons_from_pi0_P; P_{e} in GeV/c", 200, 0, 5);
677 MC_eta_Pt =
new TH1D(
"MC_eta_Pt",
"Monte Carlo, #eta, p_{t} distribution; p_{t} in GeV/c;Entries", 200., 0., 10.);
681 "Monte Carlo, #eta, p_{t} vs rapidity "
682 "distribution; rapidity y; p_{t} in GeV/c ",
683 90, -2., 7., 60, -1., 5.);
687 "Monte Carlo, primary #eta, p_{t} vs rapidity distribution; "
688 "rapidity y; p_{t} in GeV/c ",
689 90, -2., 7., 60, -1., 5.);
693 "Monte Carlo, #eta, #theta distribution; "
694 "emission angle #theta in deg; Entries",
699 "Monte Carlo, #eta, #theta vs rapidity distribution; emission "
700 "angle #theta in deg; rapidity y",
701 180., 0., 180., 270, -2., 7.);
706 new TH2D(
"ForChristian_P_vs_R",
"ForChristian_P_vs_R; P [GeV]; R [cm]; Nof", 100, 0, 10, 100, 0, 8);
709 AllPoints2D =
new TH2D(
"AllPoints2D",
"AllPoints2D; X [cm]; Y [cm]; Nof", 300, -150, 150, 120, 120, 240);
713 new TH3D(
"AllPoints3D",
"AllPoints3D; X [cm]; Y [cm]; Z [cm]", 300, -150, 150, 120, 120, 240, 100, 160, 260);
716 MC_PdgCodes =
new TH1D(
"MC_PdgCodes",
"All PdgCodes from Monte Carlo; PDG code", 3500, 0, 3500);
719 BoA_electrons =
new TProfile2D(
"BoA_electrons",
"B/A for electrons; X [cm]; Y [cm]", 60, -150, 150, 20, 120, 220);
722 A_1d_electrons =
new TH1D(
"A_1d_electrons",
"A for electrons; A [cm]", 200, 3., 7.);
725 B_1d_electrons =
new TH1D(
"B_1d_electrons",
"B for electrons; B [cm]", 200, 3., 7.);
728 BoA_1d_electrons =
new TH1D(
"BoA_1d_electrons",
"BoA for electrons; B/A", 250, 0.5, 1.);
731 Tracks_electrons =
new TH1D(
"Tracks_electrons",
"Electron tracks in STS", 3, -0.5, 2.5);
734 Rings_electrons =
new TH1D(
"Rings_electrons",
"Electron tracks in STS+RICH", 3, -0.5, 2.5);
737 A_electrons =
new TProfile2D(
"A_electrons",
"A for electrons; X [cm]; Y [cm]", 60, -150, 150, 20, 120, 220);
740 B_electrons =
new TProfile2D(
"B_electrons",
"B for electrons; X [cm]; Y [cm]", 60, -150, 150, 20, 120, 220);
743 NumberOfRings_electrons =
new TH2D(
"NumberOfRings_electrons",
"Number of rings from electrons; X [cm]; Y [cm]; Nof",
744 60, -150, 150, 20, 120, 220);
747 AllHits_electrons =
new TH2D(
"AllHits_electrons",
"Hits from electrons after unfolding; X [cm]; Y [cm]; Nof", 300,
748 -150, 150, 120, 120, 240);
751 dR_electrons =
new TH1D(
"dR_electrons",
"dR for electrons; dR [cm]", 100, -2., 2.);
755 new TProfile2D(
"dR2d_electrons",
"dR for electrons; X [cm]; Y [cm]", 60, -150, 150, 20, 120, 220, 0, 1);
759 "Distance between projected track and center of the ring "
760 "for electrons; X [cm];Y [cm]; Nof",
761 60, -150, 150, 20, 120, 220);
765 "Distance between projected track and center of the ring "
766 "for positrons; X [cm];Y [cm]; Nof",
767 60, -150, 150, 20, 120, 220);
770 fhBoverAXYZ =
new TH3D(
"fhBoverAXYZ",
"fhBoverAXYZ; X [cm]; Y [cm]; B/A", 60, -150, 150, 20, 120, 220, 50, 0., 1.);
772 fhBaxisXYZ =
new TH3D(
"fhBaxisXYZ",
"fhBaxisXYZ; X [cm]; Y [cm]; B [cm]", 60, -150, 150, 20, 120, 220, 80, 3., 7.);
774 fhAaxisXYZ =
new TH3D(
"fhAaxisXYZ",
"fhAaxisXYZ; X [cm]; Y [cm]; A [cm]", 60, -150, 150, 20, 120, 220, 80, 3., 7.);
776 fhdRXYZ =
new TH3D(
"fhdRXYZ",
"fhdRXYZ; X [cm]; Y [cm]; dR [cm]", 60, -150, 150, 20, 120, 220, 100, -1., 1.);
779 Test_rings =
new TH2D(
"Test_rings",
"Test_rings", 60, -150, 150, 20, 120, 220);
782 AllPointsPerPMT =
new TH2D(
"AllPointsPerPMT",
"AllPointsPerPMT; X [cm]; Y [cm]; Nof", 41, -105, 105, 17, 125, 210);
785 new TH2D(
"AllPointsPerPixel",
"AllPointsPerPixel; X [cm]; Y [cm]; Nof", 350, -105, 105, 142, 125, 210);
787 AllHitsPerPMT =
new TH2D(
"AllHitsPerPMT",
"AllHitsPerPMT; X [cm]; Y [cm]; Nof", 41, -105, 105, 17, 125, 210);
789 AllHitsPerPixel =
new TH2D(
"AllHitsPerPixel",
"AllHitsPerPixel; X [cm]; Y [cm]; Nof", 350, -105, 105, 142, 125, 210);
792 AllHits2D =
new TH2D(
"AllHits2D",
"AllHits2D; X [cm]; Y [cm]; Nof", 300, -150, 150, 120, 120, 240);
794 AllHits3D =
new TH3D(
"AllHits3D",
"AllHits3D; X [cm]; Y [cm]; Z [cm]", 300, -150., 150, 120, 120, 240, 100, 160, 260);
797 temporarygraph =
new TH2D(
"temporarygraph",
"temporarygraph; X [cm]; Y [cm]; Nof", 41, -105, 105, 17, 125, 210);
800 new TH1D(
"HitsPerPmtFullPlane",
"Number of hits per PMT. Distribution for all PMTs; Nof photons", 50, -0.5, 49.5);
803 "Number of hits per PMT. Distribution for all PMT in "
804 "y={125#;155}, x={-105#;105}; Nof photons",
808 fitt =
new TH2D(
"fitt",
"fitt; x; y", 500, -110, 110, 50, 100, 200);