@@ -237,6 +237,8 @@ struct FemtoUniversePairTaskTrackV0Helicity {
237237
238238 // Helicity angle
239239 thetaRegistry.add (" Theta/hTheta" , " ; p (GeV/#it{c}); cos(#theta)" , kTH2F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }});
240+ thetaRegistry.add (" Theta/hTheta3D_PosChild" , " ; p_{V0} (GeV/#it{c}); cos(#theta); p_{Positive Child} (GeV/#it{c})" , kTH3F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }, {100 , 0 , 10 }});
241+ thetaRegistry.add (" Theta/hTheta3D_NegChild" , " ; p_{V0} (GeV/#it{c}); cos(#theta); p_{Negative Child} (GeV/#it{c})" , kTH3F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }, {100 , 0 , 10 }});
240242 thetaRegistry.add (" Theta/PositiveChild/hThetaPt" , " ; p_{T} (GeV/#it{c}); cos(#theta)" , kTH2F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }});
241243 thetaRegistry.add (" Theta/PositiveChild/hThetaEta" , " ; #eta; cos(#theta)" , kTH2F , {{100 , -1 , 1 }, {110 , -1.1 , 1.1 }});
242244 thetaRegistry.add (" Theta/PositiveChild/hThetaPhi" , " ; #phi; cos(#theta)" , kTH2F , {{100 , -1 , 7 }, {110 , -1.1 , 1.1 }});
@@ -264,7 +266,12 @@ struct FemtoUniversePairTaskTrackV0Helicity {
264266 registryMCtruth.add (" minus/MCtruthPiPt" , " MC truth pions;#it{p}_{T} (GeV/c)" , {HistType::kTH1F , {{500 , 0 , 5 }}});
265267 registryMCtruth.add (" minus/MCtruthPrPt" , " MC truth protons;#it{p}_{T} (GeV/c)" , {HistType::kTH1F , {{500 , 0 , 5 }}});
266268
269+ registryMCtruth.add (" PosChildMCTruth/hPt" , " ; p_{T} (GeV/#it{c}); " , {HistType::kTH1F , {{100 , 0 , 5 }}});
270+ registryMCtruth.add (" NegChildMCTruth/hPt" , " ; p_{T} (GeV/#it{c}); " , {HistType::kTH1F , {{100 , 0 , 5 }}});
271+
267272 registryMCtruth.add (" ThetaMCTruth/hTheta" , " ; p (GeV/#it{c}); cos(#theta)" , kTH2F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }});
273+ registryMCtruth.add (" ThetaMCTruth/hTheta3D_PosChild" , " ; p_{V0} (GeV/#it{c}); cos(#theta); p_{Positive Child} (GeV/#it{c})" , kTH3F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }, {100 , 0 , 10 }});
274+ registryMCtruth.add (" ThetaMCTruth/hTheta3D_NegChild" , " ; p_{V0} (GeV/#it{c}); cos(#theta); p_{Negative Child} (GeV/#it{c})" , kTH3F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }, {100 , 0 , 10 }});
268275 registryMCtruth.add (" ThetaMCTruth/PositiveChild/hThetaPt" , " ; p_{T} (GeV/#it{c}); cos(#theta)" , kTH2F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }});
269276 registryMCtruth.add (" ThetaMCTruth/PositiveChild/hThetaEta" , " ; #eta; cos(#theta)" , kTH2F , {{100 , -1 , 1 }, {110 , -1.1 , 1.1 }});
270277 registryMCtruth.add (" ThetaMCTruth/PositiveChild/hThetaPhi" , " ; #phi; cos(#theta)" , kTH2F , {{100 , -1 , 7 }, {110 , -1.1 , 1.1 }});
@@ -294,6 +301,14 @@ struct FemtoUniversePairTaskTrackV0Helicity {
294301 registryMCreco.add (" minus/MCrecoPiPt" , " MC reco pions;#it{p}_{T} (GeV/c)" , {HistType::kTH1F , {{500 , 0 , 5 }}});
295302 registryMCreco.add (" minus/MCrecoPrPt" , " MC reco protons;#it{p}_{T} (GeV/c)" , {HistType::kTH1F , {{500 , 0 , 5 }}});
296303
304+ registryMCreco.add (" ThetaMCReco/hTheta" , " ; p (GeV/#it{c}); cos(#theta)" , kTH2F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }});
305+ registryMCreco.add (" ThetaMCReco/PositiveChild/hThetaPt" , " ; p_{T} (GeV/#it{c}); cos(#theta)" , kTH2F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }});
306+ registryMCreco.add (" ThetaMCReco/PositiveChild/hThetaEta" , " ; #eta; cos(#theta)" , kTH2F , {{100 , -1 , 1 }, {110 , -1.1 , 1.1 }});
307+ registryMCreco.add (" ThetaMCReco/PositiveChild/hThetaPhi" , " ; #phi; cos(#theta)" , kTH2F , {{100 , -1 , 7 }, {110 , -1.1 , 1.1 }});
308+ registryMCreco.add (" ThetaMCReco/NegativeChild/hThetaPt" , " ; p_{T} (GeV/#it{c}); cos(#theta)" , kTH2F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }});
309+ registryMCreco.add (" ThetaMCReco/NegativeChild/hThetaEta" , " ; #eta; cos(#theta)" , kTH2F , {{100 , -1 , 1 }, {110 , -1.1 , 1.1 }});
310+ registryMCreco.add (" ThetaMCReco/NegativeChild/hThetaPhi" , " ; #phi; cos(#theta)" , kTH2F , {{100 , -1 , 7 }, {110 , -1.1 , 1.1 }});
311+
297312 sameEventCont.init (&resultRegistry, confkstarBins, confMultBins, confkTBins, confmTBins, confMultBins3D, confmTBins3D, confEtaBins, confPhiBins, confIsMC, confUse3D);
298313 sameEventCont.setPDGCodes (confTrkPDGCodePartOne, confV0PDGCodePartTwo);
299314 mixedEventCont.init (&resultRegistry, confkstarBins, confMultBins, confkTBins, confmTBins, confMultBins3D, confmTBins3D, confEtaBins, confPhiBins, confIsMC, confUse3D);
@@ -351,6 +366,8 @@ struct FemtoUniversePairTaskTrackV0Helicity {
351366 negChildHistos.fillQA <false , true >(negChild);
352367
353368 thetaRegistry.fill (HIST (" Theta/hTheta" ), part.p (), cosineTheta);
369+ thetaRegistry.fill (HIST (" Theta/hTheta3D_PosChild" ), part.p (), cosineTheta, posChild.p ());
370+ thetaRegistry.fill (HIST (" Theta/hTheta3D_NegChild" ), part.p (), cosineTheta, negChild.p ());
354371 thetaRegistry.fill (HIST (" Theta/PositiveChild/hThetaPt" ), posChild.pt (), cosineTheta);
355372 thetaRegistry.fill (HIST (" Theta/PositiveChild/hThetaEta" ), posChild.eta (), cosineTheta);
356373 thetaRegistry.fill (HIST (" Theta/PositiveChild/hThetaPhi" ), posChild.phi (), cosineTheta);
@@ -881,12 +898,17 @@ struct FemtoUniversePairTaskTrackV0Helicity {
881898 const auto & posChild = parts.iteratorAt (part.index () - 2 );
882899 const auto & negChild = parts.iteratorAt (part.index () - 1 );
883900
901+ registryMCtruth.fill (HIST (" PosChildMCTruth/hPt" ), posChild.pt ());
902+ registryMCtruth.fill (HIST (" NegChildMCTruth/hPt" ), negChild.pt ());
903+
884904 auto posChildMass = pdg->Mass (confPDGCodePosChild);
885905 auto negChildMass = pdg->Mass (confPDGCodeNegChild);
886906 auto posChildBoosted = FemtoUniverseMath::boostPRF<decltype (posChild)>(posChild, posChildMass, negChild, negChildMass);
887907 auto cosineTheta = (posChildBoosted.Px () * part.px () + posChildBoosted.Py () * part.py () + posChildBoosted.Pz () * part.pz ()) / (posChildBoosted.P () * part.p ());
888908
889909 registryMCtruth.fill (HIST (" ThetaMCTruth/hTheta" ), part.p (), cosineTheta);
910+ registryMCtruth.fill (HIST (" ThetaMCTruth/hTheta3D_PosChild" ), part.p (), cosineTheta, posChild.p ());
911+ registryMCtruth.fill (HIST (" ThetaMCTruth/hTheta3D_NegChild" ), part.p (), cosineTheta, negChild.p ());
890912 registryMCtruth.fill (HIST (" ThetaMCTruth/PositiveChild/hThetaPt" ), posChild.pt (), cosineTheta);
891913 registryMCtruth.fill (HIST (" ThetaMCTruth/PositiveChild/hThetaEta" ), posChild.eta (), cosineTheta);
892914 registryMCtruth.fill (HIST (" ThetaMCTruth/PositiveChild/hThetaPhi" ), posChild.phi (), cosineTheta);
0 commit comments