Skip to content

Commit f6f3d84

Browse files
authored
[PWGJE] MC process functions updated (#9809)
1 parent 1308dd8 commit f6f3d84

File tree

1 file changed

+62
-20
lines changed

1 file changed

+62
-20
lines changed

PWGJE/Tasks/jetSpectraEseTask.cxx

Lines changed: 62 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ struct JetSpectraEseTask {
4949
ConfigurableAxis binESE{"binESE", {100, 0, 100}, ""};
5050
ConfigurableAxis binCos{"binCos", {100, -1.05, 1.05}, ""};
5151
ConfigurableAxis binOccupancy{"binOccupancy", {5000, 0, 25000}, ""};
52-
ConfigurableAxis binQVec{"binQVec", {100, -3, 3}, ""};
52+
ConfigurableAxis binQVec{"binQVec", {500, -3, 3}, ""};
5353

5454
Configurable<float> jetPtMin{"jetPtMin", 5.0, "minimum jet pT cut"};
5555
Configurable<float> jetR{"jetR", 0.2, "jet resolution parameter"};
@@ -60,7 +60,8 @@ struct JetSpectraEseTask {
6060
Configurable<std::string> eventSelections{"eventSelections", "sel8FullPbPb", "choose event selection"};
6161
Configurable<std::string> trackSelections{"trackSelections", "globalTracks", "set track selections"};
6262

63-
Configurable<bool> cfgEvSelOccupancy{"cfgEvSelOccupancy", false, "Flag for occupancy cut"};
63+
Configurable<bool> cfgEvSelOccupancy{"cfgEvSelOccupancy", true, "Flag for occupancy cut"};
64+
6465
Configurable<std::vector<int>> cfgCutOccupancy{"cfgCutOccupancy", {0, 1000}, "Occupancy cut"};
6566
Configurable<std::vector<float>> cfgOccupancyPtCut{"cfgOccupancyPtCut", {0, 100}, "pT cut"};
6667

@@ -83,6 +84,9 @@ struct JetSpectraEseTask {
8384
std::vector<int> eventSelectionBits;
8485
int trackSelection{-1};
8586

87+
Filter jetCuts = aod::jet::pt > jetPtMin&& aod::jet::r == nround(jetR.node() * 100.0f) && nabs(aod::jet::eta) < 0.9f - jetR;
88+
Filter colFilter = nabs(aod::jcollision::posZ) < vertexZCut;
89+
Filter mcCollisionFilter = nabs(aod::jmccollision::posZ) < vertexZCut;
8690
using ChargedMCDJets = soa::Filtered<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetsMatchedToChargedMCParticleLevelJets>>;
8791
Preslice<ChargedMCDJets> mcdjetsPerJCollision = o2::aod::jet::collisionId;
8892

@@ -104,7 +108,8 @@ struct JetSpectraEseTask {
104108
if (doprocessESEDataCharged) {
105109
LOGF(info, "JetSpectraEseTask::init() - processESEDataCharged");
106110
registry.add("hEventCounter", "event status;event status;entries", {HistType::kTH1F, {{10, 0.0, 10.0}}});
107-
registry.add("hCentralityMult", ";Centrality;entries", {HistType::kTH1F, {{100, 0, 100}}});
111+
registry.add("hCentralitySel", ";Centrality;entries", {HistType::kTH1F, {{100, 0, 100}}});
112+
registry.add("hCentralityAnalyzed", ";Centrality;entries", {HistType::kTH1F, {{100, 0, 100}}});
108113
registry.add("hJetPt", "jet pT;#it{p}_{T,jet} (GeV/#it{c});entries", {HistType::kTH1F, {{jetPtAxis}}});
109114
registry.add("hJetPt_bkgsub", "jet pT background sub;#it{p}_{T,jet} (GeV/#it{c});entries", {HistType::kTH1F, {{jetPtAxis}}});
110115
registry.add("hJetEta", "jet #eta;#eta_{jet};entries", {HistType::kTH1F, {{100, -1.0, 1.0}}});
@@ -128,30 +133,50 @@ struct JetSpectraEseTask {
128133
registry.addClone("hPsi2FT0C", "hEPUncorV2");
129134
registry.addClone("hPsi2FT0C", "hEPRectrV2");
130135
registry.addClone("hPsi2FT0C", "hEPTwistV2");
136+
137+
registry.get<TH1>(HIST("hEventCounter"))->GetXaxis()->SetBinLabel(1, "Input event");
138+
registry.get<TH1>(HIST("hEventCounter"))->GetXaxis()->SetBinLabel(2, "Event selection");
139+
registry.get<TH1>(HIST("hEventCounter"))->GetXaxis()->SetBinLabel(3, "Occupancy cut");
140+
registry.get<TH1>(HIST("hEventCounter"))->GetXaxis()->SetBinLabel(4, "ESE available");
141+
registry.get<TH1>(HIST("hEventCounter"))->GetXaxis()->SetBinLabel(5, "Lead track");
142+
registry.get<TH1>(HIST("hEventCounter"))->GetXaxis()->SetBinLabel(6, "Jet loop");
143+
registry.get<TH1>(HIST("hEventCounter"))->GetXaxis()->SetBinLabel(7, "Centrality analyzed");
131144
}
132145
if (doprocessMCParticleLevel) {
133146
LOGF(info, "JetSpectraEseTask::init() - processMCParticleLevel");
134147
registry.add("hMCPartEventCounter", "event status;event status;entries", {HistType::kTH1F, {{10, 0.0, 10.0}}});
148+
registry.add("hPartCentralitySel", ";centr;entries", {HistType::kTH1F, {{100, 0.0, 100.0}}});
135149
registry.add("hPartJetPt", "particle level jet pT;#it{p}_{T,jet part} (GeV/#it{c});entries", {HistType::kTH1F, {{jetPtAxis}}});
136150
registry.add("hPartJetPtSubBkg", "particle level jet pT;#it{p}_{T,jet part} (GeV/#it{c});entries", {HistType::kTH1F, {{jetPtAxis}}});
151+
registry.add("hPartJetSparse", ";Centrality;#it{p}_{T,jet part} (GeV/#it{c})", {HistType::kTHnSparseF, {{110, -10, 100}, {jetPtAxis}, {100, -1.0, 1.0}, {80, -1.0, 7}}});
137152
registry.add("hPartJetEta", "particle level jet #eta;#eta_{jet part};entries", {HistType::kTH1F, {{100, -1.0, 1.0}}});
138153
registry.add("hPartJetPhi", "particle level jet #phi;#phi_{jet part};entries", {HistType::kTH1F, {{80, -1.0, 7.}}});
154+
155+
registry.get<TH1>(HIST("hMCPartEventCounter"))->GetXaxis()->SetBinLabel(1, "Input event");
156+
registry.get<TH1>(HIST("hMCPartEventCounter"))->GetXaxis()->SetBinLabel(2, "Collision size < 1");
157+
registry.get<TH1>(HIST("hMCPartEventCounter"))->GetXaxis()->SetBinLabel(3, "MCD size != 1");
139158
}
140159
if (doprocessMCDetectorLevel) {
141160
LOGF(info, "JetSpectraEseTask::init() - processMCDetectorLevel");
142161
registry.add("hMCDetEventCounter", "event status;event status;entries", {HistType::kTH1F, {{10, 0.0, 10.0}}});
162+
registry.add("hDetCentralitySel", ";centr;entries", {HistType::kTH1F, {{100, 0.0, 100.0}}});
143163
registry.add("hDetJetPt", "particle level jet pT;#it{p}_{T,jet part} (GeV/#it{c});entries", {HistType::kTH1F, {{jetPtAxis}}});
144-
registry.add("hDetJetPtSubBkg", "particle level jet pT;#it{p}_{T,jet part} (GeV/#it{c});entries", {HistType::kTH1F, {{jetPtAxis}}});
164+
registry.add("hDetJetSparse", ";Centr;#it{p}_{T,jet part} (GeV/#it{c})", {HistType::kTHnSparseF, {{110, -10, 100}, {jetPtAxis}, {100, -1.0, 1.0}, {80, -1.0, 7}}});
145165
registry.add("hDetJetEta", "particle level jet #eta;#eta_{jet part};entries", {HistType::kTH1F, {{100, -1.0, 1.0}}});
146166
registry.add("hDetJetPhi", "particle level jet #phi;#phi_{jet part};entries", {HistType::kTH1F, {{80, -1.0, 7.}}});
167+
168+
registry.get<TH1>(HIST("hMCDetEventCounter"))->GetXaxis()->SetBinLabel(1, "Input event");
169+
registry.get<TH1>(HIST("hMCDetEventCounter"))->GetXaxis()->SetBinLabel(2, "Event eelection");
170+
registry.get<TH1>(HIST("hMCDetEventCounter"))->GetXaxis()->SetBinLabel(3, "Occupancy cut");
147171
}
148172
if (doprocessMCChargedMatched) {
149173
LOGF(info, "JetSpectraEseTask::init() - processMCChargedMatched");
150174
registry.add("hMCEventCounter", "event status;event status;entries", {HistType::kTH1F, {{10, 0.0, 10.0}}});
151175
registry.add("hMCDMatchedEventCounter", "event status;event status;entries", {HistType::kTH1F, {{10, 0.0, 10.0}}});
152-
registry.add("hCentralityMult", ";Centrality;entries", {HistType::kTH1F, {{100, 0, 100}}});
176+
registry.add("hCentralityAnalyzed", ";Centrality;entries", {HistType::kTH1F, {{100, 0, 100}}});
153177
registry.add("hPartJetPtMatch", ";Centrality;#it{p}_{T,jet part} (GeV/#it{c})", {HistType::kTH2F, {{100, 0, 100}, {jetPtAxis}}});
154178
registry.add("hPartJetPtMatchSubBkg", ";Centrality;#it{p}_{T,jet part} (GeV/#it{c})", {HistType::kTH2F, {{100, 0, 100}, {jetPtAxis}}});
179+
registry.add("hPartJetMatchSparse", ";Centrality;#it{p}_{T,jet part} (GeV/#it{c})", {HistType::kTHnSparseF, {{110, -10, 100}, {jetPtAxis}, {100, -1.0, 1.0}, {80, -1.0, 7}}});
155180
registry.add("hPartJetEtaMatch", "particle level jet #eta;#eta_{jet part};entries", {HistType::kTH1F, {{100, -1.0, 1.0}}});
156181
registry.add("hPartJetPhiMatch", "particle level jet #phi;#phi_{jet part};entries", {HistType::kTH1F, {{80, -1.0, 7.}}});
157182
registry.add("hDetectorJetPt", ";Centrality;#it{p}_{T,jet det} (GeV/#it{c})", {HistType::kTH2F, {{100, 0, 100}, {jetPtAxis}}});
@@ -165,6 +190,17 @@ struct JetSpectraEseTask {
165190
registry.add("hMatchedJetsPhiDelta", "#phi_{jet part}; det - part", {HistType::kTH2F, {{80, -1.0, 7.}, {200, -10.0, 10.}}});
166191
registry.add("hRespMcDMcPMatch", ";Centrality,#it{p}_{T, jet det}; #it{p}_{T, jet part}", HistType::kTHnSparseF, {{100, 0, 100}, jetPtAxis, jetPtAxis});
167192
registry.add("hRespMcDMcPMatchSubBkg", ";Centrality,#it{p}_{T, jet det}; #it{p}_{T, jet part}", HistType::kTHnSparseF, {{100, 0, 100}, jetPtAxis, jetPtAxis});
193+
194+
registry.get<TH1>(HIST("hMCEventCounter"))->GetXaxis()->SetBinLabel(1, "Input event");
195+
registry.get<TH1>(HIST("hMCEventCounter"))->GetXaxis()->SetBinLabel(2, "Collision size < 1");
196+
registry.get<TH1>(HIST("hMCEventCounter"))->GetXaxis()->SetBinLabel(3, "Vertex cut");
197+
registry.get<TH1>(HIST("hMCEventCounter"))->GetXaxis()->SetBinLabel(4, "After analysis");
198+
registry.get<TH1>(HIST("hMCDMatchedEventCounter"))->GetXaxis()->SetBinLabel(1, "Input event");
199+
registry.get<TH1>(HIST("hMCDMatchedEventCounter"))->GetXaxis()->SetBinLabel(2, "Vertex cut");
200+
registry.get<TH1>(HIST("hMCDMatchedEventCounter"))->GetXaxis()->SetBinLabel(3, "Event selection");
201+
registry.get<TH1>(HIST("hMCDMatchedEventCounter"))->GetXaxis()->SetBinLabel(4, "Occupancy cut");
202+
registry.get<TH1>(HIST("hMCDMatchedEventCounter"))->GetXaxis()->SetBinLabel(5, "Centrality cut1:cut2");
203+
registry.get<TH1>(HIST("hMCDMatchedEventCounter"))->GetXaxis()->SetBinLabel(6, "After analysis");
168204
}
169205
if (doprocessESEOccupancy) {
170206
LOGF(info, "JetSpectraEseTask::init() - processESEOccupancy");
@@ -177,10 +213,6 @@ struct JetSpectraEseTask {
177213
}
178214
}
179215

180-
Filter jetCuts = aod::jet::pt > jetPtMin&& aod::jet::r == nround(jetR.node() * 100.0f) && nabs(aod::jet::eta) < 0.9f - jetR;
181-
Filter colFilter = nabs(aod::jcollision::posZ) < vertexZCut;
182-
Filter mcCollisionFilter = nabs(aod::jmccollision::posZ) < vertexZCut;
183-
184216
void processESEDataCharged(soa::Join<aod::JetCollisions, aod::BkgChargedRhos, aod::Qvectors, aod::QPercentileFT0Cs>::iterator const& collision,
185217
soa::Filtered<aod::ChargedJets> const& jets,
186218
aod::JetTracks const& tracks)
@@ -194,6 +226,7 @@ struct JetSpectraEseTask {
194226
if (cfgEvSelOccupancy && !isOccupancyWithin(collision))
195227
return;
196228
registry.fill(HIST("hEventCounter"), counter++);
229+
registry.fill(HIST("hCentralitySel"), collision.centrality());
197230

198231
const auto vPsi2{procEP<true>(collision)};
199232
const auto qPerc{collision.qPERCFT0C()};
@@ -206,7 +239,7 @@ struct JetSpectraEseTask {
206239

207240
registry.fill(HIST("hEventCounter"), counter++);
208241
registry.fill(HIST("hRho"), collision.rho());
209-
registry.fill(HIST("hCentralityMult"), collision.centrality());
242+
registry.fill(HIST("hCentralityAnalyzed"), collision.centrality());
210243
for (auto const& jet : jets) {
211244
float jetpTbkgsub = jet.pt() - (collision.rho() * jet.area());
212245
registry.fill(HIST("hJetPt"), jet.pt());
@@ -256,25 +289,33 @@ struct JetSpectraEseTask {
256289
}
257290
PROCESS_SWITCH(JetSpectraEseTask, processESEOccupancy, "process occupancy", false);
258291

259-
void processMCParticleLevel(soa::Join<aod::JetMcCollisions, aod::BkgChargedMcRhos>::iterator const& collision,
292+
void processMCParticleLevel(soa::Filtered<soa::Join<aod::JetMcCollisions, aod::BkgChargedMcRhos>>::iterator const& mcCollision,
293+
soa::SmallGroups<aod::JetCollisionsMCD> const& collisions,
260294
soa::Filtered<aod::ChargedMCParticleLevelJets> const& jets)
261295
{
262296
float counter{0.5f};
263297
registry.fill(HIST("hMCPartEventCounter"), counter++);
264-
if (collision.size() < 1) {
298+
if (mcCollision.size() < 1) {
265299
return;
266300
}
267301
registry.fill(HIST("hMCPartEventCounter"), counter++);
268-
if (!(std::abs(collision.posZ()) < vertexZCut)) {
302+
if (collisions.size() != 1) {
269303
return;
270304
}
271305
registry.fill(HIST("hMCPartEventCounter"), counter++);
306+
auto centrality{-1};
307+
for (const auto& col : collisions) {
308+
centrality = col.centrality();
309+
}
272310

311+
registry.fill(HIST("hPartCentralitySel"), centrality);
273312
for (const auto& jet : jets) {
313+
const auto mcPt{jet.pt() - (mcCollision.rho() * jet.area())};
274314
registry.fill(HIST("hPartJetPt"), jet.pt());
275-
registry.fill(HIST("hPartJetPtSubBkg"), jet.pt() - (collision.rho() * jet.area()));
315+
registry.fill(HIST("hPartJetPtSubBkg"), mcPt);
276316
registry.fill(HIST("hPartJetEta"), jet.eta());
277317
registry.fill(HIST("hPartJetPhi"), jet.phi());
318+
registry.fill(HIST("hPartJetSparse"), centrality, mcPt, jet.eta(), jet.phi());
278319
}
279320
}
280321
PROCESS_SWITCH(JetSpectraEseTask, processMCParticleLevel, "jets on particle level MC", false);
@@ -285,27 +326,26 @@ struct JetSpectraEseTask {
285326
aod::JetParticles const&)
286327
{
287328
float counter{0.5f};
329+
registry.fill(HIST("hMCDetEventCounter"), counter++);
288330
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits))
289331
return;
290332
registry.fill(HIST("hMCDetEventCounter"), counter++);
291-
292333
if (cfgEvSelOccupancy && !isOccupancyWithin(collision))
293334
return;
294335
registry.fill(HIST("hMCDetEventCounter"), counter++);
295-
336+
registry.fill(HIST("hDetCentralitySel"), collision.centrality());
296337
for (const auto& mcdjet : mcdjets) {
297338
auto mcdetPt{mcdjet.pt() - (collision.rho() * mcdjet.area())};
298339
registry.fill(HIST("hDetJetPt"), mcdjet.pt());
299-
registry.fill(HIST("hDetJetPtSubBkg"), mcdetPt);
300340
registry.fill(HIST("hDetJetEta"), mcdjet.eta());
301341
registry.fill(HIST("hDetJetPhi"), mcdjet.phi());
342+
registry.fill(HIST("hDetJetSparse"), collision.centrality(), mcdetPt, mcdjet.eta(), mcdjet.phi());
302343
}
303344
}
304345
PROCESS_SWITCH(JetSpectraEseTask, processMCDetectorLevel, "jets on detector level", false);
305346

306347
using JetMCPTable = soa::Filtered<soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets>>;
307-
void processMCChargedMatched(/*soa::Filtered<aod::JetCollisionsMCD>::iterator const& collision*/
308-
soa::Join<aod::JetMcCollisions, aod::BkgChargedMcRhos>::iterator const& mcCol,
348+
void processMCChargedMatched(soa::Filtered<soa::Join<aod::JetMcCollisions, aod::BkgChargedMcRhos>>::iterator const& mcCol,
309349
soa::SmallGroups<soa::Join<aod::JetCollisionsMCD, aod::BkgChargedRhos>> const& collisions,
310350
ChargedMCDJets const& mcdjets,
311351
JetMCPTable const&,
@@ -329,6 +369,7 @@ struct JetSpectraEseTask {
329369
if (!(std::abs(collision.posZ()) < vertexZCut)) {
330370
return;
331371
}
372+
registry.fill(HIST("hMCDMatchedEventCounter"), secCount++);
332373

333374
if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits))
334375
return;
@@ -341,7 +382,7 @@ struct JetSpectraEseTask {
341382
if (collision.centrality() < centRange->at(0) || collision.centrality() > centRange->at(1))
342383
registry.fill(HIST("hMCDMatchedEventCounter"), secCount++);
343384

344-
registry.fill(HIST("hCentralityMult"), collision.centrality());
385+
registry.fill(HIST("hCentralityAnalyzed"), collision.centrality());
345386
auto collmcdJets{mcdjets.sliceBy(mcdjetsPerJCollision, collision.globalIndex())};
346387
for (const auto& mcdjet : collmcdJets) {
347388
auto mcdPt{mcdjet.pt() - (collision.rho() * mcdjet.area())};
@@ -355,6 +396,7 @@ struct JetSpectraEseTask {
355396
registry.fill(HIST("hPartJetPtMatchSubBkg"), collision.centrality(), mcpPt);
356397
registry.fill(HIST("hPartJetEtaMatch"), mcpjet.eta());
357398
registry.fill(HIST("hPartJetPhiMatch"), mcpjet.phi());
399+
registry.fill(HIST("hPartJetMatchSparse"), collision.centrality(), mcpPt, mcpjet.eta(), mcpjet.phi());
358400
registry.fill(HIST("hMatchedJetsPtDelta"), mcpjet.pt(), mcdjet.pt() - mcpjet.pt());
359401
registry.fill(HIST("hGenMatchedJetsPtDeltadPt"), collision.centrality(), mcpPt, (mcdPt - mcpPt) / mcpPt);
360402
registry.fill(HIST("hRecoMatchedJetsPtDeltadPt"), collision.centrality(), mcdPt, (mcdPt - mcpPt) / mcdPt);

0 commit comments

Comments
 (0)