@@ -197,6 +197,8 @@ struct HfFragmentationFunction {
197197
198198 Configurable<float > vertexZCut{" vertexZCut" , 10 .0f , " Accepted z-vertex range" };
199199 Configurable<std::string> eventSelections{" eventSelections" , " sel8" , " choose event selection" };
200+ Configurable<bool > applyMcEventSelection{" applyMcEventSelection" , false , " Choose a boolean value" };
201+ Configurable<bool > applyRecoEventSelection{" applyRecoEventSelection" , true , " Choose a boolean value" };
200202
201203 std::vector<int > eventSelectionBits;
202204
@@ -244,7 +246,7 @@ struct HfFragmentationFunction {
244246 {
245247 // apply event selection and fill histograms for sanity check
246248 registry.fill (HIST (" h_collision_counter" ), 2.0 );
247- if (!jetderiveddatautilities::selectCollision (collision, eventSelectionBits) || !(std::abs (collision.posZ ()) < vertexZCut)) {
249+ if (applyRecoEventSelection && ( !jetderiveddatautilities::selectCollision (collision, eventSelectionBits) || !(std::abs (collision.posZ ()) < vertexZCut) )) {
248250 return ;
249251 }
250252 registry.fill (HIST (" h_collision_counter" ), 3.0 );
@@ -320,7 +322,7 @@ struct HfFragmentationFunction {
320322
321323 registry.fill (HIST (" h_collision_counter" ), 0.0 );
322324 // skip collisions outside of |z| < vertexZCut
323- if (!jetderiveddatautilities::selectCollision (mccollision, eventSelectionBits) || !(std::abs (mccollision.posZ ()) < vertexZCut)) {
325+ if (applyMcEventSelection && ( !jetderiveddatautilities::selectCollision (mccollision, eventSelectionBits) || !(std::abs (mccollision.posZ ()) < vertexZCut) )) {
324326 continue ;
325327 }
326328 registry.fill (HIST (" h_collision_counter" ), 1.0 );
@@ -330,7 +332,7 @@ struct HfFragmentationFunction {
330332 for (const auto & collision : collisionsPerMCCollision) {
331333
332334 registry.fill (HIST (" h_collision_counter" ), 2.0 );
333- if (!jetderiveddatautilities::selectCollision (collision, eventSelectionBits) || !(std::abs (collision.posZ ()) < vertexZCut)) {
335+ if (applyRecoEventSelection && ( !jetderiveddatautilities::selectCollision (collision, eventSelectionBits) || !(std::abs (collision.posZ ()) < vertexZCut) )) {
334336 continue ;
335337 }
336338 registry.fill (HIST (" h_collision_counter" ), 3.0 );
@@ -404,7 +406,7 @@ struct HfFragmentationFunction {
404406 for (const auto & mccollision : mccollisions) {
405407 registry.fill (HIST (" h_collision_counter" ), 0.0 );
406408 // skip collisions outside of |z| < vertexZCut
407- if (!jetderiveddatautilities::selectCollision (mccollision, eventSelectionBits) || !(std::abs (mccollision.posZ ()) < vertexZCut)) {
409+ if (applyMcEventSelection && ( !jetderiveddatautilities::selectCollision (mccollision, eventSelectionBits) || !(std::abs (mccollision.posZ ()) < vertexZCut) )) {
408410 continue ;
409411 }
410412 registry.fill (HIST (" h_collision_counter" ), 1.0 );
@@ -428,7 +430,7 @@ struct HfFragmentationFunction {
428430 // apply collision sel8 selection on detector level jet's collision
429431 const auto & collision = collisions.iteratorAt (mcdjet.collisionId ());
430432 registry.fill (HIST (" h_collision_counter" ), 2.0 );
431- if (!jetderiveddatautilities::selectCollision (collision, eventSelectionBits) || !(std::abs (collision.posZ ()) < vertexZCut)) {
433+ if (applyRecoEventSelection && ( !jetderiveddatautilities::selectCollision (collision, eventSelectionBits) || !(std::abs (collision.posZ ()) < vertexZCut) )) {
432434 continue ;
433435 }
434436 registry.fill (HIST (" h_collision_counter" ), 3.0 );
0 commit comments