Skip to content

Commit f4d85b8

Browse files
committed
[PWGLF] Add the PID option for using TOF
Apply TPC and TOF cuts for PID, depending on the availability of TOF.
1 parent 8fb6e00 commit f4d85b8

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

PWGLF/Tasks/Resonances/f0980analysis.cxx

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
#include <Framework/Configurable.h>
1515
#include <TLorentzVector.h>
1616
#include "TVector2.h"
17-
#include <vector>
1817

1918
#include "Common/DataModel/Centrality.h"
2019
#include "Common/DataModel/EventSelection.h"
@@ -47,8 +46,6 @@ struct f0980analysis {
4746
"Maximum transverse DCA"};
4847
Configurable<float> cfgMaxDCAzToPVcut{"cfgMaxDCAzToPVcut", 2.0,
4948
"Maximum longitudinal DCA"};
50-
Configurable<float> cfgMaxTPC{"cfgMaxTPC", 5.0, "Maximum TPC PID with TOF"};
51-
Configurable<float> cfgMaxTOF{"cfgMaxTOF", 3.0, "Maximum TOF PID with TPC"};
5249
Configurable<float> cfgMinRap{"cfgMinRap", -0.5, "Minimum rapidity for pair"};
5350
Configurable<float> cfgMaxRap{"cfgMaxRap", 0.5, "Maximum rapidity for pair"};
5451
Configurable<bool> cfgFindRT{"cfgFindRT", false, "boolean for RT analysis"};
@@ -80,7 +77,8 @@ struct f0980analysis {
8077

8178
// PID
8279
Configurable<double> cMaxTOFnSigmaPion{"cMaxTOFnSigmaPion", 3.0, "TOF nSigma cut for Pion"}; // TOF
83-
Configurable<double> cMaxTPCnSigmaPion{"cMaxTPCnSigmaPion", 3.0, "TPC nSigma cut for Pion"}; // TPC
80+
Configurable<double> cMaxTPCnSigmaPion{"cMaxTPCnSigmaPion", 5.0, "TPC nSigma cut for Pion"}; // TPC
81+
Configurable<double> cMaxTPCnSigmaPionWoTOF{"cMaxTPCnSigmaPionWoTOF", 2.0, "TPC nSigma cut without TOF for Pion"};
8482
Configurable<double> nsigmaCutCombinedPion{"nsigmaCutCombinedPion", -999, "Combined nSigma cut for Pion"};
8583
Configurable<int> SelectType{"SelectType", 0, "PID selection type"};
8684

@@ -199,6 +197,15 @@ struct f0980analysis {
199197
if (track.tpcNSigmaPi() * track.tpcNSigmaPi() + track.tofNSigmaPi() * track.tofNSigmaPi() >= nsigmaCutCombinedPion * nsigmaCutCombinedPion)
200198
return false;
201199
}
200+
if (SelectType == 3) {
201+
if (track.hasTOF()) {
202+
if (std::fabs(track.tpcNSigmaPi()) >= cMaxTPCnSigmaPion || std::fabs(track.tofNSigmaPi()) >= cMaxTOFnSigmaPion)
203+
return false;
204+
} else if (!track.hasTOF()) {
205+
if (std::fabs(track.tpcNSigmaPi()) >= cMaxTPCnSigmaPionWoTOF)
206+
return false;
207+
}
208+
}
202209
return true;
203210
}
204211

@@ -227,17 +234,14 @@ struct f0980analysis {
227234
TLorentzVector Pion1, Pion2, Reco;
228235
for (auto& [trk1, trk2] :
229236
combinations(CombinationsStrictlyUpperIndexPolicy(dTracks, dTracks))) {
230-
if (trk1.index() == trk2.index()) {
231-
if (!SelTrack(trk1))
232-
continue;
233-
histos.fill(HIST("QA/Nsigma_TPC"), trk1.pt(), trk1.tpcNSigmaPi());
234-
histos.fill(HIST("QA/Nsigma_TOF"), trk1.pt(), trk1.tofNSigmaPi());
235-
histos.fill(HIST("QA/TPC_TOF"), trk1.tpcNSigmaPi(), trk1.tofNSigmaPi());
236-
continue;
237-
}
238237

239238
if (!SelTrack(trk1) || !SelTrack(trk2))
240239
continue;
240+
// TPC, TOF Nsigma distributions
241+
histos.fill(HIST("QA/Nsigma_TPC"), trk1.pt(), trk1.tpcNSigmaPi());
242+
histos.fill(HIST("QA/Nsigma_TOF"), trk1.pt(), trk1.tofNSigmaPi());
243+
histos.fill(HIST("QA/TPC_TOF"), trk1.tpcNSigmaPi(), trk1.tofNSigmaPi());
244+
241245
if (!SelPion(trk1) || !SelPion(trk2))
242246
continue;
243247

@@ -305,7 +309,6 @@ struct f0980analysis {
305309

306310
void processMCTrue(aod::ResoMCParents& resoParents)
307311
{
308-
309312
for (auto& part : resoParents) { // loop over all pre-filtered MC particles
310313
if (abs(part.pdgCode()) != 9010221)
311314
continue;

0 commit comments

Comments
 (0)