Skip to content

Commit 2104cc1

Browse files
committed
Implement Vit comments
1 parent 8b324a0 commit 2104cc1

File tree

1 file changed

+63
-59
lines changed

1 file changed

+63
-59
lines changed

PWGHF/Tasks/taskPidStudies.cxx

Lines changed: 63 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,15 @@ enum Particle { NotMatched = 0,
5252
Lambda,
5353
Omega };
5454

55-
enum TrackQABins { All = 0,
56-
HasIts,
57-
HasTpc,
58-
TpcNClsCrossedRows,
59-
EtaMax,
60-
PtMin,
61-
TpcChi2NCls,
62-
ItsChi2NCls };
55+
enum TrackCuts { All = 0,
56+
HasIts,
57+
HasTpc,
58+
TpcNClsCrossedRows,
59+
Eta,
60+
PtMin,
61+
TpcChi2NCls,
62+
ItsChi2NCls,
63+
NCuts };
6364

6465
// V0s
6566
DECLARE_SOA_COLUMN(MassK0, massK0, float); //! Candidate mass
@@ -154,17 +155,19 @@ DECLARE_SOA_TABLE(PidCascades, "AOD", "PIDCASCADES", //! Table with PID informat
154155
pid_studies::CandFlag);
155156
} // namespace o2::aod
156157

158+
using namespace o2::aod::pid_studies;
159+
157160
struct HfTaskPidStudies {
158161
Produces<o2::aod::PidV0s> pidV0;
159162
Produces<o2::aod::PidCascades> pidCascade;
160163

161164
Configurable<bool> applyEvSels{"applyEvSels", true, "Apply event selections"};
162165
Configurable<bool> applyTrackSels{"applyTrackSels", true, "Apply track selections"};
163-
Configurable<float> minTrackTpcNClsCrossedRows{"minTrackTpcNClsCrossedRows", 70, "Minimum number of crossed rows in TPC"};
164-
Configurable<float> maxTrackEta{"maxTrackEta", 0.8, "Maximum pseudorapidity"};
165-
Configurable<float> minTrackPt{"minTrackPt", 0.1, "Minimum transverse momentum"};
166-
Configurable<float> maxTrackTpcChi2NCl{"maxTrackTpcChi2NCl", 4, "Maximum TPC chi2 per number of TPC clusters"};
167-
Configurable<float> maxTrackItsChi2NCl{"maxTrackItsChi2NCl", 36, "Maximum ITS chi2 per number of ITS clusters"};
166+
Configurable<float> tpcNClsCrossedRowsTrackMin{"tpcNClsCrossedRowsTrackMin", 70, "Minimum number of crossed rows in TPC"};
167+
Configurable<float> etaTrackMax{"etaTrackMax", 0.8, "Maximum pseudorapidity"};
168+
Configurable<float> ptTrackMin{"ptTrackMin", 0.1, "Minimum transverse momentum"};
169+
Configurable<float> tpcChi2NClTrackMax{"tpcChi2NClTrackMax", 4, "Maximum TPC chi2 per number of TPC clusters"};
170+
Configurable<float> itsChi2NClTrackMax{"itsChi2NClTrackMax", 36, "Maximum ITS chi2 per number of ITS clusters"};
168171
Configurable<float> massK0Min{"massK0Min", 0.4, "Minimum mass for K0"};
169172
Configurable<float> massK0Max{"massK0Max", 0.6, "Maximum mass for K0"};
170173
Configurable<float> massLambdaMin{"massLambdaMin", 1.0, "Minimum mass for lambda"};
@@ -205,17 +208,18 @@ struct HfTaskPidStudies {
205208
ccdb->setCaching(true);
206209
ccdb->setLocalObjectValidityChecking();
207210
hfEvSel.addHistograms(registry);
208-
std::shared_ptr<TH1> hTrackSel = registry.add<TH1>("hTrackSel", "Track selection;;Counts", {HistType::kTH1F, {{8, 0, 8}}});
211+
212+
std::shared_ptr<TH1> hTrackSel = registry.add<TH1>("hTrackSel", "Track selection;;Counts", {HistType::kTH1F, {{TrackCuts::NCuts, 0, TrackCuts::NCuts}}});
209213

210214
// Set Labels for hTrackSel
211-
hTrackSel->GetXaxis()->SetBinLabel(o2::aod::pid_studies::TrackQABins::All + 1, "All");
212-
hTrackSel->GetXaxis()->SetBinLabel(o2::aod::pid_studies::TrackQABins::HasIts + 1, "HasITS");
213-
hTrackSel->GetXaxis()->SetBinLabel(o2::aod::pid_studies::TrackQABins::HasTpc + 1, "HasTPC");
214-
hTrackSel->GetXaxis()->SetBinLabel(o2::aod::pid_studies::TrackQABins::TpcNClsCrossedRows + 1, "TPC NCls/CrossedRows");
215-
hTrackSel->GetXaxis()->SetBinLabel(o2::aod::pid_studies::TrackQABins::EtaMax + 1, "#eta max");
216-
hTrackSel->GetXaxis()->SetBinLabel(o2::aod::pid_studies::TrackQABins::PtMin + 1, "#it{p}_{T} min");
217-
hTrackSel->GetXaxis()->SetBinLabel(o2::aod::pid_studies::TrackQABins::TpcChi2NCls + 1, "TPC #chi^{2}/NCls");
218-
hTrackSel->GetXaxis()->SetBinLabel(o2::aod::pid_studies::TrackQABins::ItsChi2NCls + 1, "ITS #chi^{2}/NCls");
215+
hTrackSel->GetXaxis()->SetBinLabel(TrackCuts::All + 1, "All");
216+
hTrackSel->GetXaxis()->SetBinLabel(TrackCuts::HasIts + 1, "HasITS");
217+
hTrackSel->GetXaxis()->SetBinLabel(TrackCuts::HasTpc + 1, "HasTPC");
218+
hTrackSel->GetXaxis()->SetBinLabel(TrackCuts::TpcNClsCrossedRows + 1, "TPC NCls/CrossedRows");
219+
hTrackSel->GetXaxis()->SetBinLabel(TrackCuts::Eta + 1, "#eta");
220+
hTrackSel->GetXaxis()->SetBinLabel(TrackCuts::PtMin + 1, "#it{p}_{T} min");
221+
hTrackSel->GetXaxis()->SetBinLabel(TrackCuts::TpcChi2NCls + 1, "TPC #chi^{2}/NCls");
222+
hTrackSel->GetXaxis()->SetBinLabel(TrackCuts::ItsChi2NCls + 1, "ITS #chi^{2}/NCls");
219223
}
220224

221225
template <bool isV0, typename Coll, typename Cand>
@@ -287,40 +291,40 @@ struct HfTaskPidStudies {
287291
{
288292
if constexpr (std::is_same<T1, V0sMcRec::iterator>::value) {
289293
if (!cand.has_v0MCCore()) {
290-
return aod::pid_studies::Particle::NotMatched;
294+
return Particle::NotMatched;
291295
}
292296
auto v0MC = cand.template v0MCCore_as<aod::V0MCCores>();
293297
if (v0MC.pdgCode() == kK0Short && v0MC.pdgCodeNegative() == -kPiPlus && v0MC.pdgCodePositive() == kPiPlus) {
294-
return aod::pid_studies::Particle::K0s;
298+
return Particle::K0s;
295299
}
296300
if (v0MC.pdgCode() == kLambda0 && v0MC.pdgCodeNegative() == -kPiPlus && v0MC.pdgCodePositive() == kProton) {
297-
return aod::pid_studies::Particle::Lambda;
301+
return Particle::Lambda;
298302
}
299303
if (v0MC.pdgCode() == -kLambda0 && v0MC.pdgCodeNegative() == -kProton && v0MC.pdgCodePositive() == kPiPlus) {
300-
return -aod::pid_studies::Particle::Lambda;
304+
return -Particle::Lambda;
301305
}
302306
}
303307
if constexpr (std::is_same<T1, CascsMcRec::iterator>::value) {
304308
if (!cand.has_cascMCCore()) {
305-
return aod::pid_studies::Particle::NotMatched;
309+
return Particle::NotMatched;
306310
}
307311
auto cascMC = cand.template cascMCCore_as<aod::CascMCCores>();
308312
if (cascMC.pdgCode() == kOmegaMinus &&
309313
cascMC.pdgCodeBachelor() == -kKPlus &&
310314
cascMC.pdgCodeV0() == kLambda0 &&
311315
cascMC.pdgCodePositive() == kProton &&
312316
cascMC.pdgCodeNegative() == -kPiPlus) {
313-
return aod::pid_studies::Particle::Omega;
317+
return Particle::Omega;
314318
}
315319
if (cascMC.pdgCode() == -kOmegaMinus &&
316320
cascMC.pdgCodeBachelor() == kKPlus &&
317321
cascMC.pdgCodeV0() == -kLambda0 &&
318322
cascMC.pdgCodePositive() == kPiPlus &&
319323
cascMC.pdgCodeNegative() == -kProton) {
320-
return -aod::pid_studies::Particle::Omega;
324+
return -Particle::Omega;
321325
}
322326
}
323-
return aod::pid_studies::Particle::NotMatched;
327+
return Particle::NotMatched;
324328
}
325329

326330
template <typename Coll>
@@ -338,66 +342,66 @@ struct HfTaskPidStudies {
338342
{
339343
const auto& posTrack = candidate.template posTrack_as<PidTracks>();
340344
const auto& negTrack = candidate.template negTrack_as<PidTracks>();
341-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::All);
345+
registry.fill(HIST("hTrackSel"), TrackCuts::All);
342346
if constexpr (isV0) {
343347
if (!posTrack.hasITS() || !negTrack.hasITS()) {
344348
return false;
345349
}
346-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::HasIts);
350+
registry.fill(HIST("hTrackSel"), TrackCuts::HasIts);
347351
if (!posTrack.hasTPC() || !negTrack.hasTPC()) {
348352
return false;
349353
}
350-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::HasTpc);
351-
if (posTrack.tpcNClsCrossedRows() < minTrackTpcNClsCrossedRows || negTrack.tpcNClsCrossedRows() < minTrackTpcNClsCrossedRows) {
354+
registry.fill(HIST("hTrackSel"), TrackCuts::HasTpc);
355+
if (posTrack.tpcNClsCrossedRows() < tpcNClsCrossedRowsTrackMin || negTrack.tpcNClsCrossedRows() < tpcNClsCrossedRowsTrackMin) {
352356
return false;
353357
}
354-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::TpcNClsCrossedRows);
355-
if (std::abs(posTrack.eta()) > maxTrackEta || std::abs(negTrack.eta()) > maxTrackEta) {
358+
registry.fill(HIST("hTrackSel"), TrackCuts::TpcNClsCrossedRows);
359+
if (std::abs(posTrack.eta()) > etaTrackMax || std::abs(negTrack.eta()) > etaTrackMax) {
356360
return false;
357361
}
358-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::EtaMax);
359-
if (posTrack.pt() < minTrackPt || negTrack.pt() < minTrackPt) {
362+
registry.fill(HIST("hTrackSel"), TrackCuts::Eta);
363+
if (posTrack.pt() < ptTrackMin || negTrack.pt() < ptTrackMin) {
360364
return false;
361365
}
362-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::PtMin);
363-
if (posTrack.tpcChi2NCl() > maxTrackTpcChi2NCl || negTrack.tpcChi2NCl() > maxTrackTpcChi2NCl) {
366+
registry.fill(HIST("hTrackSel"), TrackCuts::PtMin);
367+
if (posTrack.tpcChi2NCl() > tpcChi2NClTrackMax || negTrack.tpcChi2NCl() > tpcChi2NClTrackMax) {
364368
return false;
365369
}
366-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::TpcChi2NCls);
367-
if (posTrack.itsChi2NCl() > maxTrackItsChi2NCl || negTrack.itsChi2NCl() > maxTrackItsChi2NCl) {
370+
registry.fill(HIST("hTrackSel"), TrackCuts::TpcChi2NCls);
371+
if (posTrack.itsChi2NCl() > itsChi2NClTrackMax || negTrack.itsChi2NCl() > itsChi2NClTrackMax) {
368372
return false;
369373
}
370-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::ItsChi2NCls);
374+
registry.fill(HIST("hTrackSel"), TrackCuts::ItsChi2NCls);
371375
} else {
372376
const auto& bachTrack = candidate.template bachelor_as<PidTracks>();
373377
if (!posTrack.hasITS() || !negTrack.hasITS() || !bachTrack.hasITS()) {
374378
return false;
375379
}
376-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::HasIts);
380+
registry.fill(HIST("hTrackSel"), TrackCuts::HasIts);
377381
if (!posTrack.hasTPC() || !negTrack.hasTPC() || !bachTrack.hasTPC()) {
378382
return false;
379383
}
380-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::HasTpc);
381-
if (posTrack.tpcNClsCrossedRows() < minTrackTpcNClsCrossedRows || negTrack.tpcNClsCrossedRows() < minTrackTpcNClsCrossedRows || bachTrack.tpcNClsCrossedRows() < minTrackTpcNClsCrossedRows) {
384+
registry.fill(HIST("hTrackSel"), TrackCuts::HasTpc);
385+
if (posTrack.tpcNClsCrossedRows() < tpcNClsCrossedRowsTrackMin || negTrack.tpcNClsCrossedRows() < tpcNClsCrossedRowsTrackMin || bachTrack.tpcNClsCrossedRows() < tpcNClsCrossedRowsTrackMin) {
382386
return false;
383387
}
384-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::TpcNClsCrossedRows);
385-
if (std::abs(posTrack.eta()) > maxTrackEta || std::abs(negTrack.eta()) > maxTrackEta || std::abs(bachTrack.eta()) > maxTrackEta) {
388+
registry.fill(HIST("hTrackSel"), TrackCuts::TpcNClsCrossedRows);
389+
if (std::abs(posTrack.eta()) > etaTrackMax || std::abs(negTrack.eta()) > etaTrackMax || std::abs(bachTrack.eta()) > etaTrackMax) {
386390
return false;
387391
}
388-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::EtaMax);
389-
if (posTrack.pt() < minTrackPt || negTrack.pt() < minTrackPt || bachTrack.pt() < minTrackPt) {
392+
registry.fill(HIST("hTrackSel"), TrackCuts::Eta);
393+
if (posTrack.pt() < ptTrackMin || negTrack.pt() < ptTrackMin || bachTrack.pt() < ptTrackMin) {
390394
return false;
391395
}
392-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::PtMin);
393-
if (posTrack.tpcChi2NCl() > maxTrackTpcChi2NCl || negTrack.tpcChi2NCl() > maxTrackTpcChi2NCl || bachTrack.tpcChi2NCl() > maxTrackTpcChi2NCl) {
396+
registry.fill(HIST("hTrackSel"), TrackCuts::PtMin);
397+
if (posTrack.tpcChi2NCl() > tpcChi2NClTrackMax || negTrack.tpcChi2NCl() > tpcChi2NClTrackMax || bachTrack.tpcChi2NCl() > tpcChi2NClTrackMax) {
394398
return false;
395399
}
396-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::TpcChi2NCls);
397-
if (posTrack.itsChi2NCl() > maxTrackItsChi2NCl || negTrack.itsChi2NCl() > maxTrackItsChi2NCl || bachTrack.itsChi2NCl() > maxTrackItsChi2NCl) {
400+
registry.fill(HIST("hTrackSel"), TrackCuts::TpcChi2NCls);
401+
if (posTrack.itsChi2NCl() > itsChi2NClTrackMax || negTrack.itsChi2NCl() > itsChi2NClTrackMax || bachTrack.itsChi2NCl() > itsChi2NClTrackMax) {
398402
return false;
399403
}
400-
registry.fill(HIST("hTrackSel"), o2::aod::pid_studies::TrackQABins::ItsChi2NCls);
404+
registry.fill(HIST("hTrackSel"), TrackCuts::ItsChi2NCls);
401405
}
402406
return true;
403407
}
@@ -495,7 +499,7 @@ struct HfTaskPidStudies {
495499
}
496500
if (isSelectedV0AsK0s(v0) || isSelectedV0AsLambda(v0)) {
497501
int matched = isMatched(v0);
498-
if (matched != aod::pid_studies::Particle::NotMatched) {
502+
if (matched != Particle::NotMatched) {
499503
fillTree<true, CollisionsMc>(v0, matched);
500504
}
501505
}
@@ -516,7 +520,7 @@ struct HfTaskPidStudies {
516520
continue;
517521
}
518522
if (isSelectedV0AsK0s(v0) || isSelectedV0AsLambda(v0)) {
519-
fillTree<true, CollSels>(v0, aod::pid_studies::Particle::NotMatched);
523+
fillTree<true, CollSels>(v0, Particle::NotMatched);
520524
}
521525
}
522526
}
@@ -538,7 +542,7 @@ struct HfTaskPidStudies {
538542
}
539543
if (isSelectedCascAsOmega<CollisionsMc>(casc)) {
540544
int matched = isMatched(casc);
541-
if (matched != aod::pid_studies::Particle::NotMatched) {
545+
if (matched != Particle::NotMatched) {
542546
fillTree<false, CollisionsMc>(casc, matched);
543547
}
544548
}
@@ -559,7 +563,7 @@ struct HfTaskPidStudies {
559563
continue;
560564
}
561565
if (isSelectedCascAsOmega<CollSels>(casc)) {
562-
fillTree<false, CollSels>(casc, aod::pid_studies::Particle::NotMatched);
566+
fillTree<false, CollSels>(casc, Particle::NotMatched);
563567
}
564568
}
565569
}

0 commit comments

Comments
 (0)