@@ -70,6 +70,7 @@ struct EventSelectionQaTask {
7070 Configurable<int32_t > nGlobalBCs{" nGlobalBCs" , 100000 , " number of global bcs for detailed monitoring" };
7171 Configurable<bool > isLowFlux{" isLowFlux" , 1 , " 1 - low flux (pp, pPb), 0 - high flux (PbPb)" };
7272 Configurable<bool > fillITSdeadStaveHists{" fillITSdeadStaveHists" , 0 , " 0 - no, 1 - yes" };
73+ Configurable<bool > fillTPCnClsVsOccupancyHists{" fillTPCnClsVsOccupancyHists" , 0 , " 0 - no, 1 - yes" };
7374
7475 Service<o2::ccdb::BasicCCDBManager> ccdb;
7576 HistogramRegistry histos{" Histos" , {}, OutputObjHandlingPolicy::AnalysisObject};
@@ -375,18 +376,24 @@ struct EventSelectionQaTask {
375376 histos.add (" occupancyQA/hNumTracksITSTPC_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksPVTPC, axisOccupancyTracks});
376377 histos.add (" occupancyQA/hNumTracksPV_vs_V0A_vs_occupancy_NarrowDeltaTimeCut" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksPV, axisOccupancyTracks});
377378 histos.add (" occupancyQA/hNumTracksPVTPC_vs_V0A_vs_occupancy_NarrowDeltaTimeCut" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksPVTPC, axisOccupancyTracks});
379+ histos.add (" occupancyQA/hNumTracksPV_vs_V0A_vs_occupancy_StandardDeltaTimeCut" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksPV, axisOccupancyTracks});
380+ histos.add (" occupancyQA/hNumTracksPVTPC_vs_V0A_vs_occupancy_StandardDeltaTimeCut" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksPVTPC, axisOccupancyTracks});
381+ histos.add (" occupancyQA/hNumTracksPV_vs_V0A_vs_occupancy_GoodITSLayersAllCut" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksPV, axisOccupancyTracks});
382+ histos.add (" occupancyQA/hNumTracksPVTPC_vs_V0A_vs_occupancy_GoodITSLayersAllCut" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksPVTPC, axisOccupancyTracks});
378383 // requested by TPC experts: nTPConly tracks vs occupancy
379384 histos.add (" occupancyQA/hNumTracksTPConly_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksTPConly, axisOccupancyTracks});
380385 histos.add (" occupancyQA/hNumTracksTPConlyNoITS_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNtracksTPConly, axisOccupancyTracks});
381386 // request from experts to add track properties vs occupancy, to compare data vs MC
382- const AxisSpec axisOccupancyForTrackQA{60 , 0 ., 15000 , " occupancy (n ITS tracks weighted)" };
383- const AxisSpec axisNTPCcls{150 , 0 , 150 , " n TPC clusters" };
384- histos.add (" occupancyQA/tpcNClsFound_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNTPCcls, axisOccupancyForTrackQA});
385- histos.add (" occupancyQA/tpcNClsFindable_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNTPCcls, axisOccupancyForTrackQA});
386- histos.add (" occupancyQA/tpcNClsShared_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNTPCcls, axisOccupancyForTrackQA});
387- histos.add (" occupancyQA/tpcNCrossedRows_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNTPCcls, axisOccupancyForTrackQA});
388- const AxisSpec axisChi2TPC{150 , 0 , 15 , " chi2Ncl TPC" };
389- histos.add (" occupancyQA/tpcChi2_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisChi2TPC, axisOccupancyForTrackQA});
387+ if (fillTPCnClsVsOccupancyHists) {
388+ const AxisSpec axisOccupancyForTrackQA{60 , 0 ., 15000 , " occupancy (n ITS tracks weighted)" };
389+ const AxisSpec axisNTPCcls{150 , 0 , 150 , " n TPC clusters" };
390+ histos.add (" occupancyQA/tpcNClsFound_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNTPCcls, axisOccupancyForTrackQA});
391+ histos.add (" occupancyQA/tpcNClsFindable_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNTPCcls, axisOccupancyForTrackQA});
392+ histos.add (" occupancyQA/tpcNClsShared_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNTPCcls, axisOccupancyForTrackQA});
393+ histos.add (" occupancyQA/tpcNCrossedRows_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisNTPCcls, axisOccupancyForTrackQA});
394+ const AxisSpec axisChi2TPC{150 , 0 , 15 , " chi2Ncl TPC" };
395+ histos.add (" occupancyQA/tpcChi2_vs_V0A_vs_occupancy" , " " , kTH3F , {axisMultV0AForOccup, axisChi2TPC, axisOccupancyForTrackQA});
396+ }
390397
391398 // ITS in-ROF occupancy
392399 histos.add (" occupancyQA/hITSTracks_ev1_vs_ev2_2coll_in_ROF" , " ;nITStracks event #1;nITStracks event #2" , kTH2D , {{200 , 0 ., 6000 }, {200 , 0 ., 6000 }});
@@ -1198,7 +1205,7 @@ struct EventSelectionQaTask {
11981205 if (track.hasTPC ()) {
11991206 nContributorsAfterEtaTPCLooseCuts++;
12001207
1201- if (!isLowFlux && col.sel8 () && col.selection_bit (kNoSameBunchPileup ) && fabs (col.posZ ()) < 10 && occupancyByTracks >= 0 ) {
1208+ if (!isLowFlux && fillTPCnClsVsOccupancyHists && col.sel8 () && col.selection_bit (kNoSameBunchPileup ) && fabs (col.posZ ()) < 10 && occupancyByTracks >= 0 ) {
12021209 histos.fill (HIST (" occupancyQA/tpcNClsFound_vs_V0A_vs_occupancy" ), multV0A, track.tpcNClsFound (), occupancyByTracks);
12031210 histos.fill (HIST (" occupancyQA/tpcNClsFindable_vs_V0A_vs_occupancy" ), multV0A, track.tpcNClsFindable (), occupancyByTracks);
12041211 histos.fill (HIST (" occupancyQA/tpcNClsShared_vs_V0A_vs_occupancy" ), multV0A, track.tpcNClsShared (), occupancyByTracks);
@@ -1248,6 +1255,14 @@ struct EventSelectionQaTask {
12481255 histos.fill (HIST (" occupancyQA/hNumTracksPV_vs_V0A_vs_occupancy_NarrowDeltaTimeCut" ), multV0A, nPV, occupancyByTracks);
12491256 histos.fill (HIST (" occupancyQA/hNumTracksPVTPC_vs_V0A_vs_occupancy_NarrowDeltaTimeCut" ), multV0A, nContributorsAfterEtaTPCCuts, occupancyByTracks);
12501257 }
1258+ if (col.selection_bit (kNoCollInTimeRangeStandard )) {
1259+ histos.fill (HIST (" occupancyQA/hNumTracksPV_vs_V0A_vs_occupancy_StandardDeltaTimeCut" ), multV0A, nPV, occupancyByTracks);
1260+ histos.fill (HIST (" occupancyQA/hNumTracksPVTPC_vs_V0A_vs_occupancy_StandardDeltaTimeCut" ), multV0A, nContributorsAfterEtaTPCCuts, occupancyByTracks);
1261+ }
1262+ if (col.selection_bit (kIsGoodITSLayersAll )) {
1263+ histos.fill (HIST (" occupancyQA/hNumTracksPV_vs_V0A_vs_occupancy_GoodITSLayersAllCut" ), multV0A, nPV, occupancyByTracks);
1264+ histos.fill (HIST (" occupancyQA/hNumTracksPVTPC_vs_V0A_vs_occupancy_GoodITSLayersAllCut" ), multV0A, nContributorsAfterEtaTPCCuts, occupancyByTracks);
1265+ }
12511266 histos.fill (HIST (" occupancyQA/hNumTracksTPConly_vs_V0A_vs_occupancy" ), multV0A, nTPConly, occupancyByTracks);
12521267 histos.fill (HIST (" occupancyQA/hNumTracksTPConlyNoITS_vs_V0A_vs_occupancy" ), multV0A, nTPConlyNoITS, occupancyByTracks);
12531268
0 commit comments