Skip to content

Commit bf45d82

Browse files
committed
Add extra histograms to helicity analysis
1 parent 1dad2d0 commit bf45d82

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

PWGCF/FemtoUniverse/Tasks/femtoUniversePairTaskTrackV0Helicity.cxx

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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}});
@@ -359,6 +366,8 @@ struct FemtoUniversePairTaskTrackV0Helicity {
359366
negChildHistos.fillQA<false, true>(negChild);
360367

361368
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());
362371
thetaRegistry.fill(HIST("Theta/PositiveChild/hThetaPt"), posChild.pt(), cosineTheta);
363372
thetaRegistry.fill(HIST("Theta/PositiveChild/hThetaEta"), posChild.eta(), cosineTheta);
364373
thetaRegistry.fill(HIST("Theta/PositiveChild/hThetaPhi"), posChild.phi(), cosineTheta);
@@ -889,12 +898,17 @@ struct FemtoUniversePairTaskTrackV0Helicity {
889898
const auto& posChild = parts.iteratorAt(part.index() - 2);
890899
const auto& negChild = parts.iteratorAt(part.index() - 1);
891900

901+
registryMCtruth.fill(HIST("PosChildMCTruth/hPt"), posChild.pt());
902+
registryMCtruth.fill(HIST("NegChildMCTruth/hPt"), negChild.pt());
903+
892904
auto posChildMass = pdg->Mass(confPDGCodePosChild);
893905
auto negChildMass = pdg->Mass(confPDGCodeNegChild);
894906
auto posChildBoosted = FemtoUniverseMath::boostPRF<decltype(posChild)>(posChild, posChildMass, negChild, negChildMass);
895907
auto cosineTheta = (posChildBoosted.Px() * part.px() + posChildBoosted.Py() * part.py() + posChildBoosted.Pz() * part.pz()) / (posChildBoosted.P() * part.p());
896908

897909
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());
898912
registryMCtruth.fill(HIST("ThetaMCTruth/PositiveChild/hThetaPt"), posChild.pt(), cosineTheta);
899913
registryMCtruth.fill(HIST("ThetaMCTruth/PositiveChild/hThetaEta"), posChild.eta(), cosineTheta);
900914
registryMCtruth.fill(HIST("ThetaMCTruth/PositiveChild/hThetaPhi"), posChild.phi(), cosineTheta);
@@ -969,23 +983,6 @@ struct FemtoUniversePairTaskTrackV0Helicity {
969983
}
970984
}
971985
} // 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);
989986
}
990987
}
991988

0 commit comments

Comments
 (0)