Skip to content

Commit 1998f75

Browse files
authored
Merge branch 'AliceO2Group:master' into master
2 parents e1be81a + 51e07a2 commit 1998f75

23 files changed

+1031
-568
lines changed

PWGCF/FemtoDream/Core/femtoDreamContainerThreeBody.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ class FemtoDreamContainerThreeBody
7474

7575
mHistogramRegistry->add((folderName + "/relTripletDist").c_str(), ("; " + femtoObs + "; Entries").c_str(), kTH1F, {femtoObsAxis});
7676
mHistogramRegistry->add((folderName + "/relTripletQ3Mult").c_str(), ("; " + femtoObs + "; Multiplicity").c_str(), kTH2F, {femtoObsAxis, multAxis});
77+
mHistogramRegistry->add((folderName + "/mT1").c_str(), ";mT; Q3", kTH2F, {{1000, 0, 25}, femtoObsAxis});
78+
mHistogramRegistry->add((folderName + "/mT2").c_str(), ";mT; Q3", kTH2F, {{1000, 0, 25}, femtoObsAxis});
79+
mHistogramRegistry->add((folderName + "/mT3").c_str(), ";mT; Q3", kTH2F, {{1000, 0, 25}, femtoObsAxis});
80+
mHistogramRegistry->add((folderName + "/mTAverage").c_str(), ";mT; Q3", kTH2F, {{1000, 0, 25}, femtoObsAxis});
7781
}
7882

7983
/// Initializes specialized Monte Carlo truth histograms for the task in case of three-body femtoscopy
@@ -145,6 +149,7 @@ class FemtoDreamContainerThreeBody
145149
template <o2::aod::femtodreamMCparticle::MCType mc, typename T>
146150
void setTriplet_base(const float femtoObs, T const& /*part1*/, T const& /*part2*/, T const& /*part3*/, const int mult)
147151
{
152+
// FILL MAIN Q3 info
148153
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/relTripletDist"), femtoObs);
149154
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/relTripletQ3Mult"), femtoObs, mult);
150155
}
@@ -180,6 +185,15 @@ class FemtoDreamContainerThreeBody
180185
void setTriplet(T const& part1, T const& part2, T const& part3, const int mult, const float femtoObs)
181186
{
182187
float femtoObsMC;
188+
float mT1 = FemtoDreamMath::getmT(part1, mMassOne, part2, mMassTwo);
189+
float mT2 = FemtoDreamMath::getmT(part2, mMassTwo, part3, mMassThree);
190+
float mT3 = FemtoDreamMath::getmT(part1, mMassOne, part3, mMassThree);
191+
float mTAverage = (mT1 + mT2 + mT3) / 3.;
192+
// FILL mT info
193+
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[o2::aod::femtodreamMCparticle::MCType::kRecon]) + HIST("/mT1"), mT1, femtoObs);
194+
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[o2::aod::femtodreamMCparticle::MCType::kRecon]) + HIST("/mT2"), mT2, femtoObs);
195+
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[o2::aod::femtodreamMCparticle::MCType::kRecon]) + HIST("/mT3"), mT3, femtoObs);
196+
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[o2::aod::femtodreamMCparticle::MCType::kRecon]) + HIST("/mTAverage"), mTAverage, femtoObs);
183197

184198
if (mHistogramRegistry) {
185199
setTriplet_base<o2::aod::femtodreamMCparticle::MCType::kRecon>(femtoObs, part1, part2, part3, mult);

PWGCF/FemtoDream/Tasks/femtoDreamTripletTaskTrackTrackTrack.cxx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,8 @@ struct femtoDreamTripletTaskTrackTrackTrack {
145145
if (ConfIsMC) {
146146
ThreeBodyQARegistry.add("TrackMC_QA/hMazzachi", ";gen;(reco-gen)/gen", kTH2F, {{100, ConfMinpT, ConfMaxpT}, {300, -1, 1}});
147147
}
148+
ThreeBodyQARegistry.add("TripletTaskQA/hCentrality", ";Centrality; Q3", kTH2F, {{100, 0, 100}, ConfQ3Bins});
149+
148150
sameEventCont.init(&resultRegistry, ConfQ3Bins, ConfMultBins, ConfIsMC);
149151
mixedEventCont.init(&resultRegistry, ConfQ3Bins, ConfMultBins, ConfIsMC);
150152
sameEventCont.setPDGCodes(ConfPDGCodePart, ConfPDGCodePart, ConfPDGCodePart);
@@ -242,9 +244,11 @@ struct femtoDreamTripletTaskTrackTrackTrack {
242244
if (!pairCleaner.isCleanPair(p1, p3, parts)) {
243245
continue;
244246
}
247+
245248
// fill pT of all three particles as a function of Q3 for lambda calculations
246249
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/particle_pT_in_Triplet_SE"), p1.pt(), p2.pt(), p3.pt(), Q3);
247250
sameEventCont.setTriplet<isMC>(p1, p2, p3, multCol, Q3);
251+
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hCentrality"), centCol, Q3);
248252
}
249253
}
250254

PWGCF/FemtoDream/Tasks/femtoDreamTripletTaskTrackTrackV0.cxx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,8 @@ struct femtoDreamTripletTaskTrackTrackV0 {
200200
ThreeBodyQARegistry.add("TripletTaskQA/hMinvME_AntiLambda", ";Q_{3};M_{inv}", kTH2F, {ConfQ3Bins, ConfInvMassBins});
201201
ThreeBodyQARegistry.add("TripletTaskQA/particle_pT_in_Triplet_SE", "; p_{T1} ; p_{T2} ; p_{T3} ; Q_{3}", kTHnSparseF, {ConfTempFitVarpTBins, ConfTempFitVarpTBins, ConfTempFitVarpTV0Bins, ConfQ3BinsFor4D});
202202
ThreeBodyQARegistry.add("TripletTaskQA/particle_pT_in_Triplet_ME", "; p_{T1} ; p_{T2} ; p_{T3} ; Q_{3}", kTHnSparseF, {ConfTempFitVarpTBins, ConfTempFitVarpTBins, ConfTempFitVarpTV0Bins, ConfQ3BinsFor4D});
203+
ThreeBodyQARegistry.add("TripletTaskQA/hCentrality", ";Centrality; Q3", kTH2F, {{100, 0, 100}, ConfQ3Bins});
204+
203205
std::vector<double> tmpVecMult = ConfMultBins;
204206
framework::AxisSpec multAxis = {tmpVecMult, "Multiplicity"};
205207
ThreeBodyQARegistry.add("TripletTaskQA/hSEMultVSGoodTracks", ";Mult;GoodT", kTH2F, {multAxis, {100, 0, 100}});
@@ -375,6 +377,7 @@ struct femtoDreamTripletTaskTrackTrackV0 {
375377
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hMinvSE_AntiLambda"), Q3, V0.mAntiLambda());
376378
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/particle_pT_in_Triplet_SE"), T1.pt(), T2.pt(), V0.pt(), Q3);
377379
sameEventCont.setTriplet<isMC>(T1, T2, V0, multCol, Q3);
380+
ThreeBodyQARegistry.fill(HIST("TripletTaskQA/hCentrality"), centCol, Q3);
378381
}
379382
}
380383
}

PWGCF/TableProducer/dptdptfilter.h

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,13 @@ enum TpcExclusionMethod {
162162
/// \enum ItsDeadMapsCheckType
163163
/// \brief Check for the right level of ITS dead chips
164164
enum ItsDeadMapsCheckType {
165-
kNOCHECK = 0, ///< no check
166-
kGOODITSLAYER3, ///< check the 3 ITS layer
167-
kGOODITSLAYER0123, ///< check the 0,1,2,and 3 ITS layers
168-
kGOODITSLAYERALL ///< check the all ITS layers
165+
kNOCHECK = 0, ///< no check
166+
kGOODITSLAYER3, ///< check good the 3 ITS layer
167+
kGOODITSLAYER0123, ///< check good the 0,1,2,and 3 ITS layers
168+
kGOODITSLAYERALL, ///< check good all ITS layers
169+
kNOGOODITSLAYER3, ///< check no good the 3 ITS layer
170+
kNOGOODITSLAYER0123, ///< check no good the 0,1,2,and 3 ITS layers
171+
kNOGOODITSLAYERALL ///< check no good all ITS layers
169172
};
170173

171174
//============================================================================================
@@ -548,6 +551,12 @@ inline ItsDeadMapsCheckType getItsDeadMapCheck(const std::string& check)
548551
return kGOODITSLAYER0123;
549552
} else if (check == "goodItsAll") {
550553
return kGOODITSLAYERALL;
554+
} else if (check == "noGoodIts3") {
555+
return kNOGOODITSLAYER3;
556+
} else if (check == "noGoodIts0123") {
557+
return kNOGOODITSLAYER0123;
558+
} else if (check == "noGoodItsAll") {
559+
return kNOGOODITSLAYERALL;
551560
} else {
552561
LOGF(fatal, "ITS dead map check %s not implemented", check.c_str());
553562
return kNOCHECK;
@@ -1007,27 +1016,24 @@ inline bool occupancySelection<aod::McCollision>(aod::McCollision const&)
10071016
template <typename CollisionObject>
10081017
inline bool selectOnItsDeadMaps(CollisionObject coll)
10091018
{
1019+
auto checkFlag = [](auto flag, bool invert = false) {
1020+
return flag && !invert;
1021+
};
10101022
switch (fItsDeadMapCheck) {
10111023
case kNOCHECK:
10121024
return true;
10131025
case kGOODITSLAYER3:
1014-
if (coll.selection_bit(aod::evsel::kIsGoodITSLayer3)) {
1015-
return true;
1016-
} else {
1017-
return false;
1018-
}
1026+
return checkFlag(coll.selection_bit(aod::evsel::kIsGoodITSLayer3));
10191027
case kGOODITSLAYER0123:
1020-
if (coll.selection_bit(aod::evsel::kIsGoodITSLayer0123)) {
1021-
return true;
1022-
} else {
1023-
return false;
1024-
}
1028+
return checkFlag(coll.selection_bit(aod::evsel::kIsGoodITSLayer0123));
10251029
case kGOODITSLAYERALL:
1026-
if (coll.selection_bit(aod::evsel::kIsGoodITSLayersAll)) {
1027-
return true;
1028-
} else {
1029-
return false;
1030-
}
1030+
return checkFlag(coll.selection_bit(aod::evsel::kIsGoodITSLayersAll));
1031+
case kNOGOODITSLAYER3:
1032+
return checkFlag(coll.selection_bit(aod::evsel::kIsGoodITSLayer3), true);
1033+
case kNOGOODITSLAYER0123:
1034+
return checkFlag(coll.selection_bit(aod::evsel::kIsGoodITSLayer0123), true);
1035+
case kNOGOODITSLAYERALL:
1036+
return checkFlag(coll.selection_bit(aod::evsel::kIsGoodITSLayersAll), true);
10311037
default:
10321038
return false;
10331039
}

PWGEM/Dilepton/Core/DielectronCut.cxx

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,52 @@ void DielectronCut::SetTOFNsigmaPrRange(float min, float max)
274274
mMaxTOFNsigmaPr = max;
275275
LOG(info) << "Dielectron Cut, set TOF n sigma Pr range: " << mMinTOFNsigmaPr << " - " << mMaxTOFNsigmaPr;
276276
}
277+
278+
void DielectronCut::SetITSNsigmaElRange(float min, float max)
279+
{
280+
mMinITSNsigmaEl = min;
281+
mMaxITSNsigmaEl = max;
282+
LOG(info) << "Dielectron Cut, set ITS n sigma El range: " << mMinITSNsigmaEl << " - " << mMaxITSNsigmaEl;
283+
}
284+
void DielectronCut::SetITSNsigmaMuRange(float min, float max)
285+
{
286+
mMinITSNsigmaMu = min;
287+
mMaxITSNsigmaMu = max;
288+
LOG(info) << "Dielectron Cut, set ITS n sigma Mu range: " << mMinITSNsigmaMu << " - " << mMaxITSNsigmaMu;
289+
}
290+
void DielectronCut::SetITSNsigmaPiRange(float min, float max)
291+
{
292+
mMinITSNsigmaPi = min;
293+
mMaxITSNsigmaPi = max;
294+
LOG(info) << "Dielectron Cut, set ITS n sigma Pi range: " << mMinITSNsigmaPi << " - " << mMaxITSNsigmaPi;
295+
}
296+
void DielectronCut::SetITSNsigmaKaRange(float min, float max)
297+
{
298+
mMinITSNsigmaKa = min;
299+
mMaxITSNsigmaKa = max;
300+
LOG(info) << "Dielectron Cut, set ITS n sigma Ka range: " << mMinITSNsigmaKa << " - " << mMaxITSNsigmaKa;
301+
}
302+
void DielectronCut::SetITSNsigmaPrRange(float min, float max)
303+
{
304+
mMinITSNsigmaPr = min;
305+
mMaxITSNsigmaPr = max;
306+
LOG(info) << "Dielectron Cut, set ITS n sigma Pr range: " << mMinITSNsigmaPr << " - " << mMaxITSNsigmaPr;
307+
}
308+
309+
void DielectronCut::SetPRangeForITSNsigmaKa(float min, float max)
310+
{
311+
mMinP_ITSNsigmaKa = min;
312+
mMaxP_ITSNsigmaKa = max;
313+
LOG(info) << "Dielectron Cut, set p range for ITS n sigma Ka: " << mMinP_ITSNsigmaKa << " - " << mMaxP_ITSNsigmaKa;
314+
}
315+
316+
void DielectronCut::SetPRangeForITSNsigmaPr(float min, float max)
317+
{
318+
mMinP_ITSNsigmaPr = min;
319+
mMaxP_ITSNsigmaPr = max;
320+
LOG(info) << "Dielectron Cut, set p range for ITS n sigma Pr: " << mMinP_ITSNsigmaPr << " - " << mMaxP_ITSNsigmaPr;
321+
}
322+
277323
void DielectronCut::SetMaxPinMuonTPConly(float max)
278324
{
279325
mMaxPinMuonTPConly = max;

PWGEM/Dilepton/Core/DielectronCut.h

Lines changed: 43 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -59,16 +59,6 @@ class DielectronCut : public TNamed
5959
kTPCFracSharedClusters,
6060
kRelDiffPin,
6161
kTPCChi2NDF,
62-
kTPCNsigmaEl,
63-
kTPCNsigmaMu,
64-
kTPCNsigmaPi,
65-
kTPCNsigmaKa,
66-
kTPCNsigmaPr,
67-
kTOFNsigmaEl,
68-
kTOFNsigmaMu,
69-
kTOFNsigmaPi,
70-
kTOFNsigmaKa,
71-
kTOFNsigmaPr,
7262
kDCA3Dsigma,
7363
kDCAxy,
7464
kDCAz,
@@ -297,7 +287,9 @@ class DielectronCut : public TNamed
297287
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
298288
bool is_pi_excluded_TPC = track.tpcInnerParam() < mMaxPinForPionRejectionTPC ? (track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi()) : true;
299289
bool is_el_included_TOF = (mMinTOFNsigmaEl < track.tofNSigmaEl() && track.tofNSigmaEl() < mMaxTOFNsigmaEl) && (track.hasTOF() && track.tofChi2() < mMaxChi2TOF);
300-
return is_el_included_TPC && is_pi_excluded_TPC && is_el_included_TOF;
290+
bool is_ka_excluded_ITS = (mMinP_ITSNsigmaKa < track.p() && track.p() < mMaxP_ITSNsigmaKa) ? (track.itsNSigmaKa() < mMinITSNsigmaKa || mMaxITSNsigmaKa < track.itsNSigmaKa()) : true;
291+
bool is_pr_excluded_ITS = (mMinP_ITSNsigmaPr < track.p() && track.p() < mMaxP_ITSNsigmaPr) ? (track.itsNSigmaPr() < mMinITSNsigmaPr || mMaxITSNsigmaPr < track.itsNSigmaPr()) : true;
292+
return is_el_included_TPC && is_pi_excluded_TPC && is_el_included_TOF && is_ka_excluded_ITS && is_pr_excluded_ITS;
301293
}
302294

303295
template <typename T>
@@ -309,14 +301,18 @@ class DielectronCut : public TNamed
309301
bool is_ka_excluded_TPC = track.tpcNSigmaKa() < mMinTPCNsigmaKa || mMaxTPCNsigmaKa < track.tpcNSigmaKa();
310302
bool is_pr_excluded_TPC = track.tpcNSigmaPr() < mMinTPCNsigmaPr || mMaxTPCNsigmaPr < track.tpcNSigmaPr();
311303
bool is_el_included_TOF = track.hasTOF() ? (mMinTOFNsigmaEl < track.tofNSigmaEl() && track.tofNSigmaEl() < mMaxTOFNsigmaEl && track.tofChi2() < mMaxChi2TOF) : true;
312-
return is_el_included_TPC && is_mu_excluded_TPC && is_pi_excluded_TPC && is_ka_excluded_TPC && is_pr_excluded_TPC && is_el_included_TOF;
304+
bool is_ka_excluded_ITS = (mMinP_ITSNsigmaKa < track.p() && track.p() < mMaxP_ITSNsigmaKa) ? (track.itsNSigmaKa() < mMinITSNsigmaKa || mMaxITSNsigmaKa < track.itsNSigmaKa()) : true;
305+
bool is_pr_excluded_ITS = (mMinP_ITSNsigmaPr < track.p() && track.p() < mMaxP_ITSNsigmaPr) ? (track.itsNSigmaPr() < mMinITSNsigmaPr || mMaxITSNsigmaPr < track.itsNSigmaPr()) : true;
306+
return is_el_included_TPC && is_mu_excluded_TPC && is_pi_excluded_TPC && is_ka_excluded_TPC && is_pr_excluded_TPC && is_el_included_TOF && is_ka_excluded_ITS && is_pr_excluded_ITS;
313307
}
314308

315309
template <typename T>
316310
bool PassTPConly(T const& track) const
317311
{
318312
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
319-
return is_el_included_TPC;
313+
bool is_ka_excluded_ITS = (mMinP_ITSNsigmaKa < track.p() && track.p() < mMaxP_ITSNsigmaKa) ? (track.itsNSigmaKa() < mMinITSNsigmaKa || mMaxITSNsigmaKa < track.itsNSigmaKa()) : true;
314+
bool is_pr_excluded_ITS = (mMinP_ITSNsigmaPr < track.p() && track.p() < mMaxP_ITSNsigmaPr) ? (track.itsNSigmaPr() < mMinITSNsigmaPr || mMaxITSNsigmaPr < track.itsNSigmaPr()) : true;
315+
return is_el_included_TPC && is_ka_excluded_ITS && is_pr_excluded_ITS;
320316
}
321317

322318
template <typename T>
@@ -327,7 +323,9 @@ class DielectronCut : public TNamed
327323
bool is_pi_excluded_TPC = track.tpcInnerParam() < mMaxPinForPionRejectionTPC ? (track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi()) : true;
328324
bool is_ka_excluded_TPC = track.tpcNSigmaKa() < mMinTPCNsigmaKa || mMaxTPCNsigmaKa < track.tpcNSigmaKa();
329325
bool is_pr_excluded_TPC = track.tpcNSigmaPr() < mMinTPCNsigmaPr || mMaxTPCNsigmaPr < track.tpcNSigmaPr();
330-
return is_el_included_TPC && is_mu_excluded_TPC && is_pi_excluded_TPC && is_ka_excluded_TPC && is_pr_excluded_TPC;
326+
bool is_ka_excluded_ITS = (mMinP_ITSNsigmaKa < track.p() && track.p() < mMaxP_ITSNsigmaKa) ? (track.itsNSigmaKa() < mMinITSNsigmaKa || mMaxITSNsigmaKa < track.itsNSigmaKa()) : true;
327+
bool is_pr_excluded_ITS = (mMinP_ITSNsigmaPr < track.p() && track.p() < mMaxP_ITSNsigmaPr) ? (track.itsNSigmaPr() < mMinITSNsigmaPr || mMaxITSNsigmaPr < track.itsNSigmaPr()) : true;
328+
return is_el_included_TPC && is_mu_excluded_TPC && is_pi_excluded_TPC && is_ka_excluded_TPC && is_pr_excluded_TPC && is_ka_excluded_ITS && is_pr_excluded_ITS;
331329
}
332330

333331
template <typename T>
@@ -336,7 +334,9 @@ class DielectronCut : public TNamed
336334
bool is_el_included_TPC = mMinTPCNsigmaEl < track.tpcNSigmaEl() && track.tpcNSigmaEl() < mMaxTPCNsigmaEl;
337335
bool is_pi_excluded_TPC = track.tpcInnerParam() < mMaxPinForPionRejectionTPC ? (track.tpcNSigmaPi() < mMinTPCNsigmaPi || mMaxTPCNsigmaPi < track.tpcNSigmaPi()) : true;
338336
bool is_el_included_TOF = track.hasTOF() ? (mMinTOFNsigmaEl < track.tofNSigmaEl() && track.tofNSigmaEl() < mMaxTOFNsigmaEl && track.tofChi2() < mMaxChi2TOF) : true;
339-
return is_el_included_TPC && is_pi_excluded_TPC && is_el_included_TOF;
337+
bool is_ka_excluded_ITS = (mMinP_ITSNsigmaKa < track.p() && track.p() < mMaxP_ITSNsigmaKa) ? (track.itsNSigmaKa() < mMinITSNsigmaKa || mMaxITSNsigmaKa < track.itsNSigmaKa()) : true;
338+
bool is_pr_excluded_ITS = (mMinP_ITSNsigmaPr < track.p() && track.p() < mMaxP_ITSNsigmaPr) ? (track.itsNSigmaPr() < mMinITSNsigmaPr || mMaxITSNsigmaPr < track.itsNSigmaPr()) : true;
339+
return is_el_included_TPC && is_pi_excluded_TPC && is_el_included_TOF && is_ka_excluded_ITS && is_pr_excluded_ITS;
340340
}
341341

342342
template <typename T>
@@ -425,16 +425,25 @@ class DielectronCut : public TNamed
425425
void SetMinPinTOF(float min);
426426
void SetMuonExclusionTPC(bool flag);
427427
void SetTOFbetaRange(float min, float max);
428-
void SetTPCNsigmaElRange(float min = -1e+10, float max = 1e+10);
429-
void SetTPCNsigmaMuRange(float min = -1e+10, float max = 1e+10);
430-
void SetTPCNsigmaPiRange(float min = -1e+10, float max = 1e+10);
431-
void SetTPCNsigmaKaRange(float min = -1e+10, float max = 1e+10);
432-
void SetTPCNsigmaPrRange(float min = -1e+10, float max = 1e+10);
433-
void SetTOFNsigmaElRange(float min = -1e+10, float max = 1e+10);
434-
void SetTOFNsigmaMuRange(float min = -1e+10, float max = 1e+10);
435-
void SetTOFNsigmaPiRange(float min = -1e+10, float max = 1e+10);
436-
void SetTOFNsigmaKaRange(float min = -1e+10, float max = 1e+10);
437-
void SetTOFNsigmaPrRange(float min = -1e+10, float max = 1e+10);
428+
void SetTPCNsigmaElRange(float min, float max);
429+
void SetTPCNsigmaMuRange(float min, float max);
430+
void SetTPCNsigmaPiRange(float min, float max);
431+
void SetTPCNsigmaKaRange(float min, float max);
432+
void SetTPCNsigmaPrRange(float min, float max);
433+
void SetTOFNsigmaElRange(float min, float max);
434+
void SetTOFNsigmaMuRange(float min, float max);
435+
void SetTOFNsigmaPiRange(float min, float max);
436+
void SetTOFNsigmaKaRange(float min, float max);
437+
void SetTOFNsigmaPrRange(float min, float max);
438+
void SetITSNsigmaElRange(float min, float max);
439+
void SetITSNsigmaMuRange(float min, float max);
440+
void SetITSNsigmaPiRange(float min, float max);
441+
void SetITSNsigmaKaRange(float min, float max);
442+
void SetITSNsigmaPrRange(float min, float max);
443+
444+
void SetPRangeForITSNsigmaKa(float min, float max);
445+
void SetPRangeForITSNsigmaPr(float min, float max);
446+
438447
void SetMaxPinMuonTPConly(float max);
439448
void SetMaxPinForPionRejectionTPC(float max);
440449
void RequireITSibAny(bool flag);
@@ -518,6 +527,15 @@ class DielectronCut : public TNamed
518527
float mMinTOFNsigmaPi{-1e+10}, mMaxTOFNsigmaPi{+1e+10};
519528
float mMinTOFNsigmaKa{-1e+10}, mMaxTOFNsigmaKa{+1e+10};
520529
float mMinTOFNsigmaPr{-1e+10}, mMaxTOFNsigmaPr{+1e+10};
530+
531+
float mMinITSNsigmaEl{-1e+10}, mMaxITSNsigmaEl{+1e+10};
532+
float mMinITSNsigmaMu{-1e+10}, mMaxITSNsigmaMu{+1e+10};
533+
float mMinITSNsigmaPi{-1e+10}, mMaxITSNsigmaPi{+1e+10};
534+
float mMinITSNsigmaKa{-1e+10}, mMaxITSNsigmaKa{+1e+10};
535+
float mMinITSNsigmaPr{-1e+10}, mMaxITSNsigmaPr{+1e+10};
536+
float mMinP_ITSNsigmaKa{0.0}, mMaxP_ITSNsigmaKa{0.0};
537+
float mMinP_ITSNsigmaPr{0.0}, mMaxP_ITSNsigmaPr{0.0};
538+
521539
o2::analysis::MlResponseDielectronSingleTrack<float>* mPIDMlResponse{nullptr};
522540

523541
ClassDef(DielectronCut, 1);

0 commit comments

Comments
 (0)