@@ -90,9 +90,11 @@ struct JetDerivedDataSelector {
9090 Configurable<float > centralityMin{" centralityMin" , -999.0 , " minimum centrality" };
9191 Configurable<float > centralityMax{" centralityMax" , 999.0 , " maximum centrality" };
9292 Configurable<int > trackOccupancyInTimeRangeMax{" trackOccupancyInTimeRangeMax" , 999999 , " maximum occupancy of tracks in neighbouring collisions in a given time range" };
93- Configurable<std::string> eventSelections{" eventSelections" , " " , " choose event selection" };
93+ Configurable<std::string> eventSelectionsCharged{" eventSelectionsCharged" , " " , " choose charged event selection" };
94+ Configurable<std::string> eventSelectionsFull{" eventSelectionsFull" , " " , " choose full event selection" };
9495 Configurable<bool > skipMBGapEvents{" skipMBGapEvents" , true , " decide to run over MB gap events or not" };
95- Configurable<bool > applyRCTSelections{" applyRCTSelections" , true , " decide to apply RCT selections" };
96+ Configurable<bool > applyRCTSelectionsCharged{" applyRCTSelectionsCharged" , true , " decide to apply RCT selections" };
97+ Configurable<bool > applyRCTSelectionsFull{" applyRCTSelectionsFull" , true , " decide to apply RCT selections to full analyses" };
9698 Configurable<bool > performTrackSelection{" performTrackSelection" , true , " only save tracks that pass one of the track selections" };
9799 Configurable<float > trackPtSelectionMin{" trackPtSelectionMin" , 0.15 , " only save tracks that have a pT larger than this pT" };
98100 Configurable<float > trackEtaSelectionMax{" trackEtaSelectionMax" , 0.9 , " only save tracks that have an eta smaller than this eta" };
@@ -105,11 +107,13 @@ struct JetDerivedDataSelector {
105107
106108 TRandom3 randomNumber;
107109
108- std::vector<int > eventSelectionBits;
110+ std::vector<int > eventSelectionBitsCharged;
111+ std::vector<int > eventSelectionBitsFull;
109112 std::vector<int > triggerMaskBits;
110113 void init (InitContext&)
111114 {
112- eventSelectionBits = jetderiveddatautilities::initialiseEventSelectionBits (static_cast <std::string>(config.eventSelections ));
115+ eventSelectionBitsCharged = jetderiveddatautilities::initialiseEventSelectionBits (static_cast <std::string>(config.eventSelectionsCharged ));
116+ eventSelectionBitsFull = jetderiveddatautilities::initialiseEventSelectionBits (static_cast <std::string>(config.eventSelectionsFull ));
113117 randomNumber.SetSeed (0 );
114118 triggerMaskBits = jetderiveddatautilities::initialiseTriggerMaskBits (config.triggerMasks );
115119 }
@@ -195,7 +199,20 @@ struct JetDerivedDataSelector {
195199
196200 void processDoCollisionSelections (aod::JetCollision const & collision)
197201 { // can also add event selection like sel8 but goes a little against the derived data idea
198- 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 ) {
202+ if (collision.centFT0M () < config.centralityMin || collision.centFT0M () >= config.centralityMax || collision.trackOccupancyInTimeRange () > config.trackOccupancyInTimeRangeMax || std::abs (collision.posZ ()) > config.vertexZCut ) {
203+ collisionFlag[collision.globalIndex ()] = false ;
204+ }
205+ bool barrelRCTFlagSelection = false ;
206+ bool emcalRCTFlagSelection = false ;
207+ if (jetderiveddatautilities::selectCollision (collision, eventSelectionBitsCharged, config.skipMBGapEvents , config.applyRCTSelectionsCharged )) {
208+ barrelRCTFlagSelection = true ;
209+ }
210+ if (doprocessSelectingNeutralJets || doprocessSelectingNeutralMCDJets || doprocessSelectingNeutralMCPJets || doprocessSelectingFullJets || doprocessSelectingFullMCDJets || doprocessSelectingFullMCPJets || doprocessSelectingClusters) {
211+ if (jetderiveddatautilities::selectCollision (collision, eventSelectionBitsFull, config.skipMBGapEvents , config.applyRCTSelectionsFull , " CBT_calo" )) {
212+ emcalRCTFlagSelection = true ;
213+ }
214+ }
215+ if (!barrelRCTFlagSelection && !emcalRCTFlagSelection) {
199216 collisionFlag[collision.globalIndex ()] = false ;
200217 }
201218 }
0 commit comments