@@ -41,6 +41,7 @@ struct testPV {
4141 struct : ConfigurableGroup {
4242 std::string prefix = " eventCut" ;
4343 Configurable<int > cfgEventGeneratorId{" cfgEventGeneratorId" , -1 , " event generator index. e.g. select gap/signal events" };
44+ Configurable<float > cfgChi2PerNcontribMax{" cfgChi2PerNcontribMax" , 1e+10 , " max. chi2/Ncontrib of PV" };
4445 Configurable<float > cfgZvtxMin{" cfgZvtxMin" , -10 .f , " min. Zvtx" };
4546 Configurable<float > cfgZvtxMax{" cfgZvtxMax" , 10 .f , " max. Zvtx" };
4647 Configurable<bool > cfgRequireFT0AND{" cfgRequireFT0AND" , true , " require FT0AND" };
@@ -136,6 +137,9 @@ struct testPV {
136137 if (eventCut.cfgRequireVertexTOFmatched && !collision.selection_bit (o2::aod::evsel::kIsVertexTOFmatched )) {
137138 return false ;
138139 }
140+ if (collision.chi2 () / collision.numContrib () > eventCut.cfgChi2PerNcontribMax ) {
141+ return false ;
142+ }
139143 return true ;
140144 }
141145
@@ -190,19 +194,21 @@ struct testPV {
190194 } // end of collision loop
191195 }
192196
193- using MyCollisions = soa::Join<aod::Collisions, aod::EvSels, aod::McCollisionLabels>;
197+ using MyCollisions = soa::Join<aod::Collisions, aod::EvSels>;
198+ using MyCollisionsMC = soa::Join<MyCollisions, aod::McCollisionLabels>;
194199 using MyBCs = soa::Join<aod::BCsWithTimestamps, aod::BcSels>;
195200
196201 Filter collisionFilter_evsel = eventCut.cfgZvtxMin < o2::aod::collision::posZ && o2::aod::collision::posZ < eventCut.cfgZvtxMax;
197202 using FilteredMyCollisions = soa::Filtered<MyCollisions>;
203+ using FilteredMyCollisionsMC = soa::Filtered<MyCollisionsMC>;
198204
199205 void processData (FilteredMyCollisions const & collisions, MyBCs const & bcs)
200206 {
201207 run<false >(bcs, collisions, nullptr , nullptr );
202208 }
203209 PROCESS_SWITCH (testPV, processData, " processData" , true );
204210
205- void processMC (FilteredMyCollisions const & collisions, MyBCs const & bcs, aod::McCollisions const & mcCollisions, aod::McParticles const & mcParticles)
211+ void processMC (FilteredMyCollisionsMC const & collisions, MyBCs const & bcs, aod::McCollisions const & mcCollisions, aod::McParticles const & mcParticles)
206212 {
207213 run<true >(bcs, collisions, mcCollisions, mcParticles);
208214 }
0 commit comments