@@ -108,9 +108,11 @@ struct JetDerivedDataSelector {
108108 Configurable<float > centralityMin{" centralityMin" , -999.0 , " minimum centrality" };
109109 Configurable<float > centralityMax{" centralityMax" , 999.0 , " maximum centrality" };
110110 Configurable<int > trackOccupancyInTimeRangeMax{" trackOccupancyInTimeRangeMax" , 999999 , " maximum occupancy of tracks in neighbouring collisions in a given time range" };
111- Configurable<std::string> eventSelections{" eventSelections" , " " , " choose event selection" };
111+ Configurable<std::string> eventSelectionsCharged{" eventSelectionsCharged" , " " , " choose charged event selection" };
112+ Configurable<std::string> eventSelectionsFull{" eventSelectionsFull" , " " , " choose full event selection" };
112113 Configurable<bool > skipMBGapEvents{" skipMBGapEvents" , true , " decide to run over MB gap events or not" };
113- Configurable<bool > applyRCTSelections{" applyRCTSelections" , true , " decide to apply RCT selections" };
114+ Configurable<bool > applyRCTSelectionsCharged{" applyRCTSelectionsCharged" , true , " decide to apply RCT selections" };
115+ Configurable<bool > applyRCTSelectionsFull{" applyRCTSelectionsFull" , true , " decide to apply RCT selections to full analyses" };
114116 Configurable<bool > performTrackSelection{" performTrackSelection" , true , " only save tracks that pass one of the track selections" };
115117 Configurable<float > trackPtSelectionMin{" trackPtSelectionMin" , 0.15 , " only save tracks that have a pT larger than this pT" };
116118 Configurable<float > trackEtaSelectionMax{" trackEtaSelectionMax" , 0.9 , " only save tracks that have an eta smaller than this eta" };
@@ -123,11 +125,13 @@ struct JetDerivedDataSelector {
123125
124126 TRandom3 randomNumber;
125127
126- std::vector<int > eventSelectionBits;
128+ std::vector<int > eventSelectionBitsCharged;
129+ std::vector<int > eventSelectionBitsFull;
127130 std::vector<int > triggerMaskBits;
128131 void init (InitContext&)
129132 {
130- eventSelectionBits = jetderiveddatautilities::initialiseEventSelectionBits (static_cast <std::string>(config.eventSelections ));
133+ eventSelectionBitsCharged = jetderiveddatautilities::initialiseEventSelectionBits (static_cast <std::string>(config.eventSelectionsCharged ));
134+ eventSelectionBitsFull = jetderiveddatautilities::initialiseEventSelectionBits (static_cast <std::string>(config.eventSelectionsFull ));
131135 randomNumber.SetSeed (0 );
132136 triggerMaskBits = jetderiveddatautilities::initialiseTriggerMaskBits (config.triggerMasks );
133137 }
@@ -213,7 +217,20 @@ struct JetDerivedDataSelector {
213217
214218 void processDoCollisionSelections (aod::JetCollision const & collision)
215219 { // can also add event selection like sel8 but goes a little against the derived data idea
216- 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 ) {
220+ if (collision.centFT0M () < config.centralityMin || collision.centFT0M () >= config.centralityMax || collision.trackOccupancyInTimeRange () > config.trackOccupancyInTimeRangeMax || std::abs (collision.posZ ()) > config.vertexZCut ) {
221+ collisionFlag[collision.globalIndex ()] = false ;
222+ }
223+ bool barrelRCTFlagSelection = false ;
224+ bool emcalRCTFlagSelection = false ;
225+ if (jetderiveddatautilities::selectCollision (collision, eventSelectionBitsCharged, config.skipMBGapEvents , config.applyRCTSelectionsCharged )) {
226+ barrelRCTFlagSelection = true ;
227+ }
228+ if (doprocessSelectingNeutralJets || doprocessSelectingNeutralMCDJets || doprocessSelectingNeutralMCPJets || doprocessSelectingFullJets || doprocessSelectingFullMCDJets || doprocessSelectingFullMCPJets || doprocessSelectingClusters) {
229+ if (jetderiveddatautilities::selectCollision (collision, eventSelectionBitsFull, config.skipMBGapEvents , config.applyRCTSelectionsFull , " CBT_calo" )) {
230+ emcalRCTFlagSelection = true ;
231+ }
232+ }
233+ if (!barrelRCTFlagSelection && !emcalRCTFlagSelection) {
217234 collisionFlag[collision.globalIndex ()] = false ;
218235 }
219236 }
0 commit comments