8 failed_(
false), maxNJets_(maxNJets), wMass_(wMass), massWBoson_(-1.), massTopQuark_(-1.),tmassWBoson_(-1),tmassTopQuark_(-1),mlb_(-1)
84 cout<<
"in calculate:\n\t"<<bJet.
pt()<<
"\t"<<lepton->
pt()<<
"\t"<<met.
pt()<<endl;
104 std::vector<int> maxPtIndices;
105 maxPtIndices.push_back(-1);
106 maxPtIndices.push_back(-1);
107 maxPtIndices.push_back(-1);
109 for(
int jdx=0; jdx<
maxNJets_; ++jdx){
if(jdx<=idx)
continue;
110 for(
int kdx=0; kdx<
maxNJets_; ++kdx){
if(kdx==idx || kdx==jdx)
continue;
112 if( maxPt<0. || maxPt<sum.pt() ){
114 maxPtIndices.clear();
115 maxPtIndices.push_back(idx);
116 maxPtIndices.push_back(jdx);
117 maxPtIndices.push_back(kdx);
123 jets[maxPtIndices[1]].p4()+
124 jets[maxPtIndices[2]].p4()).
mass();
129 std::vector<int> wMassIndices;
130 wMassIndices.push_back(-1);
131 wMassIndices.push_back(-1);
132 for(
unsigned idx=0; idx<maxPtIndices.size(); ++idx){
133 for(
unsigned jdx=0; jdx<maxPtIndices.size(); ++jdx){
134 if( jdx==idx || maxPtIndices[idx]>maxPtIndices[jdx] )
continue;
136 if( wDist<0. || wDist>fabs(sum.mass()-
wMass_) ){
137 wDist=fabs(sum.mass()-
wMass_);
138 wMassIndices.clear();
139 wMassIndices.push_back(maxPtIndices[idx]);
140 wMassIndices.push_back(maxPtIndices[jdx]);
145 jets[wMassIndices[1]].p4()).
mass();
bool failed_
indicate failed associations
double masslb(reco::RecoCandidate *mu, const reco::MET &met, const reco::Jet &b)
calculate mlb estimate
double massTopQuark(const std::vector< reco::Jet > &jets)
calculate top quark mass estimate
void operator()(const std::vector< reco::Jet > &jets)
double wMass_
paramater of the w boson mass
Base class for all types of Jets.
double tmassTopQuark(reco::RecoCandidate *mu, const reco::MET &met, const reco::Jet &b)
calculate top quark transverse mass estimate
double massWBoson(const std::vector< reco::Jet > &jets)
calculate W boson mass estimate
CalculateHLT(int maxNJets, double wMass)
default constructor
double massWBoson_
cache of w boson mass estimate
double mlb_
cache of mlb estimate
double massTopQuark_
cache of top quark mass estimate
double tmassWBoson(reco::RecoCandidate *mu, const reco::MET &met, const reco::Jet &b)
calculate W boson transverse mass estimate
virtual double px() const
x coordinate of momentum vector
virtual double pt() const
transverse momentum
double tmassWBoson_
cache of W boson transverse mass estimate
int maxNJets_
max. number of jets to be considered
double tmassTopQuark_
cache of top quark transverse mass estimate
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
virtual double py() const
y coordinate of momentum vector
Power< A, B >::type pow(const A &a, const B &b)