@@ -92,8 +92,11 @@ struct ChargedJetHadron {
9292 //
9393 Configurable<int > numberEventsMixed{" numberEventsMixed" , 5 , " number of events mixed in ME process" };
9494 ConfigurableAxis binsZVtx{" binsZVtx" , {VARIABLE_WIDTH, -10 .0f , -2 .5f , 2 .5f , 10 .0f }, " Mixing bins - z-vertex" };
95+ ConfigurableAxis binsMultiplicity{" binsMultiplicity" , {VARIABLE_WIDTH, 0 .0f , 15 .0f , 25 .0f , 50 .0f , 80 .0f , 120 .0f , 170 .0f , 220 .0f , 300 .0f }, " Mixing bins - multiplicity" }; // Julius Kinner photon-jet correlation analys
9596 // ConfigurableAxis binsMultiplicity{"binsMultiplicity", {VARIABLE_WIDTH, 0.0f, 2000.0f, 6000.0f, 100000.0f}, "Mixing bins - multiplicity"}; // zhang zhen
96- ConfigurableAxis binsMultiplicity{" binsMultiplicity" , {VARIABLE_WIDTH, 0 .0f , 15 .0f , 25 .0f , 35 .0f , 50 .0f }, " Mixing bins - multiplicity" }; // Julius Kinner photon-jet correlation analys
97+ // ConfigurableAxis binsMultiplicity{"binsMultiplicity", {VARIABLE_WIDTH, 0.0f, 15.0f, 25.0f, 35.0f, 50.0f}, "Mixing bins - multiplicity"}; // Julius Kinner photon-jet correlation analys
98+ // ConfigurableAxis binsZVtx{"binsZVtx", {VARIABLE_WIDTH, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, "vertex axis for mixed event histograms"};
99+ // ConfigurableAxis binsMultiplicity{"binsMultiplicity", {VARIABLE_WIDTH, 0, 10, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260}, "multiplicity / centrality axis for mixed event histograms"};
97100 ConfigurableAxis binsCentrality{" binsCentrality" , {VARIABLE_WIDTH, 0.0 , 10 ., 50 , 100 .}, " Mixing bins - centrality" };
98101
99102 // Filter ..................
@@ -445,7 +448,7 @@ struct ChargedJetHadron {
445448 float getMultiplicity (const TCollision& coll) const {
446449 if (cfgCentEstimator.value == 0 ) return coll.multFT0C ();
447450 if (cfgCentEstimator.value == 1 ) return coll.multFT0A ();
448- return coll.multFT0M ();
451+ return coll.multFT0C () + coll. multFT0A ();
449452 }
450453
451454// ==========================================================
@@ -456,8 +459,7 @@ struct ChargedJetHadron {
456459 const std::vector<int >& eventSelectionBits, bool skipMBGapEvents,
457460 float trackOccupancyInTimeRangeMin, float trackOccupancyInTimeRangeMax,
458461 float centralityMin, float centralityMax,
459- float vertexZCut,
460- int cfgCentEstimator) // 0:FT0C, 1:FT0A, 2:FT0M
462+ float vertexZCut)
461463 {
462464 if (!jetderiveddatautilities::selectCollision (coll, eventSelectionBits, skipMBGapEvents)) {
463465 return false ;
@@ -652,16 +654,25 @@ struct ChargedJetHadron {
652654 template <typename TCollisions, typename TJets, typename TTracks>
653655 void fillMixJetHadronHistograms (const TCollisions& collisions, const TJets& jets, const TTracks& tracks, float eventWeight = 1.0 )
654656 {
657+ /*
658+ auto getTracksSize = [&tracks, this](TCollisions::iterator const& col) {
659+ auto associatedTracks = tracks.sliceByCached(o2::aod::track::collisionId, col.globalIndex(), this->cache); // it's cached, so slicing/grouping happens only once
660+ auto globalTrack= associatedTracks.size();
661+ return globalTrack;
662+ };
663+ using BinningType = FlexibleBinningPolicy<std::tuple<decltype(getTracksSize)>, aod::collision::PosZ, decltype(getTracksSize)>;
664+ BinningType corrBinning{{getTracksSize}, {binsZVtx, binsMultiplicity}, true};
665+ */
655666 auto tracksTuple = std::make_tuple (jets, tracks);
656- Pair<TCollisions, TJets, TTracks, BinningType> pairData{corrBinning, numberEventsMixed, -1 , collisions, tracksTuple, &cache};
667+ Pair<TCollisions, TJets, TTracks, BinningType> pairData{corrBinning, numberEventsMixed, -1 , collisions, tracksTuple, &cache}; // // -1 is the number of the bin to skip
657668
658669 for (const auto & [c1, jets1, c2, tracks2] : pairData) {
659670 registry.fill (HIST (" h_mixjeth_event_stats" ), 1 );
660671 // int poolBin = corrBinning.getBin(std::make_tuple(c2.posZ(), getMultiplicity(c2)));
661- if (!isGoodCollision (c1, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
672+ if (!isGoodCollision (c1, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
662673 return ;
663674 }
664- if (!isGoodCollision (c2, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
675+ if (!isGoodCollision (c2, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
665676 return ;
666677 }
667678
@@ -731,7 +742,7 @@ struct ChargedJetHadron {
731742
732743 for (const auto & [c1, jets1, c2, particles2] : pairMCData) {
733744 registry.fill (HIST (" h_mixjeth_event_stats_part" ), 1 );
734- int poolBin = corrBinning.getBin (std::make_tuple (c2.posZ (), getMultiplicity (c2)));
745+ // int poolBin = corrBinning.getBin(std::make_tuple(c2.posZ(), getMultiplicity(c2)));
735746
736747 if (std::abs (c1.posZ ()) > vertexZCut)
737748 return ;
@@ -892,10 +903,10 @@ struct ChargedJetHadron {
892903 totalmix++;
893904 registry.fill (HIST (" h_mix_event_stats" ), 1 );
894905 int poolBin = corrBinning.getBin (std::make_tuple (c2.posZ (), getMultiplicity (c2)));
895- if (!isGoodCollision (c1, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
906+ if (!isGoodCollision (c1, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
896907 return ;
897908 }
898- if (!isGoodCollision (c2, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
909+ if (!isGoodCollision (c2, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
899910 return ;
900911 }
901912
@@ -1239,7 +1250,7 @@ struct ChargedJetHadron {
12391250 void processTracksQC (soa::Filtered<aod::JetCollisions>::iterator const & collision,
12401251 FilterJetTracks const & tracks)
12411252 {
1242- if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
1253+ if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
12431254 return ;
12441255 }
12451256 for (auto const & track : tracks) {
@@ -1275,7 +1286,7 @@ struct ChargedJetHadron {
12751286 CorrChargedJets const & jets,
12761287 aod::JetTracks const &)
12771288 {
1278- if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
1289+ if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
12791290 return ;
12801291 }
12811292 for (auto const & jet : jets) {
@@ -1294,7 +1305,7 @@ struct ChargedJetHadron {
12941305 CorrChargedMCDJets const & jets,
12951306 aod::JetTracks const &)
12961307 {
1297- if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
1308+ if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
12981309 return ;
12991310 }
13001311 for (auto const & jet : jets) {
@@ -1313,7 +1324,7 @@ struct ChargedJetHadron {
13131324 CorrChargedJets const & jets,
13141325 aod::JetTracks const &)
13151326 {
1316- if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
1327+ if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
13171328 return ;
13181329 }
13191330 for (auto const & jet : jets) {
@@ -1332,7 +1343,7 @@ struct ChargedJetHadron {
13321343 CorrChargedJets const & jets,
13331344 FilterJetTracks const & tracks)
13341345 {
1335- if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
1346+ if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
13361347 return ;
13371348 }
13381349 fillLeadingJetHadronHistograms (collision, jets, tracks);
@@ -1365,7 +1376,7 @@ struct ChargedJetHadron {
13651376 CorrChargedJets const & jets,
13661377 FilterJetTracks const & tracks)
13671378 {
1368- if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
1379+ if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
13691380 return ;
13701381 }
13711382 fillJetHadronHistograms (collision, jets, tracks);
@@ -1398,7 +1409,7 @@ struct ChargedJetHadron {
13981409 CorrChargedJets const & jets,
13991410 aod::CandidatesD0Data const & candidates)
14001411 {
1401- if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
1412+ if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
14021413 return ;
14031414 }
14041415 for (const auto & jet : jets) {
@@ -1432,7 +1443,7 @@ struct ChargedJetHadron {
14321443 CorrChargedMCDJets const & jets,
14331444 aod::JetTracks const &)
14341445 {
1435- if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
1446+ if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
14361447 return ;
14371448 }
14381449 for (auto const & jet : jets) {
@@ -1451,7 +1462,7 @@ struct ChargedJetHadron {
14511462 CorrChargedMCDJets const & jets,
14521463 FilterJetTracks const & tracks)
14531464 {
1454- if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
1465+ if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
14551466 return ;
14561467 }
14571468 fillLeadingJetHadronHistograms (collision, jets, tracks);
@@ -1483,7 +1494,7 @@ struct ChargedJetHadron {
14831494 CorrChargedMCDJets const & jets,
14841495 FilterJetTracks const & tracks)
14851496 {
1486- if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
1497+ if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
14871498 return ;
14881499 }
14891500 fillJetHadronHistograms (collision, jets, tracks);
@@ -1516,7 +1527,7 @@ struct ChargedJetHadron {
15161527 soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents, aod::ChargedMCDetectorLevelJetEventWeights> const & jets,
15171528 aod::JetTracks const &)
15181529 {
1519- if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut, cfgCentEstimator )) {
1530+ if (!isGoodCollision (collision, eventSelectionBits, skipMBGapEvents, trackOccupancyInTimeRangeMin, trackOccupancyInTimeRangeMax, centralityMin, centralityMax, vertexZCut)) {
15201531 return ;
15211532 }
15221533 for (auto const & jet : jets) {
@@ -1818,7 +1829,7 @@ struct ChargedJetHadron {
18181829 if (!hasSel8Coll || !centralityIsGood || !occupancyIsGood) {
18191830 return ;
18201831 }
1821- // fillMCPMixJetHadronHistograms(mccollisions, jets, particles); //MCP mixed problem: error: no matching function for call to 'o2::aod::mult::MultNTracksGlobal::MultNTracksGlobal()
1832+ // fillMCPMixJetHadronHistograms(mccollisions, jets, particles); //MCP mixed problem: error: no matching function for call to 'o2::aod::mult::MultNTracksGlobal::MultNTracksGlobal()
18221833 }
18231834 PROCESS_SWITCH (ChargedJetHadron, processMixJetHadronMCP, " mixed event jet-hadron for MCP" , false );
18241835
0 commit comments