@@ -294,6 +294,14 @@ struct FemtoUniversePairTaskTrackV0Helicity {
294294 registryMCreco.add (" minus/MCrecoPiPt" , " MC reco pions;#it{p}_{T} (GeV/c)" , {HistType::kTH1F , {{500 , 0 , 5 }}});
295295 registryMCreco.add (" minus/MCrecoPrPt" , " MC reco protons;#it{p}_{T} (GeV/c)" , {HistType::kTH1F , {{500 , 0 , 5 }}});
296296
297+ registryMCreco.add (" ThetaMCReco/hTheta" , " ; p (GeV/#it{c}); cos(#theta)" , kTH2F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }});
298+ registryMCreco.add (" ThetaMCReco/PositiveChild/hThetaPt" , " ; p_{T} (GeV/#it{c}); cos(#theta)" , kTH2F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }});
299+ registryMCreco.add (" ThetaMCReco/PositiveChild/hThetaEta" , " ; #eta; cos(#theta)" , kTH2F , {{100 , -1 , 1 }, {110 , -1.1 , 1.1 }});
300+ registryMCreco.add (" ThetaMCReco/PositiveChild/hThetaPhi" , " ; #phi; cos(#theta)" , kTH2F , {{100 , -1 , 7 }, {110 , -1.1 , 1.1 }});
301+ registryMCreco.add (" ThetaMCReco/NegativeChild/hThetaPt" , " ; p_{T} (GeV/#it{c}); cos(#theta)" , kTH2F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }});
302+ registryMCreco.add (" ThetaMCReco/NegativeChild/hThetaEta" , " ; #eta; cos(#theta)" , kTH2F , {{100 , -1 , 1 }, {110 , -1.1 , 1.1 }});
303+ registryMCreco.add (" ThetaMCReco/NegativeChild/hThetaPhi" , " ; #phi; cos(#theta)" , kTH2F , {{100 , -1 , 7 }, {110 , -1.1 , 1.1 }});
304+
297305 sameEventCont.init (&resultRegistry, confkstarBins, confMultBins, confkTBins, confmTBins, confMultBins3D, confmTBins3D, confEtaBins, confPhiBins, confIsMC, confUse3D);
298306 sameEventCont.setPDGCodes (confTrkPDGCodePartOne, confV0PDGCodePartTwo);
299307 mixedEventCont.init (&resultRegistry, confkstarBins, confMultBins, confkTBins, confmTBins, confMultBins3D, confmTBins3D, confEtaBins, confPhiBins, confIsMC, confUse3D);
@@ -961,6 +969,23 @@ struct FemtoUniversePairTaskTrackV0Helicity {
961969 }
962970 }
963971 } // partType
972+
973+ // Helicity angle
974+ const auto & posChild = parts.iteratorAt (part.index () - 2 );
975+ const auto & negChild = parts.iteratorAt (part.index () - 1 );
976+
977+ auto posChildMass = pdg->Mass (confPDGCodePosChild);
978+ auto negChildMass = pdg->Mass (confPDGCodeNegChild);
979+ auto posChildBoosted = FemtoUniverseMath::boostPRF<decltype (posChild)>(posChild, posChildMass, negChild, negChildMass);
980+ auto cosineTheta = (posChildBoosted.Px () * part.px () + posChildBoosted.Py () * part.py () + posChildBoosted.Pz () * part.pz ()) / (posChildBoosted.P () * part.p ());
981+
982+ registryMCreco.fill (HIST (" ThetaMCReco/hTheta" ), part.p (), cosineTheta);
983+ registryMCreco.fill (HIST (" ThetaMCReco/PositiveChild/hThetaPt" ), posChild.pt (), cosineTheta);
984+ registryMCreco.fill (HIST (" ThetaMCReco/PositiveChild/hThetaEta" ), posChild.eta (), cosineTheta);
985+ registryMCreco.fill (HIST (" ThetaMCReco/PositiveChild/hThetaPhi" ), posChild.phi (), cosineTheta);
986+ registryMCreco.fill (HIST (" ThetaMCReco/NegativeChild/hThetaPt" ), negChild.pt (), cosineTheta);
987+ registryMCreco.fill (HIST (" ThetaMCReco/NegativeChild/hThetaEta" ), negChild.eta (), cosineTheta);
988+ registryMCreco.fill (HIST (" ThetaMCReco/NegativeChild/hThetaPhi" ), negChild.phi (), cosineTheta);
964989 }
965990 }
966991
0 commit comments