diff --git a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx index c548d6a45fa..c765142dbac 100644 --- a/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx +++ b/PWGLF/Tasks/GlobalEventProperties/PseudorapidityDensityMFT.cxx @@ -119,7 +119,6 @@ static constexpr TrackSelectionFlags::flagtype TrackSelectionDca = // using MFTTracksLabeled = soa::Join; // replace your alias with the extension included: using FullBCs = soa::Join; - using MFTTracksLabeled = soa::Join useEvSel{"useEvSel", true, "use event selection"}; Configurable useNoSameBunchPileup{"useNoSameBunchPileup", true, "reject collisions in case of pileup with another collision in the same foundBC"}; + Configurable useGoodItsLayersAll{"useGoodItsLayersAll", true, "all ITS layers are in a good state"}; Configurable useNoCollInRofStandard{"useNoCollInRofStandard", true, "Require evsel::kNoCollInRofStrict in processGenReco"}; Configurable useNoCollInRofStrict{"useNoCollInRofStrict", true, "Require evsel::kNoCollInRofStrict in processGenReco"}; Configurable useNoCollInTimeRangeStrict{"useNoCollInTimeRangeStrict", true, "Require evsel::kNoCollInTimeRangeStrict in processGenReco"}; @@ -511,6 +512,7 @@ struct PseudorapidityDensityMFT { auto* x = h->GetXaxis(); x->SetBinLabel(static_cast(GenRecoCutBin::AllRecoCollisions), "All reco collisions (loop entry)"); x->SetBinLabel(static_cast(GenRecoCutBin::RctMFT), "myChecker (cfg)"); + x->SetBinLabel(static_cast(GenRecoCutBin::UseGoodItsLayersAll), "kIsGoodItsLayersAll"); x->SetBinLabel(static_cast(GenRecoCutBin::UseContBestCollisionIndex), "useContBestcollisionIndex"); x->SetBinLabel(static_cast(GenRecoCutBin::HasMcCollision), "has_mcCollision()"); x->SetBinLabel(static_cast(GenRecoCutBin::VzWindow), "Vz window"); @@ -2175,12 +2177,6 @@ struct PseudorapidityDensityMFT { } fillGenRecoCut(step.bin); } - - if (useRctMFT && !myChecker(collision)) { - return false; - } - fillGenRecoCut(GenRecoCutBin::RctMFT); - return true; }; @@ -2194,6 +2190,17 @@ struct PseudorapidityDensityMFT { } fillGenRecoCut(GenRecoCutBin::HasMcCollision); + if (useRctMFT && !myChecker(collision)) { + continue; + } + fillGenRecoCut(GenRecoCutBin::RctMFT); + + if (useGoodItsLayersAll && + !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) { + continue; + } + fillGenRecoCut(GenRecoCutBin::UseGoodItsLayersAll); + registry.fill(HIST("Purity/reco/CollisionNumContrib"), collision.numContrib()); if (useCont && collision.globalIndex() != mcCollision.bestCollisionIndex()) { @@ -2487,6 +2494,12 @@ struct PseudorapidityDensityMFT { } fillGenRecoCut(GenRecoCutBin::RctMFT); + if (useGoodItsLayersAll && + !collision.selection_bit(o2::aod::evsel::kIsGoodITSLayersAll)) { + continue; + } + fillGenRecoCut(GenRecoCutBin::UseGoodItsLayersAll); + registry.fill(HIST("Purity/reco/CollisionNumContrib"), collision.numContrib()); if (useCont && collision.globalIndex() != mcCollision.bestCollisionIndex()) {