Skip to content

Commit a08e2ee

Browse files
sofiatomassiniSofia Tomassini
andauthored
[PWGCF,PWGLF] adding ITS PID and other minor changes (#10171)
Co-authored-by: Sofia Tomassini <sofia.tomassini@cern.ch>
1 parent 7261bd3 commit a08e2ee

File tree

8 files changed

+112
-27
lines changed

8 files changed

+112
-27
lines changed

PWGCF/Femto3D/Core/femto3dPairTask.h

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#define PWGCF_FEMTO3D_CORE_FEMTO3DPAIRTASK_H_
1818

1919
#define THETA(eta) 2.0 * atan(exp(-eta))
20-
2120
// #include "Framework/ASoA.h"
2221
// #include "Framework/DataTypes.h"
2322
// #include "Framework/AnalysisDataModel.h"
@@ -31,6 +30,8 @@
3130
#include "TVector3.h"
3231
#include "TDatabasePDG.h"
3332

33+
#include "CommonConstants/MathConstants.h"
34+
3435
double particle_mass(int PDGcode)
3536
{
3637
// if(PDGcode == 2212) return TDatabasePDG::Instance()->GetParticle(2212)->Mass();
@@ -194,6 +195,7 @@ class FemtoPair
194195
bool IsIdentical() { return _isidentical; }
195196

196197
bool IsClosePair(const float& deta, const float& dphi, const float& radius) const;
198+
bool IsClosePair(const float& deta, const float& dphi) const;
197199
bool IsClosePair(const float& avgSep) const { return static_cast<bool>(GetAvgSep() < avgSep); }
198200

199201
float GetAvgSep() const;
@@ -212,6 +214,8 @@ class FemtoPair
212214
else
213215
return 1000;
214216
}
217+
float GetAvgPhiStarDiff() const;
218+
215219
float GetKstar() const;
216220
TVector3 GetQLCMS() const;
217221
float GetKt() const;
@@ -261,6 +265,20 @@ bool FemtoPair<TrackType>::IsClosePair(const float& deta, const float& dphi, con
261265
return false;
262266
}
263267

268+
template <typename TrackType>
269+
bool FemtoPair<TrackType>::IsClosePair(const float& deta, const float& dphi) const
270+
{
271+
if (_first == NULL || _second == NULL)
272+
return true;
273+
if (_magfield1 * _magfield2 == 0)
274+
return true;
275+
if (std::pow(std::fabs(GetEtaDiff()) / deta, 2) + std::pow(std::fabs(GetAvgPhiStarDiff()) / dphi, 2) < 1.0f)
276+
return true;
277+
// if (std::fabs(GetEtaDiff()) < deta && std::fabs(GetPhiStarDiff(radius)) < dphi)
278+
// return true;
279+
280+
return false;
281+
}
264282
template <typename TrackType>
265283
float FemtoPair<TrackType>::GetAvgSep() const
266284
{
@@ -279,6 +297,24 @@ float FemtoPair<TrackType>::GetAvgSep() const
279297
return 100.0 * res / TPCradii.size();
280298
}
281299

300+
template <typename TrackType>
301+
float FemtoPair<TrackType>::GetAvgPhiStarDiff() const
302+
{
303+
if (_first == NULL || _second == NULL)
304+
return -100.f;
305+
if (_magfield1 * _magfield2 == 0)
306+
return -100.f;
307+
308+
float res = 0.0;
309+
310+
for (const auto& radius : TPCradii) {
311+
auto dphi = GetPhiStarDiff(radius);
312+
res += fabs(dphi) > o2::constants::math::PI ? (1.0 - 2.0 * o2::constants::math::PI / fabs(dphi)) * dphi : dphi;
313+
}
314+
315+
return res / TPCradii.size();
316+
}
317+
282318
template <typename TrackType>
283319
float FemtoPair<TrackType>::GetKstar() const
284320
{

PWGCF/Femto3D/DataModel/singletrackselector.h

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -517,11 +517,53 @@ DECLARE_SOA_TABLE(SingleTrkMCs, "AOD", "SINGLETRKMC", // Table with generatad in
517517

518518
namespace o2::aod::singletrackselector
519519
{
520-
521520
template <typename TrackType>
522-
inline bool TPCselection(TrackType const& track, std::pair<int, std::vector<float>> const& PIDcuts)
521+
inline bool ITSselection(TrackType const& track, std::pair<int, std::vector<float>> const& PIDcuts)
523522
{
524523
int PDG = PIDcuts.first;
524+
525+
float Nsigma = -1000;
526+
switch (PDG) {
527+
case 2212:
528+
Nsigma = track.itsNSigmaPr();
529+
break;
530+
case 1000010020:
531+
Nsigma = track.itsNSigmaDe();
532+
break;
533+
case 1000020030:
534+
Nsigma = track.itsNSigmaHe();
535+
break;
536+
case 1000010030:
537+
Nsigma = track.itsNSigmaTr();
538+
break;
539+
case 211:
540+
Nsigma = track.itsNSigmaPi();
541+
break;
542+
case 321:
543+
Nsigma = track.itsNSigmaKa();
544+
break;
545+
case 0:
546+
return false;
547+
default:
548+
LOG(fatal) << "Cannot interpret PDG for ITS selection: " << PIDcuts.first;
549+
}
550+
551+
if (Nsigma > PIDcuts.second[0] && Nsigma < PIDcuts.second[1]) {
552+
return true;
553+
}
554+
return false;
555+
}
556+
557+
template <bool useITS, typename TrackType>
558+
inline bool TPCselection(TrackType const& track, std::pair<int, std::vector<float>> const& PIDcuts, std::vector<float> const& ITSCut = std::vector<float>{})
559+
{
560+
int PDG = PIDcuts.first;
561+
562+
if constexpr (useITS) {
563+
if (ITSCut.size() != 0 && !ITSselection(track, std::make_pair(PDG, ITSCut)))
564+
return false;
565+
}
566+
525567
float Nsigma = -1000;
526568
switch (PDG) {
527569
case 2212:
@@ -558,7 +600,7 @@ template <typename TrackType>
558600
inline bool TOFselection(TrackType const& track, std::pair<int, std::vector<float>> const& PIDcuts, std::vector<float> const& TPCresidualCut = std::vector<float>{-5.0f, 5.0f})
559601
{
560602
int PDG = PIDcuts.first;
561-
if (!TPCselection(track, std::make_pair(PDG, TPCresidualCut)))
603+
if (!TPCselection<false>(track, std::make_pair(PDG, TPCresidualCut)))
562604
return false;
563605

564606
float Nsigma = -1000;

PWGCF/Femto3D/TableProducer/singleTrackSelector.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ struct singleTrackSelector {
230230
registry.fill(HIST("hNTracks"), 1.5);
231231

232232
for (auto ii : particlesToKeep)
233-
if (o2::aod::singletrackselector::TPCselection(track, std::make_pair(ii, keepWithinNsigmaTPC))) {
233+
if (o2::aod::singletrackselector::TPCselection<false>(track, std::make_pair(ii, keepWithinNsigmaTPC))) {
234234
if (track.p() > _pRemoveTofOutOfRange && !o2::aod::singletrackselector::TOFselection(track, std::make_pair(ii, std::vector<float>{-10.0, 10.0}), std::vector<float>{-10.0, 10.0}))
235235
continue;
236236

PWGCF/Femto3D/TableProducer/singleTrackSelectorPIDMaker.cxx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ struct StPidDe {
8888
}
8989
}
9090
};
91+
9192
struct StPidTr {
9293
Produces<o2::aod::SinglePIDTrs> table;
9394
void process(o2::aod::SingleTrackSels const& tracks)
@@ -99,6 +100,7 @@ struct StPidTr {
99100
}
100101
}
101102
};
103+
102104
struct StPidHe {
103105
Produces<o2::aod::SinglePIDHes> table;
104106
void process(o2::aod::SingleTrackSels const& tracks)

PWGCF/Femto3D/Tasks/femto3dPairTask.cxx

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,15 @@ struct FemtoCorrelations {
7474
Configurable<int> _sign_1{"sign_1", 1, "sign of the first particle in a pair"};
7575
Configurable<int> _particlePDG_1{"particlePDG_1", 2212, "PDG code of the first particle in a pair to perform PID for (only pion, kaon, proton and deurton are supported now)"};
7676
Configurable<std::vector<float>> _tpcNSigma_1{"tpcNSigma_1", std::vector<float>{-3.0f, 3.0f}, "first particle PID: Nsigma range in TPC before the TOF is used"};
77+
Configurable<std::vector<float>> _itsNSigma_1{"itsNSigma_1", std::vector<float>{-10.0f, 10.0f}, "first particle PID: Nsigma range in ITS with TPC is used"};
7778
Configurable<float> _PIDtrshld_1{"PIDtrshld_1", 10.0, "first particle PID: value of momentum from which the PID is done with TOF (before that only TPC is used)"};
7879
Configurable<std::vector<float>> _tofNSigma_1{"tofNSigma_1", std::vector<float>{-3.0f, 3.0f}, "first particle PID: Nsigma range in TOF"};
7980
Configurable<std::vector<float>> _tpcNSigmaResidual_1{"tpcNSigmaResidual_1", std::vector<float>{-5.0f, 5.0f}, "first particle PID: residual TPC Nsigma cut to use with the TOF"};
8081

8182
Configurable<int> _sign_2{"sign_2", 1, "sign of the second particle in a pair"};
8283
Configurable<int> _particlePDG_2{"particlePDG_2", 2212, "PDG code of the second particle in a pair to perform PID for (only pion, kaon, proton and deurton are supported now)"};
8384
Configurable<std::vector<float>> _tpcNSigma_2{"tpcNSigma_2", std::vector<float>{-3.0f, 3.0f}, "second particle PID: Nsigma range in TPC before the TOF is used"};
85+
Configurable<std::vector<float>> _itsNSigma_2{"itsNSigma_2", std::vector<float>{-10.0f, 10.0f}, "first particle PID: Nsigma range in ITS with TPC is used"};
8486
Configurable<float> _PIDtrshld_2{"PIDtrshld_2", 10.0, "second particle PID: value of momentum from which the PID is done with TOF (before that only TPC is used)"};
8587
Configurable<std::vector<float>> _tofNSigma_2{"tofNSigma_2", std::vector<float>{-3.0f, 3.0f}, "second particle PID: Nsigma range in TOF"};
8688
Configurable<std::vector<float>> _tpcNSigmaResidual_2{"tpcNSigmaResidual_2", std::vector<float>{-5.0f, 5.0f}, "second particle PID: residual TPC Nsigma cut to use with the TOF"};
@@ -90,7 +92,7 @@ struct FemtoCorrelations {
9092

9193
Configurable<float> _deta{"deta", 0.01, "minimum allowed defference in eta between two tracks in a pair"};
9294
Configurable<float> _dphi{"dphi", 0.01, "minimum allowed defference in phi_star between two tracks in a pair"};
93-
Configurable<float> _radiusTPC{"radiusTPC", 1.2, "TPC radius to calculate phi_star for"};
95+
// Configurable<float> _radiusTPC{"radiusTPC", 1.2, "TPC radius to calculate phi_star for"};
9496
Configurable<float> _avgSepTPC{"avgSepTPC", 10, "average sep. (cm) in TPC"};
9597

9698
Configurable<int> _vertexNbinsToMix{"vertexNbinsToMix", 10, "Number of vertexZ bins for the mixing"};
@@ -294,15 +296,15 @@ struct FemtoCorrelations {
294296
LOGF(fatal, "kTbin value obtained for a pair exceeds the configured number of kT bins (3D)");
295297

296298
if (_fillDetaDphi % 2 == 0)
297-
DoubleTrack_SE_histos_BC[multBin][kTbin]->Fill(Pair->GetPhiStarDiff(_radiusTPC), Pair->GetEtaDiff());
299+
DoubleTrack_SE_histos_BC[multBin][kTbin]->Fill(Pair->GetAvgPhiStarDiff(), Pair->GetEtaDiff());
298300

299-
if (_deta > 0 && _dphi > 0 && Pair->IsClosePair(_deta, _dphi, _radiusTPC))
301+
if (_deta > 0 && _dphi > 0 && Pair->IsClosePair(_deta, _dphi))
300302
continue;
301303
if (_avgSepTPC > 0 && Pair->IsClosePair(_avgSepTPC))
302304
continue;
303305

304306
if (_fillDetaDphi > 0)
305-
DoubleTrack_SE_histos_AC[multBin][kTbin]->Fill(Pair->GetPhiStarDiff(_radiusTPC), Pair->GetEtaDiff());
307+
DoubleTrack_SE_histos_AC[multBin][kTbin]->Fill(Pair->GetAvgPhiStarDiff(), Pair->GetEtaDiff());
306308

307309
kThistos[multBin][kTbin]->Fill(pair_kT);
308310
mThistos[multBin][kTbin]->Fill(Pair->GetMt()); // test
@@ -343,21 +345,21 @@ struct FemtoCorrelations {
343345

344346
if (_fillDetaDphi % 2 == 0) {
345347
if (!SE_or_ME)
346-
DoubleTrack_SE_histos_BC[multBin][kTbin]->Fill(Pair->GetPhiStarDiff(_radiusTPC), Pair->GetEtaDiff());
348+
DoubleTrack_SE_histos_BC[multBin][kTbin]->Fill(Pair->GetAvgPhiStarDiff(), Pair->GetEtaDiff());
347349
else
348-
DoubleTrack_ME_histos_BC[multBin][kTbin]->Fill(Pair->GetPhiStarDiff(_radiusTPC), Pair->GetEtaDiff());
350+
DoubleTrack_ME_histos_BC[multBin][kTbin]->Fill(Pair->GetAvgPhiStarDiff(), Pair->GetEtaDiff());
349351
}
350352

351-
if (_deta > 0 && _dphi > 0 && Pair->IsClosePair(_deta, _dphi, _radiusTPC))
353+
if (_deta > 0 && _dphi > 0 && Pair->IsClosePair(_deta, _dphi))
352354
continue;
353355
if (_avgSepTPC > 0 && Pair->IsClosePair(_avgSepTPC))
354356
continue;
355357

356358
if (_fillDetaDphi > 0) {
357359
if (!SE_or_ME)
358-
DoubleTrack_SE_histos_AC[multBin][kTbin]->Fill(Pair->GetPhiStarDiff(_radiusTPC), Pair->GetEtaDiff());
360+
DoubleTrack_SE_histos_AC[multBin][kTbin]->Fill(Pair->GetAvgPhiStarDiff(), Pair->GetEtaDiff());
359361
else
360-
DoubleTrack_ME_histos_AC[multBin][kTbin]->Fill(Pair->GetPhiStarDiff(_radiusTPC), Pair->GetEtaDiff());
362+
DoubleTrack_ME_histos_AC[multBin][kTbin]->Fill(Pair->GetAvgPhiStarDiff(), Pair->GetEtaDiff());
361363
}
362364

363365
if (!SE_or_ME) {
@@ -417,7 +419,7 @@ struct FemtoCorrelations {
417419
if (std::fabs(track.dcaXY()) > _dcaXY.value[0] + _dcaXY.value[1] * std::pow(track.pt(), _dcaXY.value[2]) || std::fabs(track.dcaZ()) > _dcaZ.value[0] + _dcaZ.value[1] * std::pow(track.pt(), _dcaZ.value[2]))
418420
continue;
419421

420-
if (track.sign() == _sign_1 && (track.p() < _PIDtrshld_1 ? o2::aod::singletrackselector::TPCselection(track, TPCcuts_1) : o2::aod::singletrackselector::TOFselection(track, TOFcuts_1, _tpcNSigmaResidual_1.value))) { // filling the map: eventID <-> selected particles1
422+
if (track.sign() == _sign_1 && (track.p() < _PIDtrshld_1 ? o2::aod::singletrackselector::TPCselection<true>(track, TPCcuts_1, _itsNSigma_1.value) : o2::aod::singletrackselector::TOFselection(track, TOFcuts_1, _tpcNSigmaResidual_1.value))) { // filling the map: eventID <-> selected particles1
421423
selectedtracks_1[track.singleCollSelId()].push_back(std::make_shared<decltype(track)>(track));
422424

423425
registry.fill(HIST("p_first"), track.p());
@@ -441,7 +443,7 @@ struct FemtoCorrelations {
441443

442444
if (IsIdentical) {
443445
continue;
444-
} else if (track.sign() != _sign_2 && !TOFselection(track, std::make_pair(_particlePDGtoReject, _rejectWithinNsigmaTOF)) && (track.p() < _PIDtrshld_2 ? o2::aod::singletrackselector::TPCselection(track, TPCcuts_2) : o2::aod::singletrackselector::TOFselection(track, TOFcuts_2, _tpcNSigmaResidual_2.value))) { // filling the map: eventID <-> selected particles2 if (see condition above ^)
446+
} else if (track.sign() != _sign_2 && !TOFselection(track, std::make_pair(_particlePDGtoReject, _rejectWithinNsigmaTOF)) && (track.p() < _PIDtrshld_2 ? o2::aod::singletrackselector::TPCselection<true>(track, TPCcuts_2, _itsNSigma_2.value) : o2::aod::singletrackselector::TOFselection(track, TOFcuts_2, _tpcNSigmaResidual_2.value))) { // filling the map: eventID <-> selected particles2 if (see condition above ^)
445447
selectedtracks_2[track.singleCollSelId()].push_back(std::make_shared<decltype(track)>(track));
446448

447449
registry.fill(HIST("p_second"), track.p());

PWGCF/Femto3D/Tasks/femto3dPairTaskMC.cxx

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,21 +70,23 @@ struct FemtoCorrelationsMC {
7070
Configurable<int> _sign_1{"sign_1", 1, "sign of the first particle in a pair"};
7171
Configurable<int> _particlePDG_1{"particlePDG_1", 2212, "PDG code of the first particle in a pair to perform PID for (only pion, kaon, proton and deurton are supported now)"};
7272
Configurable<std::vector<float>> _tpcNSigma_1{"tpcNSigma_1", std::vector<float>{-3.0f, 3.0f}, "first particle PID: Nsigma range in TPC before the TOF is used"};
73+
Configurable<std::vector<float>> _itsNSigma_1{"itsNSigma_1", std::vector<float>{-10.0f, 10.0f}, "first particle PID: Nsigma range in ITS with TPC is used"};
7374
Configurable<float> _PIDtrshld_1{"PIDtrshld_1", 10.0, "first particle PID: value of momentum from which the PID is done with TOF (before that only TPC is used)"};
7475
Configurable<std::vector<float>> _tofNSigma_1{"tofNSigma_1", std::vector<float>{-3.0f, 3.0f}, "first particle PID: Nsigma range in TOF"};
7576
Configurable<std::vector<float>> _tpcNSigmaResidual_1{"tpcNSigmaResidual_1", std::vector<float>{-5.0f, 5.0f}, "first particle PID: residual TPC Nsigma cut to use with the TOF"};
7677

7778
Configurable<int> _sign_2{"sign_2", 1, "sign of the second particle in a pair"};
7879
Configurable<int> _particlePDG_2{"particlePDG_2", 2212, "PDG code of the second particle in a pair to perform PID for (only pion, kaon, proton and deurton are supported now)"};
7980
Configurable<std::vector<float>> _tpcNSigma_2{"tpcNSigma_2", std::vector<float>{-3.0f, 3.0f}, "second particle PID: Nsigma range in TPC before the TOF is used"};
81+
Configurable<std::vector<float>> _itsNSigma_2{"itsNSigma_2", std::vector<float>{-10.0f, 10.0f}, "first particle PID: Nsigma range in ITS with TPC is used"};
8082
Configurable<float> _PIDtrshld_2{"PIDtrshld_2", 10.0, "second particle PID: value of momentum from which the PID is done with TOF (before that only TPC is used)"};
8183
Configurable<std::vector<float>> _tofNSigma_2{"tofNSigma_2", std::vector<float>{-3.0f, 3.0f}, "second particle PID: Nsigma range in TOF"};
8284
Configurable<std::vector<float>> _tpcNSigmaResidual_2{"tpcNSigmaResidual_2", std::vector<float>{-5.0f, 5.0f}, "second particle PID: residual TPC Nsigma cut to use with the TOF"};
8385

8486
Configurable<int> _particlePDGtoReject{"particlePDGtoRejectFromSecond", 0, "applied only if the particles are non-identical and only to the second particle in the pair!!!"};
8587
Configurable<std::vector<float>> _rejectWithinNsigmaTOF{"rejectWithinNsigmaTOF", std::vector<float>{-0.0f, 0.0f}, "TOF rejection Nsigma range for the particle specified with PDG to be rejected"};
8688

87-
Configurable<float> _radiusTPC{"radiusTPC", 1.2, "TPC radius to calculate phi_star for"};
89+
// Configurable<float> _radiusTPC{"radiusTPC", 1.2, "TPC radius to calculate phi_star for"};
8890

8991
Configurable<int> _vertexNbinsToMix{"vertexNbinsToMix", 10, "Number of vertexZ bins for the mixing"};
9092
Configurable<std::vector<float>> _centBins{"multBins", std::vector<float>{0.0f, 100.0f}, "multiplicity percentile/centrality binning (min:0, max:100)"};
@@ -252,7 +254,7 @@ struct FemtoCorrelationsMC {
252254
LOGF(fatal, "kTbin value obtained for a pair exceeds the configured number of kT bins");
253255

254256
kThistos[centBin][kTbin]->Fill(pair_kT);
255-
DoubleTrack_SE_histos[centBin][kTbin]->Fill(Pair->GetPhiStarDiff(_radiusTPC), Pair->GetEtaDiff());
257+
DoubleTrack_SE_histos[centBin][kTbin]->Fill(Pair->GetAvgPhiStarDiff(), Pair->GetEtaDiff());
256258
AvgSep_SE_histos[centBin][kTbin]->Fill(Pair->GetAvgSep());
257259
Pair->ResetPair();
258260
}
@@ -276,7 +278,7 @@ struct FemtoCorrelationsMC {
276278
LOGF(fatal, "kTbin value obtained for a pair exceeds the configured number of kT bins");
277279

278280
kThistos[centBin][kTbin]->Fill(pair_kT);
279-
DoubleTrack_SE_histos[centBin][kTbin]->Fill(Pair->GetPhiStarDiff(_radiusTPC), Pair->GetEtaDiff());
281+
DoubleTrack_SE_histos[centBin][kTbin]->Fill(Pair->GetAvgPhiStarDiff(), Pair->GetEtaDiff());
280282
AvgSep_SE_histos[centBin][kTbin]->Fill(Pair->GetAvgSep());
281283
Pair->ResetPair();
282284
}
@@ -299,7 +301,7 @@ struct FemtoCorrelationsMC {
299301
if (kTbin > Resolution_histos[centBin].size() || kTbin > DoubleTrack_ME_histos[centBin].size())
300302
LOGF(fatal, "kTbin value obtained for a pair exceeds the configured number of kT bins");
301303

302-
DoubleTrack_ME_histos[centBin][kTbin]->Fill(Pair->GetPhiStarDiff(_radiusTPC), Pair->GetEtaDiff());
304+
DoubleTrack_ME_histos[centBin][kTbin]->Fill(Pair->GetAvgPhiStarDiff(), Pair->GetEtaDiff());
303305
AvgSep_ME_histos[centBin][kTbin]->Fill(Pair->GetAvgSep());
304306

305307
if (abs(ii->pdgCode()) != _particlePDG_1.value || abs(iii->pdgCode()) != _particlePDG_2.value)
@@ -347,7 +349,7 @@ struct FemtoCorrelationsMC {
347349

348350
unsigned int centBin = o2::aod::singletrackselector::getBinIndex<unsigned int>(track.template singleCollSel_as<soa::Filtered<FilteredCollisions>>().multPerc(), _centBins);
349351

350-
if (track.sign() == _sign_1 && (track.p() < _PIDtrshld_1 ? o2::aod::singletrackselector::TPCselection(track, TPCcuts_1) : o2::aod::singletrackselector::TOFselection(track, TOFcuts_1, _tpcNSigmaResidual_1.value))) {
352+
if (track.sign() == _sign_1 && (track.p() < _PIDtrshld_1 ? o2::aod::singletrackselector::TPCselection<true>(track, TPCcuts_1, _itsNSigma_1.value) : o2::aod::singletrackselector::TOFselection(track, TOFcuts_1, _tpcNSigmaResidual_1.value))) {
351353

352354
trackOrigin = track.origin();
353355

@@ -368,7 +370,7 @@ struct FemtoCorrelationsMC {
368370

369371
if (IsIdentical) {
370372
continue;
371-
} else if (track.sign() != _sign_2 && !TOFselection(track, std::make_pair(_particlePDGtoReject, _rejectWithinNsigmaTOF)) && (track.p() < _PIDtrshld_2 ? o2::aod::singletrackselector::TPCselection(track, TPCcuts_2) : o2::aod::singletrackselector::TOFselection(track, TOFcuts_2, _tpcNSigmaResidual_2.value))) { // filling the map: eventID <-> selected particles2 if (see condition above ^)
373+
} else if (track.sign() != _sign_2 && !TOFselection(track, std::make_pair(_particlePDGtoReject, _rejectWithinNsigmaTOF)) && (track.p() < _PIDtrshld_2 ? o2::aod::singletrackselector::TPCselection<true>(track, TPCcuts_2, _itsNSigma_2.value) : o2::aod::singletrackselector::TOFselection(track, TOFcuts_2, _tpcNSigmaResidual_2.value))) { // filling the map: eventID <-> selected particles2 if (see condition above ^)
372374

373375
trackOrigin = track.origin();
374376

0 commit comments

Comments
 (0)