CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

TtSemiLepJetComb Class Reference

Common calculator class to keep multivariate analysis variables for jet combinations in semi-leptonic ttbar decays. More...

#include <TopQuarkAnalysis/TopJetCombination/interface/TtSemiLepJetComb.h>

List of all members.

Public Member Functions

double addUserVar (std::string key, double value)
 add an arbitary user defined variable with given key and value
double bOverLightQPt () const
double bQuarkVar (JetComb::DecayType decay, JetComb::VarType var) const
 b quark candidate variable
double bTag (JetComb::DecayType decay, JetComb::BTagAlgo algo) const
 b-tag value of a b candidate
double combinedBTags (JetComb::BTagAlgo algo, JetComb::Operator op) const
 combined b-tag values of the two b candidates
double combinedBTagsForLightQuarks (JetComb::BTagAlgo algo, JetComb::Operator op) const
 combined b-tag values of the two light quark candidates
double compareBLepton (JetComb::DecayType decay, JetComb::CompType comp) const
 comparison between the b and the lepton candidate
double compareBNeutrino (JetComb::DecayType decay, JetComb::CompType comp) const
 comparison between the b and the neutrino candidate
double compareHadBLepB (JetComb::CompType comp) const
 comparison between the two b candidates
double compareHadTopLepTop (JetComb::CompType comp) const
 comparison between the two top candidates
double compareHadWLepW (JetComb::CompType comp) const
 comparison between the two W candidates
double compareLeptonNeutrino (JetComb::CompType comp) const
 comparison between the lepton and the neutrino candidate
double compareLightQuarks (JetComb::CompType comp) const
 comparison between the lightQ and the lightQBar candidate
double compareTopB (JetComb::DecayType dec1, JetComb::DecayType dec2, JetComb::CompType comp) const
 comparison between the top and the b candidate
double compareTopLepton (JetComb::DecayType decay, JetComb::CompType comp) const
 comparison between the top and the lepton candidate
double compareTopNeutrino (JetComb::DecayType decay, JetComb::CompType comp) const
 comparison between the top and the neutrino candidate
double compareTopW (JetComb::DecayType dec1, JetComb::DecayType dec2, JetComb::CompType comp) const
 comparison between the top and the W candidate
double compareWB (JetComb::DecayType dec1, JetComb::DecayType dec2, JetComb::CompType comp) const
 comparison between the W and the b candidate
double compareWLepton (JetComb::DecayType decay, JetComb::CompType comp) const
 comparison between the W and the lepton candidate
double compareWNeutrino (JetComb::DecayType decay, JetComb::CompType comp) const
 comparison between the W and the neutrino candidate
double leptonVar (JetComb::VarType var) const
 lepton candidate variable
double lightQVar (bool qbar, JetComb::VarType var) const
 light quark candidate variable
double neutrinoVar (JetComb::VarType var) const
 neutrino candidate variable
double relativePtHadronicTop () const
double topVar (JetComb::DecayType decay, JetComb::VarType var) const
 top quark candidate variable
 TtSemiLepJetComb ()
 emtpy constructor
 TtSemiLepJetComb (const std::vector< pat::Jet > &, const std::vector< int > &, const math::XYZTLorentzVector &, const pat::MET &)
 default constructor
double userVar (const std::string &key) const
 receive user defined variable value with given key
double wBosonVar (JetComb::DecayType decay, JetComb::VarType var) const
 W boson candidate variable.
 ~TtSemiLepJetComb ()
 default destructor

Private Member Functions

const pat::JetbQuark (JetComb::DecayType decay) const
 return leptonic or hadronic b candidate depending on argument
double bTag (const pat::Jet &jet, JetComb::BTagAlgo algo) const
 b-tag value of one of the 4 jets
void deduceMothers ()
 reconstruct mother candidates from final state candidates
const pat::JetlightQ (bool qbar=false) const
 return lightQ or lightQBar candidate depending on argument
double lightQVar (JetComb::VarType var) const
 light quark candidate variable with default on q and not qbar
const math::XYZTLorentzVectortop (JetComb::DecayType decay) const
 return leptonic or hadronic top candidate depending on argument
const math::XYZTLorentzVectorwBoson (JetComb::DecayType decay) const
 return leptonic or hadronic W candidate depending on argument

Private Attributes

pat::Jet hadBJet_
 hadronic b jet
pat::Jet hadQBarJet_
 lightQBar jet
pat::Jet hadQJet_
 lightQ jet
math::XYZTLorentzVector hadTop_
 hadronic top 4-vector
math::XYZTLorentzVector hadW_
 hadronic W 4-vector
pat::Jet lepBJet_
 leptonic b jet
math::XYZTLorentzVector lepton_
 lepton 4-vector
math::XYZTLorentzVector lepTop_
 leptonic top 4-vector
math::XYZTLorentzVector lepW_
 leptonic W 4-vector
pat::MET neutrino_
 neutrino candidate
std::map< std::string, double > userVariables_
 map for user defined variables

Detailed Description

Common calculator class to keep multivariate analysis variables for jet combinations in semi-leptonic ttbar decays.

This class is currently used by TtSemiLepJetCombEval.h, which is included in both the TtSemiLepJetCombMVAComputer and the TtSemiLepJetCombMVATrainer.

Definition at line 37 of file TtSemiLepJetComb.h.


Constructor & Destructor Documentation

TtSemiLepJetComb::TtSemiLepJetComb ( )

emtpy constructor

Definition at line 6 of file TtSemiLepJetComb.cc.

{
}
TtSemiLepJetComb::TtSemiLepJetComb ( const std::vector< pat::Jet > &  jets,
const std::vector< int > &  combination,
const math::XYZTLorentzVector lepton,
const pat::MET neutrino 
)

default constructor

Definition at line 10 of file TtSemiLepJetComb.cc.

References deduceMothers(), TtSemiLepDaughter::HadB, hadBJet_, hadQBarJet_, hadQJet_, TtSemiLepDaughter::LepB, lepBJet_, lepton_, TtFullHadDaughter::LightQ, TtFullHadDaughter::LightQBar, and neutrino_.

{ 
  // receive right jet association
  // from jet-parton matching 
  hadQJet_    = jets[ combination[TtSemiLepEvtPartons::LightQ   ] ];
  hadQBarJet_ = jets[ combination[TtSemiLepEvtPartons::LightQBar] ];
  hadBJet_    = jets[ combination[TtSemiLepEvtPartons::HadB     ] ];
  lepBJet_    = jets[ combination[TtSemiLepEvtPartons::LepB     ] ]; 
  lepton_     = lepton;
  neutrino_   = neutrino;
  // create mother candidates from 
  // final-state candidates
  deduceMothers();
}
TtSemiLepJetComb::~TtSemiLepJetComb ( )

default destructor

Definition at line 26 of file TtSemiLepJetComb.cc.

{
}

Member Function Documentation

double TtSemiLepJetComb::addUserVar ( std::string  key,
double  value 
) [inline]

add an arbitary user defined variable with given key and value

Definition at line 106 of file TtSemiLepJetComb.h.

References combine::key, userVariables_, and relativeConstraints::value.

{ return userVariables_[key]=value;};
double TtSemiLepJetComb::bOverLightQPt ( ) const

scalar sum of the pt of the b candidates relative to scalar sum of the pt of the light quark candidates

Definition at line 265 of file TtSemiLepJetComb.cc.

References bQuark(), JetComb::kHad, JetComb::kLep, lightQ(), reco::LeafCandidate::p4(), p4, and ExpressReco_HICollisions_FallBack::pt.

Referenced by evaluateTtSemiLepJetComb().

{
  return (bQuark(JetComb::kHad).p4().pt()+bQuark(JetComb::kLep).p4().pt())/(lightQ().p4().pt()+lightQ(true).p4().pt());  
}
const pat::Jet& TtSemiLepJetComb::bQuark ( JetComb::DecayType  decay) const [inline, private]

return leptonic or hadronic b candidate depending on argument

Definition at line 122 of file TtSemiLepJetComb.h.

References hadBJet_, JetComb::kHad, and lepBJet_.

Referenced by bOverLightQPt(), bQuarkVar(), bTag(), compareBLepton(), compareBNeutrino(), compareHadBLepB(), compareTopB(), compareWB(), and relativePtHadronicTop().

{ return (decay==JetComb::kHad ? hadBJet_ : lepBJet_); }
double TtSemiLepJetComb::bQuarkVar ( JetComb::DecayType  decay,
JetComb::VarType  var 
) const

b quark candidate variable

Definition at line 54 of file TtSemiLepJetComb.cc.

References bQuark(), JetComb::kEta, JetComb::kMass, JetComb::kPhi, JetComb::kPt, JetComb::kTheta, and reco::LeafCandidate::p4().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(var){
  case JetComb::kMass  : return -9999.;
  case JetComb::kPt    : return bQuark(decay).p4().pt();
  case JetComb::kEta   : return bQuark(decay).p4().eta();
  case JetComb::kPhi   : return bQuark(decay).p4().phi();
  case JetComb::kTheta : return bQuark(decay).p4().theta();
  };
  return -9999.;
}
double TtSemiLepJetComb::bTag ( JetComb::DecayType  decay,
JetComb::BTagAlgo  algo 
) const [inline]

b-tag value of a b candidate

Definition at line 99 of file TtSemiLepJetComb.h.

References bQuark(), and bTag().

Referenced by bTag(), combinedBTags(), combinedBTagsForLightQuarks(), and evaluateTtSemiLepJetComb().

{ return bTag(bQuark(decay), algo); };
double TtSemiLepJetComb::bTag ( const pat::Jet jet,
JetComb::BTagAlgo  algo 
) const [private]

b-tag value of one of the 4 jets

Definition at line 301 of file TtSemiLepJetComb.cc.

References pat::Jet::bDiscriminator(), JetComb::kBProbability, JetComb::kCombSecondVtx, JetComb::kCombSecondVtxMVA, JetComb::kProbability, JetComb::kSimpleSecondVtx, JetComb::kSofMuonByIP3d, JetComb::kSoftElec, JetComb::kSoftMuon, JetComb::kSoftMuonByPt, JetComb::kTrackCountHighEff, and JetComb::kTrackCountHighPur.

{
  switch(algo){
  case JetComb::kTrackCountHighEff : return jet.bDiscriminator("trackCountingHighEffBJetTags"      );
  case JetComb::kTrackCountHighPur : return jet.bDiscriminator("trackCountingHighPurBJetTags"      );
  case JetComb::kSoftMuon          : return jet.bDiscriminator("softMuonBJetTags"                  );
  case JetComb::kSoftMuonByPt      : return jet.bDiscriminator("softMuonByPtBJetTags"              );
  case JetComb::kSofMuonByIP3d     : return jet.bDiscriminator("softMuonByIP3dBJetTags"            );
  case JetComb::kSoftElec          : return jet.bDiscriminator("softElectronBJetTags"              );
  case JetComb::kProbability       : return jet.bDiscriminator("jetProbabilityBJetTags"            );
  case JetComb::kBProbability      : return jet.bDiscriminator("jetBProbabilityBJetTags"           );
  case JetComb::kSimpleSecondVtx   : return jet.bDiscriminator("simpleSecondaryVertexBJetTags"     );
  case JetComb::kCombSecondVtx     : return jet.bDiscriminator("combinedSecondaryVertexBJetTags"   );
  case JetComb::kCombSecondVtxMVA  : return jet.bDiscriminator("combinedSecondaryVertexMVABJetTags");
  };
  return -9999.;
}
double TtSemiLepJetComb::combinedBTags ( JetComb::BTagAlgo  algo,
JetComb::Operator  op 
) const

combined b-tag values of the two b candidates

Definition at line 270 of file TtSemiLepJetComb.cc.

References bTag(), JetComb::kAdd, JetComb::kHad, JetComb::kLep, and JetComb::kMult.

Referenced by evaluateTtSemiLepJetComb().

{
  switch(op){
  case JetComb::kAdd  : return bTag(JetComb::kHad, algo) + bTag(JetComb::kLep, algo);
  case JetComb::kMult : return bTag(JetComb::kHad, algo) * bTag(JetComb::kLep, algo);
  };
  return -9999.;
}
double TtSemiLepJetComb::combinedBTagsForLightQuarks ( JetComb::BTagAlgo  algo,
JetComb::Operator  op 
) const

combined b-tag values of the two light quark candidates

Definition at line 279 of file TtSemiLepJetComb.cc.

References bTag(), JetComb::kAdd, JetComb::kMult, and lightQ().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(op){
  case JetComb::kAdd  : return bTag(lightQ(), algo) + bTag(lightQ(true), algo);
  case JetComb::kMult : return bTag(lightQ(), algo) * bTag(lightQ(true), algo);
  };
  return -9999.;
}
double TtSemiLepJetComb::compareBLepton ( JetComb::DecayType  decay,
JetComb::CompType  comp 
) const

comparison between the b and the lepton candidate

Definition at line 234 of file TtSemiLepJetComb.cc.

References bQuark(), JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, lepton_, and p4.

Referenced by evaluateTtSemiLepJetComb().

{
  switch(comp){
  case JetComb::kDeltaM     : return -9999.;
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (bQuark(decay).p4(), lepton_);
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(bQuark(decay).p4(), lepton_));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (bQuark(decay).p4(), lepton_);
  };
  return -9999.;
}
double TtSemiLepJetComb::compareBNeutrino ( JetComb::DecayType  decay,
JetComb::CompType  comp 
) const

comparison between the b and the neutrino candidate

Definition at line 245 of file TtSemiLepJetComb.cc.

References bQuark(), JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, neutrino_, reco::LeafCandidate::p4(), and p4.

Referenced by evaluateTtSemiLepJetComb().

{
  switch(comp){
  case JetComb::kDeltaM     : return -9999.;
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (bQuark(decay).p4(), neutrino_.p4());
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(bQuark(decay).p4(), neutrino_.p4()));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (bQuark(decay).p4(), neutrino_.p4());
  };
  return -9999.;
}
double TtSemiLepJetComb::compareHadBLepB ( JetComb::CompType  comp) const

comparison between the two b candidates

Definition at line 124 of file TtSemiLepJetComb.cc.

References bQuark(), JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, JetComb::kHad, JetComb::kLep, and p4.

Referenced by evaluateTtSemiLepJetComb().

{
  switch(comp){
  case JetComb::kDeltaM     : return -9999.;
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (bQuark(JetComb::kHad).p4(), bQuark(JetComb::kLep).p4());
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(bQuark(JetComb::kHad).p4(), bQuark(JetComb::kLep).p4()));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (bQuark(JetComb::kHad).p4(), bQuark(JetComb::kLep).p4());
  };
  return -9999.;
}
double TtSemiLepJetComb::compareHadTopLepTop ( JetComb::CompType  comp) const

comparison between the two top candidates

Definition at line 102 of file TtSemiLepJetComb.cc.

References JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, JetComb::kHad, JetComb::kLep, and top().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(comp){
  case JetComb::kDeltaM     : return top(JetComb::kHad).mass() - top(JetComb::kLep).mass();  
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (top(JetComb::kHad), top(JetComb::kLep));
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(top(JetComb::kHad), top(JetComb::kLep)));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (top(JetComb::kHad), top(JetComb::kLep));
  };
  return -9999.;
}
double TtSemiLepJetComb::compareHadWLepW ( JetComb::CompType  comp) const

comparison between the two W candidates

Definition at line 113 of file TtSemiLepJetComb.cc.

References JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, JetComb::kHad, JetComb::kLep, and wBoson().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(comp){
  case JetComb::kDeltaM     : return wBoson(JetComb::kHad).mass() - wBoson(JetComb::kLep).mass();
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (wBoson(JetComb::kHad), wBoson(JetComb::kLep));
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(wBoson(JetComb::kHad), wBoson(JetComb::kLep)));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (wBoson(JetComb::kHad), wBoson(JetComb::kLep));
  };
  return -9999.;
}
double TtSemiLepJetComb::compareLeptonNeutrino ( JetComb::CompType  comp) const

comparison between the lepton and the neutrino candidate

Definition at line 146 of file TtSemiLepJetComb.cc.

References JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, lepton_, neutrino_, and reco::LeafCandidate::p4().

{
  switch(comp){
  case JetComb::kDeltaM     : return -9999.;
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (lepton_, neutrino_.p4());
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(lepton_, neutrino_.p4()));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (lepton_, neutrino_.p4());
  };
  return -9999.;
}
double TtSemiLepJetComb::compareLightQuarks ( JetComb::CompType  comp) const

comparison between the lightQ and the lightQBar candidate

Definition at line 135 of file TtSemiLepJetComb.cc.

References JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, lightQ(), and p4.

Referenced by evaluateTtSemiLepJetComb().

{
  switch(comp){
  case JetComb::kDeltaM     : return -9999.;
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (lightQ().p4(), lightQ(true).p4());
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(lightQ().p4(), lightQ(true).p4()));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (lightQ().p4(), lightQ(true).p4());
  };
  return -9999.;
}
double TtSemiLepJetComb::compareTopB ( JetComb::DecayType  dec1,
JetComb::DecayType  dec2,
JetComb::CompType  comp 
) const

comparison between the top and the b candidate

Definition at line 168 of file TtSemiLepJetComb.cc.

References bQuark(), JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, p4, and top().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(comp){
  case JetComb::kDeltaM     : return -9999.;
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (top(dec1), bQuark(dec2).p4());
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(top(dec1), bQuark(dec2).p4()));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (top(dec1), bQuark(dec2).p4());
  };
  return -9999.;
}
double TtSemiLepJetComb::compareTopLepton ( JetComb::DecayType  decay,
JetComb::CompType  comp 
) const

comparison between the top and the lepton candidate

Definition at line 190 of file TtSemiLepJetComb.cc.

References JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, lepton_, and top().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(comp){
  case JetComb::kDeltaM     : return -9999.;
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (top(decay), lepton_);
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(top(decay), lepton_));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (top(decay), lepton_);
  };
  return -9999.;
}
double TtSemiLepJetComb::compareTopNeutrino ( JetComb::DecayType  decay,
JetComb::CompType  comp 
) const

comparison between the top and the neutrino candidate

Definition at line 201 of file TtSemiLepJetComb.cc.

References JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, neutrino_, reco::LeafCandidate::p4(), and top().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(comp){
  case JetComb::kDeltaM     : return -9999.;
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (top(decay), neutrino_.p4());
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(top(decay), neutrino_.p4()));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (top(decay), neutrino_.p4());
  };
  return -9999.;
}
double TtSemiLepJetComb::compareTopW ( JetComb::DecayType  dec1,
JetComb::DecayType  dec2,
JetComb::CompType  comp 
) const

comparison between the top and the W candidate

Definition at line 157 of file TtSemiLepJetComb.cc.

References JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, top(), and wBoson().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(comp){
  case JetComb::kDeltaM     : return top(dec1).mass() - wBoson(dec2).mass();
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (top(dec1), wBoson(dec2));
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(top(dec1), wBoson(dec2)));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (top(dec1), wBoson(dec2));
  };
  return -9999.;
}
double TtSemiLepJetComb::compareWB ( JetComb::DecayType  dec1,
JetComb::DecayType  dec2,
JetComb::CompType  comp 
) const

comparison between the W and the b candidate

Definition at line 179 of file TtSemiLepJetComb.cc.

References bQuark(), JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, p4, and wBoson().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(comp){
  case JetComb::kDeltaM     : return -9999.;
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (wBoson(dec1), bQuark(dec2).p4());
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(wBoson(dec1), bQuark(dec2).p4()));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (wBoson(dec1), bQuark(dec2).p4());
  };
  return -9999.;
}
double TtSemiLepJetComb::compareWLepton ( JetComb::DecayType  decay,
JetComb::CompType  comp 
) const

comparison between the W and the lepton candidate

Definition at line 212 of file TtSemiLepJetComb.cc.

References JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, lepton_, and wBoson().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(comp){
  case JetComb::kDeltaM     : return -9999.;
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (wBoson(decay), lepton_);
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(wBoson(decay), lepton_));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (wBoson(decay), lepton_);
  };
  return -9999.;
}
double TtSemiLepJetComb::compareWNeutrino ( JetComb::DecayType  decay,
JetComb::CompType  comp 
) const

comparison between the W and the neutrino candidate

Definition at line 223 of file TtSemiLepJetComb.cc.

References JetComb::kDeltaM, JetComb::kDeltaPhi, JetComb::kDeltaR, JetComb::kDeltaTheta, neutrino_, reco::LeafCandidate::p4(), and wBoson().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(comp){
  case JetComb::kDeltaM     : return -9999.;
  case JetComb::kDeltaR     : return      ROOT::Math::VectorUtil::DeltaR  (wBoson(decay), neutrino_.p4());
  case JetComb::kDeltaPhi   : return fabs(ROOT::Math::VectorUtil::DeltaPhi(wBoson(decay), neutrino_.p4()));
  case JetComb::kDeltaTheta : return      ROOT::Math::VectorUtil::Angle   (wBoson(decay), neutrino_.p4());
  };
  return -9999.;
}
void TtSemiLepJetComb::deduceMothers ( ) [private]

reconstruct mother candidates from final state candidates

Definition at line 293 of file TtSemiLepJetComb.cc.

References hadBJet_, hadQBarJet_, hadQJet_, hadTop_, hadW_, lepBJet_, lepton_, lepTop_, lepW_, neutrino_, and reco::LeafCandidate::p4().

Referenced by TtSemiLepJetComb().

double TtSemiLepJetComb::leptonVar ( JetComb::VarType  var) const

lepton candidate variable

Definition at line 78 of file TtSemiLepJetComb.cc.

References JetComb::kEta, JetComb::kMass, JetComb::kPhi, JetComb::kPt, JetComb::kTheta, and lepton_.

{
  switch(var){
  case JetComb::kMass  : return -9999.;
  case JetComb::kPt    : return lepton_.pt();
  case JetComb::kEta   : return lepton_.eta();
  case JetComb::kPhi   : return lepton_.phi();
  case JetComb::kTheta : return lepton_.theta();
  };
  return -9999.;
}
const pat::Jet& TtSemiLepJetComb::lightQ ( bool  qbar = false) const [inline, private]

return lightQ or lightQBar candidate depending on argument

Definition at line 120 of file TtSemiLepJetComb.h.

References hadQBarJet_, and hadQJet_.

Referenced by bOverLightQPt(), combinedBTagsForLightQuarks(), compareLightQuarks(), lightQVar(), and relativePtHadronicTop().

{ return (qbar ? hadQBarJet_ : hadQJet_); }
double TtSemiLepJetComb::lightQVar ( bool  qbar,
JetComb::VarType  var 
) const

light quark candidate variable

Definition at line 66 of file TtSemiLepJetComb.cc.

References JetComb::kEta, JetComb::kMass, JetComb::kPhi, JetComb::kPt, JetComb::kTheta, lightQ(), and reco::LeafCandidate::p4().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(var){
  case JetComb::kMass  : return -9999.;
  case JetComb::kPt    : return lightQ(qbar).p4().pt();
  case JetComb::kEta   : return lightQ(qbar).p4().eta();
  case JetComb::kPhi   : return lightQ(qbar).p4().phi();
  case JetComb::kTheta : return lightQ(qbar).p4().theta();
  };
  return -9999.;
}
double TtSemiLepJetComb::lightQVar ( JetComb::VarType  var) const [inline, private]

light quark candidate variable with default on q and not qbar

Definition at line 118 of file TtSemiLepJetComb.h.

References lightQVar().

Referenced by lightQVar().

{ return lightQVar(false, var); };
double TtSemiLepJetComb::neutrinoVar ( JetComb::VarType  var) const

neutrino candidate variable

Definition at line 90 of file TtSemiLepJetComb.cc.

References JetComb::kEta, JetComb::kMass, JetComb::kPhi, JetComb::kPt, JetComb::kTheta, neutrino_, and reco::LeafCandidate::p4().

{
  switch(var){
  case JetComb::kMass  : return -9999.;
  case JetComb::kPt    : return neutrino_.p4().pt();
  case JetComb::kEta   : return neutrino_.p4().eta();
  case JetComb::kPhi   : return neutrino_.p4().phi();
  case JetComb::kTheta : return neutrino_.p4().theta();
  };
  return -9999.;
}
double TtSemiLepJetComb::relativePtHadronicTop ( ) const

pt of the hadronic top candidate relative to pt of the sum of all other reconstruction possibilities (returns values between 0 and 1)

Definition at line 256 of file TtSemiLepJetComb.cc.

References bQuark(), JetComb::kHad, JetComb::kLep, lightQ(), reco::LeafCandidate::p4(), ExpressReco_HICollisions_FallBack::pt, and top().

Referenced by evaluateTtSemiLepJetComb().

const math::XYZTLorentzVector& TtSemiLepJetComb::top ( JetComb::DecayType  decay) const [inline, private]

return leptonic or hadronic top candidate depending on argument

Definition at line 126 of file TtSemiLepJetComb.h.

References hadTop_, JetComb::kHad, and lepTop_.

Referenced by compareHadTopLepTop(), compareTopB(), compareTopLepton(), compareTopNeutrino(), compareTopW(), relativePtHadronicTop(), and topVar().

{ return (decay==JetComb::kHad ? hadTop_ : lepTop_); }  
double TtSemiLepJetComb::topVar ( JetComb::DecayType  decay,
JetComb::VarType  var 
) const

top quark candidate variable

Definition at line 30 of file TtSemiLepJetComb.cc.

References JetComb::kEta, JetComb::kMass, JetComb::kPhi, JetComb::kPt, JetComb::kTheta, and top().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(var){
  case JetComb::kMass  : return top(decay).mass();
  case JetComb::kPt    : return top(decay).pt();
  case JetComb::kEta   : return top(decay).eta();
  case JetComb::kPhi   : return top(decay).phi();
  case JetComb::kTheta : return top(decay).theta();
  };
  return -9999.;
}
double TtSemiLepJetComb::userVar ( const std::string &  key) const [inline]

receive user defined variable value with given key

Definition at line 108 of file TtSemiLepJetComb.h.

References userVariables_.

                                             {
    return (userVariables_.find(key)!=userVariables_.end() ? userVariables_.find(key)->second : -9999.);};
const math::XYZTLorentzVector& TtSemiLepJetComb::wBoson ( JetComb::DecayType  decay) const [inline, private]

return leptonic or hadronic W candidate depending on argument

Definition at line 124 of file TtSemiLepJetComb.h.

References hadW_, JetComb::kHad, and lepW_.

Referenced by compareHadWLepW(), compareTopW(), compareWB(), compareWLepton(), compareWNeutrino(), and wBosonVar().

{ return (decay==JetComb::kHad ? hadW_ : lepW_); }
double TtSemiLepJetComb::wBosonVar ( JetComb::DecayType  decay,
JetComb::VarType  var 
) const

W boson candidate variable.

Definition at line 42 of file TtSemiLepJetComb.cc.

References JetComb::kEta, JetComb::kMass, JetComb::kPhi, JetComb::kPt, JetComb::kTheta, and wBoson().

Referenced by evaluateTtSemiLepJetComb().

{
  switch(var){
  case JetComb::kMass  : return wBoson(decay).mass();
  case JetComb::kPt    : return wBoson(decay).pt();
  case JetComb::kEta   : return wBoson(decay).eta();
  case JetComb::kPhi   : return wBoson(decay).phi();
  case JetComb::kTheta : return wBoson(decay).theta();
  };
  return -9999.;
}

Member Data Documentation

hadronic b jet

Definition at line 135 of file TtSemiLepJetComb.h.

Referenced by bQuark(), deduceMothers(), and TtSemiLepJetComb().

lightQBar jet

Definition at line 133 of file TtSemiLepJetComb.h.

Referenced by deduceMothers(), lightQ(), and TtSemiLepJetComb().

lightQ jet

Definition at line 131 of file TtSemiLepJetComb.h.

Referenced by deduceMothers(), lightQ(), and TtSemiLepJetComb().

hadronic top 4-vector

Definition at line 143 of file TtSemiLepJetComb.h.

Referenced by deduceMothers(), and top().

hadronic W 4-vector

Definition at line 145 of file TtSemiLepJetComb.h.

Referenced by deduceMothers(), and wBoson().

leptonic b jet

Definition at line 137 of file TtSemiLepJetComb.h.

Referenced by bQuark(), deduceMothers(), and TtSemiLepJetComb().

leptonic top 4-vector

Definition at line 147 of file TtSemiLepJetComb.h.

Referenced by deduceMothers(), and top().

leptonic W 4-vector

Definition at line 149 of file TtSemiLepJetComb.h.

Referenced by deduceMothers(), and wBoson().

std::map<std::string, double> TtSemiLepJetComb::userVariables_ [private]

map for user defined variables

Definition at line 151 of file TtSemiLepJetComb.h.

Referenced by addUserVar(), and userVar().