Skip to content

Commit 37c3576

Browse files
authored
Addition of the Dilepton & Quarkonia triggers in the Central Event Filtering (#295)
* Addition of the Dilepton and quarkonia triggers (FINISHED) * Addition of a cut condition for barrel tracks as default * Separate the CEF Tables from the internal bitmap in the filterPP task
1 parent b422984 commit 37c3576

3 files changed

Lines changed: 316 additions & 28 deletions

File tree

EventFiltering/filterTables.h

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,13 @@ DECLARE_SOA_COLUMN(He4, hasHe4, bool); //!
2626
// diffraction
2727
DECLARE_SOA_COLUMN(DG, hasDG, bool); //! Double Gap events, DG
2828

29+
// Dileptons & Quarkonia
30+
DECLARE_SOA_COLUMN(SingleE, hasSingleE, bool); //! single electron trigger
31+
DECLARE_SOA_COLUMN(SingleMuLow, hasSingleMuLow, bool); //! single muon with low pT trigger
32+
DECLARE_SOA_COLUMN(SingleMuHigh, hasSingleMuHigh, bool); //! single muon with high pT trigger
33+
DECLARE_SOA_COLUMN(DiElectron, hasDiElectron, bool); //! dielectron trigger
34+
DECLARE_SOA_COLUMN(DiMuon, hasDiMuon, bool); //! dimuon trigger with low pT on muons
35+
2936
// heavy flavours
3037
DECLARE_SOA_COLUMN(HfHighPt, hasHfHighPt, bool); //! high-pT charm hadron
3138
DECLARE_SOA_COLUMN(HfBeauty, hasHfBeauty, bool); //! beauty hadron
@@ -64,6 +71,11 @@ DECLARE_SOA_TABLE(DiffractionFilters, "AOD", "DiffFilters", //! Diffraction filt
6471
filtering::DG);
6572
using DiffractionFilter = DiffractionFilters::iterator;
6673

74+
// Dileptons & Quarkonia
75+
DECLARE_SOA_TABLE(DqFilters, "AOD", "DQ Filters", //!
76+
filtering::SingleE, filtering::SingleMuLow, filtering::SingleMuHigh, filtering::DiElectron, filtering::DiMuon);
77+
using DqFilter = DqFilters::iterator;
78+
6779
// heavy flavours
6880
DECLARE_SOA_TABLE(HfFilters, "AOD", "HF Filters", //!
6981
filtering::HfHighPt, filtering::HfBeauty, filtering::HfFemto);
@@ -93,11 +105,11 @@ DECLARE_SOA_TABLE(MultFilters, "AOD", "MM Filters", //!
93105
using MultFilter = MultFilters::iterator;
94106

95107
/// List of the available filters, the description of their tables and the name of the tasks
96-
constexpr int NumberOfFilters{7};
97-
constexpr std::array<char[32], NumberOfFilters> AvailableFilters{"NucleiFilters", "DiffractionFilters", "HeavyFlavourFilters", "CorrelationFilters", "JetFilters", "StrangenessFilters", "MultFilters"};
98-
constexpr std::array<char[16], NumberOfFilters> FilterDescriptions{"NucleiFilters", "DiffFilters", "HFFilters", "CFFilters", "JetFilters", "LFStrgFilters", "MultFilters"};
99-
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"};
100-
constexpr o2::framework::pack<NucleiFilters, DiffractionFilters, HfFilters, CFFilters, JetFilters, StrangenessFilters, MultFilters> FiltersPack;
108+
constexpr int NumberOfFilters{8};
109+
constexpr std::array<char[32], NumberOfFilters> AvailableFilters{"NucleiFilters", "DiffractionFilters", "DileptonQuarkoniaFilters", "HeavyFlavourFilters", "CorrelationFilters", "JetFilters", "StrangenessFilters", "MultFilters"};
110+
constexpr std::array<char[16], NumberOfFilters> FilterDescriptions{"NucleiFilters", "DiffFilters", "DQFilters", "HFFilters", "CFFilters", "JetFilters", "LFStrgFilters", "MultFilters"};
111+
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"};
112+
constexpr o2::framework::pack<NucleiFilters, DiffractionFilters, DqFilters, HfFilters, CFFilters, JetFilters, StrangenessFilters, MultFilters> FiltersPack;
101113
static_assert(o2::framework::pack_size(FiltersPack) == NumberOfFilters);
102114

103115
template <typename T, typename C>

PWGDQ/Core/CutsLibrary.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,18 @@ AnalysisCompositeCut* o2::aod::dqcuts::GetCompositeCut(const char* cutName)
223223
return cut;
224224
}
225225

226+
if (!nameStr.compare("muonLowPt")) {
227+
cut->AddCut(GetAnalysisCut("muonLowPt"));
228+
cut->AddCut(GetAnalysisCut("muonQualityCuts"));
229+
return cut;
230+
}
231+
232+
if (!nameStr.compare("muonHighPt")) {
233+
cut->AddCut(GetAnalysisCut("muonHighPt"));
234+
cut->AddCut(GetAnalysisCut("muonQualityCuts"));
235+
return cut;
236+
}
237+
226238
if (!nameStr.compare("muonTightQualityCutsForTests")) {
227239
cut->AddCut(GetAnalysisCut("muonTightQualityCutsForTests"));
228240
return cut;
@@ -490,6 +502,14 @@ AnalysisCut* o2::aod::dqcuts::GetAnalysisCut(const char* cutName)
490502
cut->AddCut(VarManager::kMuonChi2, 0.0, 1e6);
491503
return cut;
492504
}
505+
if (!nameStr.compare("muonLowPt")) {
506+
cut->AddCut(VarManager::kPt, 0.5, 1000.0);
507+
return cut;
508+
}
509+
if (!nameStr.compare("muonHighPt")) {
510+
cut->AddCut(VarManager::kPt, 4.0, 1000.0);
511+
return cut;
512+
}
493513

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

0 commit comments

Comments
 (0)