Skip to content

Commit aef2da4

Browse files
authored
[DPG] additional dt-dependent occupancy histos for ITS+TOF and ITS+TRD tracks (#11636)
1 parent ece6700 commit aef2da4

File tree

1 file changed

+33
-11
lines changed

1 file changed

+33
-11
lines changed

DPG/Tasks/AOTEvent/detectorOccupancyQa.cxx

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ struct DetectorOccupancyQaTask {
6565
Configurable<bool> confFlagUseNoHighMultCollInPrevRof{"FlagUseNoHighMultCollInPrevRof", false, "Suppress high-multiplicity prev-ROF events for occupancy historams"}; // o2-linter: disable=name/configurable (temporary fix)
6666
Configurable<bool> confFlagCentralityIsAvailable{"FlagCentralityIsAvailable", true, "Fill centrality-related historams"}; // o2-linter: disable=name/configurable (temporary fix)
6767
Configurable<bool> confFlagManyHeavyHistos{"FlagManyHeavyHistos", true, "Fill more TH2, TH3, THn historams"}; // o2-linter: disable=name/configurable (temporary fix)
68+
Configurable<bool> confFlagIsTOFIsTRDdtStudy{"FlagIsTOFIsTRDdtStudy", true, "Fill THn dt historams with isTOF and isTRD condition"}; // o2-linter: disable=name/configurable (temporary fix)
6869

6970
// configuration for small time binning
7071
Configurable<float> confTimeIntervalForSmallBins{"TimeIntervalForSmallBins", 100, "Time interval for TPC occupancy calculation in small bins, +/-, us"}; // o2-linter: disable=name/configurable (temporary fix)
@@ -328,6 +329,10 @@ struct DetectorOccupancyQaTask {
328329
histos.add("occupancyInTimeBins_nITS567_vs_FT0thisCol_occupByFT0_kNoCollInTimeRangeNarrow", ";time bin (#mus);FT0C this collision, this collision;n ITS567cls tracks, this collision;sum FT0 in time window", kTHnF, {axisTimeBins, {nBins3D, 0, kMaxThisEv * 100000}, {nBinsY, 0, kMaxThisEv * 4000}, {nBins3DoccupancyAxis, 0, kMaxOccup * 100000}});
329330
histos.add("occupancyInTimeBins_nITS567_vs_FT0thisCol_occupByFT0_kNoCollInTimeRangeNarrow_NoCollInRofStrict", ";time bin (#mus);FT0C this collision, this collision;n ITS567cls tracks, this collision;sum FT0 in time window", kTHnF, {axisTimeBins, {nBins3D, 0, kMaxThisEv * 100000}, {nBinsY, 0, kMaxThisEv * 4000}, {nBins3DoccupancyAxis, 0, kMaxOccup * 100000}});
330331
}
332+
if (confFlagIsTOFIsTRDdtStudy) {
333+
histos.add("occupancyInTimeBins_nITSTOF_vs_FT0thisCol_kNoCollInTimeRangeNarrow", ";time bin (#mus);FT0C this collision, this collision;n ITSTOF tracks, this collision;ITS tracks with 5,6,7 cls in time window", kTHnF, {axisTimeBins, {nBins3D, 0, kMaxThisEv * 100000}, {nBinsY, 0, kMaxThisEv * 4000}, {nBins3DoccupancyAxis, 0, kMaxOccup * 10000}});
334+
histos.add("occupancyInTimeBins_nITSTRD_vs_FT0thisCol_kNoCollInTimeRangeNarrow", ";time bin (#mus);FT0C this collision, this collision;n ITSTRD tracks, this collision;ITS tracks with 5,6,7 cls in time window", kTHnF, {axisTimeBins, {nBins3D, 0, kMaxThisEv * 100000}, {nBinsY, 0, kMaxThisEv * 4000}, {nBins3DoccupancyAxis, 0, kMaxOccup * 10000}});
335+
}
331336

332337
histos.add("thisEventITStracksInTimeBins", ";time bin (#mus);n tracks", kTH1F, {axisTimeBins});
333338
histos.add("thisEventITSTPCtracksInTimeBins", ";time bin (#mus);n tracks", kTH1F, {axisTimeBins});
@@ -462,6 +467,8 @@ struct DetectorOccupancyQaTask {
462467
std::vector<int> vTracksGlobalPerCollPtEtaCuts(cols.size(), 0); // counter of tracks per found bc for occupancy studies
463468
std::vector<int> vTracksITSTPCperColl(cols.size(), 0); // counter of tracks per found bc for occupancy studies
464469
std::vector<int> vTracksITSTPCperCollPtEtaCuts(cols.size(), 0); // counter of tracks per found bc for occupancy studies
470+
std::vector<int> vTracksITSTOFperCollPtEtaCuts(cols.size(), 0); // counter of tracks per found bc for occupancy studies
471+
std::vector<int> vTracksITSTRDperCollPtEtaCuts(cols.size(), 0); // counter of tracks per found bc for occupancy studies
465472
std::vector<float> vAmpFT0CperColl(cols.size(), 0); // amplitude FT0C per collision
466473

467474
std::vector<int> vTFids(cols.size(), 0);
@@ -482,15 +489,21 @@ struct DetectorOccupancyQaTask {
482489
int nGlobalPtEtaCuts = 0;
483490
int nITSTPCtracks = 0;
484491
int nITSTPCtracksPtEtaCuts = 0;
492+
int nITSTOFtracksPtEtaCuts = 0;
493+
int nITSTRDtracksPtEtaCuts = 0;
485494
int nTOFtracks = 0;
486495
// int nTRDtracks = 0;
487496
auto tracksGrouped = tracks.sliceBy(perCollision, col.globalIndex());
488497
for (const auto& track : tracksGrouped) {
489498
if (!track.isPVContributor()) {
490499
continue;
491500
}
492-
if (track.itsNCls() >= 5)
493-
nITS567cls++;
501+
// if (track.itsNCls() >= 5)
502+
// nITS567cls++;
503+
if (track.itsNCls() < 5)
504+
continue;
505+
nITS567cls++;
506+
494507
nITSTPCtracks += track.hasITS() && track.hasTPC();
495508
nTOFtracks += track.hasTOF();
496509
// nTRDtracks += track.hasTRD();
@@ -500,15 +513,18 @@ struct DetectorOccupancyQaTask {
500513
if (track.eta() < confCutEtaMinTracksThisEvent || track.eta() > confCutEtaMaxTracksThisEvent)
501514
continue;
502515

503-
if (track.itsNCls() >= 5)
504-
nITS567clsPtEtaCuts++;
516+
// if (track.itsNCls() >= 5)
517+
nITS567clsPtEtaCuts++;
518+
519+
nITSTOFtracksPtEtaCuts += track.hasITS() && track.hasTOF();
520+
nITSTRDtracksPtEtaCuts += track.hasITS() && track.hasTRD();
505521

506522
if (track.tpcNClsFound() < confCutMinTPCcls)
507523
continue;
508524
nITSTPCtracksPtEtaCuts += track.hasITS() && track.hasTPC();
509525

510-
if (track.itsNCls() >= 5)
511-
nGlobalPtEtaCuts += track.isGlobalTrack();
526+
// if (track.itsNCls() >= 5)
527+
nGlobalPtEtaCuts += track.isGlobalTrack();
512528
}
513529

514530
int32_t foundBC = bc.globalIndex();
@@ -522,12 +538,14 @@ struct DetectorOccupancyQaTask {
522538

523539
vIsVertexTOFmatched[colIndex] = nTOFtracks > 0;
524540

525-
vTracksITS567perColl[colIndex] += nITS567cls;
526-
vTracksITS567perCollPtEtaCuts[colIndex] += nITS567clsPtEtaCuts;
527-
vTracksGlobalPerCollPtEtaCuts[colIndex] += nGlobalPtEtaCuts;
541+
vTracksITS567perColl[colIndex] = nITS567cls;
542+
vTracksITS567perCollPtEtaCuts[colIndex] = nITS567clsPtEtaCuts;
543+
vTracksGlobalPerCollPtEtaCuts[colIndex] = nGlobalPtEtaCuts;
528544

529-
vTracksITSTPCperColl[colIndex] += nITSTPCtracks;
530-
vTracksITSTPCperCollPtEtaCuts[colIndex] += nITSTPCtracksPtEtaCuts;
545+
vTracksITSTPCperColl[colIndex] = nITSTPCtracks;
546+
vTracksITSTPCperCollPtEtaCuts[colIndex] = nITSTPCtracksPtEtaCuts;
547+
vTracksITSTOFperCollPtEtaCuts[colIndex] = nITSTOFtracksPtEtaCuts;
548+
vTracksITSTRDperCollPtEtaCuts[colIndex] = nITSTRDtracksPtEtaCuts;
531549

532550
// TF ids within a given cols table
533551
int tfId = (bc.globalBC() - bcSOR) / nBCsPerTF;
@@ -815,6 +833,10 @@ struct DetectorOccupancyQaTask {
815833
if (col.selection_bit(kNoCollInTimeRangeNarrow)) {
816834
histos.fill(HIST("occupancyInTimeBins_vs_FT0thisCol_kNoCollInTimeRangeNarrow"), dt, vAmpFT0CperColl[colIndex], confFlagUseGlobalTracks ? vTracksGlobalPerCollPtEtaCuts[colIndex] : vTracksITSTPCperCollPtEtaCuts[colIndex], nITStrInTimeBin);
817835
histos.fill(HIST("occupancyInTimeBins_nITS567_vs_FT0thisCol_kNoCollInTimeRangeNarrow"), dt, vAmpFT0CperColl[colIndex], vTracksITS567perCollPtEtaCuts[colIndex], nITStrInTimeBin);
836+
if (confFlagIsTOFIsTRDdtStudy) {
837+
histos.fill(HIST("occupancyInTimeBins_nITSTOF_vs_FT0thisCol_kNoCollInTimeRangeNarrow"), dt, vAmpFT0CperColl[colIndex], vTracksITSTOFperCollPtEtaCuts[colIndex], nITStrInTimeBin);
838+
histos.fill(HIST("occupancyInTimeBins_nITSTRD_vs_FT0thisCol_kNoCollInTimeRangeNarrow"), dt, vAmpFT0CperColl[colIndex], vTracksITSTRDperCollPtEtaCuts[colIndex], nITStrInTimeBin);
839+
}
818840
if (confFlagManyHeavyHistos) {
819841
histos.fill(HIST("occupancyInTimeBins_occupByFT0_kNoCollInTimeRangeNarrow"), dt, vTracksITS567perCollPtEtaCuts[colIndex], confFlagUseGlobalTracks ? vTracksGlobalPerCollPtEtaCuts[colIndex] : vTracksITSTPCperCollPtEtaCuts[colIndex], nFT0CInTimeBin);
820842
histos.fill(HIST("occupancyInTimeBins_vs_FT0thisCol_occupByFT0_kNoCollInTimeRangeNarrow"), dt, vAmpFT0CperColl[colIndex], confFlagUseGlobalTracks ? vTracksGlobalPerCollPtEtaCuts[colIndex] : vTracksITSTPCperCollPtEtaCuts[colIndex], nFT0CInTimeBin);

0 commit comments

Comments
 (0)