@@ -346,12 +346,15 @@ struct EventSelectionQaTask {
346346 histos.add (" occupancyQA/hOccupancyByFT0CvsByTracks" , " " , kTH2D , {{150 , 0 , 15000 }, {150 , 0 , 150000 }});
347347
348348 // 3D histograms: nGlobalTracks with cls567 as y-axis, V0A as x-axis:
349- const AxisSpec axisNtracks{160 , -0.5 , 4000 - 0.5 , " n tracks" };
350- const AxisSpec axisNtracksGlobal{120 , -0.5 , 3000 - 0.5 , " n tracks" };
349+ const AxisSpec axisNtracksPV{160 , -0.5 , 4000 - 0.5 , " n ITS PV tracks" };
350+ const AxisSpec axisNtracksPVTPC{120 , -0.5 , 3000 - 0.5 , " n ITS-TPC PV tracks" };
351+ const AxisSpec axisNtracksTPConly{120 , -0.5 , 6000 - 0.5 , " n TPC-only tracks" };
351352 const AxisSpec axisMultV0AForOccup{20 , 0 ., static_cast <float >(200000 ), " mult V0A" };
352353 const AxisSpec axisOccupancyTracks{150 , 0 ., 15000 , " occupancy (n ITS tracks weighted)" };
353- histos.add (" occupancyQA/hNumTracksPV_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNtracks, axisOccupancyTracks});
354- histos.add (" occupancyQA/hNumTracksPVTPC_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksGlobal, axisOccupancyTracks});
354+ histos.add (" occupancyQA/hNumTracksPV_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksPV, axisOccupancyTracks});
355+ histos.add (" occupancyQA/hNumTracksPVTPC_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksPVTPC, axisOccupancyTracks});
356+ histos.add (" occupancyQA/hNumTracksTPConly_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksTPConly, axisOccupancyTracks});
357+ histos.add (" occupancyQA/hNumTracksTPConlyNoITS_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksTPConly, axisOccupancyTracks});
355358
356359 histos.add (" occupancyQA/hITSTracks_ev1_vs_ev2_2coll_in_ROF" , " ;nITStracks event #1;nITStracks event #2" , kTH2D , {{200 , 0 ., 6000 }, {200 , 0 ., 6000 }});
357360 histos.add (" occupancyQA/hITSTracks_ev1_vs_ev2_2coll_in_ROF_UPC" , " ;nITStracks event #1;nITStracks event #2" , kTH2D , {{41 , -0.5 , 40.5 }, {41 , -0.5 , 40.5 }});
@@ -1108,18 +1111,30 @@ struct EventSelectionQaTask {
11081111 // count tracks of different types
11091112 auto tracksGrouped = tracks.sliceBy (perCollision, colIndex);
11101113 int nPV = 0 ;
1114+ int nTPConly = 0 ;
1115+ // int nTPConlyWithDeDxCut = 0;
1116+ int nTPConlyNoITS = 0 ;
11111117 int nContributorsAfterEtaTPCCuts = 0 ;
11121118 bool isTVX = col.selection_bit (kIsTriggerTVX );
11131119 for (const auto & track : tracksGrouped) {
11141120 int trackBcDiff = bcDiff + track.trackTime () / o2::constants::lhc::LHCBunchSpacingNS;
1121+
1122+ if (track.hasTPC () && std::fabs (track.eta ()) < 0.8 && track.pt () > 0.2 && track.tpcNClsFound () > 50 && track.tpcNClsCrossedRows () > 50 && track.tpcChi2NCl () < 4 ) {
1123+ nTPConly++;
1124+ // if (track.tpcSignal() > 20)
1125+ // nTPConlyWithDeDxCut++;
1126+ if (!track.hasITS ())
1127+ nTPConlyNoITS++;
1128+ }
1129+
11151130 if (!track.isPVContributor ())
11161131 continue ;
11171132
11181133 if (track.itsNCls () >= 5 )
11191134 vTracksITS567perColl[colIndex]++;
11201135
11211136 // high-quality contributors for ROF border QA and occupancy study
1122- if (isTVX && std::fabs (track.eta ()) < 0.8 && track.pt () > 0.2 && track.itsNCls () >= 5 ) {
1137+ if (std::fabs (track.eta ()) < 0.8 && track.pt () > 0.2 && track.itsNCls () >= 5 ) {
11231138 nPV++;
11241139 if (track.tpcNClsFound () > 70 && track.tpcNClsCrossedRows () > 80 && track.itsChi2NCl () < 36 && track.tpcChi2NCl () < 4 ) {
11251140 nContributorsAfterEtaTPCCuts++;
@@ -1154,6 +1169,8 @@ struct EventSelectionQaTask {
11541169 histos.fill (HIST (" occupancyQA/hOccupancyByFT0CvsByTracks" ), occupancyByTracks, occupancyByFT0C);
11551170 histos.fill (HIST (" occupancyQA/hNumTracksPV_vs_V0A_vs_occupancy" ), multV0A, nPV, occupancyByTracks);
11561171 histos.fill (HIST (" occupancyQA/hNumTracksPVTPC_vs_V0A_vs_occupancy" ), multV0A, nContributorsAfterEtaTPCCuts, occupancyByTracks);
1172+ histos.fill (HIST (" occupancyQA/hNumTracksTPConly_vs_V0A_vs_occupancy" ), multV0A, nTPConly, occupancyByTracks);
1173+ histos.fill (HIST (" occupancyQA/hNumTracksTPConlyNoITS_vs_V0A_vs_occupancy" ), multV0A, nTPConlyNoITS, occupancyByTracks);
11571174
11581175 // dE/dx QA for a narrow pT bin
11591176 for (const auto & track : tracksGrouped) {
0 commit comments