1 #ifndef TtSemiLepKinFitter_h
2 #define TtSemiLepKinFitter_h
6 #include "TLorentzVector.h"
44 const std::vector<Constraint>&
constraints,
double mW=80.4,
double mTop=173.,
45 const std::vector<edm::ParameterSet>* udscResolutions=0,
46 const std::vector<edm::ParameterSet>* bResolutions =0,
47 const std::vector<edm::ParameterSet>* lepResolutions =0,
48 const std::vector<edm::ParameterSet>* metResolutions =0,
49 const std::vector<double>* jetEnergyResolutionScaleFactors=0,
50 const std::vector<double>* jetEnergyResolutionEtaBinning =0);
57 int fit(
const TLorentzVector& p4HadP,
const TLorentzVector& p4HadQ,
const TLorentzVector& p4HadB,
const TLorentzVector& p4LepB,
60 int fit(
const TLorentzVector& p4HadP,
const TLorentzVector& p4HadQ,
const TLorentzVector& p4HadB,
const TLorentzVector& p4LepB,
61 const TLorentzVector& p4Lepton,
const TLorentzVector& p4Neutrino,
62 const TMatrixD& covHadP,
const TMatrixD& covHadQ,
const TMatrixD& covHadB,
const TMatrixD& covLepB,
63 const TMatrixD& covLepton,
const TMatrixD& covNeutrino,
64 const int leptonCharge);
133 template <
class LeptonType>
146 const TLorentzVector p4HadP( hadP.
px(), hadP.
py(), hadP.
pz(), hadP.
energy() );
147 const TLorentzVector p4HadQ( hadQ.
px(), hadQ.
py(), hadQ.
pz(), hadQ.
energy() );
148 const TLorentzVector p4HadB( hadB.
px(), hadB.
py(), hadB.
pz(), hadB.
energy() );
149 const TLorentzVector p4LepB( lepB.
px(), lepB.
py(), lepB.
pz(), lepB.
energy() );
150 const TLorentzVector p4Lepton ( lepton.px(), lepton.py(), lepton.pz(), lepton.energy() );
151 const TLorentzVector p4Neutrino( neutrino.
px(), neutrino.
py(), 0, neutrino.
et() );
162 return fit(p4HadP, p4HadQ, p4HadB, p4LepB, p4Lepton, p4Neutrino,
163 covHadP, covHadQ, covHadB, covLepB, covLepton, covNeutrino,
Analysis-level MET class.
const pat::Particle fittedHadP() const
return hadronic light quark candidate
TAbsFitParticle * hadB_
input particles
Param
supported parameterizations
const std::vector< edm::ParameterSet > * udscResolutions_
resolutions
TAbsFitParticle * neutrino_
virtual double energy() const final
energy
const pat::Particle fittedNeutrino() const
return neutrino candidate
const pat::Particle fittedLepB() const
return leptonic b quark candidate
bool constrainSumPt_
internally use simple boolean for this constraint to reduce the per-event computing time ...
TMatrixD setupMatrix(const pat::PATObject< T > &object, const TopKinFitter::Param param, const std::string &resolutionProvider="")
return covariance matrix for a PAT object
TFitConstraintEp * sumPyConstr_
pat::Particle fittedHadP_
pat::Particle fittedLepB_
Param lepParam_
lepton parametrization
pat::Particle fittedHadB_
output particles
const std::vector< edm::ParameterSet > * bResolutions_
TAbsFitParticle * lepton_
int fit(const std::vector< pat::Jet > &jets, const pat::Lepton< LeptonType > &leps, const pat::MET &met)
kinematic fit interface for PAT objects
void setupJets()
initialize jet inputs
const std::vector< edm::ParameterSet > * lepResolutions_
void printSetup() const
print fitter setup
pat::Particle fittedLepton_
Analysis-level lepton class.
const std::vector< double > * jetEnergyResolutionScaleFactors_
scale factors for the jet energy resolution
Param jetParam_
jet parametrization
const pat::Particle fittedHadB() const
return hadronic b quark candidate
virtual double py() const final
y coordinate of momentum vector
TtSemiLepKinFitter()
default constructor
std::map< Constraint, TFitConstraintM * > massConstr_
supported constraints
Param metParam_
met parametrization
CovarianceMatrix * covM_
object used to construct the covariance matrices for the individual particles
virtual double pz() const final
z coordinate of momentum vector
pat::Particle fittedHadQ_
TtSemiEvtSolution addKinFitInfo(TtSemiEvtSolution *asol)
add kin fit information to the old event solution (in for legacy reasons)
~TtSemiLepKinFitter()
default destructor
void setupConstraints()
initialize constraints
std::vector< Constraint > constrList_
vector of constraints to be used
void setupLeptons()
initialize lepton inputs
TFitConstraintEp * sumPxConstr_
Analysis-level particle class.
Analysis-level calorimeter jet class.
const pat::Particle fittedHadQ() const
return hadronic light quark candidate
const pat::Particle fittedLepton() const
return lepton candidate
void setupFitter()
setup fitter
virtual double px() const final
x coordinate of momentum vector
virtual double et() const final
transverse energy
pat::Particle fittedNeutrino_
const std::vector< double > * jetEnergyResolutionEtaBinning_
TKinFitter * fitter_
kinematic fitter
Constraint
supported constraints
const std::vector< edm::ParameterSet > * metResolutions_