@@ -125,6 +125,9 @@ enum PairHist {
125125 kTrueKstarVsMtVsPt1VsPt2 ,
126126 kTrueKstarVsMtVsPt1VsPt2VsMult ,
127127 kTrueKstarVsMtVsPt1VsPt2VsMultVsCent ,
128+ kTrueQoutVsQout ,
129+ kTrueQsideVsQside ,
130+ kTrueQlongVsQlong ,
128131
129132 // mixing qa
130133 kSeNpart1VsNpart2 , // number of unique particles 1 vs unique number of particles 2 in each same event
@@ -315,6 +318,9 @@ constexpr std::array<histmanager::HistInfo<PairHist>, kPairHistogramLast>
315318 {kQside , o2::framework::HistType::kTH1F , " hQside" , " q_{side} in LCMS; q_{side} (GeV/#it{c}); Entries" },
316319 {kQlong , o2::framework::HistType::kTH1F , " hQlong" , " q_{long} in LCMS; q_{long} (GeV/#it{c}); Entries" },
317320 {kQoutQsideQlong , o2::framework::HistType::kTH3F , " hQoutQsideQlong" , " Bertsch-Pratt 3D; q_{out} (GeV/#it{c}); q_{side} (GeV/#it{c}); q_{long} (GeV/#it{c})" },
321+ {kTrueQoutVsQout , o2::framework::HistType::kTH2F , " hTrueQoutVsQout" , " q_{out,True} vs q_{out}; q_{out,True} (GeV/#it{c}); q_{out} (GeV/#it{c})" },
322+ {kTrueQsideVsQside , o2::framework::HistType::kTH2F , " hTrueQsideVsQside" , " q_{side,True} vs q_{side}; q_{side,True} (GeV/#it{c}); q_{side} (GeV/#it{c})" },
323+ {kTrueQlongVsQlong , o2::framework::HistType::kTH2F , " hTrueQlongVsQlong" , " q_{long,True} vs q_{long}; q_{long,True} (GeV/#it{c}); q_{long} (GeV/#it{c})" },
318324 }};
319325
320326// NOLINTNEXTLINE(cppcoreguidelines-macro-usage)
@@ -378,7 +384,10 @@ constexpr std::array<histmanager::HistInfo<PairHist>, kPairHistogramLast>
378384 {kTrueMtVsMt , {(conf).mt , (conf).mt }}, \
379385 {kTrueMinvVsMinv , {(conf).massInv , (conf).massInv }}, \
380386 {kTrueMultVsMult , {(conf).multiplicity , (conf).multiplicity }}, \
381- {kTrueCentVsCent , {(conf).centrality , (conf).centrality }},
387+ {kTrueCentVsCent , {(conf).centrality , (conf).centrality }}, \
388+ {kTrueQoutVsQout , {(conf).qout , (conf).qout }}, \
389+ {kTrueQsideVsQside , {(conf).qside , (conf).qside }}, \
390+ {kTrueQlongVsQlong , {(conf).qlong , (conf).qlong }},
382391
383392// pure mc-truth pair (no reco counterpart) — reuses the same analysis binning,
384393// since there is no separate "true" axis (conf)iguration: the truth value IS the
@@ -682,6 +691,11 @@ class PairHistManager
682691 mTrueMt = getMt (mTrueParticle1 , mTrueParticle2 );
683692 mTrueMinv = getMinv (mTrueParticle1 , mTrueParticle2 );
684693 mTrueKstar = getKstar (mTrueParticle1 , mTrueParticle2 );
694+
695+ if (mPlotBertschPratt ) {
696+ std::tie (mTrueQout , mTrueQside , mTrueQlong ) =
697+ computeBertschPrattLCMS (mTrueParticle1 , mTrueParticle2 );
698+ }
685699 }
686700
687701 template <typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
@@ -939,6 +953,12 @@ class PairHistManager
939953 mHistogramRegistry ->add (mcDir + getHistNameV2 (kTrueMinvVsMinv , HistTable), getHistDesc (kTrueMinvVsMinv , HistTable), getHistType (kTrueMinvVsMinv , HistTable), {Specs.at (kTrueMinvVsMinv )});
940954 mHistogramRegistry ->add (mcDir + getHistNameV2 (kTrueMultVsMult , HistTable), getHistDesc (kTrueMultVsMult , HistTable), getHistType (kTrueMultVsMult , HistTable), {Specs.at (kTrueMultVsMult )});
941955 mHistogramRegistry ->add (mcDir + getHistNameV2 (kTrueCentVsCent , HistTable), getHistDesc (kTrueCentVsCent , HistTable), getHistType (kTrueCentVsCent , HistTable), {Specs.at (kTrueCentVsCent )});
956+
957+ if (mPlotBertschPratt ) {
958+ mHistogramRegistry ->add (mcDir + getHistNameV2 (kTrueQoutVsQout , HistTable), getHistDesc (kTrueQoutVsQout , HistTable), getHistType (kTrueQoutVsQout , HistTable), {Specs.at (kTrueQoutVsQout )});
959+ mHistogramRegistry ->add (mcDir + getHistNameV2 (kTrueQsideVsQside , HistTable), getHistDesc (kTrueQsideVsQside , HistTable), getHistType (kTrueQsideVsQside , HistTable), {Specs.at (kTrueQsideVsQside )});
960+ mHistogramRegistry ->add (mcDir + getHistNameV2 (kTrueQlongVsQlong , HistTable), getHistDesc (kTrueQlongVsQlong , HistTable), getHistType (kTrueQlongVsQlong , HistTable), {Specs.at (kTrueQlongVsQlong )});
961+ }
942962 }
943963
944964 // pure mc-truth pair (no reco counterpart, kMc without kReco) — reuses the
@@ -1115,6 +1135,11 @@ class PairHistManager
11151135 mHistogramRegistry ->fill (HIST (prefix) + HIST (McDir) + HIST (getHistName (kTrueMultVsMult , HistTable)), mTrueMult , mMult );
11161136 mHistogramRegistry ->fill (HIST (prefix) + HIST (McDir) + HIST (getHistName (kTrueCentVsCent , HistTable)), mTrueCent , mCent );
11171137 }
1138+ if (mHasMcPair && mPlotBertschPratt ) {
1139+ mHistogramRegistry ->fill (HIST (prefix) + HIST (McDir) + HIST (getHistName (kTrueQoutVsQout , HistTable)), mTrueQout , mQout );
1140+ mHistogramRegistry ->fill (HIST (prefix) + HIST (McDir) + HIST (getHistName (kTrueQsideVsQside , HistTable)), mTrueQside , mQside );
1141+ mHistogramRegistry ->fill (HIST (prefix) + HIST (McDir) + HIST (getHistName (kTrueQlongVsQlong , HistTable)), mTrueQlong , mQlong );
1142+ }
11181143 }
11191144
11201145 // pure mc-truth pair fill (kMc without kReco) — uses the same mTrue* members
0 commit comments