From adb14a98b3e70e1f19c0eeedb21638329d462258 Mon Sep 17 00:00:00 2001 From: Antonio Ortiz Date: Thu, 19 Jun 2025 17:27:38 -0600 Subject: [PATCH] new event selection criteria --- EventFiltering/PWGMM/multFilter.cxx | 39 ++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/EventFiltering/PWGMM/multFilter.cxx b/EventFiltering/PWGMM/multFilter.cxx index cf9057a28a3..fe641438a43 100644 --- a/EventFiltering/PWGMM/multFilter.cxx +++ b/EventFiltering/PWGMM/multFilter.cxx @@ -8,24 +8,23 @@ // In applying this license CERN does not waive the privileges and immunities // granted to it by virtue of its status as an Intergovernmental Organization // or submit itself to any jurisdiction. -#include -#include - -#include "Framework/runDataProcessing.h" -#include "Framework/AnalysisTask.h" -#include "Framework/AnalysisDataModel.h" -#include "Framework/HistogramRegistry.h" -#include "Framework/StaticFor.h" - +#include "Common/Core/TrackSelection.h" +#include "Common/DataModel/EventSelection.h" +#include "Common/DataModel/TrackSelectionTables.h" #include "EventFiltering/filterTables.h" #include "CCDB/BasicCCDBManager.h" #include "CCDB/CcdbApi.h" #include "DataFormatsFT0/Digit.h" +#include "Framework/AnalysisDataModel.h" +#include "Framework/AnalysisTask.h" +#include "Framework/HistogramRegistry.h" +#include "Framework/StaticFor.h" +#include "Framework/runDataProcessing.h" #include "ReconstructionDataFormats/Track.h" -#include "Common/DataModel/EventSelection.h" -#include "Common/DataModel/TrackSelectionTables.h" -#include "Common/Core/TrackSelection.h" + +#include +#include using namespace o2; using namespace o2::framework; @@ -58,6 +57,9 @@ struct multFilter { Configurable sel8{"sel8", 1, "apply sel8 event selection"}; Configurable selt0time{"selt0time", 0, "apply 1ns cut T0A and T0C"}; Configurable selt0vtx{"selt0vtx", 0, "apply T0 vertext trigger"}; + Configurable isTimeFrameBorderCut{"isTimeFrameBorderCut", 1, "apply timeframe border cut"}; + Configurable isSameBunchPileup{"isSameBunchPileup", 1, "apply same bunch pileup cut"}; + Configurable isGoodZvtxFT0vsPV{"isGoodZvtxFT0vsPV", 1, "apply good vtx FT0vsPV cut"}; Configurable avPyT0A{"avPyT0A", 8.16, "nch from pythia T0A"}; Configurable avPyT0C{"avPyT0C", 8.83, "nch from pythia T0C"}; @@ -358,6 +360,19 @@ struct multFilter { return; } + if (isTimeFrameBorderCut && !collision.selection_bit(o2::aod::evsel::kNoTimeFrameBorder)) { + tags(false, false, false, false, false, false, false); + return; + } + if (isSameBunchPileup && !collision.selection_bit(o2::aod::evsel::kNoSameBunchPileup)) { + tags(false, false, false, false, false, false, false); + return; + } + if (isGoodZvtxFT0vsPV && !collision.selection_bit(o2::aod::evsel::kIsGoodZvtxFT0vsPV)) { + tags(false, false, false, false, false, false, false); + return; + } + multiplicity.fill(HIST("hMultFV0sel"), sumAmpFV0); multiplicity.fill(HIST("hMultFV01to4Ringsel"), sumAmpFV01to4Ring); multiplicity.fill(HIST("hMultFV05Ringsel"), sumAmpFV05Ring);