CMS 3D CMS Logo

Functions

/data/refman/pasoursint/CMSSW_5_3_0/src/TopQuarkAnalysis/TopJetCombination/interface/TtSemiLepJetCombEval.h File Reference

#include "PhysicsTools/MVAComputer/interface/Variable.h"
#include "TopQuarkAnalysis/TopJetCombination/interface/TtSemiLepJetComb.h"

Go to the source code of this file.

Functions

void evaluateTtSemiLepJetComb (PhysicsTools::Variable::ValueList &values, const TtSemiLepJetComb &jetComb)

Function Documentation

void evaluateTtSemiLepJetComb ( PhysicsTools::Variable::ValueList values,
const TtSemiLepJetComb jetComb 
) [inline]

Definition at line 13 of file TtSemiLepJetCombEval.h.

References PhysicsTools::Variable::ValueList::add(), TtSemiLepJetComb::bOverLightQPt(), TtSemiLepJetComb::bQuarkVar(), TtSemiLepJetComb::bTag(), TtSemiLepJetComb::combinedBTags(), TtSemiLepJetComb::combinedBTagsForLightQuarks(), TtSemiLepJetComb::compareBLepton(), TtSemiLepJetComb::compareBNeutrino(), TtSemiLepJetComb::compareHadBLepB(), TtSemiLepJetComb::compareHadTopLepTop(), TtSemiLepJetComb::compareHadWLepW(), TtSemiLepJetComb::compareLightQuarks(), TtSemiLepJetComb::compareTopB(), TtSemiLepJetComb::compareTopLepton(), TtSemiLepJetComb::compareTopNeutrino(), TtSemiLepJetComb::compareTopW(), TtSemiLepJetComb::compareWB(), TtSemiLepJetComb::compareWLepton(), TtSemiLepJetComb::compareWNeutrino(), JetComb::kAdd, JetComb::kCombSecondVtx, JetComb::kCombSecondVtxMVA, JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, JetComb::kEta, JetComb::kHad, JetComb::kLep, JetComb::kMass, JetComb::kMult, JetComb::kPhi, JetComb::kPt, JetComb::kSimpleSecondVtx, JetComb::kSoftMuon, JetComb::kTheta, JetComb::kTrackCountHighEff, JetComb::kTrackCountHighPur, TtSemiLepJetComb::lightQVar(), TtSemiLepJetComb::relativePtHadronicTop(), TtSemiLepJetComb::topVar(), and TtSemiLepJetComb::wBosonVar().

Referenced by TtSemiLepJetCombMVATrainer::analyze(), and TtSemiLepJetCombMVAComputer::produce().

{
  // ----------------------------------------------------------------------
  // mass, pt, eta, phi and theta of single candidates of the ttbar system
  // ----------------------------------------------------------------------
  // hadronic top quark
  values.add( "massHadTop" , jetComb.topVar(JetComb::kHad, JetComb::kMass ) );
  values.add( "ptHadTop"   , jetComb.topVar(JetComb::kHad, JetComb::kPt   ) );
  values.add( "etaHadTop"  , jetComb.topVar(JetComb::kHad, JetComb::kEta  ) );
  values.add( "phiHadTop"  , jetComb.topVar(JetComb::kHad, JetComb::kPhi  ) );
  values.add( "thetaHadTop", jetComb.topVar(JetComb::kHad, JetComb::kTheta) );
  // leptonic top quark
  values.add( "massLepTop" , jetComb.topVar(JetComb::kLep, JetComb::kMass ) );
  values.add( "ptLepTop"   , jetComb.topVar(JetComb::kLep, JetComb::kPt   ) );
  values.add( "etaLepTop"  , jetComb.topVar(JetComb::kLep, JetComb::kEta  ) );
  values.add( "phiLepTop"  , jetComb.topVar(JetComb::kLep, JetComb::kPhi  ) );
  values.add( "thetaLepTop", jetComb.topVar(JetComb::kLep, JetComb::kTheta) );
  // hadronic W boson
  values.add( "massHadW" , jetComb.wBosonVar(JetComb::kHad, JetComb::kMass ) );
  values.add( "ptHadW"   , jetComb.wBosonVar(JetComb::kHad, JetComb::kPt   ) );
  values.add( "etaHadW"  , jetComb.wBosonVar(JetComb::kHad, JetComb::kEta  ) );
  values.add( "phiHadW"  , jetComb.wBosonVar(JetComb::kHad, JetComb::kPhi  ) );
  values.add( "thetaHadW", jetComb.wBosonVar(JetComb::kHad, JetComb::kTheta) );
  // hadronic b quark
  values.add( "ptHadB"   , jetComb.bQuarkVar(JetComb::kHad, JetComb::kPt   ) );
  values.add( "etaHadB"  , jetComb.bQuarkVar(JetComb::kHad, JetComb::kEta  ) );
  values.add( "phiHadB"  , jetComb.bQuarkVar(JetComb::kHad, JetComb::kPhi  ) );
  values.add( "thetaHadB", jetComb.bQuarkVar(JetComb::kHad, JetComb::kTheta) );
  // leptonic b quark
  values.add( "ptLepB"   , jetComb.bQuarkVar(JetComb::kLep, JetComb::kPt   ) );
  values.add( "etaLepB"  , jetComb.bQuarkVar(JetComb::kLep, JetComb::kEta  ) );
  values.add( "phiLepB"  , jetComb.bQuarkVar(JetComb::kLep, JetComb::kPhi  ) );
  values.add( "thetaLepB", jetComb.bQuarkVar(JetComb::kLep, JetComb::kTheta) );
  // light quark
  values.add( "ptLightQ"   , jetComb.lightQVar(false, JetComb::kPt   ) );
  values.add( "etaLightQ"  , jetComb.lightQVar(false, JetComb::kEta  ) );
  values.add( "phiLightQ"  , jetComb.lightQVar(false, JetComb::kPhi  ) );
  values.add( "thetaLightQ", jetComb.lightQVar(false, JetComb::kTheta) );
  // light anti-quark
  values.add( "ptLightQBar"   , jetComb.lightQVar(true, JetComb::kPt   ) );
  values.add( "etaLightQBar"  , jetComb.lightQVar(true, JetComb::kEta  ) );
  values.add( "phiLightQBar"  , jetComb.lightQVar(true, JetComb::kPhi  ) );
  values.add( "thetaLightQBar", jetComb.lightQVar(true, JetComb::kTheta) );
  // ----------------------------------------------------------------------
  // compare two candidates of the ttbar system in DeltaM, DeltaR, DeltaPhi or DeltaTheta
  // ----------------------------------------------------------------------
  // the two top quarks
  values.add( "deltaMHadTopLepTop"    , jetComb.compareHadTopLepTop(JetComb::kDeltaM    ) );
  values.add( "deltaRHadTopLepTop"    , jetComb.compareHadTopLepTop(JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadTopLepTop"  , jetComb.compareHadTopLepTop(JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadTopLepTop", jetComb.compareHadTopLepTop(JetComb::kDeltaTheta) );
  // the two W bosons
  values.add( "deltaMHadWLepW"    , jetComb.compareHadWLepW(JetComb::kDeltaM    ) );
  values.add( "deltaRHadWLepW"    , jetComb.compareHadWLepW(JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadWLepW"  , jetComb.compareHadWLepW(JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadWLepW", jetComb.compareHadWLepW(JetComb::kDeltaTheta) );
  // the two b quarks
  values.add( "deltaRHadBLepB"    , jetComb.compareHadBLepB(JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadBLepB"  , jetComb.compareHadBLepB(JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadBLepB", jetComb.compareHadBLepB(JetComb::kDeltaTheta) );
  // the two light quarks
  values.add( "deltaRHadQHadQBar"    , jetComb.compareLightQuarks(JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadQHadQBar"  , jetComb.compareLightQuarks(JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadQHadQBar", jetComb.compareLightQuarks(JetComb::kDeltaTheta) );
  // the hadronic top and the hadronic W
  values.add( "deltaMHadTopHadW"    , jetComb.compareTopW(JetComb::kHad, JetComb::kHad, JetComb::kDeltaM    ) );
  values.add( "deltaRHadTopHadW"    , jetComb.compareTopW(JetComb::kHad, JetComb::kHad, JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadTopHadW"  , jetComb.compareTopW(JetComb::kHad, JetComb::kHad, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadTopHadW", jetComb.compareTopW(JetComb::kHad, JetComb::kHad, JetComb::kDeltaTheta) );
  // the leptonic top and the leptonic W
  values.add( "deltaMLepTopLepW"    , jetComb.compareTopW(JetComb::kLep, JetComb::kLep, JetComb::kDeltaM    ) );
  values.add( "deltaRLepTopLepW"    , jetComb.compareTopW(JetComb::kLep, JetComb::kLep, JetComb::kDeltaR    ) );
  values.add( "deltaPhiLepTopLepW"  , jetComb.compareTopW(JetComb::kLep, JetComb::kLep, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaLepTopLepW", jetComb.compareTopW(JetComb::kLep, JetComb::kLep, JetComb::kDeltaTheta) );
  // the hadronic top and the leptonic W
  values.add( "deltaMHadTopLepW"    , jetComb.compareTopW(JetComb::kHad, JetComb::kLep, JetComb::kDeltaM    ) );
  values.add( "deltaRHadTopLepW"    , jetComb.compareTopW(JetComb::kHad, JetComb::kLep, JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadTopLepW"  , jetComb.compareTopW(JetComb::kHad, JetComb::kLep, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadTopLepW", jetComb.compareTopW(JetComb::kHad, JetComb::kLep, JetComb::kDeltaTheta) );
  // the leptonic top and the hadronic W
  values.add( "deltaMLepTopHadW"    , jetComb.compareTopW(JetComb::kLep, JetComb::kHad, JetComb::kDeltaM    ) );
  values.add( "deltaRLepTopHadW"    , jetComb.compareTopW(JetComb::kLep, JetComb::kHad, JetComb::kDeltaR    ) );
  values.add( "deltaPhiLepTopHadW"  , jetComb.compareTopW(JetComb::kLep, JetComb::kHad, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaLepTopHadW", jetComb.compareTopW(JetComb::kLep, JetComb::kHad, JetComb::kDeltaTheta) );
  // the hadronic top and the hadronic b
  values.add( "deltaRHadTopHadB"    , jetComb.compareTopB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadTopHadB"  , jetComb.compareTopB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadTopHadB", jetComb.compareTopB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaTheta) );
  // the leptonic top and the leptonic b
  values.add( "deltaRLepTopLepB"    , jetComb.compareTopB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaR    ) );
  values.add( "deltaPhiLepTopLepB"  , jetComb.compareTopB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaLepTopLepB", jetComb.compareTopB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaTheta) );
  // the hadronic top and the leptonic b
  values.add( "deltaRHadTopLepB"    , jetComb.compareTopB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadTopLepB"  , jetComb.compareTopB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadTopLepB", jetComb.compareTopB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaTheta) );
  // the leptonic top and the hadronic b
  values.add( "deltaRLepTopHadB"    , jetComb.compareTopB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaR    ) );
  values.add( "deltaPhiLepTopHadB"  , jetComb.compareTopB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaLepTopHadB", jetComb.compareTopB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaTheta) );
  // the hadronic W and the hadronic b
  values.add( "deltaRHadWHadB"    , jetComb.compareWB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadWHadB"  , jetComb.compareWB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadWHadB", jetComb.compareWB(JetComb::kHad, JetComb::kHad, JetComb::kDeltaTheta) );
  // the leptonic W and the leptonic b
  values.add( "deltaRLepWLepB"    , jetComb.compareWB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaR    ) );
  values.add( "deltaPhiLepWLepB"  , jetComb.compareWB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaLepWLepB", jetComb.compareWB(JetComb::kLep, JetComb::kLep, JetComb::kDeltaTheta) );
  // the hadronic W and the leptonic b
  values.add( "deltaRHadWLepB"    , jetComb.compareWB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadWLepB"  , jetComb.compareWB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadWLepB", jetComb.compareWB(JetComb::kHad, JetComb::kLep, JetComb::kDeltaTheta) );
  // the leptonic W and the hadronic b
  values.add( "deltaRLepWHadB"    , jetComb.compareWB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaR    ) );
  values.add( "deltaPhiLepWHadB"  , jetComb.compareWB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaLepWHadB", jetComb.compareWB(JetComb::kLep, JetComb::kHad, JetComb::kDeltaTheta) );
  // the hadronic top and the lepton
  values.add( "deltaRHadTopLepton"    , jetComb.compareTopLepton(JetComb::kHad, JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadTopLepton"  , jetComb.compareTopLepton(JetComb::kHad, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadTopLepton", jetComb.compareTopLepton(JetComb::kHad, JetComb::kDeltaTheta) );
  // the leptonic top and the lepton
  values.add( "deltaRLepTopLepton"    , jetComb.compareTopLepton(JetComb::kLep, JetComb::kDeltaR    ) );
  values.add( "deltaPhiLepTopLepton"  , jetComb.compareTopLepton(JetComb::kLep, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaLepTopLepton", jetComb.compareTopLepton(JetComb::kLep, JetComb::kDeltaTheta) );
  // the hadronic top and the neutrino
  values.add( "deltaRHadTopNeutrino"    , jetComb.compareTopNeutrino(JetComb::kHad, JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadTopNeutrino"  , jetComb.compareTopNeutrino(JetComb::kHad, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadTopNeutrino", jetComb.compareTopNeutrino(JetComb::kHad, JetComb::kDeltaTheta) );
  // the leptonic top and the neutrino
  values.add( "deltaRLepTopNeutrino"    , jetComb.compareTopNeutrino(JetComb::kLep, JetComb::kDeltaR    ) );
  values.add( "deltaPhiLepTopNeutrino"  , jetComb.compareTopNeutrino(JetComb::kLep, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaLepTopNeutrino", jetComb.compareTopNeutrino(JetComb::kLep, JetComb::kDeltaTheta) );
  // the hadronic W and the lepton
  values.add( "deltaRHadWLepton"    , jetComb.compareWLepton(JetComb::kHad, JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadWLepton"  , jetComb.compareWLepton(JetComb::kHad, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadWLepton", jetComb.compareWLepton(JetComb::kHad, JetComb::kDeltaTheta) );
  // the hadronic W and the neutrino
  values.add( "deltaRHadWNeutrino"    , jetComb.compareWNeutrino(JetComb::kHad, JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadWNeutrino"  , jetComb.compareWNeutrino(JetComb::kHad, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadWNeutrino", jetComb.compareWNeutrino(JetComb::kHad, JetComb::kDeltaTheta) );
  // the hadronic b and the lepton
  values.add( "deltaRHadBLepton"    , jetComb.compareBLepton(JetComb::kHad, JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadBLepton"  , jetComb.compareBLepton(JetComb::kHad, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadBLepton", jetComb.compareBLepton(JetComb::kHad, JetComb::kDeltaTheta) );
  // the leptonic b and the lepton
  values.add( "deltaRLepBLepton"    , jetComb.compareBLepton(JetComb::kLep, JetComb::kDeltaR    ) );
  values.add( "deltaPhiLepBLepton"  , jetComb.compareBLepton(JetComb::kLep, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaLepBLepton", jetComb.compareBLepton(JetComb::kLep, JetComb::kDeltaTheta) );
  // the hadronic b and the neutrino
  values.add( "deltaRHadBNeutrino"    , jetComb.compareBNeutrino(JetComb::kHad, JetComb::kDeltaR    ) );
  values.add( "deltaPhiHadBNeutrino"  , jetComb.compareBNeutrino(JetComb::kHad, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaHadBNeutrino", jetComb.compareBNeutrino(JetComb::kHad, JetComb::kDeltaTheta) );
  // the leptonic b and the neutrino
  values.add( "deltaRLepBNeutrino"    , jetComb.compareBNeutrino(JetComb::kLep, JetComb::kDeltaR    ) );
  values.add( "deltaPhiLepBNeutrino"  , jetComb.compareBNeutrino(JetComb::kLep, JetComb::kDeltaPhi  ) );
  values.add( "deltaThetaLepBNeutrino", jetComb.compareBNeutrino(JetComb::kLep, JetComb::kDeltaTheta) );
  // ----------------------------------------------------------------------
  // special variables combining the pt of the jets
  // ----------------------------------------------------------------------
  values.add( "relativePtHadronicTop", jetComb.relativePtHadronicTop() );
  values.add( "bOverLightQPt"        , jetComb.bOverLightQPt()         );
  // ----------------------------------------------------------------------
  // variables based on b-tagging with six different algorithms
  // ----------------------------------------------------------------------
  // hadronic b quark candidate
  values.add( "bTagHadBTrkCntHighEff", jetComb.bTag(JetComb::kHad, JetComb::kTrackCountHighEff) );
  values.add( "bTagHadBTrkCntHighPur", jetComb.bTag(JetComb::kHad, JetComb::kTrackCountHighPur) );
  values.add( "bTagHadBSoftMuon"     , jetComb.bTag(JetComb::kHad, JetComb::kSoftMuon         ) );
  values.add( "bTagHadBSimpSecondVtx", jetComb.bTag(JetComb::kHad, JetComb::kSimpleSecondVtx  ) );
  values.add( "bTagHadBCombSecondVtx", jetComb.bTag(JetComb::kHad, JetComb::kCombSecondVtx    ) );
  values.add( "bTagHadBImpactParaMVA", jetComb.bTag(JetComb::kHad, JetComb::kCombSecondVtxMVA ) );
  // leptonic b quark candidate
  values.add( "bTagLepBTrkCntHighEff", jetComb.bTag(JetComb::kLep, JetComb::kTrackCountHighEff) );
  values.add( "bTagLepBTrkCntHighPur", jetComb.bTag(JetComb::kLep, JetComb::kTrackCountHighPur) );
  values.add( "bTagLepBSoftMuon"     , jetComb.bTag(JetComb::kLep, JetComb::kSoftMuon         ) );
  values.add( "bTagLepBSimpSecondVtx", jetComb.bTag(JetComb::kLep, JetComb::kSimpleSecondVtx  ) );
  values.add( "bTagLepBCombSecondVtx", jetComb.bTag(JetComb::kLep, JetComb::kCombSecondVtx    ) );
  values.add( "bTagLepBImpactParaMVA", jetComb.bTag(JetComb::kLep, JetComb::kCombSecondVtxMVA ) );
  // summed b-tags of the two b quark candidates
  values.add( "bTagSumTrkCntHighEff", jetComb.combinedBTags(JetComb::kTrackCountHighEff, JetComb::kAdd) );
  values.add( "bTagSumTrkCntHighPur", jetComb.combinedBTags(JetComb::kTrackCountHighPur, JetComb::kAdd) );
  values.add( "bTagSumSoftMuon"     , jetComb.combinedBTags(JetComb::kSoftMuon,          JetComb::kAdd) );
  values.add( "bTagSumSimpSecondVtx", jetComb.combinedBTags(JetComb::kSimpleSecondVtx,   JetComb::kAdd) );
  values.add( "bTagSumCombSecondVtx", jetComb.combinedBTags(JetComb::kCombSecondVtx,     JetComb::kAdd) );
  values.add( "bTagSumImpactParaMVA", jetComb.combinedBTags(JetComb::kCombSecondVtxMVA,  JetComb::kAdd) );
  // multiplied b-tags of the two b quark candidates
  values.add( "bTagProdImpactParaMVA", jetComb.combinedBTags(JetComb::kCombSecondVtxMVA, JetComb::kMult) );
  // summed b-tags of the two light quark candidates
  values.add( "bTagSumHadQHadQBarTrkCntHighEff", jetComb.combinedBTagsForLightQuarks(JetComb::kTrackCountHighEff, JetComb::kAdd) );
  values.add( "bTagSumHadQHadQBarTrkCntHighPur", jetComb.combinedBTagsForLightQuarks(JetComb::kTrackCountHighPur, JetComb::kAdd) );
  values.add( "bTagSumHadQHadQBarSoftMuon"     , jetComb.combinedBTagsForLightQuarks(JetComb::kSoftMuon,          JetComb::kAdd) );
  values.add( "bTagSumHadQHadQBarSimpSecondVtx", jetComb.combinedBTagsForLightQuarks(JetComb::kSimpleSecondVtx,   JetComb::kAdd) );
  values.add( "bTagSumHadQHadQBarCombSecondVtx", jetComb.combinedBTagsForLightQuarks(JetComb::kCombSecondVtx,     JetComb::kAdd) );
  values.add( "bTagSumHadQHadQBarImpactParaMVA", jetComb.combinedBTagsForLightQuarks(JetComb::kCombSecondVtxMVA,  JetComb::kAdd) );
  // multiplied b-tags of the two light quark candidates
  values.add( "bTagProdHadQHadQBarImpactParaMVA", jetComb.combinedBTagsForLightQuarks(JetComb::kCombSecondVtxMVA, JetComb::kMult) );
}