|
29 | 29 |
|
30 | 30 | #include <vector> |
31 | 31 |
|
32 | | -using namespace o2; |
33 | | -using namespace o2::framework; |
34 | | -using namespace o2::framework::expressions; |
35 | | - |
36 | 32 | template <typename JetsBase, typename JetsTag, typename SplittingsBasetoTagMatchingTable, typename SplittingsTagtoBaseMatchingTable, typename PairsBasetoTagMatchingTable, typename PairsTagtoBaseMatchingTable, typename SplittingsBase, typename SplittingsTag, typename PairsBase, typename PairsTag, typename CandidatesBase, typename CandidatesTag, typename TracksBase, typename TracksTag, typename ClustersBase> |
37 | 33 | struct JetSubstructureMatching { |
38 | 34 |
|
39 | | - Produces<SplittingsBasetoTagMatchingTable> splittingsBasetoTagMatchingTable; |
40 | | - Produces<SplittingsTagtoBaseMatchingTable> splittingsTagtoBaseMatchingTable; |
| 35 | + o2::framework::Produces<SplittingsBasetoTagMatchingTable> splittingsBasetoTagMatchingTable; |
| 36 | + o2::framework::Produces<SplittingsTagtoBaseMatchingTable> splittingsTagtoBaseMatchingTable; |
41 | 37 |
|
42 | | - Produces<PairsBasetoTagMatchingTable> pairsBasetoTagMatchingTable; |
43 | | - Produces<PairsTagtoBaseMatchingTable> pairsTagtoBaseMatchingTable; |
| 38 | + o2::framework::Produces<PairsBasetoTagMatchingTable> pairsBasetoTagMatchingTable; |
| 39 | + o2::framework::Produces<PairsTagtoBaseMatchingTable> pairsTagtoBaseMatchingTable; |
44 | 40 |
|
45 | | - Configurable<bool> doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; |
46 | | - Configurable<bool> doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; |
47 | | - Configurable<bool> doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; |
48 | | - Configurable<float> maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; |
49 | | - Configurable<float> minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; |
50 | | - Configurable<bool> requireGeoMatchedJets{"requireGeoMatchedJets", false, "require jets are geo matched as well"}; |
51 | | - Configurable<bool> requirePtMatchedJets{"requirePtMatchedJets", false, "require jets are pT matched as well"}; |
52 | | - Configurable<bool> requireHFMatchedJets{"requireHFMatchedJets", false, "require jets are HF matched as well"}; |
| 41 | + o2::framework::Configurable<bool> doMatchingGeo{"doMatchingGeo", true, "Enable geometric matching"}; |
| 42 | + o2::framework::Configurable<bool> doMatchingPt{"doMatchingPt", true, "Enable pt matching"}; |
| 43 | + o2::framework::Configurable<bool> doMatchingHf{"doMatchingHf", false, "Enable HF matching"}; |
| 44 | + o2::framework::Configurable<float> maxMatchingDistance{"maxMatchingDistance", 0.24f, "Max matching distance"}; |
| 45 | + o2::framework::Configurable<float> minPtFraction{"minPtFraction", 0.5f, "Minimum pt fraction for pt matching"}; |
| 46 | + o2::framework::Configurable<bool> requireGeoMatchedJets{"requireGeoMatchedJets", false, "require jets are geo matched as well"}; |
| 47 | + o2::framework::Configurable<bool> requirePtMatchedJets{"requirePtMatchedJets", false, "require jets are pT matched as well"}; |
| 48 | + o2::framework::Configurable<bool> requireHFMatchedJets{"requireHFMatchedJets", false, "require jets are HF matched as well"}; |
53 | 49 |
|
54 | | - static constexpr bool jetsBaseIsMc = o2::soa::relatedByIndex<aod::JetMcCollisions, JetsBase>(); |
55 | | - static constexpr bool jetsTagIsMc = o2::soa::relatedByIndex<aod::JetMcCollisions, JetsTag>(); |
| 50 | + static constexpr bool jetsBaseIsMc = o2::soa::relatedByIndex<o2::aod::JetMcCollisions, JetsBase>(); |
| 51 | + static constexpr bool jetsTagIsMc = o2::soa::relatedByIndex<o2::aod::JetMcCollisions, JetsTag>(); |
56 | 52 |
|
57 | | - void init(InitContext const&) |
| 53 | + void init(o2::framework::InitContext const&) |
58 | 54 | { |
59 | 55 | } |
60 | 56 |
|
61 | | - PresliceOptional<aod::ChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetInclusive = aod::chargedmcdetectorlevelsplitting::jetId; |
62 | | - PresliceOptional<aod::ChargedMCParticleLevelSPs> TagSplittingsPerTagJetInclusive = aod::chargedmcparticlelevelsplitting::jetId; |
63 | | - PresliceOptional<aod::D0ChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetD0 = aod::d0chargedmcdetectorlevelsplitting::jetId; |
64 | | - PresliceOptional<aod::D0ChargedMCParticleLevelSPs> TagSplittingsPerTagJetD0 = aod::d0chargedmcparticlelevelsplitting::jetId; |
65 | | - PresliceOptional<aod::DplusChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetDplus = aod::dpluschargedmcdetectorlevelsplitting::jetId; |
66 | | - PresliceOptional<aod::DplusChargedMCParticleLevelSPs> TagSplittingsPerTagJetDplus = aod::dpluschargedmcparticlelevelsplitting::jetId; |
67 | | - PresliceOptional<aod::DsChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetDs = aod::dschargedmcdetectorlevelsplitting::jetId; |
68 | | - PresliceOptional<aod::DsChargedMCParticleLevelSPs> TagSplittingsPerTagJetDs = aod::dschargedmcparticlelevelsplitting::jetId; |
69 | | - PresliceOptional<aod::DstarChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetDstar = aod::dstarchargedmcdetectorlevelsplitting::jetId; |
70 | | - PresliceOptional<aod::DstarChargedMCParticleLevelSPs> TagSplittingsPerTagJetDstar = aod::dstarchargedmcparticlelevelsplitting::jetId; |
71 | | - PresliceOptional<aod::LcChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetLc = aod::lcchargedmcdetectorlevelsplitting::jetId; |
72 | | - PresliceOptional<aod::LcChargedMCParticleLevelSPs> TagSplittingsPerTagJetLc = aod::lcchargedmcparticlelevelsplitting::jetId; |
73 | | - PresliceOptional<aod::B0ChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetB0 = aod::b0chargedmcdetectorlevelsplitting::jetId; |
74 | | - PresliceOptional<aod::B0ChargedMCParticleLevelSPs> TagSplittingsPerTagJetB0 = aod::b0chargedmcparticlelevelsplitting::jetId; |
75 | | - PresliceOptional<aod::BplusChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetBplus = aod::bpluschargedmcdetectorlevelsplitting::jetId; |
76 | | - PresliceOptional<aod::BplusChargedMCParticleLevelSPs> TagSplittingsPerTagJetBplus = aod::bpluschargedmcparticlelevelsplitting::jetId; |
77 | | - PresliceOptional<aod::XicToXiPiPiChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetXicToXiPiPi = aod::xictoxipipichargedmcdetectorlevelsplitting::jetId; |
78 | | - PresliceOptional<aod::XicToXiPiPiChargedMCParticleLevelSPs> TagSplittingsPerTagJetXicToXiPiPi = aod::xictoxipipichargedmcparticlelevelsplitting::jetId; |
79 | | - PresliceOptional<aod::DielectronChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetDielectron = aod::dielectronchargedmcdetectorlevelsplitting::jetId; |
80 | | - PresliceOptional<aod::DielectronChargedMCParticleLevelSPs> TagSplittingsPerTagJetDielectron = aod::dielectronchargedmcparticlelevelsplitting::jetId; |
| 57 | + o2::framework::PresliceOptional<o2::aod::ChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetInclusive = o2::aod::chargedmcdetectorlevelsplitting::jetId; |
| 58 | + o2::framework::PresliceOptional<o2::aod::ChargedMCParticleLevelSPs> TagSplittingsPerTagJetInclusive = o2::aod::chargedmcparticlelevelsplitting::jetId; |
| 59 | + o2::framework::PresliceOptional<o2::aod::D0ChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetD0 = o2::aod::d0chargedmcdetectorlevelsplitting::jetId; |
| 60 | + o2::framework::PresliceOptional<o2::aod::D0ChargedMCParticleLevelSPs> TagSplittingsPerTagJetD0 = o2::aod::d0chargedmcparticlelevelsplitting::jetId; |
| 61 | + o2::framework::PresliceOptional<o2::aod::DplusChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetDplus = o2::aod::dpluschargedmcdetectorlevelsplitting::jetId; |
| 62 | + o2::framework::PresliceOptional<o2::aod::DplusChargedMCParticleLevelSPs> TagSplittingsPerTagJetDplus = o2::aod::dpluschargedmcparticlelevelsplitting::jetId; |
| 63 | + o2::framework::PresliceOptional<o2::aod::DsChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetDs = o2::aod::dschargedmcdetectorlevelsplitting::jetId; |
| 64 | + o2::framework::PresliceOptional<o2::aod::DsChargedMCParticleLevelSPs> TagSplittingsPerTagJetDs = o2::aod::dschargedmcparticlelevelsplitting::jetId; |
| 65 | + o2::framework::PresliceOptional<o2::aod::DstarChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetDstar = o2::aod::dstarchargedmcdetectorlevelsplitting::jetId; |
| 66 | + o2::framework::PresliceOptional<o2::aod::DstarChargedMCParticleLevelSPs> TagSplittingsPerTagJetDstar = o2::aod::dstarchargedmcparticlelevelsplitting::jetId; |
| 67 | + o2::framework::PresliceOptional<o2::aod::LcChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetLc = o2::aod::lcchargedmcdetectorlevelsplitting::jetId; |
| 68 | + o2::framework::PresliceOptional<o2::aod::LcChargedMCParticleLevelSPs> TagSplittingsPerTagJetLc = o2::aod::lcchargedmcparticlelevelsplitting::jetId; |
| 69 | + o2::framework::PresliceOptional<o2::aod::B0ChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetB0 = o2::aod::b0chargedmcdetectorlevelsplitting::jetId; |
| 70 | + o2::framework::PresliceOptional<o2::aod::B0ChargedMCParticleLevelSPs> TagSplittingsPerTagJetB0 = o2::aod::b0chargedmcparticlelevelsplitting::jetId; |
| 71 | + o2::framework::PresliceOptional<o2::aod::BplusChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetBplus = o2::aod::bpluschargedmcdetectorlevelsplitting::jetId; |
| 72 | + o2::framework::PresliceOptional<o2::aod::BplusChargedMCParticleLevelSPs> TagSplittingsPerTagJetBplus = o2::aod::bpluschargedmcparticlelevelsplitting::jetId; |
| 73 | + o2::framework::PresliceOptional<o2::aod::XicToXiPiPiChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetXicToXiPiPi = o2::aod::xictoxipipichargedmcdetectorlevelsplitting::jetId; |
| 74 | + o2::framework::PresliceOptional<o2::aod::XicToXiPiPiChargedMCParticleLevelSPs> TagSplittingsPerTagJetXicToXiPiPi = o2::aod::xictoxipipichargedmcparticlelevelsplitting::jetId; |
| 75 | + o2::framework::PresliceOptional<o2::aod::DielectronChargedMCDetectorLevelSPs> BaseSplittingsPerBaseJetDielectron = o2::aod::dielectronchargedmcdetectorlevelsplitting::jetId; |
| 76 | + o2::framework::PresliceOptional<o2::aod::DielectronChargedMCParticleLevelSPs> TagSplittingsPerTagJetDielectron = o2::aod::dielectronchargedmcparticlelevelsplitting::jetId; |
81 | 77 |
|
82 | | - PresliceOptional<aod::ChargedMCDetectorLevelPRs> BasePairsPerBaseJetInclusive = aod::chargedmcdetectorlevelpair::jetId; |
83 | | - PresliceOptional<aod::ChargedMCParticleLevelPRs> TagPairsPerTagJetInclusive = aod::chargedmcparticlelevelpair::jetId; |
84 | | - PresliceOptional<aod::D0ChargedMCDetectorLevelPRs> BasePairsPerBaseJetD0 = aod::d0chargedmcdetectorlevelpair::jetId; |
85 | | - PresliceOptional<aod::D0ChargedMCParticleLevelPRs> TagPairsPerTagJetD0 = aod::d0chargedmcparticlelevelpair::jetId; |
86 | | - PresliceOptional<aod::DplusChargedMCDetectorLevelPRs> BasePairsPerBaseJetDplus = aod::dpluschargedmcdetectorlevelpair::jetId; |
87 | | - PresliceOptional<aod::DplusChargedMCParticleLevelPRs> TagPairsPerTagJetDplus = aod::dpluschargedmcparticlelevelpair::jetId; |
88 | | - PresliceOptional<aod::DsChargedMCDetectorLevelPRs> BasePairsPerBaseJetDs = aod::dschargedmcdetectorlevelpair::jetId; |
89 | | - PresliceOptional<aod::DsChargedMCParticleLevelPRs> TagPairsPerTagJetDs = aod::dschargedmcparticlelevelpair::jetId; |
90 | | - PresliceOptional<aod::DstarChargedMCDetectorLevelPRs> BasePairsPerBaseJetDstar = aod::dstarchargedmcdetectorlevelpair::jetId; |
91 | | - PresliceOptional<aod::DstarChargedMCParticleLevelPRs> TagPairsPerTagJetDstar = aod::dstarchargedmcparticlelevelpair::jetId; |
92 | | - PresliceOptional<aod::LcChargedMCDetectorLevelPRs> BasePairsPerBaseJetLc = aod::lcchargedmcdetectorlevelpair::jetId; |
93 | | - PresliceOptional<aod::LcChargedMCParticleLevelPRs> TagPairsPerTagJetLc = aod::lcchargedmcparticlelevelpair::jetId; |
94 | | - PresliceOptional<aod::B0ChargedMCDetectorLevelPRs> BasePairsPerBaseJetB0 = aod::b0chargedmcdetectorlevelpair::jetId; |
95 | | - PresliceOptional<aod::B0ChargedMCParticleLevelPRs> TagPairsPerTagJetB0 = aod::b0chargedmcparticlelevelpair::jetId; |
96 | | - PresliceOptional<aod::BplusChargedMCDetectorLevelPRs> BasePairsPerBaseJetBplus = aod::bpluschargedmcdetectorlevelpair::jetId; |
97 | | - PresliceOptional<aod::BplusChargedMCParticleLevelPRs> TagPairsPerTagJetBplus = aod::bpluschargedmcparticlelevelpair::jetId; |
98 | | - PresliceOptional<aod::XicToXiPiPiChargedMCDetectorLevelPRs> BasePairsPerBaseJetXicToXiPiPi = aod::xictoxipipichargedmcdetectorlevelpair::jetId; |
99 | | - PresliceOptional<aod::XicToXiPiPiChargedMCParticleLevelPRs> TagPairsPerTagJetXicToXiPiPi = aod::xictoxipipichargedmcparticlelevelpair::jetId; |
100 | | - PresliceOptional<aod::DielectronChargedMCDetectorLevelPRs> BasePairsPerBaseJetDielectron = aod::dielectronchargedmcdetectorlevelpair::jetId; |
101 | | - PresliceOptional<aod::DielectronChargedMCParticleLevelPRs> TagPairsPerTagJetDielectron = aod::dielectronchargedmcparticlelevelpair::jetId; |
| 78 | + o2::framework::PresliceOptional<o2::aod::ChargedMCDetectorLevelPRs> BasePairsPerBaseJetInclusive = o2::aod::chargedmcdetectorlevelpair::jetId; |
| 79 | + o2::framework::PresliceOptional<o2::aod::ChargedMCParticleLevelPRs> TagPairsPerTagJetInclusive = o2::aod::chargedmcparticlelevelpair::jetId; |
| 80 | + o2::framework::PresliceOptional<o2::aod::D0ChargedMCDetectorLevelPRs> BasePairsPerBaseJetD0 = o2::aod::d0chargedmcdetectorlevelpair::jetId; |
| 81 | + o2::framework::PresliceOptional<o2::aod::D0ChargedMCParticleLevelPRs> TagPairsPerTagJetD0 = o2::aod::d0chargedmcparticlelevelpair::jetId; |
| 82 | + o2::framework::PresliceOptional<o2::aod::DplusChargedMCDetectorLevelPRs> BasePairsPerBaseJetDplus = o2::aod::dpluschargedmcdetectorlevelpair::jetId; |
| 83 | + o2::framework::PresliceOptional<o2::aod::DplusChargedMCParticleLevelPRs> TagPairsPerTagJetDplus = o2::aod::dpluschargedmcparticlelevelpair::jetId; |
| 84 | + o2::framework::PresliceOptional<o2::aod::DsChargedMCDetectorLevelPRs> BasePairsPerBaseJetDs = o2::aod::dschargedmcdetectorlevelpair::jetId; |
| 85 | + o2::framework::PresliceOptional<o2::aod::DsChargedMCParticleLevelPRs> TagPairsPerTagJetDs = o2::aod::dschargedmcparticlelevelpair::jetId; |
| 86 | + o2::framework::PresliceOptional<o2::aod::DstarChargedMCDetectorLevelPRs> BasePairsPerBaseJetDstar = o2::aod::dstarchargedmcdetectorlevelpair::jetId; |
| 87 | + o2::framework::PresliceOptional<o2::aod::DstarChargedMCParticleLevelPRs> TagPairsPerTagJetDstar = o2::aod::dstarchargedmcparticlelevelpair::jetId; |
| 88 | + o2::framework::PresliceOptional<o2::aod::LcChargedMCDetectorLevelPRs> BasePairsPerBaseJetLc = o2::aod::lcchargedmcdetectorlevelpair::jetId; |
| 89 | + o2::framework::PresliceOptional<o2::aod::LcChargedMCParticleLevelPRs> TagPairsPerTagJetLc = o2::aod::lcchargedmcparticlelevelpair::jetId; |
| 90 | + o2::framework::PresliceOptional<o2::aod::B0ChargedMCDetectorLevelPRs> BasePairsPerBaseJetB0 = o2::aod::b0chargedmcdetectorlevelpair::jetId; |
| 91 | + o2::framework::PresliceOptional<o2::aod::B0ChargedMCParticleLevelPRs> TagPairsPerTagJetB0 = o2::aod::b0chargedmcparticlelevelpair::jetId; |
| 92 | + o2::framework::PresliceOptional<o2::aod::BplusChargedMCDetectorLevelPRs> BasePairsPerBaseJetBplus = o2::aod::bpluschargedmcdetectorlevelpair::jetId; |
| 93 | + o2::framework::PresliceOptional<o2::aod::BplusChargedMCParticleLevelPRs> TagPairsPerTagJetBplus = o2::aod::bpluschargedmcparticlelevelpair::jetId; |
| 94 | + o2::framework::PresliceOptional<o2::aod::XicToXiPiPiChargedMCDetectorLevelPRs> BasePairsPerBaseJetXicToXiPiPi = o2::aod::xictoxipipichargedmcdetectorlevelpair::jetId; |
| 95 | + o2::framework::PresliceOptional<o2::aod::XicToXiPiPiChargedMCParticleLevelPRs> TagPairsPerTagJetXicToXiPiPi = o2::aod::xictoxipipichargedmcparticlelevelpair::jetId; |
| 96 | + o2::framework::PresliceOptional<o2::aod::DielectronChargedMCDetectorLevelPRs> BasePairsPerBaseJetDielectron = o2::aod::dielectronchargedmcdetectorlevelpair::jetId; |
| 97 | + o2::framework::PresliceOptional<o2::aod::DielectronChargedMCParticleLevelPRs> TagPairsPerTagJetDielectron = o2::aod::dielectronchargedmcparticlelevelpair::jetId; |
102 | 98 |
|
103 | 99 | // workaround till binding nodes can be passed as template arguments |
104 | 100 | template <typename CandidateTable, typename T, typename U, typename V, typename M, typename N, typename O, typename P, typename Q, typename R, typename S, typename A, typename B> |
|
0 commit comments