Skip to content

Commit df208a2

Browse files
authored
[PWGLF] Improve PID for proton selection (AliceO2Group#9610)
1 parent a2fea03 commit df208a2

File tree

1 file changed

+89
-53
lines changed

1 file changed

+89
-53
lines changed

PWGLF/Tasks/Resonances/highmasslambda.cxx

Lines changed: 89 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -248,19 +248,19 @@ struct highmasslambda {
248248
if (!(candidate.isGlobalTrackWoDCA() && candidate.itsNCls() > cfgITScluster && candidate.tpcNClsFound() > cfgTPCcluster)) {
249249
return false;
250250
}
251-
if (candidate.pt() > 0.0 && candidate.pt() < 0.5 && TMath::Abs(candidate.dcaXY()) < cfgCutDCAxymin1) {
251+
if (candidate.pt() > 0.0 && candidate.pt() < 0.5 && std::abs(candidate.dcaXY()) < cfgCutDCAxymin1) {
252252
return false;
253253
}
254-
if (candidate.pt() >= 0.5 && candidate.pt() < 1.0 && TMath::Abs(candidate.dcaXY()) < cfgCutDCAxymin2) {
254+
if (candidate.pt() >= 0.5 && candidate.pt() < 1.0 && std::abs(candidate.dcaXY()) < cfgCutDCAxymin2) {
255255
return false;
256256
}
257-
if (candidate.pt() >= 1.0 && candidate.pt() < 1.5 && TMath::Abs(candidate.dcaXY()) < cfgCutDCAxymin3) {
257+
if (candidate.pt() >= 1.0 && candidate.pt() < 1.5 && std::abs(candidate.dcaXY()) < cfgCutDCAxymin3) {
258258
return false;
259259
}
260-
if (candidate.pt() >= 1.5 && candidate.pt() < 2.0 && TMath::Abs(candidate.dcaXY()) < cfgCutDCAxymin4) {
260+
if (candidate.pt() >= 1.5 && candidate.pt() < 2.0 && std::abs(candidate.dcaXY()) < cfgCutDCAxymin4) {
261261
return false;
262262
}
263-
if (candidate.pt() >= 2.0 && candidate.pt() < 10000000.0 && TMath::Abs(candidate.dcaXY()) < cfgCutDCAxymin5) {
263+
if (candidate.pt() >= 2.0 && candidate.pt() < 10000000.0 && std::abs(candidate.dcaXY()) < cfgCutDCAxymin5) {
264264
return false;
265265
}
266266
return true;
@@ -271,15 +271,15 @@ struct highmasslambda {
271271
bool selectionPID1(const T& candidate)
272272
{
273273
if (candidate.hasTOF()) {
274-
if (candidate.p() < 0.5 && TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
274+
if (candidate.p() < 0.5 && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
275275
return true;
276276
}
277-
if (candidate.p() >= 0.5 && TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC && TMath::Abs(candidate.tofNSigmaPr()) < nsigmaCutTOF) {
277+
if (candidate.p() >= 0.5 && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC && std::abs(candidate.tofNSigmaPr()) < nsigmaCutTOF) {
278278
return true;
279279
}
280280
}
281281
if (!candidate.hasTOF()) {
282-
if (TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
282+
if (std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
283283
return true;
284284
}
285285
}
@@ -290,17 +290,33 @@ struct highmasslambda {
290290
template <typename T>
291291
bool selectionPID2(const T& candidate)
292292
{
293-
if (candidate.tpcInnerParam() < 1.0 && TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
293+
if (candidate.pt() < 0.7 && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
294294
return true;
295295
}
296-
if (candidate.tpcInnerParam() >= 1.0 && candidate.tpcInnerParam() < 2.0 && TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC && candidate.hasTOF() && TMath::Abs(candidate.tofNSigmaPr()) < nsigmaCutTOF) {
297-
return true;
296+
if (candidate.pt() >= 0.7 && candidate.pt() < 1.4) {
297+
if (candidate.hasTOF() && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC && std::abs(candidate.tofNSigmaPr()) < nsigmaCutTOF) {
298+
return true;
299+
}
300+
if (!candidate.hasTOF()) {
301+
if (candidate.pt() >= 0.7 && candidate.pt() < 0.8 && candidate.tpcNSigmaPr() > -1.8 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
302+
return true;
303+
}
304+
if (candidate.pt() >= 0.8 && candidate.pt() < 0.9 && candidate.tpcNSigmaPr() > -1.7 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
305+
return true;
306+
}
307+
if (candidate.pt() >= 0.9 && candidate.pt() < 1.0 && candidate.tpcNSigmaPr() > -1.6 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
308+
return true;
309+
}
310+
if (candidate.pt() >= 1.0 && candidate.pt() < 1.4 && candidate.tpcNSigmaPr() > -1.0 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
311+
return true;
312+
}
313+
}
298314
}
299-
if (candidate.tpcInnerParam() >= 2.0) {
300-
if (candidate.hasTOF() && TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC && TMath::Abs(candidate.tofNSigmaPr()) < nsigmaCutTOF) {
315+
if (candidate.pt() >= 1.4) {
316+
if (candidate.hasTOF() && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC && std::abs(candidate.tofNSigmaPr()) < nsigmaCutTOF) {
301317
return true;
302318
}
303-
if (!candidate.hasTOF() && TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
319+
if (!candidate.hasTOF() && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
304320
return true;
305321
}
306322
}
@@ -311,17 +327,30 @@ struct highmasslambda {
311327
template <typename T>
312328
bool selectionPID3(const T& candidate)
313329
{
314-
if (candidate.hasTOF() && candidate.tpcInnerParam() > 0.6 && TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC && TMath::Abs(candidate.tofNSigmaPr()) < nsigmaCutTOF) {
330+
if (candidate.pt() < 0.7 && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
315331
return true;
316332
}
317-
if (!candidate.hasTOF()) {
318-
if (candidate.tpcInnerParam() < 1.0 && TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
333+
if (candidate.pt() >= 0.7 && candidate.pt() < 1.8) {
334+
if (candidate.hasTOF() && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC && std::abs(candidate.tofNSigmaPr()) < nsigmaCutTOF) {
319335
return true;
320336
}
321-
if (candidate.tpcInnerParam() >= 1.0 && candidate.tpcInnerParam() < 1.6 && candidate.tpcNSigmaPr() < nsigmaCutTPC && candidate.tpcNSigmaPr() > -1.5) {
337+
if (!candidate.hasTOF()) {
338+
if (candidate.pt() >= 0.7 && candidate.pt() < 0.8 && candidate.tpcNSigmaPr() > -1.8 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
339+
return true;
340+
}
341+
if (candidate.pt() >= 0.8 && candidate.pt() < 0.9 && candidate.tpcNSigmaPr() > -1.7 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
342+
return true;
343+
}
344+
if (candidate.pt() >= 0.9 && candidate.pt() < 1.0 && candidate.tpcNSigmaPr() > -1.6 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
345+
return true;
346+
}
347+
}
348+
}
349+
if (candidate.pt() >= 1.8) {
350+
if (candidate.hasTOF() && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC && std::abs(candidate.tofNSigmaPr()) < nsigmaCutTOF) {
322351
return true;
323352
}
324-
if (candidate.tpcInnerParam() >= 1.6 && TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
353+
if (!candidate.hasTOF() && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
325354
return true;
326355
}
327356
}
@@ -331,13 +360,13 @@ struct highmasslambda {
331360
template <typename Collision, typename V0>
332361
bool SelectionV0(Collision const& collision, V0 const& candidate)
333362
{
334-
if (TMath::Abs(candidate.dcav0topv()) > cMaxV0DCA) {
363+
if (std::abs(candidate.dcav0topv()) > cMaxV0DCA) {
335364
return false;
336365
}
337366
const float pT = candidate.pt();
338367
const std::vector<float> decVtx = {candidate.x(), candidate.y(), candidate.z()};
339368
const float tranRad = candidate.v0radius();
340-
const double dcaDaughv0 = TMath::Abs(candidate.dcaV0daughters());
369+
const double dcaDaughv0 = std::abs(candidate.dcaV0daughters());
341370
const double cpav0 = candidate.v0cosPA();
342371

343372
float CtauK0s = candidate.distovertotmom(collision.posX(), collision.posY(), collision.posZ()) * TDatabasePDG::Instance()->GetParticle(kK0Short)->Mass(); // FIXME: Get from the common header
@@ -359,7 +388,7 @@ struct highmasslambda {
359388
if (tranRad > ConfV0TranRadV0Max) {
360389
return false;
361390
}
362-
if (TMath::Abs(CtauK0s) > cMaxV0LifeTime || candidate.mK0Short() < lowmasscutks0 || candidate.mK0Short() > highmasscutks0) {
391+
if (std::abs(CtauK0s) > cMaxV0LifeTime || candidate.mK0Short() < lowmasscutks0 || candidate.mK0Short() > highmasscutks0) {
363392
return false;
364393
}
365394
return true;
@@ -378,19 +407,19 @@ struct highmasslambda {
378407
if (charge > 0 && sign < 0) {
379408
return false;
380409
}
381-
if (TMath::Abs(eta) > 0.8) {
410+
if (std::abs(eta) > 0.8) {
382411
return false;
383412
}
384-
if (TMath::Abs(pt) < 0.15) {
413+
if (std::abs(pt) < 0.15) {
385414
return false;
386415
}
387416
if (tpcNClsF < 50) {
388417
return false;
389418
}
390-
if (TMath::Abs(dcaXY) < ConfDaughDCAMin) {
419+
if (std::abs(dcaXY) < ConfDaughDCAMin) {
391420
return false;
392421
}
393-
if (TMath::Abs(track.tpcNSigmaPi()) > ConfDaughPIDCuts) {
422+
if (std::abs(track.tpcNSigmaPi()) > ConfDaughPIDCuts) {
394423
return false;
395424
}
396425
return true;
@@ -420,10 +449,10 @@ struct highmasslambda {
420449
double v2, v2Rot;
421450
void processSameEvent(EventCandidates::iterator const& collision, TrackCandidates const& tracks, AllTrackCandidates const&, ResoV0s const& V0s, aod::BCs const&)
422451
{
423-
if (!collision.sel8() || !collision.triggereventep() || !collision.selection_bit(aod::evsel::kNoTimeFrameBorder) || !collision.selection_bit(aod::evsel::kNoITSROFrameBorder) || !collision.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) || !collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
452+
if (!collision.sel8() || !collision.triggereventep() || !collision.selection_bit(aod::evsel::kNoTimeFrameBorder) || !collision.selection_bit(aod::evsel::kNoITSROFrameBorder)) {
424453
return;
425454
}
426-
if (additionalEvSel && !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
455+
if (additionalEvSel && (!collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll) || !collision.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) || !collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard))) {
427456
return;
428457
}
429458
o2::aod::ITSResponse itsResponse;
@@ -461,6 +490,9 @@ struct highmasslambda {
461490
if (!selectionTrack(track1)) {
462491
continue;
463492
}
493+
if (!(itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) > -3.0 && itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) < 3.0)) {
494+
continue;
495+
}
464496
histos.fill(HIST("hNsigmaProtonTPCPre"), track1.tpcNSigmaPr(), track1.pt());
465497
// PID check
466498
if (PIDstrategy == 0 && !selectionPID1(track1)) {
@@ -472,9 +504,6 @@ struct highmasslambda {
472504
if (PIDstrategy == 2 && !selectionPID3(track1)) {
473505
continue;
474506
}
475-
if (track1.p() < 1.0 && !(itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) > -2.5 && itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) < 2.5)) {
476-
continue;
477-
}
478507
histos.fill(HIST("hEta"), track1.eta());
479508
histos.fill(HIST("hDcaxy"), track1.dcaXY());
480509
histos.fill(HIST("hDcaz"), track1.dcaZ());
@@ -513,8 +542,8 @@ struct highmasslambda {
513542
Lambdac = Proton + Kshort;
514543
auto phiminuspsi = GetPhiInRange(Lambdac.Phi() - psiFT0C);
515544
v2 = TMath::Cos(2.0 * phiminuspsi) * QFT0C;
516-
if (Lambdac.M() > cMinLambdaMass && Lambdac.M() <= cMaxLambdaMass && TMath::Abs(Lambdac.Rapidity()) < confRapidity && Lambdac.Pt() > 2.0 && Lambdac.Pt() <= 6.0) {
517-
histos.fill(HIST("hSparseV2SASameEvent_V2"), Lambdac.M(), Lambdac.Pt(), v2, TMath::Abs(track1.dcaXY()), Proton.Pt());
545+
if (Lambdac.M() > cMinLambdaMass && Lambdac.M() <= cMaxLambdaMass && std::abs(Lambdac.Rapidity()) < confRapidity && Lambdac.Pt() > 2.0 && Lambdac.Pt() <= 6.0) {
546+
histos.fill(HIST("hSparseV2SASameEvent_V2"), Lambdac.M(), Lambdac.Pt(), v2, std::abs(track1.dcaXY()), Proton.Pt());
518547
}
519548
if (fillRotation) {
520549
for (int nrotbkg = 0; nrotbkg < nBkgRotations; nrotbkg++) {
@@ -529,8 +558,8 @@ struct highmasslambda {
529558
LambdacRot = Proton + KshortRot;
530559
auto phiminuspsiRot = GetPhiInRange(LambdacRot.Phi() - psiFT0C);
531560
v2Rot = TMath::Cos(2.0 * phiminuspsiRot) * QFT0C;
532-
if (LambdacRot.M() > cMinLambdaMass && LambdacRot.M() <= cMaxLambdaMass && TMath::Abs(LambdacRot.Rapidity()) < confRapidity && LambdacRot.Pt() > 2.0 && LambdacRot.Pt() <= 6.0) {
533-
histos.fill(HIST("hSparseV2SASameEventRotational_V2"), LambdacRot.M(), LambdacRot.Pt(), v2Rot, TMath::Abs(track1.dcaXY()), Proton.Pt());
561+
if (LambdacRot.M() > cMinLambdaMass && LambdacRot.M() <= cMaxLambdaMass && std::abs(LambdacRot.Rapidity()) < confRapidity && LambdacRot.Pt() > 2.0 && LambdacRot.Pt() <= 6.0) {
562+
histos.fill(HIST("hSparseV2SASameEventRotational_V2"), LambdacRot.M(), LambdacRot.Pt(), v2Rot, std::abs(track1.dcaXY()), Proton.Pt());
534563
}
535564
}
536565
}
@@ -544,11 +573,17 @@ struct highmasslambda {
544573
BinningTypeVertexContributor binningOnPositions{{axisVertex, axisMultiplicityClass, axisEPAngle}, true};
545574
Pair<EventCandidates, TrackCandidates, ResoV0s, BinningTypeVertexContributor> pairs{binningOnPositions, cfgNoMixedEvents, -1, collisions, tracksV0sTuple, &cache}; // -1 is the number of the bin to skip
546575
for (auto& [collision1, tracks1, collision2, tracks2] : pairs) {
547-
if (!collision1.sel8() || !collision1.triggereventep() || !collision1.selection_bit(aod::evsel::kNoTimeFrameBorder) || !collision1.selection_bit(aod::evsel::kNoITSROFrameBorder) || !collision1.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision1.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) || !collision1.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
548-
continue;
576+
if (!collision1.sel8() || !collision1.triggereventep() || !collision1.selection_bit(aod::evsel::kNoTimeFrameBorder) || !collision1.selection_bit(aod::evsel::kNoITSROFrameBorder)) {
577+
return;
549578
}
550-
if (!collision2.sel8() || !collision2.triggereventep() || !collision2.selection_bit(aod::evsel::kNoTimeFrameBorder) || !collision2.selection_bit(aod::evsel::kNoITSROFrameBorder) || !collision2.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision2.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) || !collision2.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
551-
continue;
579+
if (additionalEvSel && (!collision1.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll) || !collision1.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision1.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) || !collision1.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard))) {
580+
return;
581+
}
582+
if (!collision2.sel8() || !collision2.triggereventep() || !collision2.selection_bit(aod::evsel::kNoTimeFrameBorder) || !collision2.selection_bit(aod::evsel::kNoITSROFrameBorder)) {
583+
return;
584+
}
585+
if (additionalEvSel && (!collision2.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll) || !collision2.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision2.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) || !collision2.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard))) {
586+
return;
552587
}
553588
if (collision1.bcId() == collision2.bcId()) {
554589
continue;
@@ -576,6 +611,10 @@ struct highmasslambda {
576611
if (!selectionTrack(track1)) {
577612
continue;
578613
}
614+
if (!(itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) > -3.0 && itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) < 3.0)) {
615+
continue;
616+
}
617+
579618
// PID check
580619
if (PIDstrategy == 0 && !selectionPID1(track1)) {
581620
continue;
@@ -586,9 +625,6 @@ struct highmasslambda {
586625
if (PIDstrategy == 2 && !selectionPID3(track1)) {
587626
continue;
588627
}
589-
if (track1.p() < 1.0 && !(itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) > -2.5 && itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) < 2.5)) {
590-
continue;
591-
}
592628

593629
if (!SelectionV0(collision2, v0)) {
594630
continue;
@@ -607,27 +643,26 @@ struct highmasslambda {
607643
if (Lambdac.Pt() > 6.0 || Lambdac.Pt() < 2.0) {
608644
continue;
609645
}
610-
if (TMath::Abs(Lambdac.Rapidity()) > confRapidity) {
646+
if (std::abs(Lambdac.Rapidity()) > confRapidity) {
611647
continue;
612648
}
613649
auto phiminuspsi = GetPhiInRange(Lambdac.Phi() - psiFT0C);
614650
v2 = TMath::Cos(2.0 * phiminuspsi) * QFT0C;
615-
if (occupancy1 < cfgOccupancyCut && occupancy2 < cfgOccupancyCut && Lambdac.M() > cMinLambdaMass && Lambdac.M() <= cMaxLambdaMass && TMath::Abs(Lambdac.Rapidity()) < confRapidity && Lambdac.Pt() > 2.0 && Lambdac.Pt() <= 6.0) {
616-
histos.fill(HIST("hSparseV2SAMixedEvent_V2"), Lambdac.M(), Lambdac.Pt(), v2, TMath::Abs(track1.dcaXY()), Proton.Pt());
651+
if (occupancy1 < cfgOccupancyCut && occupancy2 < cfgOccupancyCut && Lambdac.M() > cMinLambdaMass && Lambdac.M() <= cMaxLambdaMass && std::abs(Lambdac.Rapidity()) < confRapidity && Lambdac.Pt() > 2.0 && Lambdac.Pt() <= 6.0) {
652+
histos.fill(HIST("hSparseV2SAMixedEvent_V2"), Lambdac.M(), Lambdac.Pt(), v2, std::abs(track1.dcaXY()), Proton.Pt());
617653
}
618654
}
619655
}
620656
}
621657
PROCESS_SWITCH(highmasslambda, processMixedEventOpti, "Process Mixed event new", false);
622658
void processSameEventSvx(EventCandidates::iterator const& collision, TrackCandidatesSvx const& tracks, AllTrackCandidatesSvx const&, ResoV0sSvx const& V0s, aod::BCsWithTimestamps const&)
623659
{
624-
if (!collision.sel8() || !collision.triggereventep() || !collision.selection_bit(aod::evsel::kNoTimeFrameBorder) || !collision.selection_bit(aod::evsel::kNoITSROFrameBorder) || !collision.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) || !collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard)) {
660+
if (!collision.sel8() || !collision.triggereventep() || !collision.selection_bit(aod::evsel::kNoTimeFrameBorder) || !collision.selection_bit(aod::evsel::kNoITSROFrameBorder)) {
625661
return;
626662
}
627-
if (additionalEvSel && !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) {
663+
if (additionalEvSel && (!collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll) || !collision.selection_bit(aod::evsel::kNoSameBunchPileup) || !collision.selection_bit(aod::evsel::kIsGoodZvtxFT0vsPV) || !collision.selection_bit(o2::aod::evsel::kNoCollInTimeRangeStandard))) {
628664
return;
629665
}
630-
631666
/// Set the magnetic field from ccdb.
632667
auto bc = collision.template bc_as<aod::BCsWithTimestamps>();
633668
if (runNumber != bc.runNumber()) {
@@ -674,6 +709,10 @@ struct highmasslambda {
674709
if (!selectionTrack(track1)) {
675710
continue;
676711
}
712+
if (!(itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) > -3.0 && itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) < 3.0)) {
713+
continue;
714+
}
715+
677716
histos.fill(HIST("hNsigmaProtonTPCPre"), track1.tpcNSigmaPr(), track1.pt());
678717
// PID check
679718
if (PIDstrategy == 0 && !selectionPID1(track1)) {
@@ -685,9 +724,6 @@ struct highmasslambda {
685724
if (PIDstrategy == 2 && !selectionPID3(track1)) {
686725
continue;
687726
}
688-
if (track1.p() < 1.0 && !(itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) > -2.5 && itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) < 2.5)) {
689-
continue;
690-
}
691727
histos.fill(HIST("hEta"), track1.eta());
692728
histos.fill(HIST("hDcaxy"), track1.dcaXY());
693729
histos.fill(HIST("hDcaz"), track1.dcaZ());
@@ -842,7 +878,7 @@ struct highmasslambda {
842878
continue;
843879
}
844880

845-
if (Lambdac.M() > cMinLambdaMass && Lambdac.M() <= cMaxLambdaMass && TMath::Abs(Lambdac.Rapidity()) < confRapidity && Lambdac.Pt() > 2.0 && Lambdac.Pt() <= 6.0) {
881+
if (Lambdac.M() > cMinLambdaMass && Lambdac.M() <= cMaxLambdaMass && std::abs(Lambdac.Rapidity()) < confRapidity && Lambdac.Pt() > 2.0 && Lambdac.Pt() <= 6.0) {
846882
histos.fill(HIST("hSparseV2SASameEvent_V2_SVX"), Lambdac.M(), Lambdac.Pt(), v2, decaylengthxy, CPAlambdac);
847883
}
848884
if (fillRotation) {
@@ -858,7 +894,7 @@ struct highmasslambda {
858894
LambdacRot = Proton + KshortRot;
859895
auto phiminuspsiRot = GetPhiInRange(LambdacRot.Phi() - psiFT0C);
860896
v2Rot = TMath::Cos(2.0 * phiminuspsiRot) * QFT0C;
861-
if (LambdacRot.M() > cMinLambdaMass && LambdacRot.M() <= cMaxLambdaMass && TMath::Abs(LambdacRot.Rapidity()) < confRapidity && LambdacRot.Pt() > 2.0 && LambdacRot.Pt() <= 6.0) {
897+
if (LambdacRot.M() > cMinLambdaMass && LambdacRot.M() <= cMaxLambdaMass && std::abs(LambdacRot.Rapidity()) < confRapidity && LambdacRot.Pt() > 2.0 && LambdacRot.Pt() <= 6.0) {
862898
histos.fill(HIST("hSparseV2SASameEventRotational_V2_SVX"), LambdacRot.M(), LambdacRot.Pt(), v2Rot, decaylengthxy, CPAlambdac);
863899
}
864900
}

0 commit comments

Comments
 (0)