@@ -38,7 +38,7 @@ void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
3838// NB: runDataProcessing.h must be included after customize!
3939#include " Framework/runDataProcessing.h"
4040
41- template <typename CandidateTableData, typename CandidateTableMCD, typename ParticleTable, typename JetTable, typename ConstituentTable, typename ConstituentSubTable>
41+ template <typename JetTable, typename ConstituentTable, typename ConstituentSubTable>
4242struct JetFinderHFTask {
4343 Produces<JetTable> jetsTable;
4444 Produces<ConstituentTable> constituentsTable;
@@ -124,15 +124,15 @@ struct JetFinderHFTask {
124124 jetFinder.ghostArea = jetGhostArea;
125125 jetFinder.ghostRepeatN = ghostRepeat;
126126
127- if constexpr (std::is_same_v<std:: decay_t <CandidateTableData>, CandidatesD0Data> ) { // Note : need to be careful if configurable workflow options are added later
127+ if (doprocessD0ChargedJetsData || doprocessD0ChargedJetsMCD || doprocessD0ChargedJetsMCP ) { // Note : need to be careful if configurable workflow options are added later
128128 candPDG = static_cast <int >(pdg::Code::kD0 );
129129 candDecay = static_cast <int >(aod::hf_cand_2prong::DecayType::D0ToPiK);
130130 }
131- if constexpr (std::is_same_v<std:: decay_t <CandidateTableData>, CandidatesBplusData> ) {
131+ if (doprocessBplusChargedJetsData || doprocessBplusChargedJetsMCD || doprocessBplusChargedJetsMCP ) {
132132 candPDG = static_cast <int >(pdg::Code::kBPlus );
133133 candDecay = static_cast <int >(aod::hf_cand_bplus::DecayType::BplusToD0Pi);
134134 }
135- if constexpr (std::is_same_v<std:: decay_t <CandidateTableData>, CandidatesLcData> ) {
135+ if (doprocessLcChargedJetsData || doprocessLcChargedJetsMCD || doprocessLcChargedJetsMCP ) {
136136 candPDG = static_cast <int >(pdg::Code::kLambdaCPlus );
137137 candDecay = static_cast <int >(aod::hf_cand_3prong::DecayType::LcToPKPi);
138138 }
@@ -216,32 +216,57 @@ struct JetFinderHFTask {
216216 }
217217 PROCESS_SWITCH (JetFinderHFTask, processDummy, " Dummy process function turned on by default" , true );
218218
219- void processChargedJetsData (soa::Filtered<soa::Join<aod::Collisions, aod::EvSels>>::iterator const & collision, JetTracks const & tracks, CandidateTableData const & candidates) { analyseData (collision, tracks, candidates); }
220- PROCESS_SWITCH (JetFinderHFTask, processChargedJetsData , " charged hf jet finding on data" , false );
219+ void processD0ChargedJetsData (soa::Filtered<soa::Join<aod::Collisions, aod::EvSels>>::iterator const & collision, JetTracks const & tracks, CandidateD0Data const & candidates) { analyseData (collision, tracks, candidates); }
220+ PROCESS_SWITCH (JetFinderHFTask, processD0ChargedJetsData , " D0 jet finding on data" , false );
221221
222- void processChargedJetsMCD (soa::Join<aod::Collisions, aod::EvSels>::iterator const & collision, JetTracks const & tracks, CandidateTableMCD const & candidates) { analyseMCD (collision, tracks, candidates); }
223- PROCESS_SWITCH (JetFinderHFTask, processChargedJetsMCD , " charged hf jet finding on MC detector level" , false );
222+ void processD0ChargedJetsMCD (soa::Join<aod::Collisions, aod::EvSels>::iterator const & collision, JetTracks const & tracks, CandidateD0MC const & candidates) { analyseMCD (collision, tracks, candidates); }
223+ PROCESS_SWITCH (JetFinderHFTask, processD0ChargedJetsMCD , " D0 finding on MC detector level" , false );
224224
225- void processChargedJetsMCP (aod::McCollision const & collision,
226- ParticleTable const & particles)
225+ void processD0ChargedJetsMCP (aod::McCollision const & collision,
226+ JetParticlesD0 const & particles)
227227 {
228228 analyseMCP (collision, particles);
229229 }
230- PROCESS_SWITCH (JetFinderHFTask, processChargedJetsMCP, " hf jet finding on MC particle level" , false );
230+ PROCESS_SWITCH (JetFinderHFTask, processD0ChargedJetsMCP, " D0 jet finding on MC particle level" , false );
231+
232+ void processBplusChargedJetsData (soa::Filtered<soa::Join<aod::Collisions, aod::EvSels>>::iterator const & collision, JetTracks const & tracks, CandidateBplusData const & candidates, aod::HfCand2Prong const & HFdaughters) { analyseData (collision, tracks, candidates); }
233+ PROCESS_SWITCH (JetFinderHFTask, processBplusChargedJetsData, " B+ jet finding on data" , false );
234+
235+ void processBplusChargedJetsMCD (soa::Join<aod::Collisions, aod::EvSels>::iterator const & collision, JetTracks const & tracks, CandidateBplusMC const & candidates, aod::HfCand2Prong const & HFdaughters) { analyseMCD (collision, tracks, candidates); }
236+ PROCESS_SWITCH (JetFinderHFTask, processBplusChargedJetsMCD, " B+ finding on MC detector level" , false );
237+
238+ void processBplusChargedJetsMCP (aod::McCollision const & collision,
239+ JetParticlesBplus const & particles)
240+ {
241+ analyseMCP (collision, particles);
242+ }
243+ PROCESS_SWITCH (JetFinderHFTask, processBplusChargedJetsMCP, " B+ jet finding on MC particle level" , false );
244+
245+ void processLcChargedJetsData (soa::Filtered<soa::Join<aod::Collisions, aod::EvSels>>::iterator const & collision, JetTracks const & tracks, CandidateLcData const & candidates) { analyseData (collision, tracks, candidates); }
246+ PROCESS_SWITCH (JetFinderHFTask, processLcChargedJetsData, " Lc jet finding on data" , false );
247+
248+ void processLcChargedJetsMCD (soa::Join<aod::Collisions, aod::EvSels>::iterator const & collision, JetTracks const & tracks, CandidateLcMC const & candidates) { analyseMCD (collision, tracks, candidates); }
249+ PROCESS_SWITCH (JetFinderHFTask, processLcChargedJetsMCD, " Lc finding on MC detector level" , false );
250+
251+ void processLcChargedJetsMCP (aod::McCollision const & collision,
252+ JetParticlesLc const & particles)
253+ {
254+ analyseMCP (collision, particles);
255+ }
256+ PROCESS_SWITCH (JetFinderHFTask, processLcChargedJetsMCP, " Lc jet finding on MC particle level" , false );
231257};
232258/*
259+ using JetFinderD0DataCharged = JetFinderHFTask<o2::aod::D0ChargedJets, o2::aod::D0ChargedJetConstituents, o2::aod::D0ChargedJetConstituentsSub>;
260+ using JetFinderD0MCDetectorLevelCharged = JetFinderHFTask<o2::aod::D0ChargedMCDetectorLevelJets, o2::aod::D0ChargedMCDetectorLevelJetConstituents, o2::aod::D0ChargedMCDetectorLevelJetConstituentsSub>;
261+ using JetFinderD0MCParticleLevelCharged = JetFinderHFTask<o2::aod::D0ChargedMCParticleLevelJets, o2::aod::D0ChargedMCParticleLevelJetConstituents, o2::aod::D0ChargedMCParticleLevelJetConstituentsSub>;
233262
234- using JetFinderD0DataCharged = JetFinderHFTask<CandidatesD0Data,CandidatesD0MCD,ParticlesD0,o2::aod::D0ChargedJets, o2::aod::D0ChargedJetConstituents, o2::aod::D0ChargedJetConstituentsSub>;
235- using JetFinderD0MCDetectorLevelCharged = JetFinderHFTask<CandidatesD0Data,CandidatesD0MCD,ParticlesD0,o2::aod::D0ChargedMCDetectorLevelJets, o2::aod::D0ChargedMCDetectorLevelJetConstituents, o2::aod::D0ChargedMCDetectorLevelJetConstituentsSub>;
236- using JetFinderD0MCParticleLevelCharged = JetFinderHFTask<CandidatesD0Data,CandidatesD0MCD,ParticlesD0,o2::aod::D0ChargedMCParticleLevelJets, o2::aod::D0ChargedMCParticleLevelJetConstituents, o2::aod::D0ChargedMCParticleLevelJetConstituentsSub>;
237-
238- using JetFinderBplusDataCharged = JetFinderHFTask<CandidatesBplusData,CandidatesBplusMCD,ParticlesBplus,o2::aod::BplusChargedJets, o2::aod::BplusChargedJetConstituents, o2::aod::BplusChargedJetConstituentsSub>;
239- using JetFinderBplusMCDetectorLevelCharged = JetFinderHFTask<CandidatesBplusData,CandidatesBplusMCD,ParticlesBplus,o2::aod::BplusChargedMCDetectorLevelJets, o2::aod::BplusChargedMCDetectorLevelJetConstituents, o2::aod::BplusChargedMCDetectorLevelJetConstituentsSub>;
240- using JetFinderBplusMCParticleLevelCharged = JetFinderHFTask<CandidatesBplusData,CandidatesBplusMCD,ParticlesBplus,o2::aod::BplusChargedMCParticleLevelJets, o2::aod::BplusChargedMCParticleLevelJetConstituents, o2::aod::BplusChargedMCParticleLevelJetConstituentsSub>;
263+ using JetFinderBplusDataCharged = JetFinderHFTask<o2::aod::BplusChargedJets, o2::aod::BplusChargedJetConstituents, o2::aod::BplusChargedJetConstituentsSub>;
264+ using JetFinderBplusMCDetectorLevelCharged = JetFinderHFTask<o2::aod::BplusChargedMCDetectorLevelJets, o2::aod::BplusChargedMCDetectorLevelJetConstituents, o2::aod::BplusChargedMCDetectorLevelJetConstituentsSub>;
265+ using JetFinderBplusMCParticleLevelCharged = JetFinderHFTask<o2::aod::BplusChargedMCParticleLevelJets, o2::aod::BplusChargedMCParticleLevelJetConstituents, o2::aod::BplusChargedMCParticleLevelJetConstituentsSub>;
241266
242- using JetFinderLcDataCharged = JetFinderHFTask<CandidatesLcData,CandidatesLcMCD,ParticlesLc, o2::aod::LcChargedJets, o2::aod::LcChargedJetConstituents, o2::aod::LcChargedJetConstituentsSub>;
243- using JetFinderLcMCDetectorLevelCharged = JetFinderHFTask<CandidatesLcData,CandidatesLcMCD,ParticlesLc, o2::aod::LcChargedMCDetectorLevelJets, o2::aod::LcChargedMCDetectorLevelJetConstituents, o2::aod::LcChargedMCDetectorLevelJetConstituentsSub>;
244- using JetFinderLcMCParticleLevelCharged = JetFinderHFTask<CandidatesLcData,CandidatesLcMCD,ParticlesLc, o2::aod::LcChargedMCParticleLevelJets, o2::aod::LcChargedMCParticleLevelJetConstituents, o2::aod::LcChargedMCParticleLevelJetConstituentsSub>;
267+ using JetFinderLcDataCharged = JetFinderHFTask<o2::aod::LcChargedJets, o2::aod::LcChargedJetConstituents, o2::aod::LcChargedJetConstituentsSub>;
268+ using JetFinderLcMCDetectorLevelCharged = JetFinderHFTask<o2::aod::LcChargedMCDetectorLevelJets, o2::aod::LcChargedMCDetectorLevelJetConstituents, o2::aod::LcChargedMCDetectorLevelJetConstituentsSub>;
269+ using JetFinderLcMCParticleLevelCharged = JetFinderHFTask<o2::aod::LcChargedMCParticleLevelJets, o2::aod::LcChargedMCParticleLevelJetConstituents, o2::aod::LcChargedMCParticleLevelJetConstituentsSub>;
245270
246271WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
247272{
0 commit comments