|
32 | 32 | /// building and deduplication, separating genuine |
33 | 33 | /// reconstruction quality from reconstruction artifacts. |
34 | 34 | /// |
35 | | -/// \author Daiki Sekihata <daiki.sekihata@cern.ch> and Stefanie Mrozinski <stefanie.mrozinski@cern.ch> |
| 35 | +/// \author Daiki Sekihata <daiki.sekihata@cern.ch> and author Stefanie Mrozinski <stefanie.mrozinski@cern.ch> |
36 | 36 |
|
37 | 37 | #include "PWGEM/Dilepton/Utils/MCUtilities.h" |
38 | 38 | #include "PWGEM/PhotonMeson/Core/EMPhotonEventCut.h" |
@@ -459,9 +459,7 @@ struct PCMQC { |
459 | 459 | fRegistry.add("V0/primary/hEtaVsPt", "#eta vs. pT;p_{T,#gamma} (GeV/c);#eta", kTH2F, {{100, 0, 10}, {200, -1.0f, 1.0f}}, false); |
460 | 460 | fRegistry.add("V0/primary/hPhiVsPt", "#varphi vs. pT;p_{T,#gamma} (GeV/c);#varphi (rad.)", kTH2F, {{100, 0, 10}, {90, 0, o2::constants::math::TwoPI}}, false); |
461 | 461 | fRegistry.add("V0/primary/hsAlphaQtPt", "Armenteros vs. pT;#alpha;q_{T} (GeV/c);p_{T,#gamma} (GeV/c)", kTHnSparseF, {{100, -1.0f, +1.0f}, {125, 0.0f, 0.25f}, {100, 0, 10}}, false); |
462 | | - if (doprocessPCMQCMCML) { |
463 | | - fRegistry.add("V0/primary/hPsiPairVsPt", "#psi_{pair} vs. pT;p_{T,#gamma} (GeV/c);#psi_{pair} (rad.)", kTH2F, {{100, 0, 10}, {200, -0.5f, +0.5f}}, false); |
464 | | - } |
| 462 | + fRegistry.add("V0/primary/hPsiPairVsPt", "#psi_{pair} vs. pT;p_{T,#gamma} (GeV/c);#psi_{pair} (rad.)", kTH2F, {{100, 0, 10}, {200, -0.5f, +0.5f}}, false); |
465 | 463 | fRegistry.add("V0/primary/hMassGamma", "hMassGamma;R_{xy} (cm);m_{ee} (GeV/c^{2})", kTH2F, {{200, 0.0f, 100.0f}, {100, 0.0f, 0.1f}}, false); |
466 | 464 | fRegistry.add("V0/primary/hKFChi2vsM", "KF chi2 vs. m_{ee};m_{ee} (GeV/c^{2});KF chi2/NDF", kTH2F, {{100, 0.0f, 0.1f}, {100, 0.f, 100.0f}}, false); |
467 | 465 | fRegistry.add("V0/primary/hKFChi2vsR", "KF chi2 vs. conversion point in XY;R_{xy} (cm);KF chi2/NDF", kTH2F, {{200, 0.0f, 100.0f}, {100, 0.f, 100.0f}}, false); |
@@ -708,7 +706,9 @@ struct PCMQC { |
708 | 706 | fRegistry.fill(HIST("V0/hEtaVsPt"), v0.pt(), v0.eta()); |
709 | 707 | fRegistry.fill(HIST("V0/hPhiVsPt"), v0.pt(), v0.phi()); |
710 | 708 | fRegistry.fill(HIST("V0/hsAlphaQtPt"), v0.alpha(), v0.qtarm(), v0.pt()); |
711 | | - fRegistry.fill(HIST("V0/hPsiPairVsPt"), v0.pt(), v0.psipair()); |
| 709 | + if constexpr (requires { v0.psipair(); }) { |
| 710 | + fRegistry.fill(HIST("V0/hPsiPairVsPt"), v0.pt(), v0.psipair()); |
| 711 | + } |
712 | 712 | fRegistry.fill(HIST("V0/hMassGamma"), v0.v0radius(), v0.mGamma()); |
713 | 713 | fRegistry.fill(HIST("V0/hKFChi2vsM"), v0.mGamma(), v0.chiSquareNDF()); |
714 | 714 | fRegistry.fill(HIST("V0/hKFChi2vsR"), v0.v0radius(), v0.chiSquareNDF()); |
@@ -842,7 +842,7 @@ struct PCMQC { |
842 | 842 | if (!fV0PhotonCut.IsSelected<decltype(v0), aod::V0Legs>(v0)) { |
843 | 843 | continue; |
844 | 844 | } |
845 | | - fillLossQAInfo<1>(v0); // survivors |
| 845 | + fillLossQAInfo<1>(v0); |
846 | 846 | fillV0Info(v0); |
847 | 847 | fillMaterialBudgetInfo(v0); |
848 | 848 | for (const auto& leg : {pos, ele}) { |
@@ -1254,7 +1254,7 @@ struct PCMQC { |
1254 | 1254 | } |
1255 | 1255 | return mc.mothersIds()[0]; |
1256 | 1256 | }; |
1257 | | - std::unordered_map<int, int> nV0CandsOfMcPhoton; // counted: >=2 = duplicate candidates for the same true photon |
| 1257 | + std::unordered_map<int, int> nV0CandsOfMcPhoton; |
1258 | 1258 | for (const auto& v0 : v0photonsKF) { |
1259 | 1259 | const int legPosIdx = v0.posTrackId(); |
1260 | 1260 | const int legNegIdx = v0.negTrackId(); |
|
0 commit comments