Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 17 additions & 5 deletions EventFiltering/filterTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,13 @@ DECLARE_SOA_COLUMN(He4, hasHe4, bool); //!
// diffraction
DECLARE_SOA_COLUMN(DG, hasDG, bool); //! Double Gap events, DG

// Dileptons & Quarkonia
DECLARE_SOA_COLUMN(SingleE, hasSingleE, bool); //! single electron trigger
DECLARE_SOA_COLUMN(SingleMuLow, hasSingleMuLow, bool); //! single muon with low pT trigger
DECLARE_SOA_COLUMN(SingleMuHigh, hasSingleMuHigh, bool); //! single muon with high pT trigger
DECLARE_SOA_COLUMN(DiElectron, hasDiElectron, bool); //! dielectron trigger
DECLARE_SOA_COLUMN(DiMuon, hasDiMuon, bool); //! dimuon trigger with low pT on muons

// heavy flavours
DECLARE_SOA_COLUMN(HfHighPt, hasHfHighPt, bool); //! high-pT charm hadron
DECLARE_SOA_COLUMN(HfBeauty, hasHfBeauty, bool); //! beauty hadron
Expand Down Expand Up @@ -64,6 +71,11 @@ DECLARE_SOA_TABLE(DiffractionFilters, "AOD", "DiffFilters", //! Diffraction filt
filtering::DG);
using DiffractionFilter = DiffractionFilters::iterator;

// Dileptons & Quarkonia
DECLARE_SOA_TABLE(DqFilters, "AOD", "DQ Filters", //!
filtering::SingleE, filtering::SingleMuLow, filtering::SingleMuHigh, filtering::DiElectron, filtering::DiMuon);
using DqFilter = DqFilters::iterator;

// heavy flavours
DECLARE_SOA_TABLE(HfFilters, "AOD", "HF Filters", //!
filtering::HfHighPt, filtering::HfBeauty, filtering::HfFemto);
Expand Down Expand Up @@ -93,11 +105,11 @@ DECLARE_SOA_TABLE(MultFilters, "AOD", "MM Filters", //!
using MultFilter = MultFilters::iterator;

/// List of the available filters, the description of their tables and the name of the tasks
constexpr int NumberOfFilters{7};
constexpr std::array<char[32], NumberOfFilters> AvailableFilters{"NucleiFilters", "DiffractionFilters", "HeavyFlavourFilters", "CorrelationFilters", "JetFilters", "StrangenessFilters", "MultFilters"};
constexpr std::array<char[16], NumberOfFilters> FilterDescriptions{"NucleiFilters", "DiffFilters", "HFFilters", "CFFilters", "JetFilters", "LFStrgFilters", "MultFilters"};
constexpr std::array<char[128], NumberOfFilters> FilteringTaskNames{"o2-analysis-nuclei-filter", "o2-analysis-diffraction-filter", "o2-analysis-hf-filter", "o2-analysis-cf-filter", "o2-analysis-je-filter", "o2-analysis-lf-strangeness-filter", "o2-analysis-mult-filter"};
constexpr o2::framework::pack<NucleiFilters, DiffractionFilters, HfFilters, CFFilters, JetFilters, StrangenessFilters, MultFilters> FiltersPack;
constexpr int NumberOfFilters{8};
constexpr std::array<char[32], NumberOfFilters> AvailableFilters{"NucleiFilters", "DiffractionFilters", "DileptonQuarkoniaFilters", "HeavyFlavourFilters", "CorrelationFilters", "JetFilters", "StrangenessFilters", "MultFilters"};
constexpr std::array<char[16], NumberOfFilters> FilterDescriptions{"NucleiFilters", "DiffFilters", "DQFilters", "HFFilters", "CFFilters", "JetFilters", "LFStrgFilters", "MultFilters"};
constexpr std::array<char[128], NumberOfFilters> FilteringTaskNames{"o2-analysis-nuclei-filter", "o2-analysis-diffraction-filter", "o2-analysis-dq-filter-pp", "o2-analysis-hf-filter", "o2-analysis-cf-filter", "o2-analysis-je-filter", "o2-analysis-lf-strangeness-filter", "o2-analysis-mult-filter"};
constexpr o2::framework::pack<NucleiFilters, DiffractionFilters, DqFilters, HfFilters, CFFilters, JetFilters, StrangenessFilters, MultFilters> FiltersPack;
static_assert(o2::framework::pack_size(FiltersPack) == NumberOfFilters);

template <typename T, typename C>
Expand Down
20 changes: 20 additions & 0 deletions PWGDQ/Core/CutsLibrary.h
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,18 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName)
return cut;
}

if (!nameStr.compare("muonLowPt")) {
cut->AddCut(GetAnalysisCut("muonLowPt"));
cut->AddCut(GetAnalysisCut("muonQualityCuts"));
return cut;
}

if (!nameStr.compare("muonHighPt")) {
cut->AddCut(GetAnalysisCut("muonHighPt"));
cut->AddCut(GetAnalysisCut("muonQualityCuts"));
return cut;
}

if (!nameStr.compare("muonTightQualityCutsForTests")) {
cut->AddCut(GetAnalysisCut("muonTightQualityCutsForTests"));
return cut;
Expand Down Expand Up @@ -490,6 +502,14 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName)
cut->AddCut(VarManager::kMuonChi2, 0.0, 1e6);
return cut;
}
if (!nameStr.compare("muonLowPt")) {
cut->AddCut(VarManager::kPt, 0.5, 1000.0);
return cut;
}
if (!nameStr.compare("muonHighPt")) {
cut->AddCut(VarManager::kPt, 4.0, 1000.0);
return cut;
}

if (!nameStr.compare("muonTightQualityCutsForTests")) {
cut->AddCut(VarManager::kEta, -4.0, -2.5);
Expand Down
Loading