From f03bba5ee6109f2b8f9defa09cc060d8d64afd55 Mon Sep 17 00:00:00 2001 From: nzardosh Date: Thu, 5 Mar 2026 10:50:35 +0100 Subject: [PATCH] adding mcCollision selections for TVX trigger --- PWGJE/Core/JetDerivedDataUtilities.h | 60 +++++++++++-------- PWGJE/DataModel/JetReducedData.h | 2 + PWGJE/JetFinders/jetFinder.h | 8 +-- PWGJE/JetFinders/jetFinderHF.h | 2 +- PWGJE/JetFinders/jetFinderHFHFBar.h | 2 +- PWGJE/JetFinders/jetFinderV0.h | 2 +- PWGJE/TableProducer/derivedDataProducer.cxx | 23 +++++-- PWGJE/TableProducer/derivedDataWriter.cxx | 2 +- .../eventwiseConstituentSubtractor.cxx | 4 +- PWGJE/TableProducer/rhoEstimator.cxx | 20 +++---- PWGJE/Tasks/jetHadronRecoil.cxx | 4 +- PWGJE/Tasks/recoilJets.cxx | 2 +- 12 files changed, 78 insertions(+), 53 deletions(-) diff --git a/PWGJE/Core/JetDerivedDataUtilities.h b/PWGJE/Core/JetDerivedDataUtilities.h index 1d342bc8f96..113e240bc2b 100644 --- a/PWGJE/Core/JetDerivedDataUtilities.h +++ b/PWGJE/Core/JetDerivedDataUtilities.h @@ -51,9 +51,9 @@ enum JCollisionSel { selIsGoodZvtxFT0vsPV = 7, selNoCollInTimeRangeStandard = 8, selNoCollInRofStandard = 9, - selUpcSingleGapA = 10, - selUpcSingleGapC = 11, - selUpcDoubleGap = 12, + selUPCSingleGapA = 10, + selUPCSingleGapC = 11, + selUPCDoubleGap = 12, }; enum JCollisionSubGeneratorId { @@ -62,8 +62,9 @@ enum JCollisionSubGeneratorId { }; template -bool commonCollisionSelection(T const& collision, bool skipMBGapEvents = true, bool rctSelection = true, std::string rctLabel = "CBT_hadronPID", bool rejectLimitedAcceptanceRct = false, bool requireZDCRct = false) +bool selectCollision(T const& collision, const std::vector& eventSelectionMaskBits, bool skipMBGapEvents = true, bool rctSelection = true, std::string rctLabel = "CBT_hadronPID", bool rejectLimitedAcceptanceRct = false, bool requireZDCRct = false) { + if (skipMBGapEvents && collision.getSubGeneratorId() == JCollisionSubGeneratorId::mbGap) { return false; } @@ -72,22 +73,6 @@ bool commonCollisionSelection(T const& collision, bool skipMBGapEvents = true, b if (rctSelection && !rctChecker.checkTable(collision)) { // CBT_hadronPID given as default so that TOF is included in RCT selection to benefit from better timing for tracks. Impact of this for inclusive jets should be studied return false; } - return true; -} - -template -bool selectMcCollision(T const& mcCollision, bool skipMBGapEvents = true, bool rctSelection = true, std::string rctLabel = "CBT_hadronPID", bool rejectLimitedAcceptanceRct = false, bool requireZDCRct = false) -{ - return commonCollisionSelection(mcCollision, skipMBGapEvents, rctSelection, rctLabel, rejectLimitedAcceptanceRct, requireZDCRct); -} - -template -bool selectCollision(T const& collision, const std::vector& eventSelectionMaskBits, bool skipMBGapEvents = true, bool rctSelection = true, std::string rctLabel = "CBT_hadronPID", bool rejectLimitedAcceptanceRct = false, bool requireZDCRct = false) -{ - - if (!commonCollisionSelection(collision, skipMBGapEvents, rctSelection, rctLabel, rejectLimitedAcceptanceRct, requireZDCRct)) { - return false; - } if (eventSelectionMaskBits.size() == 0) { return true; } @@ -192,13 +177,13 @@ std::vector initialiseEventSelectionBits(const std::string& eventSelectionM eventSelectionMaskBits.push_back(JCollisionSel::selKINT7); } if (eventSelectionMasksContainSelection(eventSelectionMasks, "selUPCSingleGapA")) { - eventSelectionMaskBits.push_back(JCollisionSel::selUpcSingleGapA); + eventSelectionMaskBits.push_back(JCollisionSel::selUPCSingleGapA); } if (eventSelectionMasksContainSelection(eventSelectionMasks, "selUPCSingleGapC")) { - eventSelectionMaskBits.push_back(JCollisionSel::selUpcSingleGapC); + eventSelectionMaskBits.push_back(JCollisionSel::selUPCSingleGapC); } if (eventSelectionMasksContainSelection(eventSelectionMasks, "selUPCDoubleGap")) { - eventSelectionMaskBits.push_back(JCollisionSel::selUpcDoubleGap); + eventSelectionMaskBits.push_back(JCollisionSel::selUPCDoubleGap); } return eventSelectionMaskBits; @@ -239,14 +224,37 @@ uint16_t setEventSelectionBit(T const& collision, int upcSelectionResult = o2::a SETBIT(bit, JCollisionSel::selNoCollInRofStandard); } if (upcSelectionResult == o2::aod::sgselector::SingleGapA) { - SETBIT(bit, JCollisionSel::selUpcSingleGapA); + SETBIT(bit, JCollisionSel::selUPCSingleGapA); } if (upcSelectionResult == o2::aod::sgselector::SingleGapC) { - SETBIT(bit, JCollisionSel::selUpcSingleGapC); + SETBIT(bit, JCollisionSel::selUPCSingleGapC); } if (upcSelectionResult == o2::aod::sgselector::DoubleGap) { - SETBIT(bit, JCollisionSel::selUpcDoubleGap); + SETBIT(bit, JCollisionSel::selUPCDoubleGap); + } + + return bit; +} + +template +uint16_t setMCEventSelectionBit(T const& bc) +{ + uint16_t bit = 0; + if (bc.selection_bit(o2::aod::evsel::kIsTriggerTVX)) { + SETBIT(bit, JCollisionSel::sel8); + SETBIT(bit, JCollisionSel::sel7); + SETBIT(bit, JCollisionSel::selKINT7); + SETBIT(bit, JCollisionSel::selTVX); } + SETBIT(bit, JCollisionSel::selNoTimeFrameBorder); + SETBIT(bit, JCollisionSel::selNoITSROFrameBorder); + SETBIT(bit, JCollisionSel::selNoSameBunchPileup); + SETBIT(bit, JCollisionSel::selIsGoodZvtxFT0vsPV); + SETBIT(bit, JCollisionSel::selNoCollInTimeRangeStandard); + SETBIT(bit, JCollisionSel::selNoCollInRofStandard); + SETBIT(bit, JCollisionSel::selUPCSingleGapA); + SETBIT(bit, JCollisionSel::selUPCSingleGapC); + SETBIT(bit, JCollisionSel::selUPCDoubleGap); return bit; } diff --git a/PWGJE/DataModel/JetReducedData.h b/PWGJE/DataModel/JetReducedData.h index c2a3f95d485..039a1ec46de 100644 --- a/PWGJE/DataModel/JetReducedData.h +++ b/PWGJE/DataModel/JetReducedData.h @@ -219,6 +219,7 @@ DECLARE_SOA_COLUMN(XsectGen, xsectGen, float); DECLARE_SOA_COLUMN(XsectErr, xsectErr, float); DECLARE_SOA_COLUMN(PtHard, ptHard, float); DECLARE_SOA_COLUMN(IsOutlier, isOutlier, bool); +DECLARE_SOA_COLUMN(EventSel, eventSel, uint16_t); DECLARE_SOA_BITMAP_COLUMN(Rct, rct, 32); DECLARE_SOA_COLUMN(GetGeneratorId, getGeneratorId, int); DECLARE_SOA_COLUMN(GetSubGeneratorId, getSubGeneratorId, int); @@ -243,6 +244,7 @@ DECLARE_SOA_TABLE_STAGED(JMcCollisions, "JMCCOLLISION", jmccollision::XsectGen, jmccollision::XsectErr, jmccollision::PtHard, + jmccollision::EventSel, jmccollision::Rct, jmccollision::GetGeneratorId, jmccollision::GetSubGeneratorId, diff --git a/PWGJE/JetFinders/jetFinder.h b/PWGJE/JetFinders/jetFinder.h index 7b2a4d0bc80..d664e5781da 100644 --- a/PWGJE/JetFinders/jetFinder.h +++ b/PWGJE/JetFinders/jetFinder.h @@ -251,7 +251,7 @@ struct JetFinderTask { void processParticleLevelChargedJets(o2::soa::Filtered::iterator const& mcCollision, o2::soa::Filtered const& particles) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, skipMBGapEvents, applyRCTSelections)) { return; } inputParticles.clear(); @@ -262,7 +262,7 @@ struct JetFinderTask { void processParticleLevelChargedEvtWiseSubJets(o2::soa::Filtered::iterator const& mcCollision, o2::soa::Filtered const& particles) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, skipMBGapEvents, applyRCTSelections)) { return; } inputParticles.clear(); @@ -273,7 +273,7 @@ struct JetFinderTask { void processParticleLevelNeutralJets(o2::soa::Filtered::iterator const& mcCollision, o2::soa::Filtered const& particles) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections, "CBT_calo")) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, skipMBGapEvents, applyRCTSelections, "CBT_calo")) { return; } inputParticles.clear(); @@ -284,7 +284,7 @@ struct JetFinderTask { void processParticleLevelFullJets(o2::soa::Filtered::iterator const& mcCollision, o2::soa::Filtered const& particles) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections, "CBT_calo")) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, skipMBGapEvents, applyRCTSelections, "CBT_calo")) { return; } inputParticles.clear(); diff --git a/PWGJE/JetFinders/jetFinderHF.h b/PWGJE/JetFinders/jetFinderHF.h index 47289f4691f..b5e9a531ff3 100644 --- a/PWGJE/JetFinders/jetFinderHF.h +++ b/PWGJE/JetFinders/jetFinderHF.h @@ -239,7 +239,7 @@ struct JetFinderHFTask { template void analyseMCP(T const& mcCollision, U const& particles, V const& candidate, M& jetsTableInput, N& constituentsTableInput, int jetTypeParticleLevel, float minJetPt, float maxJetPt) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, skipMBGapEvents, applyRCTSelections)) { return; } diff --git a/PWGJE/JetFinders/jetFinderHFHFBar.h b/PWGJE/JetFinders/jetFinderHFHFBar.h index 28d3a4000bf..77635798346 100644 --- a/PWGJE/JetFinders/jetFinderHFHFBar.h +++ b/PWGJE/JetFinders/jetFinderHFHFBar.h @@ -250,7 +250,7 @@ struct JetFinderHFHFBarTask { return; } } - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, skipMBGapEvents, applyRCTSelections)) { return; } diff --git a/PWGJE/JetFinders/jetFinderV0.h b/PWGJE/JetFinders/jetFinderV0.h index 8314173e0e3..2b9b1d76dbd 100644 --- a/PWGJE/JetFinders/jetFinderV0.h +++ b/PWGJE/JetFinders/jetFinderV0.h @@ -206,7 +206,7 @@ struct JetFinderV0Task { void analyseMCP(T const& mcCollision, U const& particles, V const& candidates, int jetTypeParticleLevel, float minJetPt, float maxJetPt) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, skipMBGapEvents, applyRCTSelections)) { return; } diff --git a/PWGJE/TableProducer/derivedDataProducer.cxx b/PWGJE/TableProducer/derivedDataProducer.cxx index e21627baea2..7182fbcec05 100644 --- a/PWGJE/TableProducer/derivedDataProducer.cxx +++ b/PWGJE/TableProducer/derivedDataProducer.cxx @@ -193,6 +193,7 @@ struct JetDerivedDataProducerTask { std::vector trackMCSelection; + std::vector bcSelMapping; std::vector bcRctMapping; ctpRateFetcher rateFetcher; @@ -267,11 +268,14 @@ struct JetDerivedDataProducerTask { void processBunchCrossings(soa::Join const& bcs) { + bcSelMapping.clear(); + bcSelMapping.resize(bcs.size(), ~uint16_t{0}); bcRctMapping.clear(); bcRctMapping.resize(bcs.size(), ~uint32_t{0}); for (const auto& bc : bcs) { products.jBCsTable(bc.runNumber(), bc.globalBC(), bc.triggerMask(), bc.timestamp(), bc.alias_raw(), bc.selection_raw(), bc.rct_raw()); products.jBCParentIndexTable(bc.globalIndex()); + bcSelMapping[bc.globalIndex()] = jetderiveddatautilities::setMCEventSelectionBit(bc); bcRctMapping[bc.globalIndex()] = bc.rct_raw(); } } @@ -279,6 +283,8 @@ struct JetDerivedDataProducerTask { void processBunchCrossingsWithoutSels(soa::Join const& bcs) { + bcSelMapping.clear(); + bcSelMapping.resize(bcs.size(), ~uint16_t{0}); bcRctMapping.clear(); bcRctMapping.resize(bcs.size(), ~uint32_t{0}); for (const auto& bc : bcs) { @@ -377,64 +383,73 @@ struct JetDerivedDataProducerTask { void processMcCollisions(soa::Join::iterator const& mcCollision) { + uint32_t selDecision = ~uint16_t{0}; uint32_t rctDecision = ~uint32_t{0}; int32_t bcId = -1; if (!config.isMCGenOnly) { bcId = mcCollision.bcId(); + selDecision = bcSelMapping[bcId]; rctDecision = bcRctMapping[bcId]; } else { products.jBCsTable(-1, -1, -1, -1, ~uint32_t{0}, ~uint32_t{0}, ~uint32_t{0}); bcId = products.jBCsTable.lastIndex(); } - products.jMcCollisionsTable(bcId, mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.multMCFV0A(), mcCollision.multMCFT0A(), mcCollision.multMCFT0C(), mcCollision.centFT0M(), mcCollision.weight(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr(), mcCollision.ptHard(), rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle()); + products.jMcCollisionsTable(bcId, mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.multMCFV0A(), mcCollision.multMCFT0A(), mcCollision.multMCFT0C(), mcCollision.centFT0M(), mcCollision.weight(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr(), mcCollision.ptHard(), selDecision, rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle()); products.jMcCollisionsParentIndexTable(mcCollision.globalIndex()); } PROCESS_SWITCH(JetDerivedDataProducerTask, processMcCollisions, "produces derived MC collision table", false); void processMcCollisionsWithoutCentralityAndMultiplicity(soa::Join::iterator const& mcCollision) { + + uint32_t selDecision = ~uint16_t{0}; uint32_t rctDecision = ~uint32_t{0}; int32_t bcId = -1; if (!config.isMCGenOnly) { bcId = mcCollision.bcId(); + selDecision = bcSelMapping[bcId]; rctDecision = bcRctMapping[bcId]; } else { products.jBCsTable(-1, -1, -1, -1, ~uint32_t{0}, ~uint32_t{0}, ~uint32_t{0}); bcId = products.jBCsTable.lastIndex(); } - products.jMcCollisionsTable(bcId, mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), -1.0, -1.0, -1.0, -1.0, mcCollision.weight(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr(), mcCollision.ptHard(), rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle()); + products.jMcCollisionsTable(bcId, mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), -1.0, -1.0, -1.0, -1.0, mcCollision.weight(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr(), mcCollision.ptHard(), selDecision, rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle()); products.jMcCollisionsParentIndexTable(mcCollision.globalIndex()); } PROCESS_SWITCH(JetDerivedDataProducerTask, processMcCollisionsWithoutCentralityAndMultiplicity, "produces derived MC collision table without centraility and multiplicity", false); void processMcCollisionsWithoutXsection(soa::Join::iterator const& mcCollision) { + uint32_t selDecision = ~uint16_t{0}; uint32_t rctDecision = ~uint32_t{0}; int32_t bcId = -1; if (!config.isMCGenOnly) { bcId = mcCollision.bcId(); + selDecision = bcSelMapping[bcId]; rctDecision = bcRctMapping[bcId]; } else { products.jBCsTable(-1, -1, -1, -1, ~uint32_t{0}, ~uint32_t{0}, ~uint32_t{0}); bcId = products.jBCsTable.lastIndex(); } - products.jMcCollisionsTable(bcId, mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.multMCFV0A(), mcCollision.multMCFT0A(), mcCollision.multMCFT0C(), mcCollision.centFT0M(), mcCollision.weight(), 1, 1, 1.0, 1.0, 999.0, rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle()); + products.jMcCollisionsTable(bcId, mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.multMCFV0A(), mcCollision.multMCFT0A(), mcCollision.multMCFT0C(), mcCollision.centFT0M(), mcCollision.weight(), 1, 1, 1.0, 1.0, 999.0, selDecision, rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle()); products.jMcCollisionsParentIndexTable(mcCollision.globalIndex()); } PROCESS_SWITCH(JetDerivedDataProducerTask, processMcCollisionsWithoutXsection, "produces derived MC collision table without cross section information", false); void processMcCollisionsWithoutCentralityAndMultiplicityAndXsection(aod::McCollision const& mcCollision) { + uint32_t selDecision = ~uint16_t{0}; uint32_t rctDecision = ~uint32_t{0}; int32_t bcId = -1; if (!config.isMCGenOnly) { bcId = mcCollision.bcId(); + selDecision = bcSelMapping[bcId]; rctDecision = bcRctMapping[bcId]; } else { products.jBCsTable(-1, -1, -1, -1, ~uint32_t{0}, ~uint32_t{0}, ~uint32_t{0}); bcId = products.jBCsTable.lastIndex(); } - products.jMcCollisionsTable(bcId, mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), -1.0, -1.0, -1.0, -1.0, mcCollision.weight(), 1, 1, 1.0, 1.0, 999.0, rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle()); + products.jMcCollisionsTable(bcId, mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), -1.0, -1.0, -1.0, -1.0, mcCollision.weight(), 1, 1, 1.0, 1.0, 999.0, selDecision, rctDecision, mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle()); products.jMcCollisionsParentIndexTable(mcCollision.globalIndex()); } PROCESS_SWITCH(JetDerivedDataProducerTask, processMcCollisionsWithoutCentralityAndMultiplicityAndXsection, "produces derived MC collision table without centrality, multiplicity and cross section information", false); diff --git a/PWGJE/TableProducer/derivedDataWriter.cxx b/PWGJE/TableProducer/derivedDataWriter.cxx index 61bbefed01a..e5676af0d58 100644 --- a/PWGJE/TableProducer/derivedDataWriter.cxx +++ b/PWGJE/TableProducer/derivedDataWriter.cxx @@ -685,7 +685,7 @@ struct JetDerivedDataWriter { mcCollisionMapping.resize(mcCollisions.size(), -1); for (auto const& mcCollision : mcCollisions) { if (mcCollision.isMcCollisionSelected()) { - products.storedJMcCollisionsTable(bcMapping[mcCollision.bcId()], mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.multFV0A(), mcCollision.multFT0A(), mcCollision.multFT0C(), mcCollision.centFT0M(), mcCollision.weight(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr(), mcCollision.ptHard(), mcCollision.rct_raw(), mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle()); + products.storedJMcCollisionsTable(bcMapping[mcCollision.bcId()], mcCollision.posX(), mcCollision.posY(), mcCollision.posZ(), mcCollision.multFV0A(), mcCollision.multFT0A(), mcCollision.multFT0C(), mcCollision.centFT0M(), mcCollision.weight(), mcCollision.accepted(), mcCollision.attempted(), mcCollision.xsectGen(), mcCollision.xsectErr(), mcCollision.ptHard(), mcCollision.eventSel(), mcCollision.rct_raw(), mcCollision.getGeneratorId(), mcCollision.getSubGeneratorId(), mcCollision.getSourceId(), mcCollision.impactParameter(), mcCollision.eventPlaneAngle()); products.storedJMcCollisionsParentIndexTable(mcCollision.mcCollisionId()); mcCollisionMapping[mcCollision.globalIndex()] = products.storedJMcCollisionsTable.lastIndex(); } diff --git a/PWGJE/TableProducer/eventwiseConstituentSubtractor.cxx b/PWGJE/TableProducer/eventwiseConstituentSubtractor.cxx index acb7a092ce2..33cafe0db0c 100644 --- a/PWGJE/TableProducer/eventwiseConstituentSubtractor.cxx +++ b/PWGJE/TableProducer/eventwiseConstituentSubtractor.cxx @@ -141,7 +141,7 @@ struct eventWiseConstituentSubtractorTask { template void analyseHFMc(T const& mcCollision, U const& particles, V const& candidates, M& particleSubTable) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections) || std::abs(mcCollision.posZ()) > vertexZCut) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, skipMBGapEvents, applyRCTSelections) || std::abs(mcCollision.posZ()) > vertexZCut) { return; } for (auto& candidate : candidates) { @@ -178,7 +178,7 @@ struct eventWiseConstituentSubtractorTask { void processMcCollisions(soa::Join::iterator const& mcCollision, soa::Filtered const& particles) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections) || std::abs(mcCollision.posZ()) > vertexZCut) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, skipMBGapEvents, applyRCTSelections) || std::abs(mcCollision.posZ()) > vertexZCut) { return; } inputParticles.clear(); diff --git a/PWGJE/TableProducer/rhoEstimator.cxx b/PWGJE/TableProducer/rhoEstimator.cxx index fb14c472885..6f94e1e8785 100644 --- a/PWGJE/TableProducer/rhoEstimator.cxx +++ b/PWGJE/TableProducer/rhoEstimator.cxx @@ -223,7 +223,7 @@ struct RhoEstimatorTask { void processChargedMcCollisions(aod::JetMcCollision const& mcCollision, soa::Filtered const& particles) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { rhoChargedMcTable(0.0, 0.0); return; } @@ -253,7 +253,7 @@ struct RhoEstimatorTask { void processD0McCollisions(aod::JetMcCollision const& mcCollision, soa::Filtered const& particles, aod::CandidatesD0MCP const& candidates) { for (auto& candidate : candidates) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { rhoD0McTable(0.0, 0.0); continue; } @@ -286,7 +286,7 @@ struct RhoEstimatorTask { { for (auto& candidate : candidates) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { rhoDplusMcTable(0.0, 0.0); continue; } @@ -318,7 +318,7 @@ struct RhoEstimatorTask { void processDsMcCollisions(aod::JetMcCollision const& mcCollision, soa::Filtered const& particles, aod::CandidatesDsMCP const& candidates) { for (auto& candidate : candidates) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { rhoDsMcTable(0.0, 0.0); continue; } @@ -350,7 +350,7 @@ struct RhoEstimatorTask { void processDstarMcCollisions(aod::JetMcCollision const& mcCollision, soa::Filtered const& particles, aod::CandidatesDstarMCP const& candidates) { for (auto& candidate : candidates) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { rhoDstarMcTable(0.0, 0.0); continue; } @@ -382,7 +382,7 @@ struct RhoEstimatorTask { void processLcMcCollisions(aod::JetMcCollision const& mcCollision, soa::Filtered const& particles, aod::CandidatesLcMCP const& candidates) { for (auto& candidate : candidates) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { rhoLcMcTable(0.0, 0.0); continue; } @@ -414,7 +414,7 @@ struct RhoEstimatorTask { void processB0McCollisions(aod::JetMcCollision const& mcCollision, soa::Filtered const& particles, aod::CandidatesB0MCP const& candidates) { for (auto& candidate : candidates) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { rhoB0McTable(0.0, 0.0); continue; } @@ -446,7 +446,7 @@ struct RhoEstimatorTask { void processBplusMcCollisions(aod::JetMcCollision const& mcCollision, soa::Filtered const& particles, aod::CandidatesBplusMCP const& candidates) { for (auto& candidate : candidates) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { rhoBplusMcTable(0.0, 0.0); continue; } @@ -478,7 +478,7 @@ struct RhoEstimatorTask { void processXicToXiPiPiMcCollisions(aod::JetMcCollision const& mcCollision, soa::Filtered const& particles, aod::CandidatesXicToXiPiPiMCP const& candidates) { for (auto& candidate : candidates) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { rhoXicToXiPiPiMcTable(0.0, 0.0); continue; } @@ -510,7 +510,7 @@ struct RhoEstimatorTask { void processDielectronMcCollisions(aod::JetMcCollision const& mcCollision, soa::Filtered const& particles, aod::CandidatesDielectronMCP const& candidates) { for (auto& candidate : candidates) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { + if (!jetderiveddatautilities::selectCollision(mcCollision, eventSelectionBits, config.skipMBGapEvents, config.applyRCTSelections) || std::abs(mcCollision.posZ()) > config.vertexZCut) { rhoDielectronMcTable(0.0, 0.0); continue; } diff --git a/PWGJE/Tasks/jetHadronRecoil.cxx b/PWGJE/Tasks/jetHadronRecoil.cxx index 94044235003..a16770e19f1 100644 --- a/PWGJE/Tasks/jetHadronRecoil.cxx +++ b/PWGJE/Tasks/jetHadronRecoil.cxx @@ -960,7 +960,7 @@ struct JetHadronRecoil { if (std::abs(mccollision.posZ()) > vertexZCut) { return; } - if (!jetderiveddatautilities::selectMcCollision(mccollision, skipMBGapEvents, applyRCTSelections)) { + if (!jetderiveddatautilities::selectCollision(mccollision, eventSelectionBits, skipMBGapEvents, applyRCTSelections)) { return; } if (mccollision.ptHard() < pTHatMinEvent) { @@ -990,7 +990,7 @@ struct JetHadronRecoil { if (std::abs(mccollision.posZ()) > vertexZCut) { return; } - if (!jetderiveddatautilities::selectMcCollision(mccollision, skipMBGapEvents, applyRCTSelections)) { + if (!jetderiveddatautilities::selectCollision(mccollision, eventSelectionBits, skipMBGapEvents, applyRCTSelections)) { return; } if (mccollision.ptHard() < pTHatMinEvent) { diff --git a/PWGJE/Tasks/recoilJets.cxx b/PWGJE/Tasks/recoilJets.cxx index 378c42875ed..08271300538 100644 --- a/PWGJE/Tasks/recoilJets.cxx +++ b/PWGJE/Tasks/recoilJets.cxx @@ -2663,7 +2663,7 @@ struct RecoilJets { template bool skipMCEvent(const Collision& coll) { - return !jetderiveddatautilities::selectMcCollision(coll, ev.skipMBGapEvents, rct.enable, rct.label, rct.rejectLimitedAcceptance, rct.requireZDC); + return !jetderiveddatautilities::selectCollision(coll, eventSelectionBits, ev.skipMBGapEvents, rct.enable, rct.label, rct.rejectLimitedAcceptance, rct.requireZDC); } template