00001 #ifndef TtSemiLepJetCombEval_h
00002 #define TtSemiLepJetCombEval_h
00003
00004 #include "PhysicsTools/MVAComputer/interface/Variable.h"
00005 #include "TopQuarkAnalysis/TopJetCombination/interface/TtSemiLepJetComb.h"
00006
00007
00008
00009
00010
00011
00012
00013 inline void evaluateTtSemiLepJetComb(PhysicsTools::Variable::ValueList& values, const TtSemiLepJetComb& jetComb)
00014 {
00015
00016
00017
00018
00019 values.add( "massHadTop" , jetComb.topVar(JetComb::kHad, JetComb::kMass ) );
00020 values.add( "ptHadTop" , jetComb.topVar(JetComb::kHad, JetComb::kPt ) );
00021 values.add( "etaHadTop" , jetComb.topVar(JetComb::kHad, JetComb::kEta ) );
00022 values.add( "phiHadTop" , jetComb.topVar(JetComb::kHad, JetComb::kPhi ) );
00023 values.add( "thetaHadTop", jetComb.topVar(JetComb::kHad, JetComb::kTheta) );
00024
00025 values.add( "massLepTop" , jetComb.topVar(JetComb::kLep, JetComb::kMass ) );
00026 values.add( "ptLepTop" , jetComb.topVar(JetComb::kLep, JetComb::kPt ) );
00027 values.add( "etaLepTop" , jetComb.topVar(JetComb::kLep, JetComb::kEta ) );
00028 values.add( "phiLepTop" , jetComb.topVar(JetComb::kLep, JetComb::kPhi ) );
00029 values.add( "thetaLepTop", jetComb.topVar(JetComb::kLep, JetComb::kTheta) );
00030
00031 values.add( "massHadW" , jetComb.wBosonVar(JetComb::kHad, JetComb::kMass ) );
00032 values.add( "ptHadW" , jetComb.wBosonVar(JetComb::kHad, JetComb::kPt ) );
00033 values.add( "etaHadW" , jetComb.wBosonVar(JetComb::kHad, JetComb::kEta ) );
00034 values.add( "phiHadW" , jetComb.wBosonVar(JetComb::kHad, JetComb::kPhi ) );
00035 values.add( "thetaHadW", jetComb.wBosonVar(JetComb::kHad, JetComb::kTheta) );
00036
00037 values.add( "ptHadB" , jetComb.bQuarkVar(JetComb::kHad, JetComb::kPt ) );
00038 values.add( "etaHadB" , jetComb.bQuarkVar(JetComb::kHad, JetComb::kEta ) );
00039 values.add( "phiHadB" , jetComb.bQuarkVar(JetComb::kHad, JetComb::kPhi ) );
00040 values.add( "thetaHadB", jetComb.bQuarkVar(JetComb::kHad, JetComb::kTheta) );
00041
00042 values.add( "ptLepB" , jetComb.bQuarkVar(JetComb::kLep, JetComb::kPt ) );
00043 values.add( "etaLepB" , jetComb.bQuarkVar(JetComb::kLep, JetComb::kEta ) );
00044 values.add( "phiLepB" , jetComb.bQuarkVar(JetComb::kLep, JetComb::kPhi ) );
00045 values.add( "thetaLepB", jetComb.bQuarkVar(JetComb::kLep, JetComb::kTheta) );
00046
00047 values.add( "ptLightQ" , jetComb.lightQVar(false, JetComb::kPt ) );
00048 values.add( "etaLightQ" , jetComb.lightQVar(false, JetComb::kEta ) );
00049 values.add( "phiLightQ" , jetComb.lightQVar(false, JetComb::kPhi ) );
00050 values.add( "thetaLightQ", jetComb.lightQVar(false, JetComb::kTheta) );
00051
00052 values.add( "ptLightQBar" , jetComb.lightQVar(true, JetComb::kPt ) );
00053 values.add( "etaLightQBar" , jetComb.lightQVar(true, JetComb::kEta ) );
00054 values.add( "phiLightQBar" , jetComb.lightQVar(true, JetComb::kPhi ) );
00055 values.add( "thetaLightQBar", jetComb.lightQVar(true, JetComb::kTheta) );
00056
00057
00058
00059
00060 values.add( "deltaMHadTopLepTop" , jetComb.compareHadTopLepTop(JetComb::kDeltaM ) );
00061 values.add( "deltaRHadTopLepTop" , jetComb.compareHadTopLepTop(JetComb::kDeltaR ) );
00062 values.add( "deltaPhiHadTopLepTop" , jetComb.compareHadTopLepTop(JetComb::kDeltaPhi ) );
00063 values.add( "deltaThetaHadTopLepTop", jetComb.compareHadTopLepTop(JetComb::kDeltaTheta) );
00064
00065 values.add( "deltaMHadWLepW" , jetComb.compareHadWLepW(JetComb::kDeltaM ) );
00066 values.add( "deltaRHadWLepW" , jetComb.compareHadWLepW(JetComb::kDeltaR ) );
00067 values.add( "deltaPhiHadWLepW" , jetComb.compareHadWLepW(JetComb::kDeltaPhi ) );
00068 values.add( "deltaThetaHadWLepW", jetComb.compareHadWLepW(JetComb::kDeltaTheta) );
00069
00070 values.add( "deltaRHadBLepB" , jetComb.compareHadBLepB(JetComb::kDeltaR ) );
00071 values.add( "deltaPhiHadBLepB" , jetComb.compareHadBLepB(JetComb::kDeltaPhi ) );
00072 values.add( "deltaThetaHadBLepB", jetComb.compareHadBLepB(JetComb::kDeltaTheta) );
00073
00074 values.add( "deltaRHadQHadQBar" , jetComb.compareLightQuarks(JetComb::kDeltaR ) );
00075 values.add( "deltaPhiHadQHadQBar" , jetComb.compareLightQuarks(JetComb::kDeltaPhi ) );
00076 values.add( "deltaThetaHadQHadQBar", jetComb.compareLightQuarks(JetComb::kDeltaTheta) );
00077
00078 values.add( "deltaMHadTopHadW" , jetComb.compareTopW(JetComb::kHad, JetComb::kHad, JetComb::kDeltaM ) );
00079 values.add( "deltaRHadTopHadW" , jetComb.compareTopW(JetComb::kHad, JetComb::kHad, JetComb::kDeltaR ) );
00080 values.add( "deltaPhiHadTopHadW" , jetComb.compareTopW(JetComb::kHad, JetComb::kHad, JetComb::kDeltaPhi ) );
00081 values.add( "deltaThetaHadTopHadW", jetComb.compareTopW(JetComb::kHad, JetComb::kHad, JetComb::kDeltaTheta) );
00082
00083 values.add( "deltaMLepTopLepW" , jetComb.compareTopW(JetComb::kLep, JetComb::kLep, JetComb::kDeltaM ) );
00084 values.add( "deltaRLepTopLepW" , jetComb.compareTopW(JetComb::kLep, JetComb::kLep, JetComb::kDeltaR ) );
00085 values.add( "deltaPhiLepTopLepW" , jetComb.compareTopW(JetComb::kLep, JetComb::kLep, JetComb::kDeltaPhi ) );
00086 values.add( "deltaThetaLepTopLepW", jetComb.compareTopW(JetComb::kLep, JetComb::kLep, JetComb::kDeltaTheta) );
00087
00088 values.add( "deltaMHadTopLepW" , jetComb.compareTopW(JetComb::kHad, JetComb::kLep, JetComb::kDeltaM ) );
00089 values.add( "deltaRHadTopLepW" , jetComb.compareTopW(JetComb::kHad, JetComb::kLep, JetComb::kDeltaR ) );
00090 values.add( "deltaPhiHadTopLepW" , jetComb.compareTopW(JetComb::kHad, JetComb::kLep, JetComb::kDeltaPhi ) );
00091 values.add( "deltaThetaHadTopLepW", jetComb.compareTopW(JetComb::kHad, JetComb::kLep, JetComb::kDeltaTheta) );
00092
00093 values.add( "deltaMLepTopHadW" , jetComb.compareTopW(JetComb::kLep, JetComb::kHad, JetComb::kDeltaM ) );
00094 values.add( "deltaRLepTopHadW" , jetComb.compareTopW(JetComb::kLep, JetComb::kHad, JetComb::kDeltaR ) );
00095 values.add( "deltaPhiLepTopHadW" , jetComb.compareTopW(JetComb::kLep, JetComb::kHad, JetComb::kDeltaPhi ) );
00096 values.add( "deltaThetaLepTopHadW", jetComb.compareTopW(JetComb::kLep, JetComb::kHad, JetComb::kDeltaTheta) );
00097
00098 values.add( "deltaRHadTopHadB" , jetComb.compareTopB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaR ) );
00099 values.add( "deltaPhiHadTopHadB" , jetComb.compareTopB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaPhi ) );
00100 values.add( "deltaThetaHadTopHadB", jetComb.compareTopB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaTheta) );
00101
00102 values.add( "deltaRLepTopLepB" , jetComb.compareTopB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaR ) );
00103 values.add( "deltaPhiLepTopLepB" , jetComb.compareTopB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaPhi ) );
00104 values.add( "deltaThetaLepTopLepB", jetComb.compareTopB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaTheta) );
00105
00106 values.add( "deltaRHadTopLepB" , jetComb.compareTopB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaR ) );
00107 values.add( "deltaPhiHadTopLepB" , jetComb.compareTopB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaPhi ) );
00108 values.add( "deltaThetaHadTopLepB", jetComb.compareTopB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaTheta) );
00109
00110 values.add( "deltaRLepTopHadB" , jetComb.compareTopB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaR ) );
00111 values.add( "deltaPhiLepTopHadB" , jetComb.compareTopB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaPhi ) );
00112 values.add( "deltaThetaLepTopHadB", jetComb.compareTopB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaTheta) );
00113
00114 values.add( "deltaRHadWHadB" , jetComb.compareWB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaR ) );
00115 values.add( "deltaPhiHadWHadB" , jetComb.compareWB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaPhi ) );
00116 values.add( "deltaThetaHadWHadB", jetComb.compareWB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaTheta) );
00117
00118 values.add( "deltaRLepWLepB" , jetComb.compareWB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaR ) );
00119 values.add( "deltaPhiLepWLepB" , jetComb.compareWB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaPhi ) );
00120 values.add( "deltaThetaLepWLepB", jetComb.compareWB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaTheta) );
00121
00122 values.add( "deltaRHadWLepB" , jetComb.compareWB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaR ) );
00123 values.add( "deltaPhiHadWLepB" , jetComb.compareWB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaPhi ) );
00124 values.add( "deltaThetaHadWLepB", jetComb.compareWB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaTheta) );
00125
00126 values.add( "deltaRLepWHadB" , jetComb.compareWB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaR ) );
00127 values.add( "deltaPhiLepWHadB" , jetComb.compareWB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaPhi ) );
00128 values.add( "deltaThetaLepWHadB", jetComb.compareWB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaTheta) );
00129
00130 values.add( "deltaRHadTopLepton" , jetComb.compareTopLepton(JetComb::kHad, JetComb::kDeltaR ) );
00131 values.add( "deltaPhiHadTopLepton" , jetComb.compareTopLepton(JetComb::kHad, JetComb::kDeltaPhi ) );
00132 values.add( "deltaThetaHadTopLepton", jetComb.compareTopLepton(JetComb::kHad, JetComb::kDeltaTheta) );
00133
00134 values.add( "deltaRLepTopLepton" , jetComb.compareTopLepton(JetComb::kLep, JetComb::kDeltaR ) );
00135 values.add( "deltaPhiLepTopLepton" , jetComb.compareTopLepton(JetComb::kLep, JetComb::kDeltaPhi ) );
00136 values.add( "deltaThetaLepTopLepton", jetComb.compareTopLepton(JetComb::kLep, JetComb::kDeltaTheta) );
00137
00138 values.add( "deltaRHadTopNeutrino" , jetComb.compareTopNeutrino(JetComb::kHad, JetComb::kDeltaR ) );
00139 values.add( "deltaPhiHadTopNeutrino" , jetComb.compareTopNeutrino(JetComb::kHad, JetComb::kDeltaPhi ) );
00140 values.add( "deltaThetaHadTopNeutrino", jetComb.compareTopNeutrino(JetComb::kHad, JetComb::kDeltaTheta) );
00141
00142 values.add( "deltaRLepTopNeutrino" , jetComb.compareTopNeutrino(JetComb::kLep, JetComb::kDeltaR ) );
00143 values.add( "deltaPhiLepTopNeutrino" , jetComb.compareTopNeutrino(JetComb::kLep, JetComb::kDeltaPhi ) );
00144 values.add( "deltaThetaLepTopNeutrino", jetComb.compareTopNeutrino(JetComb::kLep, JetComb::kDeltaTheta) );
00145
00146 values.add( "deltaRHadWLepton" , jetComb.compareWLepton(JetComb::kHad, JetComb::kDeltaR ) );
00147 values.add( "deltaPhiHadWLepton" , jetComb.compareWLepton(JetComb::kHad, JetComb::kDeltaPhi ) );
00148 values.add( "deltaThetaHadWLepton", jetComb.compareWLepton(JetComb::kHad, JetComb::kDeltaTheta) );
00149
00150 values.add( "deltaRHadWNeutrino" , jetComb.compareWNeutrino(JetComb::kHad, JetComb::kDeltaR ) );
00151 values.add( "deltaPhiHadWNeutrino" , jetComb.compareWNeutrino(JetComb::kHad, JetComb::kDeltaPhi ) );
00152 values.add( "deltaThetaHadWNeutrino", jetComb.compareWNeutrino(JetComb::kHad, JetComb::kDeltaTheta) );
00153
00154 values.add( "deltaRHadBLepton" , jetComb.compareBLepton(JetComb::kHad, JetComb::kDeltaR ) );
00155 values.add( "deltaPhiHadBLepton" , jetComb.compareBLepton(JetComb::kHad, JetComb::kDeltaPhi ) );
00156 values.add( "deltaThetaHadBLepton", jetComb.compareBLepton(JetComb::kHad, JetComb::kDeltaTheta) );
00157
00158 values.add( "deltaRLepBLepton" , jetComb.compareBLepton(JetComb::kLep, JetComb::kDeltaR ) );
00159 values.add( "deltaPhiLepBLepton" , jetComb.compareBLepton(JetComb::kLep, JetComb::kDeltaPhi ) );
00160 values.add( "deltaThetaLepBLepton", jetComb.compareBLepton(JetComb::kLep, JetComb::kDeltaTheta) );
00161
00162 values.add( "deltaRHadBNeutrino" , jetComb.compareBNeutrino(JetComb::kHad, JetComb::kDeltaR ) );
00163 values.add( "deltaPhiHadBNeutrino" , jetComb.compareBNeutrino(JetComb::kHad, JetComb::kDeltaPhi ) );
00164 values.add( "deltaThetaHadBNeutrino", jetComb.compareBNeutrino(JetComb::kHad, JetComb::kDeltaTheta) );
00165
00166 values.add( "deltaRLepBNeutrino" , jetComb.compareBNeutrino(JetComb::kLep, JetComb::kDeltaR ) );
00167 values.add( "deltaPhiLepBNeutrino" , jetComb.compareBNeutrino(JetComb::kLep, JetComb::kDeltaPhi ) );
00168 values.add( "deltaThetaLepBNeutrino", jetComb.compareBNeutrino(JetComb::kLep, JetComb::kDeltaTheta) );
00169
00170
00171
00172 values.add( "relativePtHadronicTop", jetComb.relativePtHadronicTop() );
00173 values.add( "bOverLightQPt" , jetComb.bOverLightQPt() );
00174
00175
00176
00177
00178 values.add( "bTagHadBTrkCntHighEff", jetComb.bTag(JetComb::kHad, JetComb::kTrackCountHighEff) );
00179 values.add( "bTagHadBTrkCntHighPur", jetComb.bTag(JetComb::kHad, JetComb::kTrackCountHighPur) );
00180 values.add( "bTagHadBSoftMuon" , jetComb.bTag(JetComb::kHad, JetComb::kSoftMuon ) );
00181 values.add( "bTagHadBSimpSecondVtx", jetComb.bTag(JetComb::kHad, JetComb::kSimpleSecondVtx ) );
00182 values.add( "bTagHadBCombSecondVtx", jetComb.bTag(JetComb::kHad, JetComb::kCombSecondVtx ) );
00183 values.add( "bTagHadBImpactParaMVA", jetComb.bTag(JetComb::kHad, JetComb::kCombSecondVtxMVA ) );
00184
00185 values.add( "bTagLepBTrkCntHighEff", jetComb.bTag(JetComb::kLep, JetComb::kTrackCountHighEff) );
00186 values.add( "bTagLepBTrkCntHighPur", jetComb.bTag(JetComb::kLep, JetComb::kTrackCountHighPur) );
00187 values.add( "bTagLepBSoftMuon" , jetComb.bTag(JetComb::kLep, JetComb::kSoftMuon ) );
00188 values.add( "bTagLepBSimpSecondVtx", jetComb.bTag(JetComb::kLep, JetComb::kSimpleSecondVtx ) );
00189 values.add( "bTagLepBCombSecondVtx", jetComb.bTag(JetComb::kLep, JetComb::kCombSecondVtx ) );
00190 values.add( "bTagLepBImpactParaMVA", jetComb.bTag(JetComb::kLep, JetComb::kCombSecondVtxMVA ) );
00191
00192 values.add( "bTagSumTrkCntHighEff", jetComb.combinedBTags(JetComb::kTrackCountHighEff, JetComb::kAdd) );
00193 values.add( "bTagSumTrkCntHighPur", jetComb.combinedBTags(JetComb::kTrackCountHighPur, JetComb::kAdd) );
00194 values.add( "bTagSumSoftMuon" , jetComb.combinedBTags(JetComb::kSoftMuon, JetComb::kAdd) );
00195 values.add( "bTagSumSimpSecondVtx", jetComb.combinedBTags(JetComb::kSimpleSecondVtx, JetComb::kAdd) );
00196 values.add( "bTagSumCombSecondVtx", jetComb.combinedBTags(JetComb::kCombSecondVtx, JetComb::kAdd) );
00197 values.add( "bTagSumImpactParaMVA", jetComb.combinedBTags(JetComb::kCombSecondVtxMVA, JetComb::kAdd) );
00198
00199 values.add( "bTagProdImpactParaMVA", jetComb.combinedBTags(JetComb::kCombSecondVtxMVA, JetComb::kMult) );
00200
00201 values.add( "bTagSumHadQHadQBarTrkCntHighEff", jetComb.combinedBTagsForLightQuarks(JetComb::kTrackCountHighEff, JetComb::kAdd) );
00202 values.add( "bTagSumHadQHadQBarTrkCntHighPur", jetComb.combinedBTagsForLightQuarks(JetComb::kTrackCountHighPur, JetComb::kAdd) );
00203 values.add( "bTagSumHadQHadQBarSoftMuon" , jetComb.combinedBTagsForLightQuarks(JetComb::kSoftMuon, JetComb::kAdd) );
00204 values.add( "bTagSumHadQHadQBarSimpSecondVtx", jetComb.combinedBTagsForLightQuarks(JetComb::kSimpleSecondVtx, JetComb::kAdd) );
00205 values.add( "bTagSumHadQHadQBarCombSecondVtx", jetComb.combinedBTagsForLightQuarks(JetComb::kCombSecondVtx, JetComb::kAdd) );
00206 values.add( "bTagSumHadQHadQBarImpactParaMVA", jetComb.combinedBTagsForLightQuarks(JetComb::kCombSecondVtxMVA, JetComb::kAdd) );
00207
00208 values.add( "bTagProdHadQHadQBarImpactParaMVA", jetComb.combinedBTagsForLightQuarks(JetComb::kCombSecondVtxMVA, JetComb::kMult) );
00209 }
00210
00211 #endif