Skip to content

Commit 0b5339a

Browse files
authored
add nTPConlyTracks vs occupancy histograms
1 parent 69c3bd9 commit 0b5339a

File tree

1 file changed

+24
-5
lines changed

1 file changed

+24
-5
lines changed

DPG/Tasks/AOTEvent/eventSelectionQa.cxx

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)