@@ -346,12 +346,16 @@ 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});
358+ // histos.add("occupancyQA/hNumTracksTPConlyWithDeDxCut_vs_V0A_vs_occupancy", "", kTH3F, {axisMultV0AForOccup, axisNtracksTPConly, axisOccupancyTracks});
355359
356360 histos.add (" occupancyQA/hITSTracks_ev1_vs_ev2_2coll_in_ROF" , " ;nITStracks event #1;nITStracks event #2" , kTH2D , {{200 , 0 ., 6000 }, {200 , 0 ., 6000 }});
357361 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 +1112,30 @@ struct EventSelectionQaTask {
11081112 // count tracks of different types
11091113 auto tracksGrouped = tracks.sliceBy (perCollision, colIndex);
11101114 int nPV = 0 ;
1115+ int nTPConly = 0 ;
1116+ // int nTPConlyWithDeDxCut = 0;
1117+ int nTPConlyNoITS = 0 ;
11111118 int nContributorsAfterEtaTPCCuts = 0 ;
11121119 bool isTVX = col.selection_bit (kIsTriggerTVX );
11131120 for (const auto & track : tracksGrouped) {
11141121 int trackBcDiff = bcDiff + track.trackTime () / o2::constants::lhc::LHCBunchSpacingNS;
1122+
1123+ if (track.hasTPC () && std::fabs (track.eta ()) < 0.8 && track.pt () > 0.2 && track.tpcNClsFound () > 50 && track.tpcNClsCrossedRows () > 50 && track.tpcChi2NCl () < 4 ) {
1124+ nTPConly++;
1125+ // if (track.tpcSignal() > 20)
1126+ // nTPConlyWithDeDxCut++;
1127+ if (!track.hasITS ())
1128+ nTPConlyNoITS++;
1129+ }
1130+
11151131 if (!track.isPVContributor ())
11161132 continue ;
11171133
11181134 if (track.itsNCls () >= 5 )
11191135 vTracksITS567perColl[colIndex]++;
11201136
11211137 // 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 ) {
1138+ if (std::fabs (track.eta ()) < 0.8 && track.pt () > 0.2 && track.itsNCls () >= 5 ) {
11231139 nPV++;
11241140 if (track.tpcNClsFound () > 70 && track.tpcNClsCrossedRows () > 80 && track.itsChi2NCl () < 36 && track.tpcChi2NCl () < 4 ) {
11251141 nContributorsAfterEtaTPCCuts++;
@@ -1154,6 +1170,9 @@ struct EventSelectionQaTask {
11541170 histos.fill (HIST (" occupancyQA/hOccupancyByFT0CvsByTracks" ), occupancyByTracks, occupancyByFT0C);
11551171 histos.fill (HIST (" occupancyQA/hNumTracksPV_vs_V0A_vs_occupancy" ), multV0A, nPV, occupancyByTracks);
11561172 histos.fill (HIST (" occupancyQA/hNumTracksPVTPC_vs_V0A_vs_occupancy" ), multV0A, nContributorsAfterEtaTPCCuts, occupancyByTracks);
1173+ histos.fill (HIST (" occupancyQA/hNumTracksTPConly_vs_V0A_vs_occupancy" ), multV0A, nTPConly, occupancyByTracks);
1174+ histos.fill (HIST (" occupancyQA/hNumTracksTPConlyNoITS_vs_V0A_vs_occupancy" ), multV0A, nTPConlyNoITS, occupancyByTracks);
1175+ // histos.fill(HIST("occupancyQA/hNumTracksTPConlyWithDeDxCut_vs_V0A_vs_occupancy"), multV0A, nTPConlyWithDeDxCut, occupancyByTracks);
11571176
11581177 // dE/dx QA for a narrow pT bin
11591178 for (const auto & track : tracksGrouped) {
0 commit comments