Skip to content

Commit 16e4b25

Browse files
authored
Merge pull request #18 from hahassan7/btagFramework
small fix flavour-defintion and adding ML column on jetTaggerHF.cxx
2 parents 8d24cd8 + 1a56fcf commit 16e4b25

File tree

3 files changed

+45
-98
lines changed

3 files changed

+45
-98
lines changed

PWGJE/DataModel/JetTagging.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,21 +124,21 @@ JETSV_TABLES_DEF(Charged, SecondaryVertex2Prong, "2PRONG");
124124
#define JETFLAVOURDEF_TABLE_DEF(_jet_type_, _name_, _description_) \
125125
namespace _name_##flavourdef \
126126
{ \
127-
DECLARE_SOA_COLUMN(Origin, origin, int); \
127+
DECLARE_SOA_COLUMN(Origin, origin, int8_t); \
128128
} \
129129
DECLARE_SOA_TABLE(_jet_type_##FlavourDef, "AOD", _description_ "FlavourDef", _name_##flavourdef::Origin);
130130

131131
#define JETTAGGING_TABLE_DEF(_jet_type_, _name_, _description_) \
132132
namespace _name_##tagging \
133133
{ \
134-
DECLARE_SOA_COLUMN(Origin, origin, int); \
135-
DECLARE_SOA_COLUMN(JetProb, jetProb, std::vector<float>); \
136134
DECLARE_SOA_COLUMN(FlagtaggedjetIP, flagtaggedjetIP, bool); \
137135
DECLARE_SOA_COLUMN(FlagtaggedjetIPxyz, flagtaggedjetIPxyz, bool); \
138136
DECLARE_SOA_COLUMN(FlagtaggedjetSV, flagtaggedjetSV, bool); \
139137
DECLARE_SOA_COLUMN(FlagtaggedjetSVxyz, flagtaggedjetSVxyz, bool); \
138+
DECLARE_SOA_COLUMN(ScoreJetML, scoreML, float); \
139+
DECLARE_SOA_COLUMN(JetProb, jetProb, float); \
140140
} \
141-
DECLARE_SOA_TABLE(_jet_type_##Tags, "AOD", _description_ "Tags", _name_##tagging::Origin, _name_##tagging::JetProb, _name_##tagging::FlagtaggedjetIP, _name_##tagging::FlagtaggedjetIPxyz, _name_##tagging::FlagtaggedjetSV, _name_##tagging::FlagtaggedjetSVxyz);
141+
DECLARE_SOA_TABLE(_jet_type_##Tags, "AOD", _description_ "Tags", _name_##tagging::FlagtaggedjetIP, _name_##tagging::FlagtaggedjetIPxyz, _name_##tagging::FlagtaggedjetSV, _name_##tagging::FlagtaggedjetSVxyz, _name_##tagging::ScoreJetML, _name_##tagging::JetProb);
142142

143143
#define JETTAGGING_TABLES_DEF(_jet_type_, _description_) \
144144
JETTAGGING_TABLE_DEF(_jet_type_##Jet, _jet_type_##jet, _description_) \

PWGJE/TableProducer/heavyFlavourDefinition.cxx

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ struct HeavyFlavourDefinitionTask {
4747
using JetTracksMCD = soa::Join<aod::JetTracksMCD, aod::JTrackExtras, aod::JTrackPIs>;
4848
Preslice<aod::JetParticles> particlesPerCollision = aod::jmcparticle::mcCollisionId;
4949

50-
HistogramRegistry registry{"registry", {}, OutputObjHandlingPolicy::AnalysisObject};
5150
void init(InitContext const&)
5251
{
5352
}
@@ -60,7 +59,7 @@ struct HeavyFlavourDefinitionTask {
6059
void processMCD(aod::JetCollision const& /*collision*/, JetTableMCD const& mcdjets, JetTracksMCD const& jtracks, aod::JetParticles const& particles)
6160
{
6261
for (auto const& mcdjet : mcdjets) {
63-
int origin = jettaggingutilities::mcdJetFromHFShower(mcdjet, jtracks, particles, maxDeltaR, searchUpToQuark);
62+
int8_t origin = jettaggingutilities::mcdJetFromHFShower(mcdjet, jtracks, particles, maxDeltaR, searchUpToQuark);
6463
flavourTableMCD(origin);
6564
}
6665
}
@@ -70,7 +69,7 @@ struct HeavyFlavourDefinitionTask {
7069
{
7170
for (auto const& mcdjet : mcdjets) {
7271
auto const particlesPerColl = particles.sliceBy(particlesPerCollision, collision.mcCollisionId());
73-
int origin = -1;
72+
int8_t origin = -1;
7473
for (auto const& mcpjet : mcdjet.template matchedJetGeo_as<soa::Join<JetTableMCP, aod::ChargedMCParticleLevelJetsMatchedToChargedMCDetectorLevelJets>>()) {
7574
if (searchUpToQuark) {
7675
origin = jettaggingutilities::getJetFlavor(mcpjet, particlesPerColl);
@@ -86,21 +85,20 @@ struct HeavyFlavourDefinitionTask {
8685
void processMCP(JetTableMCP const& mcpjets, aod::JetParticles const& particles)
8786
{
8887
for (auto const& mcpjet : mcpjets) {
89-
int origin = jettaggingutilities::mcpJetFromHFShower(mcpjet, particles, maxDeltaR, searchUpToQuark);
88+
int8_t origin = jettaggingutilities::mcpJetFromHFShower(mcpjet, particles, maxDeltaR, searchUpToQuark);
9089
flavourTableMCP(origin);
9190
}
9291
}
9392
PROCESS_SWITCH(HeavyFlavourDefinitionTask, processMCP, "Fill definition of flavour for mcp jets", true);
9493

95-
void processMCPRun2(JetTableMCP const& mcpjets, aod::JetParticles const& particles)
94+
void processMCPRun2(aod::JMcCollisions::iterator const& /*collision*/, JetTableMCP const& mcpjets, aod::JetParticles const& particles)
9695
{
9796
for (auto const& mcpjet : mcpjets) {
98-
auto const particlesPerColl = particles.sliceBy(particlesPerCollision, mcpjet.mcCollisionId());
99-
int origin = -1;
97+
int8_t origin = -1;
10098
if (searchUpToQuark) {
101-
origin = jettaggingutilities::getJetFlavor(mcpjet, particlesPerColl);
99+
origin = jettaggingutilities::getJetFlavor(mcpjet, particles);
102100
} else {
103-
origin = jettaggingutilities::getJetFlavorHadron(mcpjet, particlesPerColl);
101+
origin = jettaggingutilities::getJetFlavorHadron(mcpjet, particles);
104102
}
105103
flavourTableMCP(origin);
106104
}
@@ -110,22 +108,14 @@ struct HeavyFlavourDefinitionTask {
110108

111109
using JetFlavourDefCharged = HeavyFlavourDefinitionTask<soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents>, soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents>, aod::ChargedMCDetectorLevelJetFlavourDef, aod::ChargedMCParticleLevelJetFlavourDef>;
112110
using JetFlavourDefFull = HeavyFlavourDefinitionTask<soa::Join<aod::FullMCDetectorLevelJets, aod::FullMCDetectorLevelJetConstituents>, soa::Join<aod::FullMCParticleLevelJets, aod::FullMCParticleLevelJetConstituents>, aod::FullMCDetectorLevelJetFlavourDef, aod::FullMCParticleLevelJetFlavourDef>;
113-
// using JetTaggerhfNeutral = HeavyFlavourDefinitionTask<soa::Join<aod::NeutralMCDetectorLevelJets, aod::NeutralMCDetectorLevelJetConstituents>, aod::NeutralMCDetectorLevelJetTags, aod::NeutralMCParticleLevelJetFlavourDef>;
114111

115112
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
116113
{
117114

118115
std::vector<o2::framework::DataProcessorSpec> tasks;
119116

120-
tasks.emplace_back(
121-
adaptAnalysisTask<JetFlavourDefCharged>(cfgc));
117+
tasks.emplace_back(adaptAnalysisTask<JetFlavourDefCharged>(cfgc, SetDefaultProcesses{}, TaskName{"jet-hfdefinition-charged"}));
118+
tasks.emplace_back(adaptAnalysisTask<JetFlavourDefFull>(cfgc, SetDefaultProcesses{}, TaskName{"jet-hfdefinition-full"}));
122119

123-
tasks.emplace_back(
124-
adaptAnalysisTask<JetFlavourDefFull>(cfgc));
125-
/*
126-
tasks.emplace_back(
127-
adaptAnalysisTask<JetFlavourDefNeutral>(cfgc,
128-
SetDefaultProcesses{}));
129-
*/
130120
return WorkflowSpec{tasks};
131121
}

PWGJE/TableProducer/jetTaggerHF.cxx

Lines changed: 32 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,11 @@ using namespace o2;
3333
using namespace o2::framework;
3434
using namespace o2::framework::expressions;
3535

36-
template <typename JetTableData, typename JetTableMCD, typename JetTableMCP, typename JetTaggingTableData, typename JetTaggingTableMCD, typename JetTaggingTableMCP>
36+
template <typename JetTableData, typename JetTableMCD, typename JetTaggingTableData, typename JetTaggingTableMCD>
3737
struct JetTaggerHFTask {
3838

3939
Produces<JetTaggingTableData> taggingTableData;
4040
Produces<JetTaggingTableMCD> taggingTableMCD;
41-
Produces<JetTaggingTableMCP> taggingTableMCP;
4241

4342
// configuration topological cut for track and sv
4443
Configurable<float> trackDcaXYMax{"trackDcaXYMax", 1, "minimum DCA xy acceptance for tracks [cm]"};
@@ -51,11 +50,6 @@ struct JetTaggerHFTask {
5150
Configurable<float> prongChi2PCAMax{"prongChi2PCAMax", 100, "maximum Chi2 PCA of decay length of prongs"};
5251
Configurable<float> svDispersionMax{"svDispersionMax", 1, "maximum dispersion of sv"};
5352

54-
// jet flavour definition
55-
Configurable<float> maxDeltaR{"maxDeltaR", 0.25, "maximum distance of jet axis from flavour initiating parton"};
56-
Configurable<bool> removeGluonShower{"removeGluonShower", true, "find jet origin removed gluon spliting"}; // true:: remove gluon spliting
57-
Configurable<bool> searchUpToQuark{"searchUpToQuark", true, "Finding first mother in particles to quark"};
58-
5953
// configuration about IP method
6054
Configurable<bool> useJetProb{"useJetProb", false, "fill table for track counting algorithm"};
6155
Configurable<bool> trackProbQA{"trackProbQA", false, "fill track probability histograms separately for geometric positive and negative tracks for QA"};
@@ -76,17 +70,10 @@ struct JetTaggerHFTask {
7670

7771
// axis spec
7872
ConfigurableAxis binTrackProbability{"binTrackProbability", {100, 0.f, 1.f}, ""};
79-
ConfigurableAxis binJetFlavour{"binJetFlavour", {6, -0.5, 5.5}, ""};
8073

8174
using JetTagTracksData = soa::Join<aod::JetTracks, aod::JTrackExtras, aod::JTrackPIs>;
8275
using JetTagTracksMCD = soa::Join<aod::JetTracksMCD, aod::JTrackExtras, aod::JTrackPIs>;
8376

84-
std::vector<float> vecParamsData;
85-
std::vector<float> vecParamsIncJetMC;
86-
std::vector<float> vecParamsCharmJetMC;
87-
std::vector<float> vecParamsBeautyJetMC;
88-
std::vector<float> vecParamsLfJetMC;
89-
std::vector<float> jetProb;
9077
bool useResoFuncFromIncJet = false;
9178
int maxOrder = -1;
9279
int resoFuncMatch = 0;
@@ -96,6 +83,13 @@ struct JetTaggerHFTask {
9683
std::unique_ptr<TF1> fSignImpXYSigBeautyJetMC = nullptr;
9784
std::unique_ptr<TF1> fSignImpXYSigLfJetMC = nullptr;
9885

86+
std::vector<int8_t> decisionIPs;
87+
std::vector<int8_t> decisionIPs3D;
88+
std::vector<int8_t> decisionSV;
89+
std::vector<int8_t> decisionSV3D;
90+
std::vector<float> scoreML;
91+
std::vector<float> jetProb;
92+
9993
template <typename T, typename U>
10094
void calculateJetProbability(int origin, T const& jet, U const& jtracks, std::vector<float>& jetProb, bool const& isMC = true)
10195
{
@@ -164,6 +158,12 @@ struct JetTaggerHFTask {
164158
HistogramRegistry registry{"registry", {}, OutputObjHandlingPolicy::AnalysisObject};
165159
void init(InitContext const&)
166160
{
161+
std::vector<float> vecParamsData;
162+
std::vector<float> vecParamsIncJetMC;
163+
std::vector<float> vecParamsCharmJetMC;
164+
std::vector<float> vecParamsBeautyJetMC;
165+
std::vector<float> vecParamsLfJetMC;
166+
167167
maxOrder = numCount + 1; // 0: untagged, >1 : N ordering
168168

169169
// Set up the resolution function
@@ -257,7 +257,7 @@ struct JetTaggerHFTask {
257257
if (jettaggingutilities::isGreaterThanTaggingPoint(jet, jtracks, trackDcaXYMax, trackDcaZMax, tagPointForIP, minIPCount, true))
258258
flagtaggedjetIPxyz = true;
259259

260-
taggingTableData(0, jetProb, flagtaggedjetIP, flagtaggedjetIPxyz, flagtaggedjetSV, flagtaggedjetSVxyz);
260+
taggingTableData(jetProb, flagtaggedjetIP, flagtaggedjetIPxyz, flagtaggedjetSV, flagtaggedjetSVxyz);
261261
}
262262
}
263263
PROCESS_SWITCH(JetTaggerHFTask, processData, "Fill tagging decision for data jets", false);
@@ -281,24 +281,19 @@ struct JetTaggerHFTask {
281281
flagtaggedjetIPxyz = true;
282282
flagtaggedjetSV = jettaggingutilities::isTaggedJetSV(jet, prongs, prongChi2PCAMin, prongChi2PCAMax, prongsigmaLxyMax, svDispersionMax, false, tagPointForSV);
283283
flagtaggedjetSVxyz = jettaggingutilities::isTaggedJetSV(jet, prongs, prongChi2PCAMin, prongChi2PCAMax, prongsigmaLxyzMax, svDispersionMax, true, tagPointForSV);
284-
taggingTableData(0, jetProb, flagtaggedjetIP, flagtaggedjetIPxyz, flagtaggedjetSV, flagtaggedjetSVxyz);
284+
taggingTableData(jetProb, flagtaggedjetIP, flagtaggedjetIPxyz, flagtaggedjetSV, flagtaggedjetSVxyz);
285285
}
286286
}
287287
PROCESS_SWITCH(JetTaggerHFTask, processDataWithSV, "Fill tagging decision for data jets", false);
288288

289-
void processMCD(aod::JetCollision const& /*collision*/, JetTableMCD const& mcdjets, JetTagTracksMCD const& jtracks, aod::JetParticles const& particles)
289+
void processMCD(aod::JetCollision const& /*collision*/, soa::Join<JetTableMCD, aod::ChargedMCDetectorLevelJetFlavourDef> const& mcdjets, JetTagTracksMCD const& jtracks, aod::JetParticles const& particles)
290290
{
291291
for (auto& mcdjet : mcdjets) {
292292
bool flagtaggedjetIP = false;
293293
bool flagtaggedjetIPxyz = false;
294294
bool flagtaggedjetSV = false;
295295
bool flagtaggedjetSVxyz = false;
296-
typename JetTagTracksMCD::iterator hftrack;
297-
int origin = 0;
298-
if (removeGluonShower)
299-
origin = jettaggingutilities::mcdJetFromHFShower(mcdjet, jtracks, particles, maxDeltaR, searchUpToQuark);
300-
else
301-
origin = jettaggingutilities::jetTrackFromHFShower(mcdjet, jtracks, particles, hftrack, searchUpToQuark);
296+
int origin = mcdjet.origin();
302297
if (useJetProb) {
303298
calculateJetProbability(origin, mcdjet, jtracks, jetProb);
304299
if (trackProbQA) {
@@ -309,24 +304,19 @@ struct JetTaggerHFTask {
309304
flagtaggedjetIP = true;
310305
if (jettaggingutilities::isGreaterThanTaggingPoint(mcdjet, jtracks, trackDcaXYMax, trackDcaZMax, tagPointForIP, minIPCount, true))
311306
flagtaggedjetIPxyz = true;
312-
taggingTableMCD(origin, jetProb, flagtaggedjetIP, flagtaggedjetIPxyz, flagtaggedjetSV, flagtaggedjetSVxyz);
307+
taggingTableMCD(jetProb, flagtaggedjetIP, flagtaggedjetIPxyz, flagtaggedjetSV, flagtaggedjetSVxyz);
313308
}
314309
}
315310
PROCESS_SWITCH(JetTaggerHFTask, processMCD, "Fill tagging decision for mcd jets", false);
316311

317-
void processMCDWithSV(aod::JetCollision const& /*collision*/, soa::Join<JetTableMCD, aod::MCDSecondaryVertex3ProngIndices> const& mcdjets, JetTagTracksMCD const& jtracks, aod::MCDSecondaryVertex3Prongs const& prongs, aod::JetParticles const& particles)
312+
void processMCDWithSV(aod::JetCollision const& /*collision*/, soa::Join<JetTableMCD, aod::ChargedMCDetectorLevelJetFlavourDef, aod::MCDSecondaryVertex3ProngIndices> const& mcdjets, JetTagTracksMCD const& jtracks, aod::MCDSecondaryVertex3Prongs const& prongs)
318313
{
319314
for (auto& mcdjet : mcdjets) {
320315
bool flagtaggedjetIP = false;
321316
bool flagtaggedjetIPxyz = false;
322317
bool flagtaggedjetSV = false;
323318
bool flagtaggedjetSVxyz = false;
324-
typename JetTagTracksMCD::iterator hftrack;
325-
int origin = 0;
326-
if (removeGluonShower)
327-
origin = jettaggingutilities::mcdJetFromHFShower(mcdjet, jtracks, particles, maxDeltaR, searchUpToQuark);
328-
else
329-
origin = jettaggingutilities::jetTrackFromHFShower(mcdjet, jtracks, particles, hftrack, searchUpToQuark);
319+
int origin = mcdjet.origin();
330320
if (useJetProb) {
331321
calculateJetProbability(origin, mcdjet, jtracks, jetProb);
332322
if (trackProbQA) {
@@ -339,67 +329,34 @@ struct JetTaggerHFTask {
339329
flagtaggedjetIPxyz = true;
340330
flagtaggedjetSV = jettaggingutilities::isTaggedJetSV(mcdjet, prongs, prongChi2PCAMin, prongChi2PCAMax, prongsigmaLxyMax, prongIPxyMin, prongIPxyMax, svDispersionMax, false, tagPointForSV);
341331
flagtaggedjetSVxyz = jettaggingutilities::isTaggedJetSV(mcdjet, prongs, prongChi2PCAMin, prongChi2PCAMax, prongsigmaLxyzMax, prongIPxyMin, prongIPxyMax, svDispersionMax, true, tagPointForSV);
342-
taggingTableMCD(origin, jetProb, flagtaggedjetIP, flagtaggedjetIPxyz, flagtaggedjetSV, flagtaggedjetSVxyz);
332+
taggingTableMCD(jetProb, flagtaggedjetIP, flagtaggedjetIPxyz, flagtaggedjetSV, flagtaggedjetSVxyz);
343333
}
344334
}
345335
PROCESS_SWITCH(JetTaggerHFTask, processMCDWithSV, "Fill tagging decision for mcd jets with sv", false);
346336

347-
void processMCP(aod::JetMcCollision const& /*collision*/, JetTableMCP const& mcpjets, aod::JetParticles const& particles)
337+
void processDataAlgorithmML(aod::JetCollision const& /*collision*/, soa::Join<JetTableData, aod::DataSecondaryVertex3ProngIndices> const& /*allJets*/, JetTagTracksData const& /*allTracks*/, aod::DataSecondaryVertex3Prongs const& allSVs)
348338
{
349-
for (auto& mcpjet : mcpjets) {
350-
bool flagtaggedjetIP = false;
351-
bool flagtaggedjetIPxyz = false;
352-
bool flagtaggedjetSV = false;
353-
bool flagtaggedjetSVxyz = false;
354-
typename aod::JetParticles::iterator hfparticle;
355-
int origin = 0;
356-
// TODO
357-
if (removeGluonShower) {
358-
if (jettaggingutilities::mcpJetFromHFShower(mcpjet, particles, maxDeltaR, searchUpToQuark))
359-
origin = jettaggingutilities::mcpJetFromHFShower(mcpjet, particles, maxDeltaR, searchUpToQuark);
360-
else
361-
origin = 0;
362-
} else {
363-
if (jettaggingutilities::jetParticleFromHFShower(mcpjet, particles, hfparticle, searchUpToQuark))
364-
origin = jettaggingutilities::jetParticleFromHFShower(mcpjet, particles, hfparticle, searchUpToQuark);
365-
else
366-
origin = 0;
367-
}
368-
jetProb.clear();
369-
jetProb.reserve(maxOrder);
370-
jetProb.push_back(-1);
371-
taggingTableMCP(origin, jetProb, flagtaggedjetIP, flagtaggedjetIPxyz, flagtaggedjetSV, flagtaggedjetSVxyz);
372-
}
339+
// To create table for ML
373340
}
374-
PROCESS_SWITCH(JetTaggerHFTask, processMCP, "Fill tagging decision for mcp jets with sv", false);
341+
PROCESS_SWITCH(JetTaggerHFTask, processDataAlgorithmML, "Fill ML evaluation score for data jets", false);
375342

376-
void processTraining(aod::JetCollision const& /*collision*/, JetTableMCD const& /*mcdjets*/, JetTagTracksMCD const& /*tracks*/)
343+
void processMCDAlgorithmML(aod::JetCollision const& /*collision*/, soa::Join<JetTableMCD, aod::ChargedMCDetectorLevelJetFlavourDef, aod::MCDSecondaryVertex3ProngIndices> const& /*allJets*/, JetTagTracksMCD const& /*allTracks*/, aod::MCDSecondaryVertex3Prongs const& allSVs)
377344
{
378345
// To create table for ML
379346
}
380-
PROCESS_SWITCH(JetTaggerHFTask, processTraining, "Fill tagging decision for mcd jets", false);
347+
PROCESS_SWITCH(JetTaggerHFTask, processMCDAlgorithmML, "Fill ML evaluation score for MCD jets", false);
381348
};
382349

383-
using JetTaggerChargedJets = JetTaggerHFTask<soa::Join<aod::ChargedJets, aod::ChargedJetConstituents>, soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents>, soa::Join<aod::ChargedMCParticleLevelJets, aod::ChargedMCParticleLevelJetConstituents>, aod::ChargedJetTags, aod::ChargedMCDetectorLevelJetTags, aod::ChargedMCParticleLevelJetTags>;
384-
using JetTaggerFullJets = JetTaggerHFTask<soa::Join<aod::FullJets, aod::FullJetConstituents>, soa::Join<aod::FullMCDetectorLevelJets, aod::FullMCDetectorLevelJetConstituents>, soa::Join<aod::FullMCParticleLevelJets, aod::FullMCParticleLevelJetConstituents>, aod::FullJetTags, aod::FullMCDetectorLevelJetTags, aod::FullMCParticleLevelJetTags>;
385-
// using JetTaggerNeutralJets = JetTaggerHFTask<soa::Join<aod::NeutralJets, aod::NeutralJetConstituents>,soa::Join<aod::NeutralMCDetectorLevelJets, aod::NeutralMCDetectorLevelJetConstituents>, aod::NeutralJetTags, aod::NeutralMCDetectorLevelJetTags>;
350+
using JetTaggerChargedJets = JetTaggerHFTask<soa::Join<aod::ChargedJets, aod::ChargedJetConstituents>, soa::Join<aod::ChargedMCDetectorLevelJets, aod::ChargedMCDetectorLevelJetConstituents>, aod::ChargedJetTags, aod::ChargedMCDetectorLevelJetTags>;
351+
using JetTaggerFullJets = JetTaggerHFTask<soa::Join<aod::FullJets, aod::FullJetConstituents>, soa::Join<aod::FullMCDetectorLevelJets, aod::FullMCDetectorLevelJetConstituents>, aod::FullJetTags, aod::FullMCDetectorLevelJetTags>;
386352

387353
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
388354
{
389355

390356
std::vector<o2::framework::DataProcessorSpec> tasks;
391357

392-
tasks.emplace_back(
393-
adaptAnalysisTask<JetTaggerChargedJets>(cfgc,
394-
SetDefaultProcesses{}, TaskName{"jet-taggerhf-charged"}));
395-
396-
tasks.emplace_back(
397-
adaptAnalysisTask<JetTaggerFullJets>(cfgc,
398-
SetDefaultProcesses{}, TaskName{"jet-taggerhf-full"}));
399-
/*
400-
tasks.emplace_back(
401-
adaptAnalysisTask<JetTaggerNeutralJets>(cfgc,
402-
SetDefaultProcesses{}, TaskName{"jet-taggerhf-neutral"}));
403-
*/
358+
tasks.emplace_back(adaptAnalysisTask<JetTaggerChargedJets>(cfgc, SetDefaultProcesses{}, TaskName{"jet-taggerhf-charged"}));
359+
tasks.emplace_back(adaptAnalysisTask<JetTaggerFullJets>(cfgc, SetDefaultProcesses{}, TaskName{"jet-taggerhf-full"}));
360+
404361
return WorkflowSpec{tasks};
405362
}

0 commit comments

Comments
 (0)