46 , fRecoTracklistEPEM()
47 , fRecoTracklistEPEM_ids()
48 , fRecoTracklistEPEM_chi()
49 , fRecoTracklistEPEM_gtid()
51 , fRecoRefittedMomentum()
54 , fHistoList_reco_mom()
60 , fhInvariantMass_MC_all(NULL)
61 , fhInvariantMass_MC_pi0(NULL)
62 , fhInvariantMass_MC_pi0_epem(NULL)
63 , fhInvariantMass_MC_pi0_gepem(NULL)
64 , fhInvariantMass_MC_pi0_gg(NULL)
65 , fhInvariantMass_MC_eta(NULL)
66 , fhInvariantMass_MC_etaPrime(NULL)
67 , fhMC_electrons_theta(NULL)
68 , fhMC_electrons_p(NULL)
69 , fhMC_electrons_theta_vs_p(NULL)
70 , fhEta_openingAngleGG(NULL)
71 , fhMC_grandmotherPDGs(NULL)
72 , fhInvariantMassReco_pi0(NULL)
74 , fhEPEM_invmass_gg_mc(NULL)
75 , fhEPEM_invmass_gg_refitted(NULL)
76 , fhEPEM_invmass_gee_mc(NULL)
77 , fhEPEM_invmass_gee_refitted(NULL)
78 , fhEPEM_invmass_eeee_mc(NULL)
79 , fhEPEM_invmass_eeee_refitted(NULL)
80 , fhEPEM_invmass_all_mc(NULL)
81 , fhEPEM_invmass_all_refitted(NULL)
82 , fhEPEM_openingAngle_gg_mc(NULL)
83 , fhEPEM_openingAngle_gg_refitted(NULL)
84 , fhEPEM_openingAngle_gee_mc(NULL)
85 , fhEPEM_openingAngle_gee_refitted(NULL)
86 , fhEPEM_openingAngle_gee_mc_dalitz(NULL)
87 , fhEPEM_openingAngle_gee_refitted_dalitz(NULL)
88 , fhEPEM_openingAngle_vs_pt_gg_mc(NULL)
89 , fhEPEM_openingAngle_vs_pt_gg_reco(NULL)
90 , fhEPEM_openingAngle_betweenGammas_mc(NULL)
91 , fhEPEM_openingAngle_betweenGammas_reco(NULL)
92 , fhPi0_pt_vs_rap_gg(NULL)
93 , fhPi0_pt_vs_rap_gee(NULL)
94 , fhPi0_pt_vs_rap_all(NULL)
98 , fhEPEM_efficiencyCuts(NULL)
99 , fhEPEM_efficiencyCuts2(NULL)
100 , fhEPEM_pi0_nofLeptons_ann(NULL)
101 , fhEPEM_pi0_ANNvalues_noCuts(NULL)
102 , fhEPEM_pi0_ANNvalues_angleCut(NULL)
103 , fhEPEM_pi0_ANNefficiencies(NULL)
104 , fhEPEM_rap_vs_chi(NULL)
105 , fhEPEM_rap_vs_invmass(NULL)
106 , fhInvMass_EPEM_mc(NULL)
107 , fhInvMass_EPEM_stsMomVec(NULL)
108 , fhInvMass_EPEM_refitted(NULL)
109 , fhInvMass_EPEM_error_stsMomVec(NULL)
110 , fhInvMass_EPEM_error_refitted(NULL)
111 , fhInvMass_EPEM_openingAngleRef(NULL)
112 , fhUsedMomenta_stsMomVec(NULL)
113 , fhUsedMomenta_mc(NULL)
114 , fhUsedMomenta_error_stsMomVec(NULL)
115 , fhUsedMomenta_error_refitted(NULL)
116 , fhUsedMomenta_errorX_stsMomVec(NULL)
117 , fhUsedMomenta_vsX_stsMomVec(NULL)
118 , fhUsedMomenta_errorY_stsMomVec(NULL)
119 , fhUsedMomenta_vsY_stsMomVec(NULL)
120 , fhUsedMomenta_errorZ_stsMomVec(NULL)
121 , fhUsedMomenta_vsZ_stsMomVec(NULL)
122 , fhUsedMomenta_errorX_refitted(NULL)
123 , fhUsedMomenta_vsX_refitted(NULL)
124 , fhUsedMomenta_errorY_refitted(NULL)
125 , fhUsedMomenta_vsY_refitted(NULL)
126 , fhUsedMomenta_errorZ_refitted(NULL)
127 , fhUsedMomenta_vsZ_refitted(NULL)
128 , fhInvariantMass_pi0epem(NULL)
129 , fhPi0_startvertex(NULL)
130 , fhPi0_startvertexElectrons_all(NULL)
131 , fhPi0_startvertexElectrons_gg(NULL)
132 , fhPi0_startvertexElectrons_gee(NULL)
133 , fhPi0_startvertex_vs_chi(NULL)
134 , fhPi0_startvertex_vs_momentum(NULL)
135 , fhInvMassWithFullRecoCuts(NULL)
136 , fhEPEM_InDetector_invmass_gg_mc(NULL)
137 , fhEPEM_InDetector_invmass_gg_refitted(NULL)
138 , fhEPEM_InDetector_invmass_gee_mc(NULL)
139 , fhEPEM_InDetector_invmass_gee_refitted(NULL)
140 , fhEPEM_InDetector_invmass_all_mc(NULL)
141 , fhEPEM_InDetector_invmass_all_refitted(NULL)
142 , fhEPEM_pt_vs_p_all_mc(NULL)
143 , fhEPEM_pt_vs_p_all_refitted(NULL)
144 , fhEPEM_missingLepton_nofRingHits(NULL)
145 , fhEPEM_missingLepton_ringMid(NULL)
146 , fhEPEM_missingLepton_ringRadius(NULL)
147 , fhEPEM_missingLepton_distance(NULL)
148 , fhEPEM_missingLepton_selectionNN(NULL)
149 , fhEPEM_missingLepton_rings(NULL)
150 , fhEPEM_missingLepton_radius_vs_p(NULL)
151 , fhEPEM_missingLepton_ANNvalue(NULL)
152 , fhEPEM_identifiedLepton_nofRingHits(NULL)
153 , fhEPEM_identifiedLepton_ringMid(NULL)
154 , fhEPEM_identifiedLepton_ringRadius(NULL)
155 , fhEPEM_identifiedLepton_distance(NULL)
156 , fhEPEM_identifiedLepton_selectionNN(NULL)
157 , fhEPEM_identifiedLepton_rings(NULL)
158 , fhEPEM_identifiedLepton_radius_vs_p(NULL)
159 , fhEPEM_identifiedLepton_ANNvalue(NULL)
160 , fhEPEM_invmass_eta_mc(NULL)
161 , fhEPEM_invmass_eta_refitted(NULL)
162 , fhEPEM_efficiencyCuts_eta(NULL)
207 Double_t invmassSpectra_nof = 800;
208 Double_t invmassSpectra_start = -0.00125;
209 Double_t invmassSpectra_end = 1.99875;
213 new TH1D(
"fhInvariantMass_MC_all",
"fhInvariantMass_MC_all;invariant mass in GeV/c^{2};#", 2001, -0.0005, 2.0005);
215 new TH1D(
"fhInvariantMass_MC_pi0",
"fhInvariantMass_MC_pi0;invariant mass in GeV/c^{2};#", 2001, -0.0005, 2.0005);
217 "fhInvariantMass_MC_pi0_epem",
"fhInvariantMass_MC_pi0_epem;invariant mass in GeV/c^{2};#", 2001, -0.0005, 2.0005);
219 new TH1D(
"fhInvariantMass_MC_pi0_gepem",
"fhInvariantMass_MC_pi0_gepem;invariant mass in GeV/c^{2};#", 2001,
222 "fhInvariantMass_MC_pi0_gg",
"fhInvariantMass_MC_pi0_gg;invariant mass in GeV/c^{2};#", 2001, -0.0005, 2.0005);
224 new TH1D(
"fhInvariantMass_MC_eta",
"fhInvariantMass_MC_eta;invariant mass in GeV/c^{2};#", 2001, -0.0005, 2.0005);
226 "fhInvariantMass_MC_etaPrime",
"fhInvariantMass_MC_etaPrime;invariant mass in GeV/c^{2};#", 2001, -0.0005, 2.0005);
236 fhMC_electrons_theta =
new TH1D(
"fhMC_electrons_theta",
"fhMC_electrons_theta;theta in deg;#", 90, 0., 90.);
237 fhMC_electrons_p =
new TH1D(
"fhMC_electrons_p",
"fhMC_electrons_p;momentum p in GeV/c;#", 100, 0., 10.);
239 new TH2D(
"fhMC_electrons_theta_vs_p",
"fhMC_electrons_theta_vs_p;theta in deg;momentum p in GeV/c", 90, 0., 90.,
245 fhEta_openingAngleGG =
new TH1D(
"fhEta_openingAngleGG",
"fhEta_openingAngleGG;theta in deg;#", 900, 0., 90.);
248 fhMC_grandmotherPDGs =
new TH1D(
"fhMC_grandmotherPDGs",
"fhMC_grandmotherPDGs;particle pdg;#", 1000, 0., 1000.);
251 fhMCtest =
new TH1D(
"fhMCtest",
"fhMCtest;invariant mass in GeV/c^{2};#", 2000, 0., 2.);
255 fhEPEM_invmass_gg_mc =
new TH1D(
"fhEPEM_invmass_gg_mc",
"fhEPEM_invmass_gg_mc;invariant mass in GeV/c^{2};#",
256 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
258 new TH1D(
"fhEPEM_invmass_gg_refitted",
"fhEPEM_invmass_gg_refitted;invariant mass in GeV/c^{2};#",
259 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
260 fhEPEM_invmass_gee_mc =
new TH1D(
"fhEPEM_invmass_gee_mc",
"fhEPEM_invmass_gee_mc;invariant mass in GeV/c^{2};#",
261 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
263 new TH1D(
"fhEPEM_invmass_gee_refitted",
"fhEPEM_invmass_gee_refitted;invariant mass in GeV/c^{2};#",
264 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
265 fhEPEM_invmass_eeee_mc =
new TH1D(
"fhEPEM_invmass_eeee_mc",
"fhEPEM_invmass_eeee_mc;invariant mass in GeV/c^{2};#",
266 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
268 new TH1D(
"fhEPEM_invmass_eeee_refitted",
"fhEPEM_invmass_eeee_refitted;invariant mass in GeV/c^{2};#",
269 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
270 fhEPEM_invmass_all_mc =
new TH1D(
"fhEPEM_invmass_all_mc",
"fhEPEM_invmass_all_mc;invariant mass in GeV/c^{2};#",
271 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
273 new TH1D(
"fhEPEM_invmass_all_refitted",
"fhEPEM_invmass_all_refitted;invariant mass in GeV/c^{2};#",
274 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
285 "fhEPEM_openingAngle_gg_mc",
"fhEPEM_openingAngle_gg_mc (between e+e- from g);angle [deg];#", 1010, -0.1, 100.9);
287 new TH1D(
"fhEPEM_openingAngle_gg_refitted",
"fhEPEM_openingAngle_gg_refitted (between e+e- from g);angle [deg];#",
290 "fhEPEM_openingAngle_gee_mc",
"fhEPEM_openingAngle_gee_mc (between e+e- from g);angle [deg];#", 1010, -0.1, 100.9);
292 new TH1D(
"fhEPEM_openingAngle_gee_refitted",
"fhEPEM_openingAngle_gee_refitted (between e+e- from g);angle [deg];#",
299 new TH1D(
"fhEPEM_openingAngle_gee_mc_dalitz",
300 "fhEPEM_openingAngle_gee_mc_dalitz (between e+e- from pi0);angle [deg];#", 1010, -0.1, 100.9);
302 "fhEPEM_openingAngle_gee_refitted_dalitz (between e+e- from "
303 "pi0);angle [deg];#",
309 new TH2D(
"fhEPEM_openingAngle_vs_pt_gg_mc",
"fhEPEM_openingAngle_vs_pt_gg_mc;pt [GeV]; opening angle [deg]", 220,
310 -1., 10., 100, 0., 10.);
313 new TH2D(
"fhEPEM_openingAngle_vs_pt_gg_reco",
"fhEPEM_openingAngle_vs_pt_gg_reco;pt [GeV]; opening angle [deg]",
314 220, -1., 10., 100, 0., 10.);
318 "fhEPEM_openingAngle_betweenGammas_mc",
"fhEPEM_openingAngle_betweenGammas_mc;angle [deg];#", 1010, -0.1, 100.9);
320 new TH1D(
"fhEPEM_openingAngle_betweenGammas_reco",
"fhEPEM_openingAngle_betweenGammas_reco;angle [deg];#", 1010,
327 new TH2D(
"fhPi0_pt_vs_rap_gg",
"fhPi0_pt_vs_rap_gg;pt [GeV]; rap [GeV]", 240, -2., 10., 270, -2., 7.);
329 new TH2D(
"fhPi0_pt_vs_rap_gee",
"fhPi0_pt_vs_rap_gee;pt [GeV]; rap [GeV]", 240, -2., 10., 270, -2., 7.);
331 new TH2D(
"fhPi0_pt_vs_rap_all",
"fhPi0_pt_vs_rap_all;pt [GeV]; rap [GeV]", 240, -2., 10., 270, -2., 7.);
336 fhPi0_pt_gg =
new TH1D(
"fhPi0_pt_gg",
"fhPi0_pt_gg;pt [GeV];#", 200, 0., 10.);
337 fhPi0_pt_gee =
new TH1D(
"fhPi0_pt_gee",
"fhPi0_pt_gee;pt [GeV];#", 200, 0., 10.);
338 fhPi0_pt_all =
new TH1D(
"fhPi0_pt_all",
"fhPi0_pt_all;pt [GeV];#", 200, 0., 10.);
365 new TH1D(
"fhEPEM_pi0_ANNvalues_angleCut",
"fhEPEM_pi0_ANNvalues_angleCut;;#", 400, -2, 2);
386 new TH2D(
"fhEPEM_rap_vs_chi",
"fhEPEM_rap_vs_chi; rap [GeV]; chi of electrons", 300, 0., 10., 100, 0., 100.);
389 new TH2D(
"fhEPEM_rap_vs_invmass",
"fhEPEM_rap_vs_invmass; rap [GeV]; invmass", 300, 0., 10., 100, 0., 10.);
393 fhInvMass_EPEM_mc =
new TH1D(
"fhInvMass_EPEM_mc",
"fhInvariantMass_recoMomentum1 (mc);mass [GeV/c^2];#",
394 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
396 new TH1D(
"fhInvMass_EPEM_stsMomVec",
"fhInvariantMass_recoMomentum2 (stsMomentumVec);mass [GeV/c^2];#",
397 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
399 new TH1D(
"fhInvMass_EPEM_refitted",
"fhInvariantMass_recoMomentum3 (refitted at primary);mass [GeV/c^2];#",
400 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
402 new TH1D(
"fhInvMass_EPEM_error_stsMomVec",
"fhInvariantMass_recoMomentum4 (error, stsMomentumVec);(mc-reco)/mc;#",
405 new TH1D(
"fhInvMass_EPEM_error_refitted",
"fhInvariantMass_recoMomentum5 (error, refitted);(mc-reco)/mc;#", 500,
408 new TH1D(
"fhInvMass_EPEM_openingAngleRef",
"fhInvariantMass_openingAngleRef;angle [deg];#", 1010, -0.1, 100.9);
410 fhUsedMomenta_mc =
new TH1D(
"fhUsedMomenta_mc",
"fhMomentumtest2;momentum;#", 100, 0., 2.);
412 new TH1D(
"fhUsedMomenta_error_stsMomVec",
"fhMomentumtest3 (error);(mc-reco)/mc;#", 400, -2.005, 1.995);
414 new TH1D(
"fhUsedMomenta_error_refitted",
"fhMomentumtest4 (error);(mc-reco_refitted)/mc;#", 400, -2.005, 1.995);
417 "fhUsedMomenta_errorX_stsMomVec",
"fhMomentumtest5 (error of x-momentum);(mc-reco_reco)/mc;#", 401, -4.01, 4.01);
419 new TH2D(
"fhUsedMomenta_vsX_stsMomVec",
"fhMomentumtest5vs (error of x-momentum);mc;reco", 101, -1.01, 1.01, 101,
422 "fhUsedMomenta_errorY_stsMomVec",
"fhMomentumtest6 (error of y-momentum);(mc-reco_reco)/mc;#", 401, -4.01, 4.01);
424 new TH2D(
"fhUsedMomenta_vsY_stsMomVec",
"fhMomentumtest6vs (error of y-momentum);mc;reco", 101, -1.01, 1.01, 101,
427 "fhUsedMomenta_errorZ_stsMomVec",
"fhMomentumtest7 (error of z-momentum);(mc-reco_reco)/mc;#", 401, -4.01, 4.01);
429 new TH2D(
"fhUsedMomenta_vsZ_stsMomVec",
"fhMomentumtest7vs (error of z-momentum);mc;reco", 201, -0.01, 4.01, 201,
432 "fhUsedMomenta_errorX_refitted",
"fhMomentumtest5 (error of x-momentum);(mc-reco_reco)/mc;#", 401, -4.01, 4.01);
434 101, -1.01, 1.01, 101, -1.01, 1.01);
436 "fhUsedMomenta_errorY_refitted",
"fhMomentumtest6 (error of y-momentum);(mc-reco_reco)/mc;#", 401, -4.01, 4.01);
438 101, -1.01, 1.01, 101, -1.01, 1.01);
440 "fhUsedMomenta_errorZ_refitted",
"fhMomentumtest7 (error of z-momentum);(mc-reco_reco)/mc;#", 401, -4.01, 4.01);
442 201, -0.01, 4.01, 201, -0.01, 4.01);
467 new TH1D(
"fhInvariantMass_pi0epem",
"fhInvariantMass_pi0epem;mass [GeV/c^2];#", 400, 0., 2.);
470 fhPi0_startvertex =
new TH1D(
"fhPi0_startvertex",
"fhPi0_startvertex;z in cm;#", 210, -5., 100.);
474 new TH1D(
"fhPi0_startvertexElectrons_all",
"fhPi0_startvertexElectrons_all;z in cm;#", 411, -5.25, 200.25);
478 new TH1D(
"fhPi0_startvertexElectrons_gg",
"fhPi0_startvertexElectrons_gg;z in cm;#", 411, -5.25, 200.25);
482 new TH1D(
"fhPi0_startvertexElectrons_gee",
"fhPi0_startvertexElectrons_gee;z in cm;#", 411, -5.25, 200.25);
486 new TH2D(
"fhPi0_startvertex_vs_chi",
"fhPi0_startvertex_vs_chi;z[cm];chi", 210, -5., 100., 1000, 0., 100.);
490 new TH2D(
"fhPi0_startvertex_vs_momentum",
"fhPi0_startvertex_vs_momentum;z in cm;momentum (MC-true)", 210, -5.,
491 100., 1000, 0., 100.);
495 new TH1D(
"fhInvMassWithFullRecoCuts",
"fhInvMassWithFullRecoCuts;mass [GeV/c^2];#", 800, 0., 2.);
500 new TH1D(
"fhEPEM_InDetector_invmass_gg_mc",
"fhEPEM_InDetector_invmass_gg_mc;mass [GeV/c^2];#", invmassSpectra_nof,
501 invmassSpectra_start, invmassSpectra_end);
503 new TH1D(
"fhEPEM_InDetector_invmass_gg_refitted",
"fhEPEM_InDetector_invmass_gg_refitted;mass [GeV/c^2];#",
504 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
506 new TH1D(
"fhEPEM_InDetector_invmass_gee_mc",
"fhEPEM_InDetector_invmass_gee_mc;mass [GeV/c^2];#",
507 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
509 new TH1D(
"fhEPEM_InDetector_invmass_gee_refitted",
"fhEPEM_InDetector_invmass_gee_refitted;mass [GeV/c^2];#",
510 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
512 new TH1D(
"fhEPEM_InDetector_invmass_all_mc",
"fhEPEM_InDetector_invmass_all_mc;mass [GeV/c^2];#",
513 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
515 new TH1D(
"fhEPEM_InDetector_invmass_all_refitted",
"fhEPEM_InDetector_invmass_all_refitted;mass [GeV/c^2];#",
516 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
526 new TH2D(
"fhEPEM_pt_vs_p_all_mc",
"fhEPEM_pt_vs_p_all_mc;p_{t} in GeV/c; p in GeV/c", 240, -2., 10., 360, -2., 16.);
529 new TH2D(
"fhEPEM_pt_vs_p_all_refitted",
"fhTest2_electrons_pt_vs_p;p_{t} in GeV/c; p in GeV/c", 240, -2., 10., 360,
534 new TH1D(
"fhEPEM_missingLepton_nofRingHits",
"fhEPEM_missingLepton_nofRingHits;nofringhits;#", 41, -0.5, 40.5);
536 new TH2D(
"fhEPEM_missingLepton_ringMid",
"fhEPEM_missingLepton_ringMid;X;Y", 100, -150, 150, 150, -250, 250);
538 new TH1D(
"fhEPEM_missingLepton_ringRadius",
"fhEPEM_missingLepton_ringRadius;ringRadius;#", 100, 0, 10);
540 new TH1D(
"fhEPEM_missingLepton_distance",
"fhEPEM_missingLepton_distance;distance;#", 100, 0, 20);
542 new TH1D(
"fhEPEM_missingLepton_selectionNN",
"fhEPEM_missingLepton_selectionNN;selectionNN;#", 40, -2, 2);
544 new TH2D(
"fhEPEM_missingLepton_rings",
"fhEPEM_missingLepton_rings;selectionNN;#", 400, -200, 200, 600, -300, 300);
546 new TH2D(
"fhEPEM_missingLepton_radius_vs_p",
547 "fhEPEM_missingLepton_radius_vs_p;momentum p in GeV/c;ring radius in cm", 120, 0, 12, 100, 0, 10);
549 new TH1D(
"fhEPEM_missingLepton_ANNvalue",
"fhEPEM_missingLepton_ANNvalue;ANNvalue;#", 40, -2, 2);
561 "fhEPEM_identifiedLepton_nofRingHits;nofringhits;#", 41, -0.5, 40.5);
563 new TH2D(
"fhEPEM_identifiedLepton_ringMid",
"fhEPEM_identifiedLepton_ringMid;X;Y", 100, -150, 150, 150, -250, 250);
565 new TH1D(
"fhEPEM_identifiedLepton_ringRadius",
"fhEPEM_identifiedLepton_ringRadius;ringRadius;#", 100, 0, 10);
567 new TH1D(
"fhEPEM_identifiedLepton_distance",
"fhEPEM_identifiedLepton_distance;distance;#", 100, 0, 20);
569 new TH1D(
"fhEPEM_identifiedLepton_selectionNN",
"fhEPEM_identifiedLepton_selectionNN;selectionNN;#", 40, -2, 2);
571 "fhEPEM_identifiedLepton_rings",
"fhEPEM_identifiedLepton_rings;selectionNN;#", 400, -200, 200, 600, -300, 300);
573 new TH2D(
"fhEPEM_identifiedLepton_radius_vs_p",
574 "fhEPEM_identifiedLepton_radius_vs_p;momentum p in GeV/c;ring radius in cm", 120, 0, 12, 100, 0, 10);
576 new TH1D(
"fhEPEM_identifiedLepton_ANNvalue",
"fhEPEM_identifiedLepton_ANNvalue;ANNvalue;#", 40, -2, 2);
589 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
591 invmassSpectra_nof, invmassSpectra_start, invmassSpectra_end);
698 cout <<
"CbmAnaConversionReco: InvariantMassTestMC - Start..." << endl;
699 cout <<
"CbmAnaConversionReco: InvariantMassTestMC - Size of "
700 "fTracklistMC_all:\t "
704 if (i % 10 == 0) cout <<
"CbmAnaConversionReco: InvariantMassTestMC - iteration i = " << i << endl;
714 if (i == j || i == k || i == l || j == k || j == l || k == l)
continue;
721 TVector3 momentum1, momentum2, momentum3, momentum4;
729 if (motherId1 == motherId2 && motherId1 == motherId3 && motherId1 == motherId4) {
730 cout <<
"testxyz" << endl;
735 if (motherId1 != -1) {
736 int mcMotherPdg1 = -1;
738 if (NULL != mother1) mcMotherPdg1 = mother1->
GetPdgCode();
739 if (mcMotherPdg1 == 111) {
740 Double_t invmass2 = 0;
746 cout <<
"####################################### Decay pi0 "
747 "-> e+e-e+e- detected!\t\t"
757 int grandmotherId1 = -1;
758 int grandmotherId2 = -1;
759 int grandmotherId3 = -1;
760 int grandmotherId4 = -1;
762 int mcMotherPdg1 = -1;
763 int mcMotherPdg2 = -1;
764 int mcMotherPdg3 = -1;
766 int mcGrandmotherPdg1 = -1;
772 if (motherId1 != -1) {
774 if (NULL != mother1) mcMotherPdg1 = mother1->
GetPdgCode();
776 if (grandmotherId1 != -1) {
778 if (NULL != grandmother1) mcGrandmotherPdg1 = grandmother1->
GetPdgCode();
781 if (motherId2 != -1) {
783 if (NULL != mother2) mcMotherPdg2 = mother2->
GetPdgCode();
785 if (grandmotherId2 != -1) {
790 if (motherId3 != -1) {
792 if (NULL != mother3) mcMotherPdg3 = mother3->
GetPdgCode();
794 if (grandmotherId3 != -1) {
799 if (motherId4 != -1) {
803 if (grandmotherId4 != -1) {
810 if (motherId1 == motherId2 && motherId1 == motherId3) {}
811 if (motherId1 == motherId2 && motherId1 == motherId4) {}
812 if (motherId1 == motherId3 && motherId1 == motherId4) {}
813 if (motherId2 == motherId3 && motherId2 == motherId4) {}
820 if (((motherId1 == motherId2 && motherId3 == motherId4) && (mcMotherPdg1 == 22) && (mcMotherPdg3 == 22)
821 && grandmotherId1 == grandmotherId3)
822 || ((motherId1 == motherId3 && motherId2 == motherId4) && (mcMotherPdg1 == 22) && (mcMotherPdg2 == 22)
823 && grandmotherId1 == grandmotherId2)
824 || ((motherId1 == motherId4 && motherId2 == motherId3) && (mcMotherPdg1 == 22) && (mcMotherPdg2 == 22)
825 && grandmotherId1 == grandmotherId2)) {
830 if (mcGrandmotherPdg1 == 111) {
846 if (mcGrandmotherPdg1 == 221) {
849 Double_t opening_angle_gg = 0;
850 if (motherId1 == motherId2) {
852 momentum3, momentum4);
854 if (motherId1 == motherId3) {
856 momentum2, momentum4);
858 if (motherId1 == motherId4) {
860 momentum2, momentum3);
865 if (TMath::Abs(mcGrandmotherPdg1) == 331) {
873 if (((motherId1 == motherId2 && motherId3 == motherId4) && (mcMotherPdg1 == 22) && (mcMotherPdg3 == 111)
874 && grandmotherId1 == motherId3)
875 || ((motherId1 == motherId2 && motherId3 == motherId4) && (mcMotherPdg1 == 111) && (mcMotherPdg3 == 22)
876 && grandmotherId3 == motherId1)
877 || ((motherId1 == motherId3 && motherId2 == motherId4) && (mcMotherPdg1 == 22) && (mcMotherPdg2 == 111)
878 && grandmotherId1 == motherId2)
879 || ((motherId1 == motherId3 && motherId2 == motherId4) && (mcMotherPdg1 == 111) && (mcMotherPdg2 == 22)
880 && grandmotherId2 == motherId1)
881 || ((motherId1 == motherId4 && motherId2 == motherId3) && (mcMotherPdg1 == 22) && (mcMotherPdg2 == 111)
882 && grandmotherId1 == motherId2)
883 || ((motherId1 == motherId4 && motherId2 == motherId3) && (mcMotherPdg1 == 111) && (mcMotherPdg2 == 22)
884 && grandmotherId2 == motherId1)) {
904 if (((motherId1 == motherId2 && motherId3 == motherId4) && (mcMotherPdg1 == 22) && (mcMotherPdg3 == 221)
905 && grandmotherId1 == motherId3)
906 || ((motherId1 == motherId2 && motherId3 == motherId4) && (mcMotherPdg1 == 221) && (mcMotherPdg3 == 22)
907 && grandmotherId3 == motherId1)
908 || ((motherId1 == motherId3 && motherId2 == motherId4) && (mcMotherPdg1 == 22) && (mcMotherPdg2 == 221)
909 && grandmotherId1 == motherId2)
910 || ((motherId1 == motherId3 && motherId2 == motherId4) && (mcMotherPdg1 == 221) && (mcMotherPdg2 == 22)
911 && grandmotherId2 == motherId1)
912 || ((motherId1 == motherId4 && motherId2 == motherId3) && (mcMotherPdg1 == 22) && (mcMotherPdg2 == 221)
913 && grandmotherId1 == motherId2)
914 || ((motherId1 == motherId4 && motherId2 == motherId3) && (mcMotherPdg1 == 221) && (mcMotherPdg2 == 22)
915 && grandmotherId2 == motherId1)) {
925 cout <<
"CbmAnaConversionReco: InvariantMassTestMC - End!" << endl;
1044 cout <<
"CbmAnaConversionReco: InvariantMassTest_4epem - Start..." << endl;
1045 cout <<
"CbmAnaConversionReco: InvariantMassTest_4epem - " <<
fRecoTracklistEPEM.size() <<
"\t"
1050 if (i % 10 == 0) cout <<
"CbmAnaConversionReco: InvariantMassTest_4epem - iteration i = " << i << endl;
1061 cout <<
"CbmAnaConversionReco: InvariantMassTest_4epem - not "
1062 "matching number of entries!"
1069 TVector3 pi0start_i;
1071 TVector3 pi0start_j;
1073 TVector3 pi0start_k;
1075 TVector3 pi0start_l;
1085 if (motherId1 == motherId2 && motherId1 == motherId3 && motherId1 == motherId4) {
1086 if (motherId1 != -1) {
1087 int mcMotherPdg1 = -1;
1089 if (NULL != mother1) mcMotherPdg1 = mother1->
GetPdgCode();
1090 if ((mcMotherPdg1 == 111 || mcMotherPdg1 == 221)) {
1091 Double_t invmass1 = 0;
1093 Double_t invmass3 = 0;
1100 cout <<
"Decay pi0 -> e+e-e+e- detected!\t\t mc mass: " << invmass1 <<
"\t, reco mass: " << invmass3
1102 cout <<
"motherids: " << motherId1 <<
"/" << motherId2 <<
"/" << motherId3 <<
"/" << motherId4
1103 <<
"\t motherpdg: " << mcMotherPdg1 <<
"\t mctrack mass: " << mother1->
GetMass()
1104 <<
"\t nofdaughters: " <<
NofDaughters(motherId1) << endl;
1116 cout <<
"start: " << start1.Z() <<
"/" << start2.Z() <<
"/" << start3.Z() <<
"/" << start4.Z() << endl;
1129 if ((motherId1 == motherId2 && motherId3 == motherId4) || (motherId1 == motherId3 && motherId2 == motherId4)
1130 || (motherId1 == motherId4 && motherId2 == motherId3)) {
1133 int grandmotherId1 = -1;
1134 int grandmotherId2 = -1;
1135 int grandmotherId3 = -1;
1136 int grandmotherId4 = -1;
1138 int mcMotherPdg1 = -1;
1139 int mcMotherPdg2 = -1;
1140 int mcMotherPdg3 = -1;
1141 int mcMotherPdg4 = -1;
1142 int mcGrandmotherPdg1 = -1;
1149 if (motherId1 != -1) {
1151 if (NULL != mother1) mcMotherPdg1 = mother1->
GetPdgCode();
1153 if (grandmotherId1 != -1) {
1155 if (NULL != grandmother1) mcGrandmotherPdg1 = grandmother1->
GetPdgCode();
1158 if (motherId2 != -1) {
1160 if (NULL != mother2) mcMotherPdg2 = mother2->
GetPdgCode();
1162 if (grandmotherId2 != -1) {
1167 if (motherId3 != -1) {
1169 if (NULL != mother3) mcMotherPdg3 = mother3->
GetPdgCode();
1171 if (grandmotherId3 != -1) {
1176 if (motherId4 != -1) {
1178 if (NULL != mother4) mcMotherPdg4 = mother4->
GetPdgCode();
1180 if (grandmotherId4 != -1) {
1188 if (motherId1 == motherId2 && motherId3 == motherId4) {
1190 if ((grandmotherId1 == motherId3 && mcMotherPdg3 == 111)
1191 || (motherId1 == grandmotherId3 && mcMotherPdg1 == 111)) {
1202 Double_t invmass1 = 0;
1203 Double_t invmass3 = 0;
1210 if (pi0start_i.Z() > 1 || pi0start_j.Z() > 1 || pi0start_k.Z() > 1 || pi0start_l.Z() > 1) {
1219 cout <<
"HURRAY! .-.-.-.-.-.-..-.-.-.-.-.-.-.-.-.-.-.-." << endl;
1245 if (mcGrandmotherPdg1 == 111) {
1246 Double_t opening_angle1_mc = 0;
1247 Double_t opening_angle1_refitted = 0;
1249 opening_angle1_refitted =
1254 Double_t opening_angle1_mc_dalitz = 0;
1255 Double_t opening_angle1_refitted_dalitz = 0;
1257 opening_angle1_refitted_dalitz =
1263 if (mcMotherPdg1 == 111) {
1264 Double_t opening_angle1_mc = 0;
1265 Double_t opening_angle1_refitted = 0;
1267 opening_angle1_refitted =
1272 Double_t opening_angle1_mc_dalitz = 0;
1273 Double_t opening_angle1_refitted_dalitz = 0;
1275 opening_angle1_refitted_dalitz =
1282 if (motherId1 == motherId3 && motherId2 == motherId4) {
1284 if ((grandmotherId1 == motherId2 && mcMotherPdg2 == 111)
1285 || (motherId1 == grandmotherId2 && mcMotherPdg1 == 111)) {
1296 Double_t invmass1 = 0;
1297 Double_t invmass3 = 0;
1304 if (pi0start_i.Z() > 1 || pi0start_j.Z() > 1 || pi0start_k.Z() > 1 || pi0start_l.Z() > 1) {
1313 cout <<
"HURRAY! .-.-.-.-.-.-..-.-.-.-.-.-.-.-.-.-.-.-." << endl;
1339 if (mcGrandmotherPdg1 == 111) {
1340 Double_t opening_angle1_mc = 0;
1341 Double_t opening_angle1_refitted = 0;
1343 opening_angle1_refitted =
1348 Double_t opening_angle1_mc_dalitz = 0;
1349 Double_t opening_angle1_refitted_dalitz = 0;
1351 opening_angle1_refitted_dalitz =
1357 if (mcMotherPdg1 == 111) {
1358 Double_t opening_angle1_mc = 0;
1359 Double_t opening_angle1_refitted = 0;
1361 opening_angle1_refitted =
1366 Double_t opening_angle1_mc_dalitz = 0;
1367 Double_t opening_angle1_refitted_dalitz = 0;
1369 opening_angle1_refitted_dalitz =
1376 if (motherId1 == motherId4 && motherId2 == motherId3) {
1378 if ((grandmotherId1 == motherId2 && mcMotherPdg2 == 111)
1379 || (motherId1 == grandmotherId2 && mcMotherPdg1 == 111)) {
1390 Double_t invmass1 = 0;
1391 Double_t invmass3 = 0;
1398 if (pi0start_i.Z() > 1 || pi0start_j.Z() > 1 || pi0start_k.Z() > 1 || pi0start_l.Z() > 1) {
1407 cout <<
"HURRAY! .-.-.-.-.-.-..-.-.-.-.-.-.-.-.-.-.-.-." << endl;
1433 if (mcGrandmotherPdg1 == 111) {
1434 Double_t opening_angle1_mc = 0;
1435 Double_t opening_angle1_refitted = 0;
1437 opening_angle1_refitted =
1442 Double_t opening_angle1_mc_dalitz = 0;
1443 Double_t opening_angle1_refitted_dalitz = 0;
1445 opening_angle1_refitted_dalitz =
1451 if (mcMotherPdg1 == 111) {
1452 Double_t opening_angle1_mc = 0;
1453 Double_t opening_angle1_refitted = 0;
1455 opening_angle1_refitted =
1460 Double_t opening_angle1_mc_dalitz = 0;
1461 Double_t opening_angle1_refitted_dalitz = 0;
1463 opening_angle1_refitted_dalitz =
1474 if (grandmotherId1 == grandmotherId2 && grandmotherId1 == grandmotherId3
1475 && grandmotherId1 == grandmotherId4) {
1479 if (pi0start_i.Z() <= 1 && pi0start_j.Z() <= 1 && pi0start_k.Z() <= 1 && pi0start_l.Z() <= 1
1480 && mcGrandmotherPdg1 == 221) {
1493 if (mcGrandmotherPdg1 != 111)
continue;
1518 Double_t invmass1 = 0;
1521 Double_t invmass2 = 0;
1523 Double_t invmass3 = 0;
1528 if (pi0start_i.Z() > 1 || pi0start_j.Z() > 1 || pi0start_k.Z() > 1 || pi0start_l.Z() > 1) {
1545 cout <<
"########################################################"
1556 cout <<
"########################################################"
1559 cout <<
"index: " << i <<
"\t" << j <<
"\t" << k <<
"\t" << l << endl;
1562 cout <<
"motherid: " << motherId1 <<
"\t" << motherId2 <<
"\t" << motherId3 <<
"\t" << motherId4 << endl;
1563 cout <<
"motherpdg: " << mcMotherPdg1 <<
"\t" << mcMotherPdg2 <<
"\t" << mcMotherPdg3 <<
"\t"
1564 << mcMotherPdg4 << endl;
1565 cout <<
"grandmotherid: " << grandmotherId1 <<
"\t" << grandmotherId2 <<
"\t" << grandmotherId3 <<
"\t"
1566 << grandmotherId4 << endl;
1570 cout <<
"invmass reco: " << invmass2 <<
"\t invmass mc: " << invmass1 << endl;
1616 TVector3 momentumtest5a;
1619 / momentumtest5a.X());
1621 / momentumtest5a.Y());
1623 / momentumtest5a.Z());
1628 / momentumtest5a.X());
1630 / momentumtest5a.Y());
1632 / momentumtest5a.Z());
1637 TVector3 momentumtest5b;
1640 / momentumtest5b.X());
1642 / momentumtest5b.Y());
1644 / momentumtest5b.Z());
1649 / momentumtest5b.X());
1651 / momentumtest5b.Y());
1653 / momentumtest5b.Z());
1658 TVector3 momentumtest5c;
1661 / momentumtest5c.X());
1663 / momentumtest5c.Y());
1665 / momentumtest5c.Z());
1670 / momentumtest5c.X());
1672 / momentumtest5c.Y());
1674 / momentumtest5c.Z());
1679 TVector3 momentumtest5d;
1682 / momentumtest5d.X());
1684 / momentumtest5d.Y());
1686 / momentumtest5d.Z());
1691 / momentumtest5d.X());
1693 / momentumtest5d.Y());
1695 / momentumtest5d.Z());
1701 Double_t opening_angle1_mc = 0;
1702 Double_t opening_angle2_mc = 0;
1703 Double_t opening_angle1_refitted = 0;
1704 Double_t opening_angle2_refitted = 0;
1706 if (motherId1 == motherId2) {
1712 if (motherId1 == motherId3) {
1718 if (motherId1 == motherId4) {
1787 Bool_t IsRichElectron1normal =
1789 Bool_t IsRichElectron2normal =
1791 Bool_t IsRichElectron3normal =
1793 Bool_t IsRichElectron4normal =
1804 if (motherId1 == motherId2) {
1808 if (motherId1 == motherId3) {
1812 if (motherId1 == motherId4) {
1818 Double_t Value_invariantMassCut = 0.03;
1819 Double_t Value_openingAngleCut1 = 1.8 - 0.6 * paramsCut1.
fPt;
1820 Double_t Value_openingAngleCut2 = 1.8 - 0.6 * paramsCut2.
fPt;
1822 Bool_t OpeningAngleCut1 = (opening_angle1_refitted < Value_openingAngleCut1);
1823 Bool_t OpeningAngleCut2 = (opening_angle2_refitted < Value_openingAngleCut2);
1824 Bool_t InvariantMassCut1 = (paramsCut1.
fMinv < Value_invariantMassCut);
1825 Bool_t InvariantMassCut2 = (paramsCut2.
fMinv < Value_invariantMassCut);
1830 if (IsRichElectron1ann && IsRichElectron2ann && IsRichElectron3ann
1831 && IsRichElectron4ann) {
1833 if (OpeningAngleCut1 && OpeningAngleCut2) {
1839 if (IsRichElectron1normal && IsRichElectron2normal && IsRichElectron3normal
1840 && IsRichElectron4normal) {
1842 if (OpeningAngleCut1 && OpeningAngleCut2) {
1848 if (IsRichElectron1MC && IsRichElectron2MC && IsRichElectron3MC
1849 && IsRichElectron4MC) {
1851 if (OpeningAngleCut1 && OpeningAngleCut2) {
1870 cout <<
"CbmAnaConversionReco: InvariantMassTest_4epem - Filled events: " << fill << endl;
1871 cout <<
"CbmAnaConversionReco: InvariantMassTest_4epem - End!" << endl;
1880 int motherE3,
int motherE4,
int IsEta)
1890 Double_t opening_angle1_refitted = 0;
1891 Double_t opening_angle2_refitted = 0;
1893 if (motherE1 == motherE2) {
1897 if (motherE1 == motherE3) {
1901 if (motherE1 == motherE4) {
1907 Bool_t IsWithinChiCut1 =
1909 Bool_t IsWithinChiCut2 =
1911 Bool_t IsWithinChiCut3 =
1913 Bool_t IsWithinChiCut4 =
1916 Bool_t AllWithinChiCut = (IsWithinChiCut1 && IsWithinChiCut2 && IsWithinChiCut3 && IsWithinChiCut4);
1947 if (motherE1 == motherE2) {
1951 if (motherE1 == motherE3) {
1955 if (motherE1 == motherE4) {
1961 Double_t Value_invariantMassCut = 0.03;
1962 Double_t Value_openingAngleCut1 = 1.8 - 0.6 * paramsCut1.
fPt;
1963 Double_t Value_openingAngleCut2 = 1.8 - 0.6 * paramsCut2.
fPt;
1965 Bool_t OpeningAngleCut1 = (opening_angle1_refitted < Value_openingAngleCut1);
1966 Bool_t OpeningAngleCut2 = (opening_angle2_refitted < Value_openingAngleCut2);
1967 Bool_t InvariantMassCut1 = (paramsCut1.
fMinv < Value_invariantMassCut);
1968 Bool_t InvariantMassCut2 = (paramsCut2.
fMinv < Value_invariantMassCut);
1974 if (IsRichElectron1ann + IsRichElectron2ann + IsRichElectron3ann + IsRichElectron4ann == 3) {
1990 if (IsRichElectron1ann == 0) {
1994 if (IsRichElectron2ann == 0) {
1998 if (IsRichElectron3ann == 0) {
2002 if (IsRichElectron4ann == 0) {
2007 for (
int i = 0; i < nofringhits; i++) {
2008 Int_t hitInd = richRing->
GetHit(i);
2010 if (NULL == hit)
continue;
2017 if (IsRichElectron1ann > 0) {
2032 if (IsRichElectron2ann > 0) {
2047 if (IsRichElectron3ann > 0) {
2062 if (IsRichElectron4ann > 0) {
2083 if (OpeningAngleCut1 && OpeningAngleCut2) {
2091 if (ANNvalueE1 > -1 && ANNvalueE2 > -1 && ANNvalueE3 > -1 && ANNvalueE4 > -1) {
2094 if (ANNvalueE1 > -0.9 && ANNvalueE2 > -0.9 && ANNvalueE3 > -0.9 && ANNvalueE4 > -0.9) {
2097 if (ANNvalueE1 > -0.8 && ANNvalueE2 > -0.8 && ANNvalueE3 > -0.8 && ANNvalueE4 > -0.8) {
2100 if (ANNvalueE1 > -0.7 && ANNvalueE2 > -0.7 && ANNvalueE3 > -0.7 && ANNvalueE4 > -0.7) {
2103 if (ANNvalueE1 > -0.6 && ANNvalueE2 > -0.6 && ANNvalueE3 > -0.6 && ANNvalueE4 > -0.6) {
2106 if (ANNvalueE1 > -0.5 && ANNvalueE2 > -0.5 && ANNvalueE3 > -0.5 && ANNvalueE4 > -0.5) {
2109 if (ANNvalueE1 > -0.4 && ANNvalueE2 > -0.4 && ANNvalueE3 > -0.4 && ANNvalueE4 > -0.4) {
2112 if (ANNvalueE1 > -0.3 && ANNvalueE2 > -0.3 && ANNvalueE3 > -0.3 && ANNvalueE4 > -0.3) {
2115 if (ANNvalueE1 > -0.2 && ANNvalueE2 > -0.2 && ANNvalueE3 > -0.2 && ANNvalueE4 > -0.2) {
2118 if (ANNvalueE1 > -0.1 && ANNvalueE2 > -0.1 && ANNvalueE3 > -0.1 && ANNvalueE4 > -0.1) {
2121 if (ANNvalueE1 > -0.0 && ANNvalueE2 > -0.0 && ANNvalueE3 > -0.0 && ANNvalueE4 > -0.0) {
2127 if (IsRichElectron1ann && IsRichElectron2ann && IsRichElectron3ann
2128 && IsRichElectron4ann) {
2130 if (AllWithinChiCut) {
2132 if (OpeningAngleCut1 && OpeningAngleCut2) {
2139 if (IsRichElectron1normal && IsRichElectron2normal && IsRichElectron3normal
2140 && IsRichElectron4normal) {
2142 if (AllWithinChiCut) {
2144 if (OpeningAngleCut1 && OpeningAngleCut2) {
2151 if (IsRichElectron1MC && IsRichElectron2MC && IsRichElectron3MC
2152 && IsRichElectron4MC) {
2154 if (AllWithinChiCut) {
2156 if (OpeningAngleCut1 && OpeningAngleCut2) {
2167 if (IsRichElectron1ann && IsRichElectron2ann && IsRichElectron3ann
2168 && IsRichElectron4ann) {
2170 if (AllWithinChiCut) {
2172 if (OpeningAngleCut1 && OpeningAngleCut2) {
2179 if (IsRichElectron1normal && IsRichElectron2normal && IsRichElectron3normal
2180 && IsRichElectron4normal) {
2182 if (AllWithinChiCut) {
2184 if (OpeningAngleCut1 && OpeningAngleCut2) {
2191 if (IsRichElectron1MC && IsRichElectron2MC && IsRichElectron3MC
2192 && IsRichElectron4MC) {
2194 if (AllWithinChiCut) {
2196 if (OpeningAngleCut1 && OpeningAngleCut2) {