@@ -326,20 +326,24 @@ struct FemtoUniversePairTaskTrackV0Helicity {
326326 thetaRegistry.add (" Theta/NegativeChild/hThetaPt" , " ; p_{T} (GeV/#it{c}); cos(#theta)" , kTH2F , {{100 , 0 , 10 }, {110 , -1.1 , 1.1 }});
327327 thetaRegistry.add (" Theta/NegativeChild/hThetaEta" , " ; #eta; cos(#theta)" , kTH2F , {{100 , -1 , 1 }, {110 , -1.1 , 1.1 }});
328328 thetaRegistry.add (" Theta/NegativeChild/hThetaPhi" , " ; #phi; cos(#theta)" , kTH2F , {{100 , -1 , 7 }, {110 , -1.1 , 1.1 }});
329- thetaRegistry.add (" Theta/Mother/hInvMassMotherHel1" , " ; p_{T} (GeV/#it{c}); M_{#Lambda};" , kTH2F , {helicityconfigs.confInvMassMotherpTBinsHel , helicityconfigs.confInvMassMotherBinsHel });
330- thetaRegistry.add (" Theta/Mother/hInvMassMotherHel2" , " ; p_{T} (GeV/#it{c}); M_{#Lambda};" , kTH2F , {helicityconfigs.confInvMassMotherpTBinsHel , helicityconfigs.confInvMassMotherBinsHel });
331- thetaRegistry.add (" Theta/Mother/hInvMassMotherHel3" , " ; p_{T} (GeV/#it{c}); M_{#Lambda};" , kTH2F , {helicityconfigs.confInvMassMotherpTBinsHel , helicityconfigs.confInvMassMotherBinsHel });
332- thetaRegistry.add (" Theta/Mother/hInvMassMotherHel4" , " ; p_{T} (GeV/#it{c}); M_{#Lambda};" , kTH2F , {helicityconfigs.confInvMassMotherpTBinsHel , helicityconfigs.confInvMassMotherBinsHel });
333- thetaRegistry.add (" Theta/Mother/hInvMassLambdaMC" , " ; M_{#Lambda}; ;" , kTH1F , {helicityconfigs.confInvMassMotherBinsHel });
334- thetaRegistry.add (" Theta/Mother/hInvMassLambdaMCHel1" , " ; M_{#Lambda}; ;" , kTH1F , {helicityconfigs.confInvMassMotherBinsHel });
335- thetaRegistry.add (" Theta/Mother/hInvMassLambdaMCHel2" , " ; M_{#Lambda}; ;" , kTH1F , {helicityconfigs.confInvMassMotherBinsHel });
336- thetaRegistry.add (" Theta/Mother/hInvMassLambdaMCHel3" , " ; M_{#Lambda}; ;" , kTH1F , {helicityconfigs.confInvMassMotherBinsHel });
337- thetaRegistry.add (" Theta/Mother/hInvMassLambdaMCHel4" , " ; M_{#Lambda}; ;" , kTH1F , {helicityconfigs.confInvMassMotherBinsHel });
338- thetaRegistry.add (" Theta/Mother/hInvMassK0ShortMC" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
339- thetaRegistry.add (" Theta/Mother/hInvMassK0ShortMCHel1" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
340- thetaRegistry.add (" Theta/Mother/hInvMassK0ShortMCHel2" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
341- thetaRegistry.add (" Theta/Mother/hInvMassK0ShortMCHel3" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
342- thetaRegistry.add (" Theta/Mother/hInvMassK0ShortMCHel4" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
329+ thetaRegistry.add (" Theta/Mother/Data/hInvMassLambdaHel1" , " ; p_{T} (GeV/#it{c}); M_{#Lambda};" , kTH2F , {helicityconfigs.confInvMassMotherpTBinsHel , helicityconfigs.confInvMassMotherBinsHel });
330+ thetaRegistry.add (" Theta/Mother/Data/hInvMassLambdaHel2" , " ; p_{T} (GeV/#it{c}); M_{#Lambda};" , kTH2F , {helicityconfigs.confInvMassMotherpTBinsHel , helicityconfigs.confInvMassMotherBinsHel });
331+ thetaRegistry.add (" Theta/Mother/Data/hInvMassLambdaHel3" , " ; p_{T} (GeV/#it{c}); M_{#Lambda};" , kTH2F , {helicityconfigs.confInvMassMotherpTBinsHel , helicityconfigs.confInvMassMotherBinsHel });
332+ thetaRegistry.add (" Theta/Mother/Data/hInvMassLambdaHel4" , " ; p_{T} (GeV/#it{c}); M_{#Lambda};" , kTH2F , {helicityconfigs.confInvMassMotherpTBinsHel , helicityconfigs.confInvMassMotherBinsHel });
333+ thetaRegistry.add (" Theta/Mother/Data/hInvMassK0ShortHel1" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
334+ thetaRegistry.add (" Theta/Mother/Data/hInvMassK0ShortHel2" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
335+ thetaRegistry.add (" Theta/Mother/Data/hInvMassK0ShortHel3" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
336+ thetaRegistry.add (" Theta/Mother/Data/hInvMassK0ShortHel4" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
337+ thetaRegistry.add (" Theta/Mother/MCReco/hInvMassLambdaMC" , " ; M_{#Lambda}; ;" , kTH1F , {helicityconfigs.confInvMassMotherBinsHel });
338+ thetaRegistry.add (" Theta/Mother/MCReco/hInvMassLambdaMCHel1" , " ; M_{#Lambda}; ;" , kTH1F , {helicityconfigs.confInvMassMotherBinsHel });
339+ thetaRegistry.add (" Theta/Mother/MCReco/hInvMassLambdaMCHel2" , " ; M_{#Lambda}; ;" , kTH1F , {helicityconfigs.confInvMassMotherBinsHel });
340+ thetaRegistry.add (" Theta/Mother/MCReco/hInvMassLambdaMCHel3" , " ; M_{#Lambda}; ;" , kTH1F , {helicityconfigs.confInvMassMotherBinsHel });
341+ thetaRegistry.add (" Theta/Mother/MCReco/hInvMassLambdaMCHel4" , " ; M_{#Lambda}; ;" , kTH1F , {helicityconfigs.confInvMassMotherBinsHel });
342+ thetaRegistry.add (" Theta/Mother/MCReco/hInvMassK0ShortMC" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
343+ thetaRegistry.add (" Theta/Mother/MCReco/hInvMassK0ShortMCHel1" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
344+ thetaRegistry.add (" Theta/Mother/MCReco/hInvMassK0ShortMCHel2" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
345+ thetaRegistry.add (" Theta/Mother/MCReco/hInvMassK0ShortMCHel3" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
346+ thetaRegistry.add (" Theta/Mother/MCReco/hInvMassK0ShortMCHel4" , " ; M_{K^{0}_{S}}; ;" , kTH1F , {helicityconfigs.confInvMassK0Short });
343347
344348 // / MC Truth
345349 registryMCtruth.add (" plus/MCtruthLambda" , " MC truth Lambdas;#it{p}_{T} (GeV/c); #eta" , {HistType::kTH2F , {{500 , 0 , 5 }, {400 , -1.0 , 1.0 }}});
@@ -492,6 +496,7 @@ struct FemtoUniversePairTaskTrackV0Helicity {
492496 auto negChildMass = pdg->Mass (V0configs.confPDGCodeNegChild );
493497 auto posChildBoosted = FemtoUniverseMath::boostPRF<decltype (posChild)>(posChild, posChildMass, negChild, negChildMass);
494498 auto cosineTheta = (posChildBoosted.Px () * part.px () + posChildBoosted.Py () * part.py () + posChildBoosted.Pz () * part.pz ()) / (posChildBoosted.P () * part.p ());
499+ auto invMassK0Short = TMath::Sqrt (TMath::Power (TMath::Sqrt (posChild.p () * posChild.p () + pdg->Mass (V0configs.confPDGCodePosChild ) * pdg->Mass (V0configs.confPDGCodePosChild )) + TMath::Sqrt (negChild.p () * negChild.p () + pdg->Mass (V0configs.confPDGCodeNegChild ) * pdg->Mass (V0configs.confPDGCodeNegChild )), 2 ) - TMath::Power (posChild.p () + negChild.p (), 2 )); // "fake" K0Short invariant mass to estimate their fraction in the Lambda sample
495500
496501 trackHistoPartTwo.fillQA <false , true >(part);
497502 posChildHistos.fillQA <false , true >(posChild);
@@ -507,43 +512,48 @@ struct FemtoUniversePairTaskTrackV0Helicity {
507512 thetaRegistry.fill (HIST (" Theta/NegativeChild/hThetaEta" ), negChild.eta (), cosineTheta);
508513 thetaRegistry.fill (HIST (" Theta/NegativeChild/hThetaPhi" ), negChild.phi (), cosineTheta);
509514
510- if (cosineTheta <= helicityconfigs.confLimitHel0 && cosineTheta >= helicityconfigs.confLimitHel1 )
511- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassMotherHel1" ), part.pt (), part.mLambda ());
512- else if (cosineTheta < helicityconfigs.confLimitHel1 && cosineTheta >= helicityconfigs.confLimitHel2 )
513- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassMotherHel2" ), part.pt (), part.mLambda ());
514- else if (cosineTheta < helicityconfigs.confLimitHel2 && cosineTheta >= helicityconfigs.confLimitHel3 )
515- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassMotherHel3" ), part.pt (), part.mLambda ());
516- else if (cosineTheta < helicityconfigs.confLimitHel3 && cosineTheta >= helicityconfigs.confLimitHel4 )
517- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassMotherHel4" ), part.pt (), part.mLambda ());
515+ if (cosineTheta <= helicityconfigs.confLimitHel0 && cosineTheta >= helicityconfigs.confLimitHel1 ) {
516+ thetaRegistry.fill (HIST (" Theta/Mother/Data/hInvMassLambdaHel1" ), part.pt (), part.mLambda ());
517+ thetaRegistry.fill (HIST (" Theta/Mother/Data/hInvMassK0ShortHel1" ), invMassK0Short);
518+ } else if (cosineTheta < helicityconfigs.confLimitHel1 && cosineTheta >= helicityconfigs.confLimitHel2 ) {
519+ thetaRegistry.fill (HIST (" Theta/Mother/Data/hInvMassLambdaHel2" ), part.pt (), part.mLambda ());
520+ thetaRegistry.fill (HIST (" Theta/Mother/Data/hInvMassK0ShortHel2" ), invMassK0Short);
521+ } else if (cosineTheta < helicityconfigs.confLimitHel2 && cosineTheta >= helicityconfigs.confLimitHel3 ) {
522+ thetaRegistry.fill (HIST (" Theta/Mother/Data/hInvMassLambdaHel3" ), part.pt (), part.mLambda ());
523+ thetaRegistry.fill (HIST (" Theta/Mother/Data/hInvMassK0ShortHel3" ), invMassK0Short);
524+ } else if (cosineTheta < helicityconfigs.confLimitHel3 && cosineTheta >= helicityconfigs.confLimitHel4 ) {
525+ thetaRegistry.fill (HIST (" Theta/Mother/Data/hInvMassLambdaHel4" ), part.pt (), part.mLambda ());
526+ thetaRegistry.fill (HIST (" Theta/Mother/Data/hInvMassK0ShortHel4" ), invMassK0Short);
527+ }
518528
519- // / Histogramming for MC Reco to calculate fraction of K0S in the Lambda sample for each helicity bin
529+ // / Histogramming for MC Reco to calculate fraction of K0Short in the Lambda sample for each helicity bin
520530 if constexpr (confIsMC) {
521531 if (part.has_fdMCParticle ()) {
522532 if ((part.fdMCParticle ()).pdgMCTruth () == kLambda0 )
523- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassLambdaMC" ), part.mLambda ());
533+ thetaRegistry.fill (HIST (" Theta/Mother/MCReco/ hInvMassLambdaMC" ), part.mLambda ());
524534 else if ((part.fdMCParticle ()).pdgMCTruth () == kK0Short )
525- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassK0ShortMC" ), part.mKaon ());
535+ thetaRegistry.fill (HIST (" Theta/Mother/MCReco/ hInvMassK0ShortMC" ), part.mKaon ());
526536
527537 if (cosineTheta <= helicityconfigs.confLimitHel0 && cosineTheta >= helicityconfigs.confLimitHel1 ) {
528538 if ((part.fdMCParticle ()).pdgMCTruth () == kLambda0 )
529- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassLambdaMCHel1" ), part.mLambda ());
539+ thetaRegistry.fill (HIST (" Theta/Mother/MCReco/ hInvMassLambdaMCHel1" ), part.mLambda ());
530540 else if ((part.fdMCParticle ()).pdgMCTruth () == kK0Short )
531- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassK0ShortMCHel1" ), part.mKaon ());
541+ thetaRegistry.fill (HIST (" Theta/Mother/MCReco/ hInvMassK0ShortMCHel1" ), part.mKaon ());
532542 } else if (cosineTheta < helicityconfigs.confLimitHel1 && cosineTheta >= helicityconfigs.confLimitHel2 ) {
533543 if ((part.fdMCParticle ()).pdgMCTruth () == kLambda0 )
534- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassLambdaMCHel2" ), part.mLambda ());
544+ thetaRegistry.fill (HIST (" Theta/Mother/MCReco/ hInvMassLambdaMCHel2" ), part.mLambda ());
535545 else if ((part.fdMCParticle ()).pdgMCTruth () == kK0Short )
536- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassK0ShortMCHel2" ), part.mKaon ());
546+ thetaRegistry.fill (HIST (" Theta/Mother/MCReco/ hInvMassK0ShortMCHel2" ), part.mKaon ());
537547 } else if (cosineTheta < helicityconfigs.confLimitHel2 && cosineTheta >= helicityconfigs.confLimitHel3 ) {
538548 if ((part.fdMCParticle ()).pdgMCTruth () == kLambda0 )
539- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassLambdaMCHel3" ), part.mLambda ());
549+ thetaRegistry.fill (HIST (" Theta/Mother/MCReco/ hInvMassLambdaMCHel3" ), part.mLambda ());
540550 else if ((part.fdMCParticle ()).pdgMCTruth () == kK0Short )
541- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassK0ShortMCHel3" ), part.mKaon ());
551+ thetaRegistry.fill (HIST (" Theta/Mother/MCReco/ hInvMassK0ShortMCHel3" ), part.mKaon ());
542552 } else if (cosineTheta < helicityconfigs.confLimitHel3 && cosineTheta >= helicityconfigs.confLimitHel4 ) {
543553 if ((part.fdMCParticle ()).pdgMCTruth () == kLambda0 )
544- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassLambdaMCHel4" ), part.mLambda ());
554+ thetaRegistry.fill (HIST (" Theta/Mother/MCReco/ hInvMassLambdaMCHel4" ), part.mLambda ());
545555 else if ((part.fdMCParticle ()).pdgMCTruth () == kK0Short )
546- thetaRegistry.fill (HIST (" Theta/Mother/hInvMassK0ShortMCHel4" ), part.mKaon ());
556+ thetaRegistry.fill (HIST (" Theta/Mother/MCReco/ hInvMassK0ShortMCHel4" ), part.mKaon ());
547557 }
548558 }
549559 }
0 commit comments