Skip to content

Commit 1308dd8

Browse files
[PWGJE] PWGJE - adding occupancy QA to jetFinderQA (#9826)
1 parent 6e8eeef commit 1308dd8

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

PWGJE/Tasks/jetFinderQA.cxx

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
/// \author Nima Zardoshti <nima.zardoshti@cern.ch>
1515

1616
#include <cmath>
17+
#include <vector>
18+
#include <string>
19+
#include <algorithm>
1720
#include <TRandom3.h>
1821

1922
#include "Framework/ASoA.h"
@@ -325,6 +328,18 @@ struct JetFinderQATask {
325328
AxisSpec weightAxis = {{VARIABLE_WIDTH, 1e-13, 1e-12, 1e-11, 1e-10, 1e-9, 1e-8, 1e-7, 1e-6, 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1.0, 10.0}, "weights"};
326329
registry.add("h_collision_eventweight_part", "event weight;event weight;entries", {HistType::kTH1F, {weightAxis}});
327330
}
331+
332+
AxisSpec occupancyAxis = {142, -1.5, 14000.5, "occupancy"};
333+
AxisSpec nTracksAxis = {16001, -1., 16000, "n tracks"};
334+
335+
if (doprocessOccupancyQA) {
336+
registry.add("h2_occupancy_ntracksall_presel", "occupancy vs N_{tracks}; occupancy; N_{tracks}", {HistType::kTH2I, {occupancyAxis, nTracksAxis}});
337+
registry.add("h2_occupancy_ntracksall_postsel", "occupancy vs N_{tracks}; occupancy; N_{tracks}", {HistType::kTH2I, {occupancyAxis, nTracksAxis}});
338+
registry.add("h2_occupancy_ntrackssel_presel", "occupancy vs N_{tracks}; occupancy; N_{tracks}", {HistType::kTH2I, {occupancyAxis, nTracksAxis}});
339+
registry.add("h2_occupancy_ntrackssel_postsel", "occupancy vs N_{tracks}; occupancy; N_{tracks}", {HistType::kTH2I, {occupancyAxis, nTracksAxis}});
340+
registry.add("h2_occupancy_ntracksselptetacuts_presel", "occupancy vs N_{tracks}; occupancy; N_{tracks}", {HistType::kTH2I, {occupancyAxis, nTracksAxis}});
341+
registry.add("h2_occupancy_ntracksselptetacuts_postsel", "occupancy vs N_{tracks}; occupancy; N_{tracks}", {HistType::kTH2I, {occupancyAxis, nTracksAxis}});
342+
}
328343
}
329344

330345
Filter trackCuts = (aod::jtrack::pt >= trackPtMin && aod::jtrack::pt < trackPtMax && aod::jtrack::eta > trackEtaMin && aod::jtrack::eta < trackEtaMax);
@@ -1168,6 +1183,35 @@ struct JetFinderQATask {
11681183
randomCone(collision, jets, tracks);
11691184
}
11701185
PROCESS_SWITCH(JetFinderQATask, processRandomConeMCD, "QA for random cone estimation of background fluctuations in mcd", false);
1186+
1187+
void processOccupancyQA(soa::Filtered<aod::JetCollisions>::iterator const& collision, aod::JetTracks const& tracks)
1188+
{
1189+
if (skipMBGapEvents && collision.subGeneratorId() == jetderiveddatautilities::JCollisionSubGeneratorId::mbGap) {
1190+
return;
1191+
}
1192+
int occupancy = collision.trackOccupancyInTimeRange();
1193+
int nTracksAll = tracks.size();
1194+
int nTracksAllAcceptanceAndSelected = 0;
1195+
int nTracksInAcceptanceAndSelected = 0;
1196+
for (auto const& track : tracks) {
1197+
if (jetderiveddatautilities::selectTrack(track, trackSelection)) {
1198+
nTracksAllAcceptanceAndSelected += 1;
1199+
if (track.pt() >= trackPtMin && track.pt() < trackPtMax && track.eta() > trackEtaMin && track.eta() < trackEtaMax) {
1200+
nTracksInAcceptanceAndSelected += 1;
1201+
}
1202+
}
1203+
}
1204+
1205+
registry.fill(HIST("h2_occupancy_ntracksall_presel"), occupancy, nTracksAll);
1206+
registry.fill(HIST("h2_occupancy_ntrackssel_presel"), occupancy, nTracksAllAcceptanceAndSelected);
1207+
registry.fill(HIST("h2_occupancy_ntracksselptetacuts_presel"), occupancy, nTracksInAcceptanceAndSelected);
1208+
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits)) {
1209+
registry.fill(HIST("h2_occupancy_ntracksall_postsel"), occupancy, nTracksAll);
1210+
registry.fill(HIST("h2_occupancy_ntrackssel_postsel"), occupancy, nTracksAllAcceptanceAndSelected);
1211+
registry.fill(HIST("h2_occupancy_ntracksselptetacuts_postsel"), occupancy, nTracksInAcceptanceAndSelected);
1212+
}
1213+
}
1214+
PROCESS_SWITCH(JetFinderQATask, processOccupancyQA, "occupancy QA on jet derived data", false);
11711215
};
11721216

11731217
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc) { return WorkflowSpec{adaptAnalysisTask<JetFinderQATask>(cfgc, TaskName{"jet-finder-charged-qa"})}; }

0 commit comments

Comments
 (0)