@@ -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