Skip to content

Commit 17d8fdd

Browse files
authored
[PWGLF] Modify PID selection (AliceO2Group#10204)
1 parent 83452af commit 17d8fdd

File tree

1 file changed

+185
-44
lines changed

1 file changed

+185
-44
lines changed

PWGLF/Tasks/Resonances/highmasslambda.cxx

Lines changed: 185 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,6 @@ struct highmasslambda {
9494
Configurable<float> cfgCutCentralityMin{"cfgCutCentralityMin", 30.0f, "Accepted minimum Centrality"};
9595
Configurable<bool> additionalEvSel{"additionalEvSel", true, "additionalEvSel"};
9696
// proton track cut
97-
Configurable<float> confMinDCAProtonV0{"confMinDCAProtonV0", -5.0, "Minimum DCA between Proton and V0"};
98-
Configurable<float> confMaxDCAProtonV0{"confMaxDCAProtonV0", 5.0, "Maximum DCA between Proton and V0"};
9997
Configurable<float> confMinRot{"confMinRot", 5.0 * TMath::Pi() / 6.0, "Minimum of rotation"};
10098
Configurable<float> confMaxRot{"confMaxRot", 7.0 * TMath::Pi() / 6.0, "Maximum of rotation"};
10199
Configurable<float> confRapidity{"confRapidity", 0.8, "cut on Rapidity"};
@@ -110,7 +108,7 @@ struct highmasslambda {
110108
Configurable<float> cfgCutDCAz{"cfgCutDCAz", 1.0f, "DCAz range for tracks"};
111109
Configurable<int> cfgITScluster{"cfgITScluster", 5, "Number of ITS cluster"};
112110
Configurable<int> cfgTPCcluster{"cfgTPCcluster", 70, "Number of TPC cluster"};
113-
Configurable<int> PIDstrategy{"PIDstrategy", 0, "0: TOF Veto, 1: TOF Veto opti, 2: TOF, 3: TOF loose 1, 4: TOF loose 2, 5: old pt dep"};
111+
Configurable<int> PIDstrategy{"PIDstrategy", 0, "0: default p dep TPC and TOF (TOF no mandatory), 1: 7 with relax TOF, 2: 7 with relax TPC and TOF, 3: TOF mandatory"};
114112
Configurable<float> nsigmaCutTPC{"nsigmacutTPC", 3.0, "Value of the TPC Nsigma cut"};
115113
Configurable<float> nsigmaCutTOF{"nsigmaCutTOF", 3.0, "TOF PID"};
116114
Configurable<float> nsigmaCutITS{"nsigmaCutITS", 3.0, "Value of the ITS Nsigma cut"};
@@ -176,12 +174,11 @@ struct highmasslambda {
176174
// std::vector<double> ptLambdaBinning = {2.0, 3.0, 4.0, 5.0, 6.0};
177175

178176
std::vector<double> occupancyBinning = {-0.5, 500.0, 1000.0, 1500.0, 2000.0, 3000.0, 4000.0, 5000.0, 50000.0};
179-
std::vector<double> dcaV0toPVBinning = {0.0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.08, 0.1, 0.15, 0.2, 0.3, 0.5, 1.0};
177+
std::vector<double> dcaV0toPVBinning = {0.0, 0.1, 0.2, 0.3, 0.5, 3.0, 100.0};
180178
std::vector<double> cpaV0Binning = {0.995, 0.996, 0.997, 0.998, 0.999, 0.9995, 0.9997, 0.9999, 1.005};
181179
std::vector<double> ptV0Binning = {0.0, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1.0, 1.5, 100.0};
182180
std::vector<double> dcaBetweenV0 = {0.0, 0.05, 0.1, 0.15, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1.0};
183181
std::vector<double> dcaBetweenProtonV0 = {-2.0, -1.0, -0.5, -0.4, -0.3, -0.2, -0.18, -0.16, -0.14, -0.12, -0.1, -0.08, -0.06, -0.05, -0.04, -0.03, -0.025, -0.02, -0.01, -0.005, -0.004, -0.003, -0.003, -0.002, -0.001, 0.0, 0.001, 0.002, 0.003, 0.004, 0.005, 0.006, 0.007, 0.008, 0.01, 0.012, 0.014, 0.016, 0.018, 0.02, 0.025, 0.03, 0.04, 0.05, 0.06, 0.08, 0.1, 0.12, 0.14, 0.16, 0.18, 0.2, 0.3, 0.4, 0.5, 1.0, 2.0};
184-
185182
AxisSpec resAxis = {1600, -30, 30, "Res"};
186183
AxisSpec phiAxis = {500, -6.28, 6.28, "phi"};
187184
AxisSpec centAxis = {8, 0, 80, "V0M (%)"};
@@ -202,6 +199,9 @@ struct highmasslambda {
202199

203200
histos.add("hMomCorr", "hMomCorr", kTH2F, {{200, -10.0f, 10.0f}, {200, -10.0f, 10.0f}});
204201
histos.add("hInvMassKs0", "hInvMassKs0", kTH1F, {{200, 0.4f, 0.6f}});
202+
histos.add("hInvMassKs0before", "hInvMassKs0before", kTH1F, {{200, 0.4f, 0.6f}});
203+
histos.add("hInvMassKs0before2", "hInvMassKs0before2", kTH1F, {{200, 0.4f, 0.6f}});
204+
histos.add("hInvMassKs0before3", "hInvMassKs0before3", kTH1F, {{200, 0.4f, 0.6f}});
205205
histos.add("hV0Dca", "hV0Dca", kTH1F, {{2000, -1.0f, 1.0f}});
206206
histos.add("hpTvsRapidity", "pT vs Rapidity", kTH2F, {{100, 0.0f, 10.0f}, {300, -1.5f, 1.5f}});
207207
histos.add("hCentrality", "Centrality distribution", kTH1F, {{200, 0.0, 200.0}});
@@ -237,8 +237,8 @@ struct highmasslambda {
237237
histos.add("hSparseV2SAMixedEvent_V2", "hSparseV2SAMixedEvent_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, dcaV0toPVBinning, cpaV0Binning, ptV0Binning, dcaBetweenV0, dcaBetweenProtonV0});
238238
}
239239
if (useKshortOpti == 2) {
240-
histos.add("hSparseV2SASameEvent_V2", "hSparseV2SASameEvent_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaBetweenProtonV0});
241-
histos.add("hSparseV2SAMixedEvent_V2", "hSparseV2SAMixedEvent_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, dcaBetweenProtonV0});
240+
histos.add("hSparseV2SASameEvent_V2", "hSparseV2SASameEvent_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDCA, dcaV0toPVBinning});
241+
histos.add("hSparseV2SAMixedEvent_V2", "hSparseV2SAMixedEvent_V2", HistType::kTHnSparseF, {thnAxisInvMass, thnAxisPt, thnAxisV2, thnAxisDCA, dcaV0toPVBinning});
242242
}
243243
// histogram for resolution
244244
histos.add("ResFT0CTPC", "ResFT0CTPC", kTH2F, {centAxis, resAxis});
@@ -507,6 +507,149 @@ struct highmasslambda {
507507
return false;
508508
}
509509

510+
// TPC TOF
511+
template <typename T>
512+
bool selectionPID7(const T& candidate)
513+
{
514+
if (candidate.pt() < 0.7 && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
515+
return true;
516+
}
517+
if (candidate.pt() >= 0.7) {
518+
if (candidate.hasTOF() && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
519+
if (candidate.pt() < 2.5 && std::abs(candidate.tofNSigmaPr()) < nsigmaCutTOF) {
520+
return true;
521+
}
522+
if (candidate.pt() >= 2.5 && candidate.pt() < 4 && candidate.tofNSigmaPr() > -2.0 && candidate.tofNSigmaPr() < nsigmaCutTOF) {
523+
return true;
524+
}
525+
if (candidate.pt() >= 4 && candidate.pt() < 5 && candidate.tofNSigmaPr() > -1.5 && candidate.tofNSigmaPr() < nsigmaCutTOF) {
526+
return true;
527+
}
528+
if (candidate.pt() >= 5 && candidate.tofNSigmaPr() > -1.0 && candidate.tofNSigmaPr() < nsigmaCutTOF) {
529+
return true;
530+
}
531+
}
532+
if (!candidate.hasTOF()) {
533+
if (candidate.pt() >= 0.7 && candidate.pt() < 0.8 && candidate.tpcNSigmaPr() > -1.8 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
534+
return true;
535+
}
536+
if (candidate.pt() >= 0.8 && candidate.pt() < 0.9 && candidate.tpcNSigmaPr() > -1.7 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
537+
return true;
538+
}
539+
if (candidate.pt() >= 0.9 && candidate.pt() < 1.0 && candidate.tpcNSigmaPr() > -1.6 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
540+
return true;
541+
}
542+
if (candidate.pt() >= 1.0 && candidate.pt() < 1.8 && candidate.tpcNSigmaPr() > -0.5 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
543+
return true;
544+
}
545+
if (candidate.pt() >= 1.8 && TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
546+
return true;
547+
}
548+
}
549+
}
550+
return false;
551+
}
552+
553+
// TPC TOF
554+
template <typename T>
555+
bool selectionPID8(const T& candidate)
556+
{
557+
if (candidate.pt() < 0.7 && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
558+
return true;
559+
}
560+
if (candidate.pt() >= 0.7) {
561+
if (candidate.hasTOF() && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
562+
if (candidate.pt() < 2.5 && std::abs(candidate.tofNSigmaPr()) < nsigmaCutTOF) {
563+
return true;
564+
}
565+
if (candidate.pt() >= 2.5 && candidate.tofNSigmaPr() > -2.0 && candidate.tofNSigmaPr() < nsigmaCutTOF) {
566+
return true;
567+
}
568+
}
569+
if (!candidate.hasTOF()) {
570+
if (candidate.pt() >= 0.7 && candidate.pt() < 0.8 && candidate.tpcNSigmaPr() > -1.8 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
571+
return true;
572+
}
573+
if (candidate.pt() >= 0.8 && candidate.pt() < 0.9 && candidate.tpcNSigmaPr() > -1.7 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
574+
return true;
575+
}
576+
if (candidate.pt() >= 0.9 && candidate.pt() < 1.0 && candidate.tpcNSigmaPr() > -1.6 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
577+
return true;
578+
}
579+
if (candidate.pt() >= 1.0 && candidate.pt() < 1.8 && candidate.tpcNSigmaPr() > -0.5 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
580+
return true;
581+
}
582+
if (candidate.pt() >= 1.8 && TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
583+
return true;
584+
}
585+
}
586+
}
587+
return false;
588+
}
589+
590+
// TPC TOF
591+
template <typename T>
592+
bool selectionPID9(const T& candidate)
593+
{
594+
if (candidate.pt() < 0.7 && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
595+
return true;
596+
}
597+
if (candidate.pt() >= 0.7) {
598+
if (candidate.hasTOF() && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
599+
if (candidate.pt() < 2.5 && std::abs(candidate.tofNSigmaPr()) < nsigmaCutTOF) {
600+
return true;
601+
}
602+
if (candidate.pt() >= 2.5 && candidate.tofNSigmaPr() > -2.0 && candidate.tofNSigmaPr() < nsigmaCutTOF) {
603+
return true;
604+
}
605+
}
606+
if (!candidate.hasTOF()) {
607+
if (candidate.pt() >= 0.7 && candidate.pt() < 0.8 && candidate.tpcNSigmaPr() > -1.8 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
608+
return true;
609+
}
610+
if (candidate.pt() >= 0.8 && candidate.pt() < 0.9 && candidate.tpcNSigmaPr() > -1.7 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
611+
return true;
612+
}
613+
if (candidate.pt() >= 0.9 && candidate.pt() < 1.0 && candidate.tpcNSigmaPr() > -1.6 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
614+
return true;
615+
}
616+
if (candidate.pt() >= 1.0 && candidate.pt() < 1.8 && candidate.tpcNSigmaPr() > -1.5 && candidate.tpcNSigmaPr() < nsigmaCutTPC) {
617+
return true;
618+
}
619+
if (candidate.pt() >= 1.8 && TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
620+
return true;
621+
}
622+
}
623+
}
624+
return false;
625+
}
626+
627+
// TPC TOF
628+
template <typename T>
629+
bool selectionPID10(const T& candidate)
630+
{
631+
if (candidate.pt() < 0.7 && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
632+
return true;
633+
}
634+
if (candidate.pt() >= 0.7 && candidate.pt() < 1.8 && candidate.hasTOF() && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
635+
return true;
636+
}
637+
if (candidate.pt() >= 1.8) {
638+
if (candidate.hasTOF() && std::abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
639+
if (candidate.pt() < 2.5 && std::abs(candidate.tofNSigmaPr()) < nsigmaCutTOF) {
640+
return true;
641+
}
642+
if (candidate.pt() >= 2.5 && candidate.tofNSigmaPr() > -2.0 && candidate.tofNSigmaPr() < nsigmaCutTOF) {
643+
return true;
644+
}
645+
}
646+
if (!candidate.hasTOF() && TMath::Abs(candidate.tpcNSigmaPr()) < nsigmaCutTPC) {
647+
return true;
648+
}
649+
}
650+
return false;
651+
}
652+
510653
template <typename Collision, typename V0>
511654
bool SelectionV0(Collision const& collision, V0 const& candidate)
512655
{
@@ -563,7 +706,7 @@ struct highmasslambda {
563706
if (std::abs(pt) < 0.15) {
564707
return false;
565708
}
566-
if (tpcNClsF < 70) {
709+
if (tpcNClsF < 50) {
567710
return false;
568711
}
569712
if (std::abs(dcaXY) < ConfDaughDCAMin) {
@@ -641,26 +784,23 @@ struct highmasslambda {
641784
continue;
642785
}
643786
histos.fill(HIST("hNsigmaProtonITS"), itsResponse.nSigmaITS<o2::track::PID::Proton>(track1), track1.pt());
644-
if (track1.p() < 1.0 && !(itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) > -nsigmaCutITS && itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) < nsigmaCutITS)) {
645-
continue;
646-
}
647-
histos.fill(HIST("hNsigmaProtonTPCPre"), track1.tpcNSigmaPr(), track1.pt());
648-
if (PIDstrategy == 0 && !selectionPID1(track1)) {
787+
if (track1.pt() <= 0.6 && !(itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) > -2.0)) {
649788
continue;
650789
}
651-
if (PIDstrategy == 1 && !selectionPID2(track1)) {
790+
if (track1.pt() > 0.6 && track1.pt() <= 0.8 && !(itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) > -1.5)) {
652791
continue;
653792
}
654-
if (PIDstrategy == 2 && !selectionPID3(track1)) {
793+
histos.fill(HIST("hNsigmaProtonTPCPre"), track1.tpcNSigmaPr(), track1.pt());
794+
if (PIDstrategy == 0 && !selectionPID7(track1)) {
655795
continue;
656796
}
657-
if (PIDstrategy == 3 && !selectionPID4(track1)) {
797+
if (PIDstrategy == 1 && !selectionPID8(track1)) {
658798
continue;
659799
}
660-
if (PIDstrategy == 4 && !selectionPID5(track1)) {
800+
if (PIDstrategy == 2 && !selectionPID9(track1)) {
661801
continue;
662802
}
663-
if (PIDstrategy == 5 && !selectionPID6(track1)) {
803+
if (PIDstrategy == 3 && !selectionPID10(track1)) {
664804
continue;
665805
}
666806
histos.fill(HIST("hEta"), track1.eta());
@@ -672,9 +812,16 @@ struct highmasslambda {
672812
}
673813
auto track1ID = track1.globalIndex();
674814
for (auto v0 : V0s) {
815+
if (firstprimarytrack == 0) {
816+
histos.fill(HIST("hInvMassKs0before"), v0.mK0Short());
817+
}
675818
if (!SelectionV0(collision, v0)) {
676819
continue;
677820
}
821+
if (firstprimarytrack == 0) {
822+
histos.fill(HIST("hInvMassKs0before2"), v0.mK0Short());
823+
}
824+
678825
if (firstprimarytrack == 0) {
679826
histos.fill(HIST("hV0Dca"), v0.dcav0topv());
680827
}
@@ -686,6 +833,10 @@ struct highmasslambda {
686833
if (!isSelectedV0Daughter(negtrack, -1)) {
687834
continue;
688835
}
836+
if (firstprimarytrack == 0) {
837+
histos.fill(HIST("hInvMassKs0before3"), v0.mK0Short());
838+
}
839+
689840
if (track1ID == postrack.globalIndex()) {
690841
continue;
691842
}
@@ -709,15 +860,15 @@ struct highmasslambda {
709860
auto ptV0 = v0.pt();
710861
auto dcaV0Daughters = std::abs(v0.dcaV0daughters());
711862
auto dcaProtonV0 = v0.dcav0topv() - track1.dcaXY();
712-
if (Lambdac.M() > cMinLambdaMass && Lambdac.M() <= cMaxLambdaMass && std::abs(Lambdac.Rapidity()) < confRapidity && Lambdac.Pt() > 1.0 && Lambdac.Pt() <= 6.0 && dcaProtonV0 > confMinDCAProtonV0 && dcaProtonV0 < confMaxDCAProtonV0) {
863+
if (Lambdac.M() > cMinLambdaMass && Lambdac.M() <= cMaxLambdaMass && std::abs(Lambdac.Rapidity()) < confRapidity && Lambdac.Pt() > 1.0 && Lambdac.Pt() <= 6.0) {
713864
if (useKshortOpti == 0) {
714865
histos.fill(HIST("hSparseV2SASameEvent_V2"), Lambdac.M(), Lambdac.Pt(), std::abs(track1.dcaXY()), Proton.Pt());
715866
}
716867
if (useKshortOpti == 1) {
717868
histos.fill(HIST("hSparseV2SASameEvent_V2"), Lambdac.M(), Lambdac.Pt(), dcaV0toPV, cpaV0, ptV0, dcaV0Daughters, dcaProtonV0);
718869
}
719870
if (useKshortOpti == 2) {
720-
histos.fill(HIST("hSparseV2SASameEvent_V2"), Lambdac.M(), Lambdac.Pt(), v2, dcaProtonV0);
871+
histos.fill(HIST("hSparseV2SASameEvent_V2"), Lambdac.M(), Lambdac.Pt(), v2, std::abs(track1.dcaXY()), dcaV0toPV);
721872
}
722873
}
723874
if (fillRotation) {
@@ -736,7 +887,7 @@ struct highmasslambda {
736887
if (useSP) {
737888
v2Rot = TMath::Cos(2.0 * phiminuspsiRot);
738889
}
739-
if (LambdacRot.M() > cMinLambdaMass && LambdacRot.M() <= cMaxLambdaMass && std::abs(LambdacRot.Rapidity()) < confRapidity && LambdacRot.Pt() > 1.0 && LambdacRot.Pt() <= 6.0 && dcaProtonV0 > confMinDCAProtonV0 && dcaProtonV0 < confMaxDCAProtonV0) {
890+
if (LambdacRot.M() > cMinLambdaMass && LambdacRot.M() <= cMaxLambdaMass && std::abs(LambdacRot.Rapidity()) < confRapidity && LambdacRot.Pt() > 1.0 && LambdacRot.Pt() <= 6.0) {
740891
histos.fill(HIST("hSparseV2SASameEventRotational_V2"), LambdacRot.M(), LambdacRot.Pt(), v2Rot);
741892
}
742893
}
@@ -789,27 +940,23 @@ struct highmasslambda {
789940
if (!selectionTrack(track1)) {
790941
continue;
791942
}
792-
if (track1.p() < 1.0 && !(itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) > -nsigmaCutITS && itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) < nsigmaCutITS)) {
943+
if (track1.pt() <= 0.6 && !(itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) > -2.0)) {
793944
continue;
794945
}
795-
796-
// PID check
797-
if (PIDstrategy == 0 && !selectionPID1(track1)) {
946+
if (track1.pt() > 0.6 && track1.pt() <= 0.8 && !(itsResponse.nSigmaITS<o2::track::PID::Proton>(track1) > -1.5)) {
798947
continue;
799948
}
800-
if (PIDstrategy == 1 && !selectionPID2(track1)) {
801-
continue;
802-
}
803-
if (PIDstrategy == 2 && !selectionPID3(track1)) {
949+
// PID check
950+
if (PIDstrategy == 0 && !selectionPID7(track1)) {
804951
continue;
805952
}
806-
if (PIDstrategy == 3 && !selectionPID4(track1)) {
953+
if (PIDstrategy == 1 && !selectionPID8(track1)) {
807954
continue;
808955
}
809-
if (PIDstrategy == 4 && !selectionPID5(track1)) {
956+
if (PIDstrategy == 2 && !selectionPID9(track1)) {
810957
continue;
811958
}
812-
if (PIDstrategy == 5 && !selectionPID6(track1)) {
959+
if (PIDstrategy == 3 && !selectionPID10(track1)) {
813960
continue;
814961
}
815962
if (!SelectionV0(collision2, v0)) {
@@ -842,15 +989,15 @@ struct highmasslambda {
842989
auto ptV0 = v0.pt();
843990
auto dcaV0Daughters = std::abs(v0.dcaV0daughters());
844991
auto dcaProtonV0 = v0.dcav0topv() - track1.dcaXY();
845-
if (Lambdac.M() > cMinLambdaMass && Lambdac.M() <= cMaxLambdaMass && std::abs(Lambdac.Rapidity()) < confRapidity && Lambdac.Pt() > 1.0 && Lambdac.Pt() <= 6.0 && dcaProtonV0 > confMinDCAProtonV0 && dcaProtonV0 < confMaxDCAProtonV0) {
992+
if (Lambdac.M() > cMinLambdaMass && Lambdac.M() <= cMaxLambdaMass && std::abs(Lambdac.Rapidity()) < confRapidity && Lambdac.Pt() > 1.0 && Lambdac.Pt() <= 6.0) {
846993
if (useKshortOpti == 0) {
847994
histos.fill(HIST("hSparseV2SAMixedEvent_V2"), Lambdac.M(), Lambdac.Pt(), std::abs(track1.dcaXY()), Proton.Pt());
848995
}
849996
if (useKshortOpti == 1) {
850997
histos.fill(HIST("hSparseV2SAMixedEvent_V2"), Lambdac.M(), Lambdac.Pt(), dcaV0toPV, cpaV0, ptV0, dcaV0Daughters, dcaProtonV0);
851998
}
852999
if (useKshortOpti == 2) {
853-
histos.fill(HIST("hSparseV2SAMixedEvent_V2"), Lambdac.M(), Lambdac.Pt(), v2, dcaProtonV0);
1000+
histos.fill(HIST("hSparseV2SAMixedEvent_V2"), Lambdac.M(), Lambdac.Pt(), v2, std::abs(track1.dcaXY()), dcaV0toPV);
8541001
}
8551002
}
8561003
}
@@ -918,22 +1065,16 @@ struct highmasslambda {
9181065

9191066
histos.fill(HIST("hNsigmaProtonTPCPre"), track1.tpcNSigmaPr(), track1.pt());
9201067
// PID check
921-
if (PIDstrategy == 0 && !selectionPID1(track1)) {
922-
continue;
923-
}
924-
if (PIDstrategy == 1 && !selectionPID2(track1)) {
925-
continue;
926-
}
927-
if (PIDstrategy == 2 && !selectionPID3(track1)) {
1068+
if (PIDstrategy == 0 && !selectionPID7(track1)) {
9281069
continue;
9291070
}
930-
if (PIDstrategy == 3 && !selectionPID4(track1)) {
1071+
if (PIDstrategy == 1 && !selectionPID8(track1)) {
9311072
continue;
9321073
}
933-
if (PIDstrategy == 4 && !selectionPID5(track1)) {
1074+
if (PIDstrategy == 2 && !selectionPID9(track1)) {
9341075
continue;
9351076
}
936-
if (PIDstrategy == 5 && !selectionPID6(track1)) {
1077+
if (PIDstrategy == 3 && !selectionPID10(track1)) {
9371078
continue;
9381079
}
9391080
histos.fill(HIST("hEta"), track1.eta());

0 commit comments

Comments
 (0)