Skip to content

Commit 6057b9a

Browse files
[PWGLF] Add the same PID option with Run2 analysis (#10455)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent ce4d579 commit 6057b9a

File tree

1 file changed

+36
-7
lines changed

1 file changed

+36
-7
lines changed

PWGLF/Tasks/Resonances/rho770analysis.cxx

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
/// \file rho770analysis.cxx
1313
/// \brief rho(770)0 analysis in pp 13 & 13.6 TeV
1414
/// \author Hyunji Lim (hyunji.lim@cern.ch)
15-
/// \since 01/23/2025
15+
/// \since 03/12/2025
1616

1717
#include <Framework/Configurable.h>
1818
#include <TLorentzVector.h>
@@ -45,7 +45,7 @@ struct rho770analysis {
4545
Configurable<float> cfgMaxDCArToPVcut{"cfgMaxDCArToPVcut", 0.15, "Maximum transverse DCA"};
4646
Configurable<float> cfgMaxDCAzToPVcut{"cfgMaxDCAzToPVcut", 2.0, "Maximum longitudinal DCA"};
4747
Configurable<float> cfgMaxTPC{"cfgMaxTPC", 5.0, "Maximum TPC PID with TOF"};
48-
Configurable<float> cfgMaxTOF{"cfgMaxTOF", 3.0, "Maximum TOF PID with TPC"};
48+
Configurable<float> cfgMaxTOF{"cfgMaxTOF", 5.0, "Maximum TOF PID with TPC"};
4949
Configurable<float> cfgMinRap{"cfgMinRap", -0.5, "Minimum rapidity for pair"};
5050
Configurable<float> cfgMaxRap{"cfgMaxRap", 0.5, "Maximum rapidity for pair"};
5151

@@ -68,7 +68,8 @@ struct rho770analysis {
6868

6969
// PID
7070
Configurable<double> cMaxTOFnSigmaPion{"cMaxTOFnSigmaPion", 3.0, "TOF nSigma cut for Pion"}; // TOF
71-
Configurable<double> cMaxTPCnSigmaPion{"cMaxTPCnSigmaPion", 3.0, "TPC nSigma cut for Pion"}; // TPC
71+
Configurable<double> cMaxTPCnSigmaPion{"cMaxTPCnSigmaPion", 5.0, "TPC nSigma cut for Pion"}; // TPC
72+
Configurable<double> cMaxTPCnSigmaPionnoTOF{"cMaxTPCnSigmaPionnoTOF", 2.0, "TPC nSigma cut for Pion in no TOF case"}; // TPC
7273
Configurable<double> nsigmaCutCombinedPion{"nsigmaCutCombinedPion", 3.0, "Combined nSigma cut for Pion"};
7374
Configurable<int> selectType{"selectType", 0, "PID selection type"};
7475

@@ -97,6 +98,10 @@ struct rho770analysis {
9798
histos.add("hInvMass_Kstar_LSpp", "Kstar ++ invariant mass", {HistType::kTHnSparseF, {massKstarAxis, ptAxis, centAxis}});
9899
histos.add("hInvMass_Kstar_LSmm", "Kstar -- invariant mass", {HistType::kTHnSparseF, {massKstarAxis, ptAxis, centAxis}});
99100

101+
histos.add("QA/Nsigma_TPC_BF", "", {HistType::kTH2F, {pTqaAxis, pidqaAxis}});
102+
histos.add("QA/Nsigma_TOF_BF", "", {HistType::kTH2F, {pTqaAxis, pidqaAxis}});
103+
histos.add("QA/TPC_TOF_BF", "", {HistType::kTH2F, {pidqaAxis, pidqaAxis}});
104+
100105
histos.add("QA/Nsigma_TPC", "", {HistType::kTH2F, {pTqaAxis, pidqaAxis}});
101106
histos.add("QA/Nsigma_TOF", "", {HistType::kTH2F, {pTqaAxis, pidqaAxis}});
102107
histos.add("QA/TPC_TOF", "", {HistType::kTH2F, {pidqaAxis, pidqaAxis}});
@@ -163,6 +168,15 @@ struct rho770analysis {
163168
if (track.tpcNSigmaPi() * track.tpcNSigmaPi() + track.tofNSigmaPi() * track.tofNSigmaPi() >= nsigmaCutCombinedPion * nsigmaCutCombinedPion)
164169
return false;
165170
}
171+
if (selectType == 3) {
172+
if (track.hasTOF()) {
173+
if (std::fabs(track.tpcNSigmaPi()) >= cMaxTPCnSigmaPion || std::fabs(track.tofNSigmaPi()) >= cMaxTOFnSigmaPion)
174+
return false;
175+
} else if (!track.hasTOF()) {
176+
if (std::fabs(track.tpcNSigmaPi()) >= cMaxTPCnSigmaPionnoTOF)
177+
return false;
178+
}
179+
}
166180
return true;
167181
}
168182

@@ -181,6 +195,15 @@ struct rho770analysis {
181195
if (track.tpcNSigmaKa() * track.tpcNSigmaKa() + track.tofNSigmaKa() * track.tofNSigmaKa() >= nsigmaCutCombinedPion * nsigmaCutCombinedPion)
182196
return false;
183197
}
198+
if (selectType == 3) {
199+
if (track.hasTOF()) {
200+
if (std::fabs(track.tpcNSigmaKa()) >= cMaxTPCnSigmaPion || std::fabs(track.tofNSigmaKa()) >= cMaxTOFnSigmaPion)
201+
return false;
202+
} else if (!track.hasTOF()) {
203+
if (std::fabs(track.tpcNSigmaKa()) >= cMaxTPCnSigmaPionnoTOF)
204+
return false;
205+
}
206+
}
184207
return true;
185208
}
186209

@@ -191,6 +214,10 @@ struct rho770analysis {
191214
for (const auto& [trk1, trk2] : combinations(CombinationsUpperIndexPolicy(dTracks, dTracks))) {
192215

193216
if (trk1.index() == trk2.index()) {
217+
histos.fill(HIST("QA/Nsigma_TPC_BF"), trk1.pt(), trk1.tpcNSigmaPi());
218+
histos.fill(HIST("QA/Nsigma_TOF_BF"), trk1.pt(), trk1.tofNSigmaPi());
219+
histos.fill(HIST("QA/TPC_TOF_BF"), trk1.tpcNSigmaPi(), trk1.tofNSigmaPi());
220+
194221
if (!selTrack(trk1))
195222
continue;
196223

@@ -306,17 +333,19 @@ struct rho770analysis {
306333
truthpar.SetPxPyPzE(part.px(), part.py(), part.pz(), part.e());
307334
auto mass = truthpar.M();
308335

336+
histos.fill(HIST("MCL/hpT_rho770_GEN"), 0, mass, part.pt(), multiplicity);
337+
309338
if (collision.isVtxIn10()) {
310-
histos.fill(HIST("MCL/hpT_rho770_GEN"), 0, mass, part.pt(), multiplicity);
339+
histos.fill(HIST("MCL/hpT_rho770_GEN"), 1, mass, part.pt(), multiplicity);
311340
}
312341
if (collision.isVtxIn10() && collision.isInSel8()) {
313-
histos.fill(HIST("MCL/hpT_rho770_GEN"), 1, mass, part.pt(), multiplicity);
342+
histos.fill(HIST("MCL/hpT_rho770_GEN"), 2, mass, part.pt(), multiplicity);
314343
}
315344
if (collision.isVtxIn10() && collision.isTriggerTVX()) {
316-
histos.fill(HIST("MCL/hpT_rho770_GEN"), 2, mass, part.pt(), multiplicity);
345+
histos.fill(HIST("MCL/hpT_rho770_GEN"), 3, mass, part.pt(), multiplicity);
317346
}
318347
if (collision.isInAfterAllCuts()) {
319-
histos.fill(HIST("MCL/hpT_rho770_GEN"), 3, mass, part.pt(), multiplicity);
348+
histos.fill(HIST("MCL/hpT_rho770_GEN"), 4, mass, part.pt(), multiplicity);
320349
}
321350
}
322351
};

0 commit comments

Comments
 (0)