Skip to content

Commit e30126b

Browse files
committed
cut pt
1 parent d671b4c commit e30126b

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

PWGHF/TableProducer/trackIndexSkimCreator.cxx

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
/// \author Jinjoo Seo <jseo@cern.ch>, Inha University
2020
/// \author Fabrizio Grosa <fgrosa@cern.ch>, CERN
2121
/// \author Federica Zanone <federica.zanone@cern.ch>, Heidelberg University
22+
/// \author Ruiqi Yin <ruiqi.yin@cern.ch>, Fudan University
2223

2324
#include <algorithm> // std::find
2425
#include <iterator> // std::distance
@@ -3235,6 +3236,10 @@ struct HfTrackIndexSkimCreatorLfCascades {
32353236
// selections have been set to run2 lambda dedicated cuts
32363237
// selections for cascade have been set to the loosest value between xi and omega
32373238
// a tolerance has been added to be more conservative
3239+
Configurable<float> ptMinTrackOmegacZeroToOmegaPiLfCasc{"ptMinTrackOmegacZeroToOmegaPiLfCasc", 2.0, "min. track pT for Omegaczero in Omega + Pi decays"};
3240+
Configurable<float> ptMinTrackOmegaczeroToOmegaKaLfCasc{"ptMinTrackOmegaczeroToOmegaKaLfCasc", 2.0, "min. track pT for Omegaczero in Omega + Ka decays"};
3241+
Configurable<float> ptMinTrackXicZeroOmegacZeroLfCasc{"ptMinTrackXicZeroOmegacZeroLfCasc", 2.0, "min. track pT for XicZeroOmegacZero in Xi + Pi decays"};
3242+
Configurable<float> ptMinTrackXicplusLfCasc{"ptMinTrackXicplusLfCasc", 2.0, "min. track pT for Xicplus in Xi + Pi + Pi decays"};
32383243
Configurable<float> v0TransvRadius{"v0TransvRadius", 1.0, "V0 radius in xy plane"}; // 1.2 (xi) and 1.1 (omega) in run2
32393244
Configurable<float> cascTransvRadius{"cascTransvRadius", 0.4, "Cascade radius in xy plane"}; // 0.5 cm (xi) and 0.6 (omega) in run2
32403245
Configurable<float> dcaBachToPv{"dcaBachToPv", 0.03, "DCA Bach To PV"}; // 0.04 in run2
@@ -3358,6 +3363,13 @@ struct HfTrackIndexSkimCreatorLfCascades {
33583363
registry.add("hDCACascDau", "hDCACascDau", {HistType::kTH1D, {{500, 0.0f, 5.0f, "cm^{2}"}}});
33593364
registry.add("hLambdaMass", "hLambdaMass", {HistType::kTH1D, {{400, 0.916f, 1.316f, "Inv. Mass (GeV/c^{2})"}}});
33603365

3366+
//pT rej
3367+
registry.add("hPtXicZeroOmegacZeroToXiPi", "Omegac/Xic to Xi Pi tracks selected by pT;#it{p}_{T}^{track} (GeV/#it{c});entries", {HistType::kTH1D, {{500, 0., 50.}}});
3368+
registry.add("hPtCutsOmegacZeroToOmegaPi", "Omegac/Xic to Omega Pi tracks selected by pT;#it{p}_{T}^{track} (GeV/#it{c});entries", {HistType::kTH1D, {{500, 0., 50.}}});
3369+
registry.add("hPtCutsOmegacZeroToOmegaK", "Omegac/Xic to Omega Ka tracks selected by pT;#it{p}_{T}^{track} (GeV/#it{c});entries", {HistType::kTH1D, {{500, 0., 50.}}});
3370+
registry.add("hPtCutsXicPlusToXiPiPi", "Omegac/Xic to Xi Pi Pi tracks selected by pT;#it{p}_{T}^{track} (GeV/#it{c});entries", {HistType::kTH1D, {{500, 0., 50.}}});
3371+
//registry.add("hRejpTCharmBaryons", "CharmBaryons rejected by pT status;status;entries", {HistType::kTH1D, {{2, -0.5, 1.5}}}); //pass dcafitter --> 0, pT>pTmin --> 1
3372+
33613373
// mass spectra
33623374
registry.add("hMassXicZeroOmegacZeroToXiPi", "2-prong candidates;inv. mass (#Xi #pi) (GeV/#it{c}^{2});entries", {HistType::kTH1D, {{500, 2., 3.}}});
33633375
registry.add("hMassOmegacZeroToOmegaPi", "2-prong candidates;inv. mass (#Omega #pi) (GeV/#it{c}^{2});entries", {HistType::kTH1D, {{500, 2., 3.}}});
@@ -3555,17 +3567,19 @@ struct HfTrackIndexSkimCreatorLfCascades {
35553567
std::array<float, 3> pVecPion1XiHyp = {0.};
35563568
df2.getTrack(0).getPxPyPzGlo(pVecXi);
35573569
df2.getTrack(1).getPxPyPzGlo(pVecPion1XiHyp);
3570+
float p_T_Xic = std::hypot(pVecXi[0] + pVecPion1XiHyp[0], pVecXi[1] + pVecPion1XiHyp[1]);
35583571

35593572
std::array<std::array<float, 3>, 2> arrMomToXi = {pVecXi, pVecPion1XiHyp};
35603573
auto mass2ProngXiHyp = RecoDecay::m(arrMomToXi, arrMass2Prong[hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi]);
35613574

3562-
if ((std::abs(casc.mXi() - massXi) < config.cascadeMassWindow) && (mass2ProngXiHyp >= config.massXiPiMin) && (mass2ProngXiHyp <= config.massXiPiMax)) {
3575+
if ((std::abs(casc.mXi() - massXi) < config.cascadeMassWindow) && (mass2ProngXiHyp >= config.massXiPiMin) && (mass2ProngXiHyp <= config.massXiPiMax) && (p_T_Xic >= config.ptMinTrackXicZeroOmegacZeroLfCasc)) {
35633576
SETBIT(hfFlag, aod::hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi);
35643577
}
35653578

35663579
// fill histograms
35673580
if (config.fillHistograms && (TESTBIT(hfFlag, aod::hf_cand_casc_lf::DecayType2Prong::XiczeroOmegaczeroToXiPi))) {
35683581
registry.fill(HIST("hMassXicZeroOmegacZeroToXiPi"), mass2ProngXiHyp);
3582+
registry.fill(HIST("hPtXicZeroOmegacZeroToXiPi"), p_T_Xic);
35693583
}
35703584
} else if (df2.isPropagationFailure()) {
35713585
LOGF(info, "Exception caught: failed to propagate tracks (2prong - xi) to charm baryon decay vtx");
@@ -3596,16 +3610,17 @@ struct HfTrackIndexSkimCreatorLfCascades {
35963610
std::array<float, 3> pVecCharmBachelor1OmegaHyp = {0.};
35973611
df2.getTrack(0).getPxPyPzGlo(pVecOmega);
35983612
df2.getTrack(1).getPxPyPzGlo(pVecCharmBachelor1OmegaHyp);
3613+
float p_T_Omegac = std::hypot(pVecOmega[0] + pVecCharmBachelor1OmegaHyp[0], pVecOmega[1] + pVecCharmBachelor1OmegaHyp[1]);
35993614

36003615
std::array<std::array<float, 3>, 2> arrMomToOmega = {pVecOmega, pVecCharmBachelor1OmegaHyp};
36013616
auto mass2ProngOmegaPiHyp = RecoDecay::m(arrMomToOmega, arrMass2Prong[hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi]);
36023617
auto mass2ProngOmegaKHyp = RecoDecay::m(arrMomToOmega, arrMass2Prong[hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK]);
36033618

36043619
if (std::abs(casc.mOmega() - massOmega) < config.cascadeMassWindow) {
3605-
if ((mass2ProngOmegaPiHyp >= config.massOmegaCharmBachelorMin) && (mass2ProngOmegaPiHyp <= config.massOmegaCharmBachelorMax)) {
3620+
if ((mass2ProngOmegaPiHyp >= config.massOmegaCharmBachelorMin) && (mass2ProngOmegaPiHyp <= config.massOmegaCharmBachelorMax) && (p_T_Omegac >= config.ptMinTrackOmegacZeroToOmegaPiLfCasc)) {
36063621
SETBIT(hfFlag, aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi);
36073622
}
3608-
if ((mass2ProngOmegaKHyp >= config.massOmegaCharmBachelorMin) && (mass2ProngOmegaKHyp <= config.massOmegaCharmBachelorMax)) {
3623+
if ((mass2ProngOmegaKHyp >= config.massOmegaCharmBachelorMin) && (mass2ProngOmegaKHyp <= config.massOmegaCharmBachelorMax) && (p_T_Omegac >= config.ptMinTrackOmegaczeroToOmegaKaLfCasc)) {
36093624
SETBIT(hfFlag, aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK);
36103625
}
36113626
}
@@ -3614,9 +3629,11 @@ struct HfTrackIndexSkimCreatorLfCascades {
36143629
if (config.fillHistograms) {
36153630
if (TESTBIT(hfFlag, aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaPi)) {
36163631
registry.fill(HIST("hMassOmegacZeroToOmegaPi"), mass2ProngOmegaPiHyp);
3632+
registry.fill(HIST("hPtCutsOmegacZeroToOmegaPi"), p_T_Omegac);
36173633
}
36183634
if (TESTBIT(hfFlag, aod::hf_cand_casc_lf::DecayType2Prong::OmegaczeroToOmegaK)) {
36193635
registry.fill(HIST("hMassOmegacZeroToOmegaK"), mass2ProngOmegaKHyp);
3636+
registry.fill(HIST("hPtCutsOmegacZeroToOmegaK"), p_T_Omegac);
36203637
}
36213638
}
36223639
} else if (df2.isPropagationFailure()) {
@@ -3689,17 +3706,19 @@ struct HfTrackIndexSkimCreatorLfCascades {
36893706
df3.getTrack(0).getPxPyPzGlo(pVec1); // take the momentum at the Xic vertex
36903707
df3.getTrack(1).getPxPyPzGlo(pVec2);
36913708
df3.getTrack(2).getPxPyPzGlo(pVec3);
3709+
float p_T_Xic3Prong = std::hypot(pVec1[0] + pVec2[0] + pVec3[0], pVec1[1] + pVec2[1] + pVec3[1]);
36923710

36933711
std::array<std::array<float, 3>, 3> arr3Mom = {pVec1, pVec2, pVec3};
36943712
auto mass3Prong = RecoDecay::m(arr3Mom, arrMass3Prong[hf_cand_casc_lf::DecayType3Prong::XicplusToXiPiPi]);
36953713

3696-
if ((std::abs(casc.mXi() - massXi) < config.cascadeMassWindow) && (mass3Prong >= config.massXiPiPiMin) && (mass3Prong <= config.massXiPiPiMax)) {
3714+
if ((std::abs(casc.mXi() - massXi) < config.cascadeMassWindow) && (mass3Prong >= config.massXiPiPiMin) && (mass3Prong <= config.massXiPiPiMax) && (p_T_Xic3Prong >= config.ptMinTrackXicplusLfCasc)) {
36973715
SETBIT(hfFlag, aod::hf_cand_casc_lf::DecayType3Prong::XicplusToXiPiPi);
36983716
}
36993717

37003718
// fill histograms
37013719
if (config.fillHistograms && (TESTBIT(hfFlag, aod::hf_cand_casc_lf::DecayType3Prong::XicplusToXiPiPi))) {
37023720
registry.fill(HIST("hMassXicPlusToXiPiPi"), mass3Prong);
3721+
registry.fill(HIST("hPtCutsXicPlusToXiPiPi"), p_T_Xic3Prong);
37033722
}
37043723
} else if (df3.isPropagationFailure()) {
37053724
LOGF(info, "Exception caught: failed to propagate tracks (3prong) to charm baryon decay vtx");

0 commit comments

Comments
 (0)