Skip to content

Commit 668665a

Browse files
ljoergenalibuild
andauthored
[PWGLF] angularCorrelationsInJets.cxx: histogram bug fixes (#10911)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent e349c37 commit 668665a

File tree

1 file changed

+46
-52
lines changed

1 file changed

+46
-52
lines changed

PWGLF/Tasks/Nuspex/angularCorrelationsInJets.cxx

Lines changed: 46 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -85,26 +85,16 @@ struct AngularCorrelationsInJets {
8585
Configurable<float> minJetPt{"minJetPt", 10.0, "minimum total pT to accept jet"};
8686

8787
// Proton Cuts
88-
Configurable<float> protonDCAxyYield{"protonDCAxyYield", 0.05, "[proton] DCAxy cut for yield"};
89-
Configurable<float> protonDCAzYield{"protonDCAzYield", 0.05, "[proton] DCAz cut for yield"};
90-
Configurable<float> protonDCAxyCF{"protonDCAxyCF", 0.05, "[proton] DCAxy cut for CF"};
91-
Configurable<float> protonDCAzCF{"protonDCAzCF", 0.02, "[proton] DCAz cut for CF"};
88+
Configurable<float> protonDCAxy{"protonDCAxy", 0.05, "[proton] DCAxy cut"};
89+
Configurable<float> protonDCAz{"protonDCAz", 0.02, "[proton] DCAz cut"};
9290
Configurable<float> protonTPCTOFpT{"protonTPCTOFpT", 0.7, "[proton] pT for switch in TPC/TPC+TOF nsigma"};
93-
Configurable<float> protonTPCnsigmaLowPtYield{"protonTPCnsigmaLowPtYield", 4.0, "[proton] max TPC nsigma with low pT for yield"};
94-
Configurable<float> protonTPCnsigmaHighPtYield{"protonTPCnsigmaHighPtYield", 4.0, "[proton] max TPC nsigma with high pT for yield"};
95-
Configurable<float> protonTOFnsigmaHighPtYield{"protonTOFnsigmaHighPtYield", 4.0, "[proton] max TOF nsigma with high pT yield"};
9691
Configurable<float> protonTPCnsigma{"protonTPCnsigma", 4.0, "[proton] max TPC nsigma for pt > 0/1.5/3.0 GeV"};
9792
Configurable<float> protonTOFnsigma{"protonTOFnsigma", 3.0, "[proton] max TOF nsigma for pt > 0/1.5/3.0 GeV"};
9893

9994
// Antiproton Cuts
100-
Configurable<float> antiprotonDCAxyYield{"antiprotonDCAxyYield", 0.05, "[antiproton] DCAxy cut for yield"};
101-
Configurable<float> antiprotonDCAzYield{"antiprotonDCAzYield", 0.05, "[antiproton] DCAz cut for yield"};
102-
Configurable<float> antiprotonDCAxyCF{"antiprotonDCAxyCF", 0.05, "[antiproton] DCAxy cut for CF"};
103-
Configurable<float> antiprotonDCAzCF{"antiprotonDCAzCF", 0.02, "[antiproton] DCAz cut for CF"};
95+
Configurable<float> antiprotonDCAxy{"antiprotonDCAxy", 0.05, "[antiproton] DCAxy cut"};
96+
Configurable<float> antiprotonDCAz{"antiprotonDCAz", 0.02, "[antiproton] DCAz cut"};
10497
Configurable<float> antiprotonTPCTOFpT{"antiprotonTPCTOFpT", 0.7, "[antiproton] pT for switch in TPC/TPC+TOF nsigma"};
105-
Configurable<float> antiprotonTPCnsigmaLowPtYield{"antiprotonTPCnsigmaLowPtYield", 4.0, "[antiproton] max TPC nsigma with low pT for yield"};
106-
Configurable<float> antiprotonTPCnsigmaHighPtYield{"antiprotonTPCnsigmaHighPtYield", 4.0, "[antiproton] max TPC nsigma with high pT for yield"};
107-
Configurable<float> antiprotonTOFnsigmaHighPtYield{"antiprotonTOFnsigmaHighPtYield", 4.0, "[antiproton] min TOF nsigma with high pT for yield"};
10898
Configurable<float> antiprotonTPCnsigma{"antiprotonTPCnsigma", 4.0, "[antiproton] max TPC nsigma for pt > 0/1.5/3.0 GeV"};
10999
Configurable<float> antiprotonTOFnsigma{"antiprotonTOFnsigma", 3.0, "[antiproton] max TOF nsigma for pt > 0/1.5/3.0 GeV"};
110100

@@ -133,19 +123,21 @@ struct AngularCorrelationsInJets {
133123
int mRunNumber;
134124

135125
using FullTracksRun2 = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksCov, aod::TOFSignal, aod::TOFEvTime, aod::TrackSelection,
136-
aod::TrackSelectionExtension, aod::TracksDCA, aod::pidTPCFullPr, aod::pidTPCFullDe, aod::pidTPCFullHe, aod::pidTOFFullPr, aod::pidTOFFullDe, aod::pidTOFFullHe, aod::pidTOFbeta, aod::pidTPCEl, aod::pidTPCMu, aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCTr, aod::pidTPCAl, aod::pidTOFPi, aod::pidTOFKa>;
126+
aod::TrackSelectionExtension, aod::TracksDCA, aod::pidTPCFullPr, aod::pidTPCFullDe, aod::pidTPCFullHe, aod::pidTOFFullPr, aod::pidTOFFullDe, aod::pidTOFFullHe, aod::pidTOFbeta, aod::pidTPCEl, aod::pidTPCMu, aod::pidTPCFullPi, aod::pidTPCKa, aod::pidTPCTr, aod::pidTPCAl, aod::pidTOFPi, aod::pidTOFKa>;
137127
using FullTracksRun3 = soa::Join<aod::Tracks, aod::TracksExtra, aod::TOFSignal, aod::TrackSelection, aod::TrackSelectionExtension,
138-
aod::TracksDCA, aod::pidTPCFullPr, aod::pidTPCFullDe, aod::pidTPCFullHe, aod::pidTOFFullPr, aod::pidTOFFullDe, aod::pidTOFFullHe, aod::pidTOFbeta, aod::pidTPCEl, aod::pidTPCMu, aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCTr, aod::pidTPCAl, aod::pidTOFPi, aod::pidTOFKa>;
128+
aod::TracksDCA, aod::pidTPCFullPr, aod::pidTPCFullDe, aod::pidTPCFullHe, aod::pidTOFFullPr, aod::pidTOFFullDe, aod::pidTOFFullHe, aod::pidTOFbeta, aod::pidTPCEl, aod::pidTPCMu, aod::pidTPCFullPi, aod::pidTPCKa, aod::pidTPCTr, aod::pidTPCAl, aod::pidTOFPi, aod::pidTOFKa>;
139129
using McTracksRun2 = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksCov, aod::TOFSignal, aod::TOFEvTime, aod::TrackSelection,
140-
aod::TrackSelectionExtension, aod::TracksDCA, aod::pidTPCFullPr, aod::pidTPCFullDe, aod::pidTPCFullHe, aod::pidTOFFullPr, aod::pidTOFFullDe, aod::pidTOFFullHe, aod::pidTOFbeta, aod::pidTPCEl, aod::pidTPCMu, aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCTr, aod::pidTPCAl, aod::pidTOFPi, aod::pidTOFKa, aod::McTrackLabels>;
130+
aod::TrackSelectionExtension, aod::TracksDCA, aod::pidTPCFullPr, aod::pidTPCFullDe, aod::pidTPCFullHe, aod::pidTOFFullPr, aod::pidTOFFullDe, aod::pidTOFFullHe, aod::pidTOFbeta, aod::pidTPCEl, aod::pidTPCMu, aod::pidTPCFullPi, aod::pidTPCKa, aod::pidTPCTr, aod::pidTPCAl, aod::pidTOFPi, aod::pidTOFKa, aod::McTrackLabels>;
141131
using McTracksRun3 = soa::Join<aod::Tracks, aod::TracksExtra, aod::TOFSignal, aod::TrackSelection, aod::TrackSelectionExtension,
142-
aod::TracksDCA, aod::pidTPCFullPr, aod::pidTPCFullDe, aod::pidTPCFullHe, aod::pidTOFFullPr, aod::pidTOFFullDe, aod::pidTOFFullHe, aod::pidTOFbeta, aod::pidTPCEl, aod::pidTPCMu, aod::pidTPCPi, aod::pidTPCKa, aod::pidTPCTr, aod::pidTPCAl, aod::pidTOFPi, aod::pidTOFKa, aod::McTrackLabels>;
132+
aod::TracksDCA, aod::pidTPCFullPr, aod::pidTPCFullDe, aod::pidTPCFullHe, aod::pidTOFFullPr, aod::pidTOFFullDe, aod::pidTOFFullHe, aod::pidTOFbeta, aod::pidTPCEl, aod::pidTPCMu, aod::pidTPCFullPi, aod::pidTPCKa, aod::pidTPCTr, aod::pidTPCAl, aod::pidTOFPi, aod::pidTOFKa, aod::McTrackLabels>;
143133
using BCsWithRun2Info = soa::Join<aod::BCs, aod::Run2BCInfos, aod::Timestamps>;
144134
using McCollisions = soa::Join<aod::Collisions, aod::McCollisionLabels, aod::EvSels>;
145135

146136
Filter prelimTrackCuts = (aod::track::itsChi2NCl < maxChi2ITS &&
147137
aod::track::tpcChi2NCl < maxChi2TPC &&
148-
nabs(aod::track::dcaXY) < maxDCAxy);
138+
nabs(aod::track::dcaXY) < maxDCAxy &&
139+
nabs(aod::track::dcaZ) < maxDCAz &&
140+
nabs(aod::track::eta) < maxEta);
149141

150142
Preslice<FullTracksRun2> perCollisionFullTracksRun2 = o2::aod::track::collisionId;
151143
Preslice<FullTracksRun3> perCollisionFullTracksRun3 = o2::aod::track::collisionId;
@@ -231,10 +223,10 @@ struct AngularCorrelationsInJets {
231223
registryData.add("ptJetAntiproton", "p_{T} of antiprotons", HistType::kTH1D, {axisSpecs.ptAxisPos});
232224
registryData.add("dcaZJetAntiproton", "DCA_{z} of high purity antiprotons", HistType::kTH2F, {axisSpecs.ptAxisPos, axisSpecs.dcazAxis});
233225
registryQC.add("ptJetAntiprotonVsTotalJet", "Antiproton p_{T} vs. jet p_{T}", HistType::kTH2D, {axisSpecs.ptAxisPos, {1000, 0, 500, "jet p_{T} [GeV/#it{c}]"}});
234-
registryData.add("tpcNSigmaProtonCF", "TPC n#sigma for proton CF", HistType::kTH2F, {axisSpecs.nsigmapTAxis, axisSpecs.nsigmaAxis});
235-
registryData.add("tofNSigmaProtonCF", "TOF n#sigma for proton CF", HistType::kTH2F, {axisSpecs.nsigmapTAxis, axisSpecs.nsigmaAxis});
236-
registryData.add("tpcNSigmaAntiprotonCF", "TPC n#sigma for antiproton CF", HistType::kTH2F, {axisSpecs.nsigmapTAxis, axisSpecs.nsigmaAxis});
237-
registryData.add("tofNSigmaAntiprotonCF", "TOF n#sigma for antiproton CF", HistType::kTH2F, {axisSpecs.nsigmapTAxis, axisSpecs.nsigmaAxis});
226+
registryData.add("tpcNSigmaProton", "TPC n#sigma for proton", HistType::kTH2F, {axisSpecs.nsigmapTAxis, axisSpecs.nsigmaAxis});
227+
registryData.add("tofNSigmaProton", "TOF n#sigma for proton", HistType::kTH2F, {axisSpecs.nsigmapTAxis, axisSpecs.nsigmaAxis});
228+
registryData.add("tpcNSigmaAntiproton", "TPC n#sigma for antiproton", HistType::kTH2F, {axisSpecs.nsigmapTAxis, axisSpecs.nsigmaAxis});
229+
registryData.add("tofNSigmaAntiproton", "TOF n#sigma for antiproton", HistType::kTH2F, {axisSpecs.nsigmapTAxis, axisSpecs.nsigmaAxis});
238230
}
239231

240232
if (measureKaons) {
@@ -250,8 +242,8 @@ struct AngularCorrelationsInJets {
250242
registryData.add("ptTotalJet", "p_{T} of entire jet;#it{p}_{T} [GeV/#it{c}]", HistType::kTH1F, {{1000, 0, 500}});
251243

252244
// nSigma
253-
registryData.add("tpcSignal", "TPC signal", HistType::kTH2F, {{400, -10, 10, "#it{p} [GeV/#it{c}]"}, {1000, 0, 500, "d#it{E}/d#it{X} (a.u.)"}});
254-
registryData.add("tofSignal", "TOF signal", HistType::kTH2F, {{400, -20, 20, "#it{p} [GeV/#it{c}]"}, {400, 0.75, 1.05, "#beta (TOF)"}});
245+
registryData.add("tpcSignal", "TPC signal", HistType::kTH2F, {{800, -10, 10, "#it{p} [GeV/#it{c}]"}, {1000, 0, 500, "d#it{E}/d#it{X} (a.u.)"}});
246+
registryData.add("tofSignal", "TOF signal", HistType::kTH2F, {{800, -20, 20, "#it{p} [GeV/#it{c}]"}, {800, 0.75, 1.05, "#beta (TOF)"}});
255247

256248
// Angular Distributions
257249
registryQC.add("phiFullEvent", "#varphi in full event", HistType::kTH1F, {{1000, 0, 6.3}});
@@ -392,7 +384,7 @@ struct AngularCorrelationsInJets {
392384
template <class T>
393385
bool singleSpeciesTPCNSigma(T const& track) // reject any track that has TPC nsigma < 3 for more than 1 species
394386
{
395-
if (useRejectionCut && (track.tpcNSigmaStoreEl() < nsigmaRejection || track.tpcNSigmaStoreMu() < nsigmaRejection || track.tpcNSigmaStorePi() < nsigmaRejection || track.tpcNSigmaStoreKa() < nsigmaRejection || track.tpcNSigmaStoreTr() < nsigmaRejection || track.tpcNSigmaStoreAl() < nsigmaRejection || track.tpcNSigmaDe() < nsigmaRejection || track.tpcNSigmaHe() < nsigmaRejection))
387+
if (useRejectionCut && (track.tpcNSigmaStoreEl() < nsigmaRejection || track.tpcNSigmaStoreMu() < nsigmaRejection || track.tpcNSigmaPi() < nsigmaRejection || track.tpcNSigmaKa() < nsigmaRejection || track.tpcNSigmaStoreTr() < nsigmaRejection || track.tpcNSigmaStoreAl() < nsigmaRejection || track.tpcNSigmaDe() < nsigmaRejection || track.tpcNSigmaHe() < nsigmaRejection))
396388
return false;
397389
return true;
398390
}
@@ -408,9 +400,9 @@ struct AngularCorrelationsInJets {
408400
// DCA
409401
double maxDCApt = 1.2;
410402
if (pt < maxDCApt) {
411-
if (std::abs(track.dcaXY()) > protonDCAxyCF)
403+
if (std::abs(track.dcaXY()) > protonDCAxy)
412404
return false;
413-
if (std::abs(track.dcaZ()) > protonDCAzCF)
405+
if (std::abs(track.dcaZ()) > protonDCAz)
414406
return false;
415407
}
416408

@@ -429,13 +421,13 @@ struct AngularCorrelationsInJets {
429421
maxTOFnsigma = protonTOFnsigma - 2;
430422
}
431423

432-
registryData.fill(HIST("tpcNSigmaProtonCF"), track.pt(), track.tpcNSigmaPr());
424+
registryData.fill(HIST("tpcNSigmaProton"), track.pt(), track.tpcNSigmaPr());
433425
if (pt < protonTPCTOFpT && (std::abs(track.tpcNSigmaPr()) > maxTPCnsigma))
434426
return false;
435427

436428
double tofNSigma = 999;
437429
if (track.hasTOF()) {
438-
registryData.fill(HIST("tofNSigmaProtonCF"), track.pt(), track.tofNSigmaPr());
430+
registryData.fill(HIST("tofNSigmaProton"), track.pt(), track.tofNSigmaPr());
439431
tofNSigma = track.tofNSigmaPr();
440432
}
441433

@@ -459,9 +451,9 @@ struct AngularCorrelationsInJets {
459451
// DCA
460452
double maxDCApt = 1.2;
461453
if (pt < maxDCApt) {
462-
if (std::abs(track.dcaXY()) > antiprotonDCAxyCF)
454+
if (std::abs(track.dcaXY()) > antiprotonDCAxy)
463455
return false;
464-
if (std::abs(track.dcaZ()) > antiprotonDCAzCF)
456+
if (std::abs(track.dcaZ()) > antiprotonDCAz)
465457
return false;
466458
}
467459

@@ -480,13 +472,13 @@ struct AngularCorrelationsInJets {
480472
maxTOFnsigma = antiprotonTOFnsigma - 2;
481473
}
482474

483-
registryData.fill(HIST("tpcNSigmaAntiprotonCF"), track.pt(), track.tpcNSigmaPr());
475+
registryData.fill(HIST("tpcNSigmaAntiproton"), track.pt(), track.tpcNSigmaPr());
484476
if (pt < antiprotonTPCTOFpT && (std::abs(track.tpcNSigmaPr()) > maxTPCnsigma))
485477
return false;
486478

487479
double tofNSigma = 999;
488480
if (track.hasTOF()) {
489-
registryData.fill(HIST("tofNSigmaAntiprotonCF"), track.pt(), track.tofNSigmaPr());
481+
registryData.fill(HIST("tofNSigmaAntiproton"), track.pt(), track.tofNSigmaPr());
490482
tofNSigma = track.tofNSigmaPr();
491483
}
492484

@@ -508,18 +500,18 @@ struct AngularCorrelationsInJets {
508500
if (std::abs(track.dcaZ()) > pionDCAz)
509501
return false;
510502

511-
registryData.fill(HIST("tpcNSigmaPion"), track.pt(), track.tpcNSigmaStorePi());
503+
registryData.fill(HIST("tpcNSigmaPion"), track.pt(), track.tpcNSigmaPi());
512504

513505
// TPC
514-
if (track.pt() < pionTPCTOFpT && std::abs(track.tpcNSigmaStorePi()) > pionTPCnsigmaLowPt)
506+
if (track.pt() < pionTPCTOFpT && std::abs(track.tpcNSigmaPi()) > pionTPCnsigmaLowPt)
515507
return false;
516-
if (track.pt() > pionTPCTOFpT && std::abs(track.tpcNSigmaStorePi()) > pionTPCnsigmaHighPt)
508+
if (track.pt() > pionTPCTOFpT && std::abs(track.tpcNSigmaPi()) > pionTPCnsigmaHighPt)
517509
return false;
518510

519511
// TOF
520512
if (track.hasTOF()) {
521-
registryData.fill(HIST("tofNSigmaPion"), track.pt(), track.tofNSigmaStorePi());
522-
if (track.pt() > pionTPCTOFpT && std::abs(track.tofNSigmaStorePi()) > pionTOFnsigma)
513+
registryData.fill(HIST("tofNSigmaPion"), track.pt(), track.tofNSigmaPi());
514+
if (track.pt() > pionTPCTOFpT && std::abs(track.tofNSigmaPi()) > pionTOFnsigma)
523515
return false;
524516
}
525517

@@ -535,18 +527,18 @@ struct AngularCorrelationsInJets {
535527
if (std::abs(track.dcaZ()) > kaonDCAz)
536528
return false;
537529

538-
registryData.fill(HIST("tpcNSigmaKaon"), track.pt(), track.tpcNSigmaStoreKa());
530+
registryData.fill(HIST("tpcNSigmaKaon"), track.pt(), track.tpcNSigmaKa());
539531

540532
// TPC
541-
if (track.pt() < kaonTPCTOFpT && std::abs(track.tpcNSigmaStoreKa()) > kaonTPCnsigmaLowPt)
533+
if (track.pt() < kaonTPCTOFpT && std::abs(track.tpcNSigmaKa()) > kaonTPCnsigmaLowPt)
542534
return false;
543-
if (track.pt() > kaonTPCTOFpT && std::abs(track.tpcNSigmaStoreKa()) > kaonTPCnsigmaHighPt)
535+
if (track.pt() > kaonTPCTOFpT && std::abs(track.tpcNSigmaKa()) > kaonTPCnsigmaHighPt)
544536
return false;
545537

546538
// TOF
547539
if (track.hasTOF()) {
548-
registryData.fill(HIST("tofNSigmaKaon"), track.pt(), track.tofNSigmaStoreKa());
549-
if (track.pt() > kaonTPCTOFpT && std::abs(track.tofNSigmaStoreKa()) > kaonTOFnsigma)
540+
registryData.fill(HIST("tofNSigmaKaon"), track.pt(), track.tofNSigmaKa());
541+
if (track.pt() > kaonTPCTOFpT && std::abs(track.tofNSigmaKa()) > kaonTOFnsigma)
550542
return false;
551543
}
552544

@@ -575,7 +567,7 @@ struct AngularCorrelationsInJets {
575567
if (std::isnan(buffer.at(i).first))
576568
continue;
577569
if (buffer.at(i).first > constants::math::TwoPI || buffer.at(i).first < -constants::math::TwoPI) {
578-
registryData.fill(HIST("trackProtocol"), 13); // # buffer tracks failed with |phi| > 2 pi
570+
registryData.fill(HIST("trackProtocol"), 13); // # buffer tracks failed with phi > 2 pi
579571
continue;
580572
}
581573

@@ -772,7 +764,6 @@ struct AngularCorrelationsInJets {
772764
return jetCounter;
773765
if ((std::fabs(jet.eta()) + jetR) > (maxEta - deltaEtaEdge))
774766
return jetCounter;
775-
jetCounter++;
776767
registryData.fill(HIST("ptTotalSubJetPerp"), subtractedJetPerp.pt());
777768
registryQC.fill(HIST("rhoEstimatePerp"), jet.pt(), rhoPerp);
778769
registryQC.fill(HIST("rhoMEstimatePerp"), jet.pt(), rhoMPerp);
@@ -781,6 +772,11 @@ struct AngularCorrelationsInJets {
781772
registryData.fill(HIST("eventProtocol"), 4);
782773
std::vector<fastjet::PseudoJet> constituents = jet.constituents();
783774

775+
if (constituents.size() <= 1)
776+
return jetCounter;
777+
778+
jetCounter++;
779+
784780
registryData.fill(HIST("eventProtocol"), 5);
785781
registryData.fill(HIST("numberOfJets"), 0);
786782
registryData.fill(HIST("ptTotalJet"), jet.pt());
@@ -1000,7 +996,7 @@ struct AngularCorrelationsInJets {
1000996

1001997
registryData.fill(HIST("trackProtocol"), 1); // # tracks selected for jet reconstruction
1002998

1003-
if (track.tpcNClsFindable() != 0) {
999+
if (outputQC && (track.tpcNClsFindable() != 0)) {
10041000
registryQC.fill(HIST("ratioCrossedRowsTPC"), track.pt(), track.tpcNClsCrossedRows() / track.tpcNClsFindable());
10051001
}
10061002

@@ -1051,10 +1047,8 @@ struct AngularCorrelationsInJets {
10511047
registryData.fill(HIST("numJetsInEvent"), jetCounter);
10521048

10531049
TVector3 hardestJetAxis(jets.at(0).px(), jets.at(0).py(), jets.at(0).pz()); // for full event, use hardest jet as orientation
1054-
if (doFullCorrelations) {
1055-
doCorrelations(particlesForCF, fBufferFull, fTempBufferFull, -1, hardestJetAxis);
1056-
setTrackBuffer(fTempBufferFull, fBufferFull);
1057-
}
1050+
doCorrelations(particlesForCF, fBufferFull, fTempBufferFull, -1, hardestJetAxis);
1051+
setTrackBuffer(fTempBufferFull, fBufferFull);
10581052
}
10591053

10601054
template <typename U>
@@ -1067,7 +1061,7 @@ struct AngularCorrelationsInJets {
10671061
int index = 0;
10681062

10691063
for (const auto& track : tracks) {
1070-
if (track.tpcNClsFindable() != 0) {
1064+
if (outputQC && (track.tpcNClsFindable() != 0)) {
10711065
registryQC.fill(HIST("ratioCrossedRowsTPC"), track.pt(), track.tpcNClsCrossedRows() / track.tpcNClsFindable());
10721066
}
10731067
registryQC.fill(HIST("ptFullEvent"), track.pt());

0 commit comments

Comments
 (0)