@@ -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