Skip to content

Commit 469f7c0

Browse files
committed
Add antiparticle hists
1 parent 30b02f9 commit 469f7c0

File tree

1 file changed

+62
-3
lines changed

1 file changed

+62
-3
lines changed

PWGLF/Tasks/Strangeness/strangeCascTrack.cxx

Lines changed: 62 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ struct StrangeCascTrack {
6868
HistogramRegistry histos{"Histos", {}, OutputObjHandlingPolicy::AnalysisObject};
6969

7070
// subprocess switches:
71-
// Configurable<bool> doProcessDirectData{"doProcessDirectData", false, "true for direct data, false for derived data"};
7271

7372
Configurable<bool> doProcesspp{"doProcesspp", true, "true for pp"};
7473
Configurable<bool> doProcessPbPb{"doProcessPbPb", false, "true for PbPb"};
@@ -891,6 +890,16 @@ struct StrangeCascTrack {
891890
histos.fill(HIST(TypeNames[Type]) + HIST("/Rec/FiltersXi"), 4.5);
892891
histos.fill(HIST(TypeNames[Type]) + HIST("/Rec/MassXi"), massXi);
893892
fillHist(histos.get<THn>(HIST(TypeNames[Type]) + HIST("/Rec/Xi")), binFillXi, efficiencyXi, efficiencyXiErr, purityXi, purityXiErr);
893+
// fill for particle-antiparticle type
894+
if (cascade.sign() < 0) {
895+
histos.fill(HIST(TypeNames[Type]) + HIST("/Rec/MassXiMinus"), massXi);
896+
fillHist(histos.get<THn>(HIST(TypeNames[Type]) + HIST("/Rec/XiMinus")), binFillXi, efficiencyXi, efficiencyXiErr, purityXi, purityXiErr);
897+
}
898+
if (cascade.sign() > 0) {
899+
histos.fill(HIST(TypeNames[Type]) + HIST("/Rec/MassXiPlus"), massXi);
900+
fillHist(histos.get<THn>(HIST(TypeNames[Type]) + HIST("/Rec/XiPlus")), binFillXi, efficiencyXi, efficiencyXiErr, purityXi, purityXiErr);
901+
}
902+
// fill truth
894903
if (fillTruthXi) {
895904
histos.fill(HIST(TypeNames[Type]) + HIST("/Rec-Truth/FiltersXi"), 4.5);
896905
histos.fill(HIST(TypeNames[Type]) + HIST("/Rec-Truth/MassXi"), massXi);
@@ -902,6 +911,16 @@ struct StrangeCascTrack {
902911
histos.fill(HIST(TypeNames[Type]) + HIST("/Rec/FiltersOmega"), 5.5);
903912
histos.fill(HIST(TypeNames[Type]) + HIST("/Rec/MassOmega"), massOmega);
904913
fillHist(histos.get<THn>(HIST(TypeNames[Type]) + HIST("/Rec/Omega")), binFillOmega, efficiencyOmega, efficiencyOmegaErr, purityOmega, purityOmegaErr);
914+
// fill for particle-antiparticle type
915+
if (cascade.sign() < 0) {
916+
histos.fill(HIST(TypeNames[Type]) + HIST("/Rec/MassOmegaMinus"), massOmega);
917+
fillHist(histos.get<THn>(HIST(TypeNames[Type]) + HIST("/Rec/OmegaMinus")), binFillOmega, efficiencyOmega, efficiencyOmegaErr, purityOmega, purityOmegaErr);
918+
}
919+
if (cascade.sign() > 0) {
920+
histos.fill(HIST(TypeNames[Type]) + HIST("/Rec/MassOmegaPlus"), massOmega);
921+
fillHist(histos.get<THn>(HIST(TypeNames[Type]) + HIST("/Rec/OmegaPlus")), binFillOmega, efficiencyOmega, efficiencyOmegaErr, purityOmega, purityOmegaErr);
922+
}
923+
// fill truth
905924
if (fillTruthOmega) {
906925
histos.fill(HIST(TypeNames[Type]) + HIST("/Rec-Truth/FiltersOmega"), 5.5);
907926
histos.fill(HIST(TypeNames[Type]) + HIST("/Rec-Truth/MassOmega"), massOmega);
@@ -976,6 +995,14 @@ struct StrangeCascTrack {
976995
histos.add(Form("%s/Rec/MassOmega", TypeNames[Type].data()), "Invariant mass hypothesis", kTH1D, {axesConfig.axisOmegaMass});
977996
histos.add(Form("%s/Rec/Xi", TypeNames[Type].data()), "", kTHnD, {axesConfig.axisXiMass, axesConfig.axisPt, axesConfig.axisMult});
978997
histos.add(Form("%s/Rec/Omega", TypeNames[Type].data()), "", kTHnD, {axesConfig.axisOmegaMass, axesConfig.axisPt, axesConfig.axisMult});
998+
histos.add(Form("%s/Rec/MassXiMinus", TypeNames[Type].data()), "Invariant mass hypothesis", kTH1D, {axesConfig.axisXiMass});
999+
histos.add(Form("%s/Rec/MassOmegaMinus", TypeNames[Type].data()), "Invariant mass hypothesis", kTH1D, {axesConfig.axisOmegaMass});
1000+
histos.add(Form("%s/Rec/XiMinus", TypeNames[Type].data()), "", kTHnD, {axesConfig.axisXiMass, axesConfig.axisPt, axesConfig.axisMult});
1001+
histos.add(Form("%s/Rec/OmegaMinus", TypeNames[Type].data()), "", kTHnD, {axesConfig.axisOmegaMass, axesConfig.axisPt, axesConfig.axisMult});
1002+
histos.add(Form("%s/Rec/MassXiPlus", TypeNames[Type].data()), "Invariant mass hypothesis", kTH1D, {axesConfig.axisXiMass});
1003+
histos.add(Form("%s/Rec/MassOmegaPlus", TypeNames[Type].data()), "Invariant mass hypothesis", kTH1D, {axesConfig.axisOmegaMass});
1004+
histos.add(Form("%s/Rec/XiPlus", TypeNames[Type].data()), "", kTHnD, {axesConfig.axisXiMass, axesConfig.axisPt, axesConfig.axisMult});
1005+
histos.add(Form("%s/Rec/OmegaPlus", TypeNames[Type].data()), "", kTHnD, {axesConfig.axisOmegaMass, axesConfig.axisPt, axesConfig.axisMult});
9791006
// mc truth for all passed selections
9801007
// xi and omega truth selection statistics
9811008
histos.add(Form("%s/Rec-Truth/FiltersXi", TypeNames[Type].data()), "main cascade filters for Xi", kTH1D, {{5, 0, 5}});
@@ -1003,9 +1030,17 @@ struct StrangeCascTrack {
10031030
histos.add("MC/Gen/Xi", "Xi", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated Xis
10041031
histos.add("MC/Gen/Omega", "Omega", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated Omegas
10051032
histos.add("MC/Gen/PrimaryXi", "Xi primaries", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Xis
1006-
histos.add("MC/Gen/PrimaryOmega", "Omega primaries in |y|", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Omegas
1007-
histos.add("MC/Gen/PrimaryXiRapidity", "Xi primaries", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Xis in selected rapidity range
1033+
histos.add("MC/Gen/PrimaryOmega", "Omega primaries", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Omegas
1034+
histos.add("MC/Gen/PrimaryXiRapidity", "Xi primaries in |y|", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Xis in selected rapidity range
10081035
histos.add("MC/Gen/PrimaryOmegaRapidity", "Omega primaries in |y|", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Omegas in selected rapidity range
1036+
histos.add("MC/Gen/PrimaryXiMinus", "Xi- primaries", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Xis
1037+
histos.add("MC/Gen/PrimaryOmegaMinus", "Omega- primaries", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Omegas
1038+
histos.add("MC/Gen/PrimaryXiMinusRapidity", "Xi- primaries in |y| ", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Xis in selected rapidity range
1039+
histos.add("MC/Gen/PrimaryOmegaMinusRapidity", "Omega- primaries in |y|", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Omegas in selected rapidity range
1040+
histos.add("MC/Gen/PrimaryXiPlus", "Xi+ primaries", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Xis
1041+
histos.add("MC/Gen/PrimaryOmegaPlus", "Omega+ primaries", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Omegas
1042+
histos.add("MC/Gen/PrimaryXiPlusRapidity", "Xi+ primaries in |y|", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Xis in selected rapidity range
1043+
histos.add("MC/Gen/PrimaryOmegaPlusRapidity", "Omega+ primaries in |y|", kTH2D, {axesConfig.axisPt, axesConfig.axisMult}); // generated primary Omegas in selected rapidity range
10091044
// label filter statistic bins for standard cascs
10101045
histos.get<TH1>(HIST("Standard/Rec/FiltersXi"))->GetXaxis()->SetBinLabel(1, "p_{T}");
10111046
histos.get<TH1>(HIST("Standard/Rec/FiltersXi"))->GetXaxis()->SetBinLabel(2, "gen");
@@ -1165,11 +1200,35 @@ struct StrangeCascTrack {
11651200
histos.fill(HIST("MC/Gen/PrimaryXi"), cascPt, cascMult);
11661201
if (std::abs(casc.rapidityMC(0)) < selCuts.cutRapidity)
11671202
histos.fill(HIST("MC/Gen/PrimaryXiRapidity"), cascPt, cascMult);
1203+
if (casc.pdgCode() == PDG_t::kXiMinus)
1204+
{
1205+
histos.fill(HIST("MC/Gen/PrimaryXiMinus"), cascPt, cascMult);
1206+
if (std::abs(casc.rapidityMC(0)) < selCuts.cutRapidity)
1207+
histos.fill(HIST("MC/Gen/PrimaryXiMinusRapidity"), cascPt, cascMult);
1208+
}
1209+
if (casc.pdgCode() == PDG_t::kXiPlusBar)
1210+
{
1211+
histos.fill(HIST("MC/Gen/PrimaryXiPlus"), cascPt, cascMult);
1212+
if (std::abs(casc.rapidityMC(0)) < selCuts.cutRapidity)
1213+
histos.fill(HIST("MC/Gen/PrimaryXiPlusRapidity"), cascPt, cascMult);
1214+
}
11681215
}
11691216
if (isValidPDG(casc, "Omega")) {
11701217
histos.fill(HIST("MC/Gen/PrimaryOmega"), cascPt, cascMult);
11711218
if (std::abs(casc.rapidityMC(2)) < selCuts.cutRapidity)
11721219
histos.fill(HIST("MC/Gen/PrimaryOmegaRapidity"), cascPt, cascMult);
1220+
if (casc.pdgCode() == PDG_t::kOmegaMinus)
1221+
{
1222+
histos.fill(HIST("MC/Gen/PrimaryOmegaMinus"), cascPt, cascMult);
1223+
if (std::abs(casc.rapidityMC(2)) < selCuts.cutRapidity)
1224+
histos.fill(HIST("MC/Gen/PrimaryOmegaMinusRapidity"), cascPt, cascMult);
1225+
}
1226+
if (casc.pdgCode() == PDG_t::kOmegaPlusBar)
1227+
{
1228+
histos.fill(HIST("MC/Gen/PrimaryOmegaPlus"), cascPt, cascMult);
1229+
if (std::abs(casc.rapidityMC(2)) < selCuts.cutRapidity)
1230+
histos.fill(HIST("MC/Gen/PrimaryOmegaPlusRapidity"), cascPt, cascMult);
1231+
}
11731232
}
11741233
}
11751234
}

0 commit comments

Comments
 (0)