Skip to content

Commit

Permalink
Addition of the Dilepton & Quarkonia triggers in the Central Event Fi…
Browse files Browse the repository at this point in the history
…ltering (AliceO2Group#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
  • Loading branch information
vfeuilla committed Nov 18, 2021
1 parent b422984 commit 37c3576
Show file tree
Hide file tree
Showing 3 changed files with 316 additions and 28 deletions.
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

0 comments on commit 37c3576

Please sign in to comment.