@@ -219,6 +219,9 @@ struct AntinucleiInJets {
219219 // Jet effective area over piR^2
220220 registryData.add (" jetEffectiveAreaOverPiR2" , " jet effective area / piR^2" , HistType::kTH1F , {{2000 , 0 , 2 , " Area/#piR^{2}" }});
221221
222+ // angle between track and jet axis
223+ registryData.add (" theta_track_jet" , " theta_track_jet" , HistType::kTH2F , {{100 , 0 , 100 , " #it{p}^{jet}_{T} (GeV/#it{c})" }, {400 , 0 , 20.0 , " #theta_{track-jet} (deg)" }});
224+
222225 // Antiprotons
223226 registryData.add (" antiproton_jet_tpc" , " antiproton_jet_tpc" , HistType::kTH2F , {{nbins, min, max, " #it{p}_{T} (GeV/#it{c})" }, {400 , -20.0 , 20.0 , " n#sigma_{TPC}" }});
224227 registryData.add (" antiproton_jet_tof" , " antiproton_jet_tof" , HistType::kTH2F , {{nbins, min, max, " #it{p}_{T} (GeV/#it{c})" }, {400 , -20.0 , 20.0 , " n#sigma_{TOF}" }});
@@ -270,6 +273,10 @@ struct AntinucleiInJets {
270273 // Normalization histogram
271274 registryMC.add (" antiproton_deltay_deltaphi_jet" , " antiproton_deltay_deltaphi_jet" , HistType::kTH2F , {{2000 , -1.0 , 1.0 , " #Delta#it{y}" }, {2000 , 0.0 , 2.0 , " #Delta#phi" }});
272275 registryMC.add (" antiproton_deltay_deltaphi_ue" , " antiproton_deltay_deltaphi_ue" , HistType::kTH2F , {{2000 , -1.0 , 1.0 , " #Delta#it{y}" }, {2000 , 0.0 , 2.0 , " #Delta#phi" }});
276+
277+ // 2d kinematic distributions (eta,pt) in jets and UE
278+ registryMC.add (" antiproton_eta_pt_jet" , " antiproton_eta_pt_jet" , HistType::kTH2F , {{500 , 0.0 , 5.0 , " #it{p}_{T} (GeV/#it{c})" }, {18 , -0.9 , 0.9 , " #eta" }});
279+ registryMC.add (" antiproton_eta_pt_ue" , " antiproton_eta_pt_ue" , HistType::kTH2F , {{500 , 0.0 , 5.0 , " #it{p}_{T} (GeV/#it{c})" }, {18 , -0.9 , 0.9 , " #eta" }});
273280 }
274281
275282 // Reconstructed antiproton spectra in jets and UE (MC-matched) with TPC/TOF PID
@@ -297,9 +304,6 @@ struct AntinucleiInJets {
297304 registryMC.add (" antiproton_all_dca_jet" , " antiproton_all_dca_jet" , HistType::kTH2F , {{nbins, min, max, " #it{p}_{T} (GeV/#it{c})" }, {200 , -1 , 1 , " DCA_{xy} (cm)" }});
298305 registryMC.add (" antiproton_all_dca_ue" , " antiproton_all_dca_ue" , HistType::kTH2F , {{nbins, min, max, " #it{p}_{T} (GeV/#it{c})" }, {200 , -1 , 1 , " DCA_{xy} (cm)" }});
299306
300- // nsigmaITS for antiproton candidates
301- registryMC.add (" antiproton_nsigma_its_mc" , " antiproton_nsigma_its_mc" , HistType::kTH2F , {{nbins, min, max, " #it{p}_{T} (GeV/#it{c})" }, {400 , -20.0 , 20.0 , " n#sigma_{ITS}" }});
302-
303307 // nsigmaTOF for antiprotons
304308 registryMC.add (" antiproton_nsigma_tof_jet_mc" , " antiproton_nsigma_tof_jet_mc" , HistType::kTH2F , {{nbins, min, max, " #it{p}_{T} (GeV/#it{c})" }, {400 , -20.0 , 20.0 , " n#sigma_{TOF}" }});
305309 }
@@ -349,11 +353,14 @@ struct AntinucleiInJets {
349353 registryMC.add (" antihelium3_rec_tpc_ue" , " antihelium3_rec_tpc_ue" , HistType::kTH1F , {{nbins, 3 * min, 3 * max, " #it{p}_{T} (GeV/#it{c})" }});
350354
351355 // Generated spectra needed for reweighting
352- registryMC.add (" protonBar" , " protonBar" , HistType::kTH1F , {{5000 , 0 , 5 , " #it{p}_{T} (GeV/#it{c})" }});
353- registryMC.add (" lambdaBar" , " lambdaBar" , HistType::kTH1F , {{5000 , 0 , 5 , " #it{p}_{T} (GeV/#it{c})" }});
354- registryMC.add (" xiBar" , " xiBar" , HistType::kTH1F , {{5000 , 0 , 5 , " #it{p}_{T} (GeV/#it{c})" }});
355- registryMC.add (" omegaBar" , " omegaBar" , HistType::kTH1F , {{5000 , 0 , 5 , " #it{p}_{T} (GeV/#it{c})" }});
356- registryMC.add (" sigmaBar" , " sigmaBar" , HistType::kTH1F , {{5000 , 0 , 5 , " #it{p}_{T} (GeV/#it{c})" }});
356+ registryMC.add (" protonBar" , " protonBar" , HistType::kTH1F , {{1000 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }});
357+ registryMC.add (" lambdaBar" , " lambdaBar" , HistType::kTH1F , {{1000 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }});
358+ registryMC.add (" xiBar" , " xiBar" , HistType::kTH1F , {{1000 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }});
359+ registryMC.add (" omegaBar" , " omegaBar" , HistType::kTH1F , {{1000 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }});
360+ registryMC.add (" sigmaBar" , " sigmaBar" , HistType::kTH1F , {{1000 , 0 , 10 , " #it{p}_{T} (GeV/#it{c})" }});
361+
362+ // nsigmaITS for antiproton candidates
363+ registryMC.add (" antiproton_nsigma_its_mc" , " antiproton_nsigma_its_mc" , HistType::kTH2F , {{nbins, min, max, " #it{p}_{T} (GeV/#it{c})" }, {400 , -20.0 , 20.0 , " n#sigma_{ITS}" }});
357364 }
358365
359366 // Systematic uncertainties (Data)
@@ -621,20 +628,6 @@ struct AntinucleiInJets {
621628 47.61 , 44.02 , 32.15 , 46.21 , 34.75 , 40.17 , 37.14 , 30.55 , 45.42 , 42.30 ,
622629 41.79 , 33.21 , 39.12 , 47.98 , 36.52 , 31.58 , 49.44 , 38.02 , 35.56 , 43.49 };
623630
624- static std::vector<double > minEtaSyst = {
625- -0.804 , -0.844 , -0.751 , -0.784 , -0.819 , -0.823 , -0.768 , -0.781 , -0.845 , -0.787 ,
626- -0.758 , -0.828 , -0.776 , -0.842 , -0.808 , -0.763 , -0.849 , -0.770 , -0.799 , -0.754 ,
627- -0.825 , -0.847 , -0.806 , -0.783 , -0.796 , -0.835 , -0.777 , -0.752 , -0.838 , -0.813 ,
628- -0.785 , -0.802 , -0.795 , -0.846 , -0.780 , -0.829 , -0.817 , -0.773 , -0.765 , -0.789 ,
629- -0.800 , -0.839 , -0.758 , -0.820 , -0.833 , -0.762 , -0.792 , -0.809 , -0.827 , -0.751 };
630-
631- static std::vector<double > maxEtaSyst = {
632- 0.804 , 0.844 , 0.751 , 0.784 , 0.819 , 0.823 , 0.768 , 0.781 , 0.845 , 0.787 ,
633- 0.758 , 0.828 , 0.776 , 0.842 , 0.808 , 0.763 , 0.849 , 0.770 , 0.799 , 0.754 ,
634- 0.825 , 0.847 , 0.806 , 0.783 , 0.796 , 0.835 , 0.777 , 0.752 , 0.838 , 0.813 ,
635- 0.785 , 0.802 , 0.795 , 0.846 , 0.780 , 0.829 , 0.817 , 0.773 , 0.765 , 0.789 ,
636- 0.800 , 0.839 , 0.758 , 0.820 , 0.833 , 0.762 , 0.792 , 0.809 , 0.827 , 0.751 };
637-
638631 // Track Selection
639632 if (requirePvContributor && !(track.isPVContributor ()))
640633 return false ;
@@ -650,7 +643,7 @@ struct AntinucleiInJets {
650643 return false ;
651644 if (track.itsChi2NCl () > maxChiSquareItsSyst[isyst])
652645 return false ;
653- if (track.eta () < minEtaSyst[isyst] || track.eta () > maxEtaSyst[isyst] )
646+ if (track.eta () < minEta || track.eta () > maxEta )
654647 return false ;
655648 if (track.pt () < minPt)
656649 return false ;
@@ -871,6 +864,11 @@ struct AntinucleiInJets {
871864 if (std::fabs (dcaxy) > maxDcaxy || std::fabs (dcaz) > maxDcaz)
872865 continue ;
873866
867+ // Fill angular distribution of tracks wrt jet axis
868+ TVector3 trackDirection (track.px (), track.py (), track.pz ());
869+ double thetaTrackJet = (180.0 / PI) * jetAxis.Angle (trackDirection);
870+ registryData.fill (HIST (" theta_track_jet" ), jet.pt (), thetaTrackJet);
871+
874872 // Particle identification using the ITS cluster size
875873 bool passedItsPidProt (true ), passedItsPidDeut (true ), passedItsPidHel (true );
876874 double nSigmaITSprot = static_cast <double >(itsResponse.nSigmaITS <o2::track::PID::Proton>(track));
@@ -1374,6 +1372,11 @@ struct AntinucleiInJets {
13741372 passedItsPidHel = false ;
13751373 }
13761374
1375+ // Fill nsigmaITS for antiproton candidates
1376+ if (track.sign () < 0 && particle.pdgCode () == PDG_t::kProtonBar && isHighPurityAntiproton (track)) {
1377+ registryMC.fill (HIST (" antiproton_nsigma_its_mc" ), pt, nSigmaITSprot);
1378+ }
1379+
13771380 // Fill histograms of antiprotons
13781381 if (track.sign () < 0 && particle.pdgCode () == PDG_t::kProtonBar && passedItsPidProt) {
13791382 if (nsigmaTPCPr > minNsigmaTpc && nsigmaTPCPr < maxNsigmaTpc) {
@@ -1522,6 +1525,9 @@ struct AntinucleiInJets {
15221525
15231526 // Fill histogram for generated antiprotons
15241527 registryMC.fill (HIST (" antiproton_gen_jet" ), particle.pt ());
1528+
1529+ // Fill 2d (pt,eta) distribution of antiprotons
1530+ registryMC.fill (HIST (" antiproton_eta_pt_jet" ), particle.pt (), particle.eta ());
15251531 }
15261532
15271533 // Set up two perpendicular cone axes for underlying event estimation
@@ -1562,6 +1568,9 @@ struct AntinucleiInJets {
15621568
15631569 // Fill histogram for antiprotons in the UE
15641570 registryMC.fill (HIST (" antiproton_gen_ue" ), protonVec.Pt ());
1571+
1572+ // Fill 2d (pt,eta) distribution of antiprotons
1573+ registryMC.fill (HIST (" antiproton_eta_pt_ue" ), protonVec.Pt (), protonVec.Eta ());
15651574 }
15661575 }
15671576 if (isAtLeastOneJetSelected) {
@@ -1738,11 +1747,6 @@ struct AntinucleiInJets {
17381747 // nsigmaITS for antiprotons
17391748 double nSigmaITSprot = static_cast <double >(itsResponse.nSigmaITS <o2::track::PID::Proton>(track));
17401749
1741- // Fill nsigmaITS for antiproton candidates
1742- if (isHighPurityAntiproton (track)) {
1743- registryMC.fill (HIST (" antiproton_nsigma_its_mc" ), pt, nSigmaITSprot);
1744- }
1745-
17461750 // Particle identification using the ITS cluster size
17471751 bool passedItsPidProt (true );
17481752 if (applyItsPid && pt < ptMaxItsPidProt && (nSigmaITSprot < nSigmaItsMin || nSigmaITSprot > nSigmaItsMax)) {
0 commit comments