Skip to content

Commit 5550c47

Browse files
authored
[PWGLF] add qa plots on phi and mult. vs cent (#14524)
1 parent 4e85d48 commit 5550c47

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

PWGLF/TableProducer/Nuspex/ebyeMaker.cxx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,8 @@ struct EbyeMaker {
194194
const AxisSpec zVtxAxis{100, -20.f, 20.f, "vertex z in cm"};
195195
const AxisSpec nTpcAxis{160, 0, 160, "N TPC"};
196196
const AxisSpec dcaAxis{2000, -1., 1., "DCA in cm"};
197+
const AxisSpec phiAxis{650, 0, 6.5, "#phi (rad)"};
198+
const AxisSpec signMomAxis{1000, -5.f, 5.f, "#it{p}_{T}/#it{Z} (GeV/#it{c})"};
197199

198200
// binning of (anti)lambda mass QA histograms
199201
ConfigurableAxis massLambdaAxis{"massLambdaAxis", {400, o2::constants::physics::MassLambda0 - 0.03f, o2::constants::physics::MassLambda0 + 0.03f}, "binning for the lambda invariant-mass"};
@@ -517,7 +519,7 @@ struct EbyeMaker {
517519
// event QA
518520
histos.add<TH1>("QA/zVtx", ";#it{z}_{vtx} (cm);Entries", HistType::kTH1F, {zVtxAxis});
519521
if (doprocessRun3) {
520-
histos.add<TH2>("QA/PvMultVsCent", ";Centrality T0C (%);#it{N}_{PV contributors};", HistType::kTH2F, {centAxis, multAxis});
522+
histos.add<TH2>("QA/MultChVsCent", ";Centrality FT0C (%);#it{N}_{tracks};", HistType::kTH2F, {centAxis, multAxis});
521523
} else if (doprocessRun2 || doprocessMiniRun2 || doprocessMcRun2 || doprocessMiniMcRun2) {
522524
histos.add<TH2>("QA/V0MvsCL0", ";Centrality CL0 (%);Centrality V0M (%)", HistType::kTH2F, {centAxis, centAxis});
523525
histos.add<TH2>("QA/trackletsVsV0M", ";Centrality CL0 (%);Centrality V0M (%)", HistType::kTH2F, {centAxis, multAxis});
@@ -535,6 +537,7 @@ struct EbyeMaker {
535537
histos.add<TH2>("QA/tpcCRvsCls", ";#it{N}_{TPCCR};#it{N}_{TPCcls}", HistType::kTH2F, {nTpcAxis, nTpcAxis});
536538
histos.add<TH2>("QA/dcaxyVsPt", ";#it{p}_{T} (GeV/#it{c});DCA_{#it{xy}} (cm)", HistType::kTH2F, {momAxis, dcaAxis});
537539
histos.add<TH2>("QA/dcazVsPt", ";#it{p}_{T} (GeV/#it{c});DCA_{#it{z}} (cm)", HistType::kTH2F, {momAxis, dcaAxis});
540+
histos.add<TH3>("QA/phiVsPtVsCR", ";#it{N}^{TPC}_{CR};#it{p}_{T} (GeV/#it{c});#phi (rad)", HistType::kTH3F, {nTpcAxis, signMomAxis, phiAxis});
538541

539542
ptMin = std::array<float, kNpart>{antipPtMin, antidPtMin};
540543
ptMax = std::array<float, kNpart>{antipPtMax, antidPtMax};
@@ -573,21 +576,21 @@ struct EbyeMaker {
573576
if (!selectTrack(track)) {
574577
continue;
575578
}
576-
577579
histos.fill(HIST("QA/tpcCRvsCls"), track.tpcNClsCrossedRows(), track.tpcNClsFound());
578-
if (track.tpcNClsFound() < trackNclusTpcCut || track.tpcNClsCrossedRows() < trackNcrossedRows)
579-
continue;
580580

581581
auto trackParCov = getTrackParCov(track);
582582
o2::base::Propagator::Instance()->propagateToDCABxByBz({collision.posX(), collision.posY(), collision.posZ()}, trackParCov, 2.f, fitter.getMatCorrType(), &dcaInfo);
583583
auto dca = std::hypot(dcaInfo[0], dcaInfo[1]);
584584
auto trackPt = trackParCov.getPt();
585+
auto trackPhi = trackParCov.getPhi();
585586
auto trackEta = trackParCov.getEta();
586-
histos.fill(HIST("QA/dcaxyVsPt"), track.pt(), dcaInfo[0]);
587+
histos.fill(HIST("QA/dcaxyVsPt"), track.pt(), dcaInfo[0]); // TODO: this should rather be trackPt (likely small effect for 7 ITS clusters?)
587588
histos.fill(HIST("QA/dcazVsPt"), track.pt(), dcaInfo[1]);
588-
if (std::abs(dcaInfo[0]) > dcaSigma(track.pt(), "dcaxy") || std::abs(dcaInfo[1]) > dcaSigma(track.pt(), "dcaz") || dca > dcaSigma(track.pt(), "dca")) { // dcaxy
589+
if (std::abs(dcaInfo[0]) > dcaSigma(track.pt(), "dcaxy") || std::abs(dcaInfo[1]) > dcaSigma(track.pt(), "dcaz") || dca > dcaSigma(track.pt(), "dca"))
590+
continue;
591+
histos.fill(HIST("QA/phiVsPtVsCR"), track.tpcNClsCrossedRows(), track.sign() > 0. ? trackPt : -trackPt, trackPhi);
592+
if (track.tpcNClsFound() < trackNclusTpcCut || track.tpcNClsCrossedRows() < trackNcrossedRows)
589593
continue;
590-
}
591594
histos.fill(HIST("QA/tpcSignal"), track.tpcInnerParam(), track.tpcSignal());
592595
if (trackPt > ptMin[0] && trackPt < ptMax[0] && ((track.sign() < 0 && countOnlyLSTrk == TracksCharge::kNegative) || (track.sign() > 0 && countOnlyLSTrk == TracksCharge::kPositive) || (countOnlyLSTrk == TracksCharge::kAll)))
593596
nTracksColl++;
@@ -932,8 +935,8 @@ struct EbyeMaker {
932935
auto v0TableThisCollision = V0s.sliceBy(perCollisionV0, collIdx);
933936
v0TableThisCollision.bindExternalIndices(&tracks);
934937

935-
histos.fill(HIST("QA/PvMultVsCent"), centrality, collision.numContrib());
936938
fillRecoEvent(collision, tracks, v0TableThisCollision, centrality);
939+
histos.fill(HIST("QA/PvMultVsCent"), centrality, nTracksColl);
937940

938941
miniCollTable(static_cast<int8_t>(collision.posZ() * 10), 0x0, nTrackletsColl, centrality, nTracksColl);
939942
for (auto& candidateTrack : candidateTracks[0]) { // o2-linter: disable=const-ref-in-for-loop (not a const ref)

0 commit comments

Comments
 (0)