@@ -89,6 +89,7 @@ struct reso2initializer {
8989 // / Event cuts
9090 o2::analysis::CollisonCuts colCuts;
9191 Configurable<float > ConfEvtZvtx{" ConfEvtZvtx" , 10 .f , " Evt sel: Max. z-Vertex (cm)" };
92+ Configurable<int > ConfEvtOccupancyInTimeRange{" ConfEvtOccupancyInTimeRange" , -1 , " Evt sel: maximum track occupancy" };
9293 Configurable<bool > ConfEvtTriggerCheck{" ConfEvtTriggerCheck" , false , " Evt sel: check for trigger" };
9394 Configurable<int > ConfEvtTriggerSel{" ConfEvtTriggerSel" , 8 , " Evt sel: trigger" };
9495 Configurable<bool > ConfEvtOfflineCheck{" ConfEvtOfflineCheck" , true , " Evt sel: check for offline selection" };
@@ -837,7 +838,7 @@ struct reso2initializer {
837838 }
838839
839840 template <bool isRun2, typename MCCol, typename MCPart>
840- void fillMCCollision (MCCol const & mccol, MCPart const & mcparts)
841+ void fillMCCollision (MCCol const & mccol, MCPart const & mcparts, float impactpar = - 999.0 )
841842 {
842843 auto centrality = 0.0 ;
843844 if constexpr (!isRun2)
@@ -849,7 +850,7 @@ struct reso2initializer {
849850 bool isTriggerTVX = mccol.selection_bit (aod::evsel::kIsTriggerTVX );
850851 bool isSel8 = mccol.sel8 ();
851852 bool isSelected = colCuts.isSelected (mccol);
852- resoMCCollisions (inVtx10, isTrueINELgt0, isTriggerTVX, isSel8, isSelected);
853+ resoMCCollisions (inVtx10, isTrueINELgt0, isTriggerTVX, isSel8, isSelected, impactpar );
853854
854855 // QA for Trigger efficiency
855856 qaRegistry.fill (HIST (" Event/hMCEventIndices" ), centrality, aod::resocollision::kINEL );
@@ -923,7 +924,7 @@ struct reso2initializer {
923924 if (doprocessTrackDataRun2 || doprocessTrackV0DataRun2 || doprocessTrackV0CascDataRun2 || doprocessTrackMCRun2 || doprocessTrackV0MCRun2 || doprocessTrackV0CascMCRun2) {
924925 colCuts.setCuts (ConfEvtZvtx, ConfEvtTriggerCheck, ConfEvtTriggerSel, ConfEvtOfflineCheck, false );
925926 } else if (doprocessTrackData || doprocessTrackV0Data || doprocessTrackV0CascData || doprocessTrackMC || doprocessTrackV0MC || doprocessTrackV0CascMC || doprocessTrackEPData) {
926- colCuts.setCuts (ConfEvtZvtx, ConfEvtTriggerCheck, ConfEvtTriggerSel, ConfEvtOfflineCheck, true );
927+ colCuts.setCuts (ConfEvtZvtx, ConfEvtTriggerCheck, ConfEvtTriggerSel, ConfEvtOfflineCheck, true , false , ConfEvtOccupancyInTimeRange );
927928 }
928929 colCuts.init (&qaRegistry);
929930 colCuts.setTriggerTVX (ConfEvtTriggerTVXSel);
@@ -1144,7 +1145,10 @@ struct reso2initializer {
11441145 colCuts.fillQA (collision);
11451146
11461147 resoCollisions (0 , collision.posX (), collision.posY (), collision.posZ (), CentEst (collision), ComputeSpherocity (tracks, trackSphMin, trackSphDef), 0 ., 0 ., 0 ., 0 ., d_bz, bc.timestamp ());
1147- fillMCCollision<false >(collision, mcParticles);
1148+
1149+ auto mccollision = collision.mcCollision_as <aod::McCollisions>();
1150+ float impactpar = mccollision.impactParameter ();
1151+ fillMCCollision<false >(collision, mcParticles, impactpar);
11481152
11491153 // Loop over tracks
11501154 fillTracks<true >(collision, tracks);
0 commit comments