CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
TtHadLRJetCombObservables Class Reference

Steering class for the overall hadronic top likelihood. More...

#include <TtHadLRJetCombObservables.h>

Public Member Functions

void operator() (TtHadEvtSolution &)
 
 TtHadLRJetCombObservables ()
 
 ~TtHadLRJetCombObservables ()
 

Private Attributes

std::vector< std::pair
< unsigned int, double > > 
jetCombVarVal
 

Detailed Description

Steering class for the overall hadronic top likelihood.

on TtSemiLRJetCombObservables.h In this TtHadLRJetCombObservables class a list of observables is calculated that might be used in the evaluation of the combined Likelihood ratio to distinguish between correct and wrong jet combinations obs1 : pt(hadronic tops) obs2 : (pt_b1 + pt_b2)/(sum jetpt) obs3 : delta R between had b and had W_plus obs4 : delta R between had bbar and had W_minus obs5 : delta R between light quark-jets from W_plus obs6 : delta R between light quark-jets from W_minus obs7 : b-tagging information obs8 : chi2 value of kinematical fit with W-mass constraint

Author
Jan Heyninck
Version
Id:
TtHadLRJetCombObservables.h,v 1.1 2007/10/07 15:33:37 mfhansen Exp

Definition at line 31 of file TtHadLRJetCombObservables.h.

Constructor & Destructor Documentation

TtHadLRJetCombObservables::TtHadLRJetCombObservables ( )

Definition at line 5 of file TtHadLRJetCombObservables.cc.

6 {
7 }
TtHadLRJetCombObservables::~TtHadLRJetCombObservables ( )

Definition at line 9 of file TtHadLRJetCombObservables.cc.

10 {
11 }

Member Function Documentation

void TtHadLRJetCombObservables::operator() ( TtHadEvtSolution sol)

Definition at line 13 of file TtHadLRJetCombObservables.cc.

References pat::Jet::bDiscriminator(), TtHadEvtSolution::getHadb(), TtHadEvtSolution::getHadbbar(), TtHadEvtSolution::getHadj(), TtHadEvtSolution::getHadk(), TtHadEvtSolution::getHadp(), TtHadEvtSolution::getHadq(), TtHadEvtSolution::getProbChi2(), jetCombVarVal, reco::LeafCandidate::p4(), EnergyCorrector::pt, reco::LeafCandidate::pt(), and TtHadEvtSolution::setLRJetCombObservables().

14 {
15  jetCombVarVal.clear();
16 
17  //observable 1 : pt(had top)
18  //Calculate the average pt for all possible combinations of light jets with the two b-jets
19  double AverageTop =((sol.getHadb().p4()+sol.getHadq().p4()+sol.getHadp().p4()).pt()+
20  (sol.getHadbbar().p4()+sol.getHadq().p4()+sol.getHadp().p4()).pt()+
21  (sol.getHadb().p4()+sol.getHadbbar().p4()+sol.getHadp().p4()).pt()+
22  (sol.getHadb().p4()+sol.getHadbbar().p4()+sol.getHadq().p4()).pt()+
23  (sol.getHadb().p4()+sol.getHadk().p4()+sol.getHadj().p4()).pt()+
24  (sol.getHadbbar().p4()+sol.getHadk().p4()+sol.getHadj().p4()).pt()+
25  (sol.getHadb().p4()+sol.getHadbbar().p4()+sol.getHadj().p4()).pt()+
26  (sol.getHadb().p4()+sol.getHadbbar().p4()+sol.getHadk().p4()).pt()+
27  (sol.getHadb().p4()+sol.getHadq().p4()+sol.getHadj().p4()).pt()+
28  (sol.getHadb().p4()+sol.getHadq().p4()+sol.getHadk().p4()).pt()+
29  (sol.getHadbbar().p4()+sol.getHadq().p4()+sol.getHadj().p4()).pt()+
30  (sol.getHadbbar().p4()+sol.getHadq().p4()+sol.getHadk().p4()).pt())/12.;
31 
32  double Obs1 = ((sol.getHadb().p4()+sol.getHadq().p4()+sol.getHadp().p4()+sol.getHadbbar().p4()+sol.getHadk().p4()+sol.getHadj().p4()).pt())/AverageTop;
33  jetCombVarVal.push_back(std::pair<unsigned int,double>(1,Obs1));
34 
35  //observable 2 : (pt_b1 + pt_b2)/(sum jetpt)
36  double obs2 = (sol.getHadb().pt()+sol.getHadbbar().pt())/(sol.getHadp().pt()+sol.getHadq().pt()+sol.getHadj().pt()+sol.getHadk().pt());
37  jetCombVarVal.push_back(std::pair<unsigned int,double>(2,obs2));
38 
39  //observable 3 and 4: delta R between had b and had W and delta R between had bbar and had W
40  double Obs3 = ROOT::Math::VectorUtil::DeltaR( sol.getHadb().p4(),(sol.getHadq().p4()+sol.getHadp().p4()) );
41  jetCombVarVal.push_back(std::pair<unsigned int,double>(3,Obs3));
42 
43  double Obs4 = ROOT::Math::VectorUtil::DeltaR( sol.getHadbbar().p4(),(sol.getHadk().p4()+sol.getHadj().p4()) );
44  jetCombVarVal.push_back(std::pair<unsigned int,double>(4,Obs4));
45 
46  //observalbe 5 and 6: delta R between light quarks pq and jk
47  double Obs5 = ROOT::Math::VectorUtil::DeltaR( sol.getHadq().p4(),sol.getHadp().p4() );
48  jetCombVarVal.push_back(std::pair<unsigned int,double>(5,Obs5));
49 
50  double Obs6 = ROOT::Math::VectorUtil::DeltaR( sol.getHadk().p4(),sol.getHadj().p4() );
51  jetCombVarVal.push_back(std::pair<unsigned int,double>(6,Obs6));
52 
53  //observable 7: b-tagging information
54  double Obs7 = 0;
55  if ( fabs(sol.getHadb().bDiscriminator("trackCountingJetTags") +10) < 0.0001 || fabs(sol.getHadbbar().bDiscriminator("trackCountingJetTags") +10)< 0.0001 ){
56  Obs7 = -10.;
57  } else {
58  Obs7 = (sol.getHadb().bDiscriminator("trackCountingJetTags")+sol.getHadbbar().bDiscriminator("trackCountingJetTags"));
59  }
60  jetCombVarVal.push_back(std::pair<unsigned int,double>(7,Obs7));
61 
62  //observable 8 : chi2 value of kinematical fit with W-mass constraint
63  double Obs8 =0;
64  if(sol.getProbChi2() <0){
65  Obs8 = -0;
66  } else {
67  Obs8 = log10(sol.getProbChi2()+.00001);
68  }
69  jetCombVarVal.push_back(std::pair<unsigned int,double>(8,Obs8));
70 
72 }
virtual float pt() const
transverse momentum
pat::Jet getHadbbar() const
pat::Jet getHadb() const
pat::Jet getHadq() const
pat::Jet getHadj() const
float bDiscriminator(const std::string &theLabel) const
-— methods for accessing b-tagging info -—
void setLRJetCombObservables(const std::vector< std::pair< unsigned int, double > > &varval)
std::vector< std::pair< unsigned int, double > > jetCombVarVal
double getProbChi2() const
pat::Jet getHadp() const
pat::Jet getHadk() const
virtual const LorentzVector & p4() const
four-momentum Lorentz vector

Member Data Documentation

std::vector<std::pair<unsigned int,double> > TtHadLRJetCombObservables::jetCombVarVal
private

Definition at line 41 of file TtHadLRJetCombObservables.h.

Referenced by operator()().