CMS 3D CMS Logo

TtSemiLepJetCombEval.h
Go to the documentation of this file.
1 #ifndef TtSemiLepJetCombEval_h
2 #define TtSemiLepJetCombEval_h
3 
6 
7 // ----------------------------------------------------------------------
8 // common interface for the evaluation of multivariate analysis variables
9 // for jet combinations in semi leptonic ttbar decays
10 // used by the MVATrainer and MVAComputer
11 // ----------------------------------------------------------------------
12 
14 {
15  // ----------------------------------------------------------------------
16  // mass, pt, eta, phi and theta of single candidates of the ttbar system
17  // ----------------------------------------------------------------------
18  // hadronic top quark
19  values.add( "massHadTop" , jetComb.topVar(JetComb::kHad, JetComb::kMass ) );
20  values.add( "ptHadTop" , jetComb.topVar(JetComb::kHad, JetComb::kPt ) );
21  values.add( "etaHadTop" , jetComb.topVar(JetComb::kHad, JetComb::kEta ) );
22  values.add( "phiHadTop" , jetComb.topVar(JetComb::kHad, JetComb::kPhi ) );
23  values.add( "thetaHadTop", jetComb.topVar(JetComb::kHad, JetComb::kTheta) );
24  // leptonic top quark
25  values.add( "massLepTop" , jetComb.topVar(JetComb::kLep, JetComb::kMass ) );
26  values.add( "ptLepTop" , jetComb.topVar(JetComb::kLep, JetComb::kPt ) );
27  values.add( "etaLepTop" , jetComb.topVar(JetComb::kLep, JetComb::kEta ) );
28  values.add( "phiLepTop" , jetComb.topVar(JetComb::kLep, JetComb::kPhi ) );
29  values.add( "thetaLepTop", jetComb.topVar(JetComb::kLep, JetComb::kTheta) );
30  // hadronic W boson
31  values.add( "massHadW" , jetComb.wBosonVar(JetComb::kHad, JetComb::kMass ) );
32  values.add( "ptHadW" , jetComb.wBosonVar(JetComb::kHad, JetComb::kPt ) );
33  values.add( "etaHadW" , jetComb.wBosonVar(JetComb::kHad, JetComb::kEta ) );
34  values.add( "phiHadW" , jetComb.wBosonVar(JetComb::kHad, JetComb::kPhi ) );
35  values.add( "thetaHadW", jetComb.wBosonVar(JetComb::kHad, JetComb::kTheta) );
36  // hadronic b quark
37  values.add( "ptHadB" , jetComb.bQuarkVar(JetComb::kHad, JetComb::kPt ) );
38  values.add( "etaHadB" , jetComb.bQuarkVar(JetComb::kHad, JetComb::kEta ) );
39  values.add( "phiHadB" , jetComb.bQuarkVar(JetComb::kHad, JetComb::kPhi ) );
40  values.add( "thetaHadB", jetComb.bQuarkVar(JetComb::kHad, JetComb::kTheta) );
41  // leptonic b quark
42  values.add( "ptLepB" , jetComb.bQuarkVar(JetComb::kLep, JetComb::kPt ) );
43  values.add( "etaLepB" , jetComb.bQuarkVar(JetComb::kLep, JetComb::kEta ) );
44  values.add( "phiLepB" , jetComb.bQuarkVar(JetComb::kLep, JetComb::kPhi ) );
45  values.add( "thetaLepB", jetComb.bQuarkVar(JetComb::kLep, JetComb::kTheta) );
46  // light quark
47  values.add( "ptLightQ" , jetComb.lightQVar(false, JetComb::kPt ) );
48  values.add( "etaLightQ" , jetComb.lightQVar(false, JetComb::kEta ) );
49  values.add( "phiLightQ" , jetComb.lightQVar(false, JetComb::kPhi ) );
50  values.add( "thetaLightQ", jetComb.lightQVar(false, JetComb::kTheta) );
51  // light anti-quark
52  values.add( "ptLightQBar" , jetComb.lightQVar(true, JetComb::kPt ) );
53  values.add( "etaLightQBar" , jetComb.lightQVar(true, JetComb::kEta ) );
54  values.add( "phiLightQBar" , jetComb.lightQVar(true, JetComb::kPhi ) );
55  values.add( "thetaLightQBar", jetComb.lightQVar(true, JetComb::kTheta) );
56  // ----------------------------------------------------------------------
57  // compare two candidates of the ttbar system in DeltaM, DeltaR, DeltaPhi or DeltaTheta
58  // ----------------------------------------------------------------------
59  // the two top quarks
60  values.add( "deltaMHadTopLepTop" , jetComb.compareHadTopLepTop(JetComb::kDeltaM ) );
61  values.add( "deltaRHadTopLepTop" , jetComb.compareHadTopLepTop(JetComb::kDeltaR ) );
62  values.add( "deltaPhiHadTopLepTop" , jetComb.compareHadTopLepTop(JetComb::kDeltaPhi ) );
63  values.add( "deltaThetaHadTopLepTop", jetComb.compareHadTopLepTop(JetComb::kDeltaTheta) );
64  // the two W bosons
65  values.add( "deltaMHadWLepW" , jetComb.compareHadWLepW(JetComb::kDeltaM ) );
66  values.add( "deltaRHadWLepW" , jetComb.compareHadWLepW(JetComb::kDeltaR ) );
67  values.add( "deltaPhiHadWLepW" , jetComb.compareHadWLepW(JetComb::kDeltaPhi ) );
68  values.add( "deltaThetaHadWLepW", jetComb.compareHadWLepW(JetComb::kDeltaTheta) );
69  // the two b quarks
70  values.add( "deltaRHadBLepB" , jetComb.compareHadBLepB(JetComb::kDeltaR ) );
71  values.add( "deltaPhiHadBLepB" , jetComb.compareHadBLepB(JetComb::kDeltaPhi ) );
72  values.add( "deltaThetaHadBLepB", jetComb.compareHadBLepB(JetComb::kDeltaTheta) );
73  // the two light quarks
74  values.add( "deltaRHadQHadQBar" , jetComb.compareLightQuarks(JetComb::kDeltaR ) );
75  values.add( "deltaPhiHadQHadQBar" , jetComb.compareLightQuarks(JetComb::kDeltaPhi ) );
76  values.add( "deltaThetaHadQHadQBar", jetComb.compareLightQuarks(JetComb::kDeltaTheta) );
77  // the hadronic top and the hadronic W
78  values.add( "deltaMHadTopHadW" , jetComb.compareTopW(JetComb::kHad, JetComb::kHad, JetComb::kDeltaM ) );
79  values.add( "deltaRHadTopHadW" , jetComb.compareTopW(JetComb::kHad, JetComb::kHad, JetComb::kDeltaR ) );
80  values.add( "deltaPhiHadTopHadW" , jetComb.compareTopW(JetComb::kHad, JetComb::kHad, JetComb::kDeltaPhi ) );
81  values.add( "deltaThetaHadTopHadW", jetComb.compareTopW(JetComb::kHad, JetComb::kHad, JetComb::kDeltaTheta) );
82  // the leptonic top and the leptonic W
83  values.add( "deltaMLepTopLepW" , jetComb.compareTopW(JetComb::kLep, JetComb::kLep, JetComb::kDeltaM ) );
84  values.add( "deltaRLepTopLepW" , jetComb.compareTopW(JetComb::kLep, JetComb::kLep, JetComb::kDeltaR ) );
85  values.add( "deltaPhiLepTopLepW" , jetComb.compareTopW(JetComb::kLep, JetComb::kLep, JetComb::kDeltaPhi ) );
86  values.add( "deltaThetaLepTopLepW", jetComb.compareTopW(JetComb::kLep, JetComb::kLep, JetComb::kDeltaTheta) );
87  // the hadronic top and the leptonic W
88  values.add( "deltaMHadTopLepW" , jetComb.compareTopW(JetComb::kHad, JetComb::kLep, JetComb::kDeltaM ) );
89  values.add( "deltaRHadTopLepW" , jetComb.compareTopW(JetComb::kHad, JetComb::kLep, JetComb::kDeltaR ) );
90  values.add( "deltaPhiHadTopLepW" , jetComb.compareTopW(JetComb::kHad, JetComb::kLep, JetComb::kDeltaPhi ) );
91  values.add( "deltaThetaHadTopLepW", jetComb.compareTopW(JetComb::kHad, JetComb::kLep, JetComb::kDeltaTheta) );
92  // the leptonic top and the hadronic W
93  values.add( "deltaMLepTopHadW" , jetComb.compareTopW(JetComb::kLep, JetComb::kHad, JetComb::kDeltaM ) );
94  values.add( "deltaRLepTopHadW" , jetComb.compareTopW(JetComb::kLep, JetComb::kHad, JetComb::kDeltaR ) );
95  values.add( "deltaPhiLepTopHadW" , jetComb.compareTopW(JetComb::kLep, JetComb::kHad, JetComb::kDeltaPhi ) );
96  values.add( "deltaThetaLepTopHadW", jetComb.compareTopW(JetComb::kLep, JetComb::kHad, JetComb::kDeltaTheta) );
97  // the hadronic top and the hadronic b
98  values.add( "deltaRHadTopHadB" , jetComb.compareTopB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaR ) );
99  values.add( "deltaPhiHadTopHadB" , jetComb.compareTopB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaPhi ) );
100  values.add( "deltaThetaHadTopHadB", jetComb.compareTopB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaTheta) );
101  // the leptonic top and the leptonic b
102  values.add( "deltaRLepTopLepB" , jetComb.compareTopB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaR ) );
103  values.add( "deltaPhiLepTopLepB" , jetComb.compareTopB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaPhi ) );
104  values.add( "deltaThetaLepTopLepB", jetComb.compareTopB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaTheta) );
105  // the hadronic top and the leptonic b
106  values.add( "deltaRHadTopLepB" , jetComb.compareTopB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaR ) );
107  values.add( "deltaPhiHadTopLepB" , jetComb.compareTopB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaPhi ) );
108  values.add( "deltaThetaHadTopLepB", jetComb.compareTopB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaTheta) );
109  // the leptonic top and the hadronic b
110  values.add( "deltaRLepTopHadB" , jetComb.compareTopB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaR ) );
111  values.add( "deltaPhiLepTopHadB" , jetComb.compareTopB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaPhi ) );
112  values.add( "deltaThetaLepTopHadB", jetComb.compareTopB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaTheta) );
113  // the hadronic W and the hadronic b
114  values.add( "deltaRHadWHadB" , jetComb.compareWB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaR ) );
115  values.add( "deltaPhiHadWHadB" , jetComb.compareWB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaPhi ) );
116  values.add( "deltaThetaHadWHadB", jetComb.compareWB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaTheta) );
117  // the leptonic W and the leptonic b
118  values.add( "deltaRLepWLepB" , jetComb.compareWB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaR ) );
119  values.add( "deltaPhiLepWLepB" , jetComb.compareWB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaPhi ) );
120  values.add( "deltaThetaLepWLepB", jetComb.compareWB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaTheta) );
121  // the hadronic W and the leptonic b
122  values.add( "deltaRHadWLepB" , jetComb.compareWB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaR ) );
123  values.add( "deltaPhiHadWLepB" , jetComb.compareWB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaPhi ) );
124  values.add( "deltaThetaHadWLepB", jetComb.compareWB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaTheta) );
125  // the leptonic W and the hadronic b
126  values.add( "deltaRLepWHadB" , jetComb.compareWB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaR ) );
127  values.add( "deltaPhiLepWHadB" , jetComb.compareWB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaPhi ) );
128  values.add( "deltaThetaLepWHadB", jetComb.compareWB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaTheta) );
129  // the hadronic top and the lepton
130  values.add( "deltaRHadTopLepton" , jetComb.compareTopLepton(JetComb::kHad, JetComb::kDeltaR ) );
131  values.add( "deltaPhiHadTopLepton" , jetComb.compareTopLepton(JetComb::kHad, JetComb::kDeltaPhi ) );
132  values.add( "deltaThetaHadTopLepton", jetComb.compareTopLepton(JetComb::kHad, JetComb::kDeltaTheta) );
133  // the leptonic top and the lepton
134  values.add( "deltaRLepTopLepton" , jetComb.compareTopLepton(JetComb::kLep, JetComb::kDeltaR ) );
135  values.add( "deltaPhiLepTopLepton" , jetComb.compareTopLepton(JetComb::kLep, JetComb::kDeltaPhi ) );
136  values.add( "deltaThetaLepTopLepton", jetComb.compareTopLepton(JetComb::kLep, JetComb::kDeltaTheta) );
137  // the hadronic top and the neutrino
138  values.add( "deltaRHadTopNeutrino" , jetComb.compareTopNeutrino(JetComb::kHad, JetComb::kDeltaR ) );
139  values.add( "deltaPhiHadTopNeutrino" , jetComb.compareTopNeutrino(JetComb::kHad, JetComb::kDeltaPhi ) );
140  values.add( "deltaThetaHadTopNeutrino", jetComb.compareTopNeutrino(JetComb::kHad, JetComb::kDeltaTheta) );
141  // the leptonic top and the neutrino
142  values.add( "deltaRLepTopNeutrino" , jetComb.compareTopNeutrino(JetComb::kLep, JetComb::kDeltaR ) );
143  values.add( "deltaPhiLepTopNeutrino" , jetComb.compareTopNeutrino(JetComb::kLep, JetComb::kDeltaPhi ) );
144  values.add( "deltaThetaLepTopNeutrino", jetComb.compareTopNeutrino(JetComb::kLep, JetComb::kDeltaTheta) );
145  // the hadronic W and the lepton
146  values.add( "deltaRHadWLepton" , jetComb.compareWLepton(JetComb::kHad, JetComb::kDeltaR ) );
147  values.add( "deltaPhiHadWLepton" , jetComb.compareWLepton(JetComb::kHad, JetComb::kDeltaPhi ) );
148  values.add( "deltaThetaHadWLepton", jetComb.compareWLepton(JetComb::kHad, JetComb::kDeltaTheta) );
149  // the hadronic W and the neutrino
150  values.add( "deltaRHadWNeutrino" , jetComb.compareWNeutrino(JetComb::kHad, JetComb::kDeltaR ) );
151  values.add( "deltaPhiHadWNeutrino" , jetComb.compareWNeutrino(JetComb::kHad, JetComb::kDeltaPhi ) );
152  values.add( "deltaThetaHadWNeutrino", jetComb.compareWNeutrino(JetComb::kHad, JetComb::kDeltaTheta) );
153  // the hadronic b and the lepton
154  values.add( "deltaRHadBLepton" , jetComb.compareBLepton(JetComb::kHad, JetComb::kDeltaR ) );
155  values.add( "deltaPhiHadBLepton" , jetComb.compareBLepton(JetComb::kHad, JetComb::kDeltaPhi ) );
156  values.add( "deltaThetaHadBLepton", jetComb.compareBLepton(JetComb::kHad, JetComb::kDeltaTheta) );
157  // the leptonic b and the lepton
158  values.add( "deltaRLepBLepton" , jetComb.compareBLepton(JetComb::kLep, JetComb::kDeltaR ) );
159  values.add( "deltaPhiLepBLepton" , jetComb.compareBLepton(JetComb::kLep, JetComb::kDeltaPhi ) );
160  values.add( "deltaThetaLepBLepton", jetComb.compareBLepton(JetComb::kLep, JetComb::kDeltaTheta) );
161  // the hadronic b and the neutrino
162  values.add( "deltaRHadBNeutrino" , jetComb.compareBNeutrino(JetComb::kHad, JetComb::kDeltaR ) );
163  values.add( "deltaPhiHadBNeutrino" , jetComb.compareBNeutrino(JetComb::kHad, JetComb::kDeltaPhi ) );
164  values.add( "deltaThetaHadBNeutrino", jetComb.compareBNeutrino(JetComb::kHad, JetComb::kDeltaTheta) );
165  // the leptonic b and the neutrino
166  values.add( "deltaRLepBNeutrino" , jetComb.compareBNeutrino(JetComb::kLep, JetComb::kDeltaR ) );
167  values.add( "deltaPhiLepBNeutrino" , jetComb.compareBNeutrino(JetComb::kLep, JetComb::kDeltaPhi ) );
168  values.add( "deltaThetaLepBNeutrino", jetComb.compareBNeutrino(JetComb::kLep, JetComb::kDeltaTheta) );
169  // ----------------------------------------------------------------------
170  // special variables combining the pt of the jets
171  // ----------------------------------------------------------------------
172  values.add( "relativePtHadronicTop", jetComb.relativePtHadronicTop() );
173  values.add( "bOverLightQPt" , jetComb.bOverLightQPt() );
174  // ----------------------------------------------------------------------
175  // variables based on b-tagging with six different algorithms
176  // ----------------------------------------------------------------------
177  // hadronic b quark candidate
178  values.add( "bTagHadBTrkCntHighEff", jetComb.bTag(JetComb::kHad, JetComb::kTrackCountHighEff) );
179  values.add( "bTagHadBTrkCntHighPur", jetComb.bTag(JetComb::kHad, JetComb::kTrackCountHighPur) );
180  values.add( "bTagHadBSoftMuon" , jetComb.bTag(JetComb::kHad, JetComb::kSoftMuon ) );
181  values.add( "bTagHadBSimpSecondVtx", jetComb.bTag(JetComb::kHad, JetComb::kSimpleSecondVtx ) );
182  values.add( "bTagHadBCombSecondVtx", jetComb.bTag(JetComb::kHad, JetComb::kCombSecondVtx ) );
183  values.add( "bTagHadBImpactParaMVA", jetComb.bTag(JetComb::kHad, JetComb::kCombSecondVtxMVA ) );
184  // leptonic b quark candidate
185  values.add( "bTagLepBTrkCntHighEff", jetComb.bTag(JetComb::kLep, JetComb::kTrackCountHighEff) );
186  values.add( "bTagLepBTrkCntHighPur", jetComb.bTag(JetComb::kLep, JetComb::kTrackCountHighPur) );
187  values.add( "bTagLepBSoftMuon" , jetComb.bTag(JetComb::kLep, JetComb::kSoftMuon ) );
188  values.add( "bTagLepBSimpSecondVtx", jetComb.bTag(JetComb::kLep, JetComb::kSimpleSecondVtx ) );
189  values.add( "bTagLepBCombSecondVtx", jetComb.bTag(JetComb::kLep, JetComb::kCombSecondVtx ) );
190  values.add( "bTagLepBImpactParaMVA", jetComb.bTag(JetComb::kLep, JetComb::kCombSecondVtxMVA ) );
191  // summed b-tags of the two b quark candidates
192  values.add( "bTagSumTrkCntHighEff", jetComb.combinedBTags(JetComb::kTrackCountHighEff, JetComb::kAdd) );
193  values.add( "bTagSumTrkCntHighPur", jetComb.combinedBTags(JetComb::kTrackCountHighPur, JetComb::kAdd) );
194  values.add( "bTagSumSoftMuon" , jetComb.combinedBTags(JetComb::kSoftMuon, JetComb::kAdd) );
195  values.add( "bTagSumSimpSecondVtx", jetComb.combinedBTags(JetComb::kSimpleSecondVtx, JetComb::kAdd) );
196  values.add( "bTagSumCombSecondVtx", jetComb.combinedBTags(JetComb::kCombSecondVtx, JetComb::kAdd) );
197  values.add( "bTagSumImpactParaMVA", jetComb.combinedBTags(JetComb::kCombSecondVtxMVA, JetComb::kAdd) );
198  // multiplied b-tags of the two b quark candidates
199  values.add( "bTagProdImpactParaMVA", jetComb.combinedBTags(JetComb::kCombSecondVtxMVA, JetComb::kMult) );
200  // summed b-tags of the two light quark candidates
201  values.add( "bTagSumHadQHadQBarTrkCntHighEff", jetComb.combinedBTagsForLightQuarks(JetComb::kTrackCountHighEff, JetComb::kAdd) );
202  values.add( "bTagSumHadQHadQBarTrkCntHighPur", jetComb.combinedBTagsForLightQuarks(JetComb::kTrackCountHighPur, JetComb::kAdd) );
203  values.add( "bTagSumHadQHadQBarSoftMuon" , jetComb.combinedBTagsForLightQuarks(JetComb::kSoftMuon, JetComb::kAdd) );
204  values.add( "bTagSumHadQHadQBarSimpSecondVtx", jetComb.combinedBTagsForLightQuarks(JetComb::kSimpleSecondVtx, JetComb::kAdd) );
205  values.add( "bTagSumHadQHadQBarCombSecondVtx", jetComb.combinedBTagsForLightQuarks(JetComb::kCombSecondVtx, JetComb::kAdd) );
206  values.add( "bTagSumHadQHadQBarImpactParaMVA", jetComb.combinedBTagsForLightQuarks(JetComb::kCombSecondVtxMVA, JetComb::kAdd) );
207  // multiplied b-tags of the two light quark candidates
208  values.add( "bTagProdHadQHadQBarImpactParaMVA", jetComb.combinedBTagsForLightQuarks(JetComb::kCombSecondVtxMVA, JetComb::kMult) );
209 }
210 
211 #endif
double relativePtHadronicTop() const
double combinedBTags(JetComb::BTagAlgo algo, JetComb::Operator op) const
combined b-tag values of the two b candidates
double compareWB(JetComb::DecayType dec1, JetComb::DecayType dec2, JetComb::CompType comp) const
comparison between the W and the b candidate
double compareHadBLepB(JetComb::CompType comp) const
comparison between the two b candidates
double compareHadWLepW(JetComb::CompType comp) const
comparison between the two W candidates
double bQuarkVar(JetComb::DecayType decay, JetComb::VarType var) const
b quark candidate variable
double compareHadTopLepTop(JetComb::CompType comp) const
comparison between the two top candidates
double compareWLepton(JetComb::DecayType decay, JetComb::CompType comp) const
comparison between the W and the lepton candidate
double compareBLepton(JetComb::DecayType decay, JetComb::CompType comp) const
comparison between the b and the lepton candidate
double lightQVar(bool qbar, JetComb::VarType var) const
light quark candidate variable
double compareBNeutrino(JetComb::DecayType decay, JetComb::CompType comp) const
comparison between the b and the neutrino candidate
double compareLightQuarks(JetComb::CompType comp) const
comparison between the lightQ and the lightQBar candidate
double compareTopLepton(JetComb::DecayType decay, JetComb::CompType comp) const
comparison between the top and the lepton candidate
double compareTopW(JetComb::DecayType dec1, JetComb::DecayType dec2, JetComb::CompType comp) const
comparison between the top and the W candidate
double compareTopB(JetComb::DecayType dec1, JetComb::DecayType dec2, JetComb::CompType comp) const
comparison between the top and the b candidate
double topVar(JetComb::DecayType decay, JetComb::VarType var) const
top quark candidate variable
double wBosonVar(JetComb::DecayType decay, JetComb::VarType var) const
W boson candidate variable.
Helper class that can contain an list of identifier-value pairs.
Definition: Variable.h:81
double combinedBTagsForLightQuarks(JetComb::BTagAlgo algo, JetComb::Operator op) const
combined b-tag values of the two light quark candidates
double compareWNeutrino(JetComb::DecayType decay, JetComb::CompType comp) const
comparison between the W and the neutrino candidate
void evaluateTtSemiLepJetComb(PhysicsTools::Variable::ValueList &values, const TtSemiLepJetComb &jetComb)
Common calculator class to keep multivariate analysis variables for jet combinations in semi-leptonic...
double compareTopNeutrino(JetComb::DecayType decay, JetComb::CompType comp) const
comparison between the top and the neutrino candidate
double bTag(JetComb::DecayType decay, JetComb::BTagAlgo algo) const
b-tag value of a b candidate
double bOverLightQPt() const
void add(AtomicId id, double value)
Definition: Variable.h:106