@@ -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