From a43cac89206c2588505491ae062892cc39a3b437 Mon Sep 17 00:00:00 2001 From: nzardosh Date: Mon, 22 Dec 2025 14:27:31 +0100 Subject: [PATCH] adding rct selections for full jets --- PWGJE/JetFinders/jetFinder.h | 8 +++--- PWGJE/TableProducer/derivedDataSelector.cxx | 27 +++++++++++++++++---- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/PWGJE/JetFinders/jetFinder.h b/PWGJE/JetFinders/jetFinder.h index 4b5dd3fcd0e..818ed0fd41b 100644 --- a/PWGJE/JetFinders/jetFinder.h +++ b/PWGJE/JetFinders/jetFinder.h @@ -210,7 +210,7 @@ struct JetFinderTask { void processNeutralJets(o2::soa::Filtered::iterator const& collision, o2::soa::Filtered const& clusters) { - if ((doEMCALEventSelection && !jetderiveddatautilities::eventEMCAL(collision)) || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) { + if ((doEMCALEventSelection && !jetderiveddatautilities::eventEMCAL(collision)) || !jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents, applyRCTSelections, "CBT_calo") || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) { return; } inputParticles.clear(); @@ -223,7 +223,7 @@ struct JetFinderTask { o2::soa::Filtered const& tracks, o2::soa::Filtered const& clusters) { - if ((doEMCALEventSelection && !jetderiveddatautilities::eventEMCAL(collision)) || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) { + if ((doEMCALEventSelection && !jetderiveddatautilities::eventEMCAL(collision)) || !jetderiveddatautilities::selectCollision(collision, eventSelectionBits, skipMBGapEvents, applyRCTSelections, "CBT_calo") || !jetderiveddatautilities::selectTrigger(collision, triggerMaskBits)) { return; } inputParticles.clear(); @@ -257,7 +257,7 @@ struct JetFinderTask { void processParticleLevelNeutralJets(o2::soa::Filtered::iterator const& mcCollision, o2::soa::Filtered const& particles) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { + if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections, "CBT_calo")) { return; } inputParticles.clear(); @@ -268,7 +268,7 @@ struct JetFinderTask { void processParticleLevelFullJets(o2::soa::Filtered::iterator const& mcCollision, o2::soa::Filtered const& particles) { - if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections)) { + if (!jetderiveddatautilities::selectMcCollision(mcCollision, skipMBGapEvents, applyRCTSelections, "CBT_calo")) { return; } inputParticles.clear(); diff --git a/PWGJE/TableProducer/derivedDataSelector.cxx b/PWGJE/TableProducer/derivedDataSelector.cxx index e6b1544c32e..77b60f11f05 100644 --- a/PWGJE/TableProducer/derivedDataSelector.cxx +++ b/PWGJE/TableProducer/derivedDataSelector.cxx @@ -90,9 +90,11 @@ struct JetDerivedDataSelector { Configurable centralityMin{"centralityMin", -999.0, "minimum centrality"}; Configurable centralityMax{"centralityMax", 999.0, "maximum centrality"}; Configurable trackOccupancyInTimeRangeMax{"trackOccupancyInTimeRangeMax", 999999, "maximum occupancy of tracks in neighbouring collisions in a given time range"}; - Configurable eventSelections{"eventSelections", "", "choose event selection"}; + Configurable eventSelectionsCharged{"eventSelectionsCharged", "", "choose charged event selection"}; + Configurable eventSelectionsFull{"eventSelectionsFull", "", "choose full event selection"}; Configurable skipMBGapEvents{"skipMBGapEvents", true, "decide to run over MB gap events or not"}; - Configurable applyRCTSelections{"applyRCTSelections", true, "decide to apply RCT selections"}; + Configurable applyRCTSelectionsCharged{"applyRCTSelectionsCharged", true, "decide to apply RCT selections"}; + Configurable applyRCTSelectionsFull{"applyRCTSelectionsFull", true, "decide to apply RCT selections to full analyses"}; Configurable performTrackSelection{"performTrackSelection", true, "only save tracks that pass one of the track selections"}; Configurable trackPtSelectionMin{"trackPtSelectionMin", 0.15, "only save tracks that have a pT larger than this pT"}; Configurable trackEtaSelectionMax{"trackEtaSelectionMax", 0.9, "only save tracks that have an eta smaller than this eta"}; @@ -105,11 +107,13 @@ struct JetDerivedDataSelector { TRandom3 randomNumber; - std::vector eventSelectionBits; + std::vector eventSelectionBitsCharged; + std::vector eventSelectionBitsFull; std::vector triggerMaskBits; void init(InitContext&) { - eventSelectionBits = jetderiveddatautilities::initialiseEventSelectionBits(static_cast(config.eventSelections)); + eventSelectionBitsCharged = jetderiveddatautilities::initialiseEventSelectionBits(static_cast(config.eventSelectionsCharged)); + eventSelectionBitsFull = jetderiveddatautilities::initialiseEventSelectionBits(static_cast(config.eventSelectionsFull)); randomNumber.SetSeed(0); triggerMaskBits = jetderiveddatautilities::initialiseTriggerMaskBits(config.triggerMasks); } @@ -195,7 +199,20 @@ struct JetDerivedDataSelector { void processDoCollisionSelections(aod::JetCollision const& collision) { // can also add event selection like sel8 but goes a little against the derived data idea - if (!jetderiveddatautilities::selectCollision(collision, eventSelectionBits, config.skipMBGapEvents, config.applyRCTSelections) || collision.centFT0M() < config.centralityMin || collision.centFT0M() >= config.centralityMax || collision.trackOccupancyInTimeRange() > config.trackOccupancyInTimeRangeMax || std::abs(collision.posZ()) > config.vertexZCut) { + if (collision.centFT0M() < config.centralityMin || collision.centFT0M() >= config.centralityMax || collision.trackOccupancyInTimeRange() > config.trackOccupancyInTimeRangeMax || std::abs(collision.posZ()) > config.vertexZCut) { + collisionFlag[collision.globalIndex()] = false; + } + bool barrelRCTFlagSelection = false; + bool emcalRCTFlagSelection = false; + if (jetderiveddatautilities::selectCollision(collision, eventSelectionBitsCharged, config.skipMBGapEvents, config.applyRCTSelectionsCharged)) { + barrelRCTFlagSelection = true; + } + if (doprocessSelectingNeutralJets || doprocessSelectingNeutralMCDJets || doprocessSelectingNeutralMCPJets || doprocessSelectingFullJets || doprocessSelectingFullMCDJets || doprocessSelectingFullMCPJets || doprocessSelectingClusters) { + if (jetderiveddatautilities::selectCollision(collision, eventSelectionBitsFull, config.skipMBGapEvents, config.applyRCTSelectionsFull, "CBT_calo")) { + emcalRCTFlagSelection = true; + } + } + if (!barrelRCTFlagSelection && !emcalRCTFlagSelection) { collisionFlag[collision.globalIndex()] = false; } }