Skip to content

Commit 90665be

Browse files
committed
apply newly introduced cuts
1 parent 7b27fdc commit 90665be

1 file changed

Lines changed: 22 additions & 16 deletions

File tree

‎DPG/Tasks/TPC/treeCreatorPidTpcDiagnostics.cxx‎

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -91,28 +91,28 @@ struct TreeCreatorPidTpcDiagnostics {
9191

9292
struct ParticleWiseCuts : ConfigurableGroup {
9393

94-
#define DECLARE_PARTICLE_WISE_CONFIGURABLES(ParticleNameShort, ParticleNameLong, Unused) \
95-
Configurable<float> cutTpcInnerParameterMin##ParticleNameLong{"cutTpcInnerParameterMin" #ParticleNameLong, 0.f, "Lower-value cut on tpcInnerParam for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
96-
Configurable<float> cutTpcInnerParameterMax##ParticleNameLong{"cutTpcInnerParameterMax" #ParticleNameLong, 999.f, "Upper-value cut on tpcInnerParam for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
97-
Configurable<float> cutExpSigmaMax##ParticleNameLong{"cutExpSigmaMax" #ParticleNameLong, 1e9f, "Upper-value cut on (positively-defined) expected sigma for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
98-
Configurable<float> cutDeDxExpectedMin##ParticleNameLong{"cutDeDxExpectedMin" #ParticleNameLong, -1e9f, "Lower-value cut on expected dE/dx for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
99-
Configurable<float> cutDeDxExpectedMax##ParticleNameLong{"cutDeDxExpectedMax" #ParticleNameLong, 1e9f, "Upper-value cut on expected dE/dx for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
100-
Configurable<float> cutDeDxDiffMin##ParticleNameLong{"cutDeDxDiffMin" #ParticleNameLong, -1e9f, "Lower-value cut on real - expected dE/dx difference for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
101-
Configurable<float> cutDeDxDiffMax##ParticleNameLong{"cutDeDxDiffMax" #ParticleNameLong, 1e9f, "Upper-value cut on real - expected dE/dx difference for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
102-
Configurable<float> cutNSigmaTpcAbs##ParticleNameLong{"cutNSigmaTpcAbs" #ParticleNameLong, 999.f, "Cut on absolute value of nSigmaTpc for " #ParticleNameLong}; // o2-linter: disable=name/configurable (Configurable defined in macro)
94+
#define DECLARE_PARTICLE_WISE_CONFIGURABLES(ParticleNameShort, ParticleNameLong, Unused) \
95+
Configurable<float> cutTpcInnerParameterMin##ParticleNameLong{"cutTpcInnerParameterMin" #ParticleNameLong, 0.f, "Lower-value cut on tpcInnerParam for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
96+
Configurable<float> cutTpcInnerParameterMax##ParticleNameLong{"cutTpcInnerParameterMax" #ParticleNameLong, 999.f, "Upper-value cut on tpcInnerParam for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
97+
Configurable<float> cutExpSigmaMax##ParticleNameLong{"cutExpSigmaMax" #ParticleNameLong, 1e9f, "Upper-value cut on expected sigma for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
98+
Configurable<float> cutDeDxExpectedMin##ParticleNameLong{"cutDeDxExpectedMin" #ParticleNameLong, -1e9f, "Lower-value cut on expected dE/dx for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
99+
Configurable<float> cutDeDxExpectedMax##ParticleNameLong{"cutDeDxExpectedMax" #ParticleNameLong, 1e9f, "Upper-value cut on expected dE/dx for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
100+
Configurable<float> cutDeDxDiffMin##ParticleNameLong{"cutDeDxDiffMin" #ParticleNameLong, -1e9f, "Lower-value cut on real - expected dE/dx difference for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
101+
Configurable<float> cutDeDxDiffMax##ParticleNameLong{"cutDeDxDiffMax" #ParticleNameLong, 1e9f, "Upper-value cut on real - expected dE/dx difference for " #ParticleNameLong}; /* o2-linter: disable=name/configurable (Configurable defined in macro)*/ \
102+
Configurable<float> cutNSigmaTpcAbs##ParticleNameLong{"cutNSigmaTpcAbs" #ParticleNameLong, 999.f, "Cut on absolute value of nSigmaTpc for " #ParticleNameLong}; // o2-linter: disable=name/configurable (Configurable defined in macro)
103103

104104
DO_FOR_ALL_PARTICLES(DECLARE_PARTICLE_WISE_CONFIGURABLES, _)
105105
#undef DECLARE_PARTICLE_WISE_CONFIGURABLES
106106
} particleWiseCuts;
107107

108108
#define PARTICLE_WISE_CUT_NAMES \
109-
(cutTpcInnerParameterMin)(cutTpcInnerParameterMax)(cutNSigmaTpcAbs)
109+
(cutTpcInnerParameterMin)(cutTpcInnerParameterMax)(cutExpSigmaMax)(cutDeDxExpectedMin)(cutDeDxExpectedMax)(cutDeDxDiffMin)(cutDeDxDiffMax)(cutNSigmaTpcAbs)
110110

111111
#define MAKE_PARTICLE_CUT_POINTER(ShortName, LongName, CutName) \
112112
&particleWiseCuts.BOOST_PP_CAT(CutName, LongName),
113113

114-
#define PACK_CONFIGURABLES_TO_ARRAY(Unused1, Unused2, CutName) \
115-
std::array<Configurable<float>*, PID::Alpha + 1> CutName{ \
114+
#define PACK_CONFIGURABLES_TO_ARRAY(Unused1, Unused2, CutName) \
115+
const std::array<Configurable<float>*, PID::Alpha + 1> CutName{ \
116116
DO_FOR_ALL_PARTICLES(MAKE_PARTICLE_CUT_POINTER, CutName)};
117117

118118
BOOST_PP_SEQ_FOR_EACH(PACK_CONFIGURABLES_TO_ARRAY, _, PARTICLE_WISE_CUT_NAMES)
@@ -245,10 +245,6 @@ struct TreeCreatorPidTpcDiagnostics {
245245
isGoodTrack &= (tpcInnerParam <= *cutTpcInnerParameterMax.at(ParticleId));
246246
isGoodTrack &= (std::fabs(nSigmaTpc) <= *cutNSigmaTpcAbs.at(ParticleId));
247247

248-
if (!isGoodTrack) {
249-
continue;
250-
}
251-
252248
float dedxDiff{UndefValueFloat};
253249
float dedxExpected{UndefValueFloat};
254250
float expSigma{UndefValueFloat};
@@ -257,6 +253,16 @@ struct TreeCreatorPidTpcDiagnostics {
257253
dedxDiff = o2::aod::pidutils::tpcExpSignalDiff<ParticleId>(track);
258254
dedxExpected = track.tpcSignal() - dedxDiff;
259255
expSigma = o2::aod::pidutils::tpcExpSigma<ParticleId>(track);
256+
257+
isGoodTrack &= (expSigma <= *cutExpSigmaMax.at(ParticleId));
258+
isGoodTrack &= (dedxExpected >= *cutDeDxExpectedMin.at(ParticleId));
259+
isGoodTrack &= (dedxExpected <= *cutDeDxExpectedMax.at(ParticleId));
260+
isGoodTrack &= (dedxDiff >= *cutDeDxDiffMin.at(ParticleId));
261+
isGoodTrack &= (dedxDiff <= *cutDeDxDiffMax.at(ParticleId));
262+
}
263+
264+
if (!isGoodTrack) {
265+
continue;
260266
}
261267

262268
float nSigmaTof{UndefValueFloat};

0 commit comments

Comments
 (0)