27 jetEnergyResolutionScaleFactors_(
nullptr),
28 jetEnergyResolutionEtaBinning_(
nullptr),
46 const std::vector<edm::ParameterSet>* lepResolutions,
47 const std::vector<edm::ParameterSet>* metResolutions,
78 for (std::map<Constraint, TFitConstraintM*>::iterator it =
massConstr_.begin(); it !=
massConstr_.end(); ++it)
85 std::stringstream constr;
89 constr <<
" * hadronic W-mass (" <<
mW_ <<
" GeV) \n";
92 constr <<
" * leptonic W-mass (" << mW_ <<
" GeV) \n";
95 constr <<
" * hadronic t-mass (" <<
mTop_ <<
" GeV) \n";
98 constr <<
" * leptonic t-mass (" << mTop_ <<
" GeV) \n";
101 constr <<
" * neutrino mass (0 GeV) \n";
104 constr <<
" * equal t-masses \n";
107 constr <<
" * summed transverse momentum \n";
112 <<
"+++++++++++ TtSemiLepKinFitter Setup ++++++++++++ \n" 113 <<
" Parametrization: \n" 117 <<
" Constraints: \n" 118 << constr.str() <<
" Max(No iterations): " <<
maxNrIter_ <<
"\n" 120 <<
" Max(F) : " <<
maxF_ <<
"\n" 121 <<
"+++++++++++++++++++++++++++++++++++++++++++++++++ \n";
125 TMatrixD empty3x3(3, 3);
126 TMatrixD empty4x4(4, 4);
150 TMatrixD empty3x3(3, 3);
238 const TLorentzVector& p4HadQ,
239 const TLorentzVector& p4HadB,
240 const TLorentzVector& p4LepB,
241 const TLorentzVector& p4Lepton,
242 const TLorentzVector& p4Neutrino,
243 const int leptonCharge,
270 const TLorentzVector& p4HadQ,
271 const TLorentzVector& p4HadB,
272 const TLorentzVector& p4LepB,
273 const TLorentzVector& p4Lepton,
274 const TLorentzVector& p4Neutrino,
275 const TMatrixD& covHadP,
276 const TMatrixD& covHadQ,
277 const TMatrixD& covHadB,
278 const TMatrixD& covLepB,
279 const TMatrixD& covLepton,
280 const TMatrixD& covNeutrino,
281 const int leptonCharge) {
354 std::vector<pat::Jet>
jets;
362 if (fitsol.
getDecay() ==
"electron")
void setFitHadq(const pat::Particle &aFitHadq)
const pat::Particle fittedHadP() const
return hadronic light quark candidate
void setFitHadb(const pat::Particle &aFitHadb)
TAbsFitParticle * hadB_
input particles
Param
supported parameterizations
const std::vector< edm::ParameterSet > * udscResolutions_
resolutions
TAbsFitParticle * neutrino_
const pat::Particle fittedNeutrino() const
return neutrino candidate
const pat::Particle fittedLepB() const
return leptonic b quark candidate
pat::Jet getCalHadq() const
virtual void setIni4Vec(const TLorentzVector *pini)=0
bool constrainSumPt_
internally use simple boolean for this constraint to reduce the per-event computing time ...
std::string param(const Param ¶m) const
convert Param to human readable form
pat::MET getCalLepn() const
jetEnergyResolutionScaleFactors
TMatrixD setupMatrix(const pat::PATObject< T > &object, const TopKinFitter::Param param, const std::string &resolutionProvider="")
return covariance matrix for a PAT object
std::string getDecay() const
TFitConstraintEp * sumPyConstr_
math::Error< 5 >::type CovarianceMatrix
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
void addParticles(TAbsFitParticle *p1, TAbsFitParticle *p2=nullptr, TAbsFitParticle *p3=nullptr, TAbsFitParticle *p4=nullptr, TAbsFitParticle *p5=nullptr, TAbsFitParticle *p6=nullptr, TAbsFitParticle *p7=nullptr, TAbsFitParticle *p8=nullptr, TAbsFitParticle *p9=nullptr, TAbsFitParticle *p10=nullptr)
int maxNrIter_
maximal allowed number of iterations to be used for the fit
pat::Particle fittedHadP_
double fitProb() const
return fit probability
pat::Particle fittedLepB_
Param lepParam_
lepton parametrization
pat::Particle fittedHadB_
output particles
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
pat::Electron getCalLepe() const
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
void setFitLepb(const pat::Particle &aFitLepb)
pat::Particle fittedLepton_
void addConstraint(TAbsFitConstraint *constraint)
void setFitHadp(const pat::Particle &aFitHadp)
const std::vector< double > * jetEnergyResolutionScaleFactors_
scale factors for the jet energy resolution
jetEnergyResolutionEtaBinning
virtual void setCovMatrix(const TMatrixD *theCovMatrix)
Param jetParam_
jet parametrization
const pat::Particle fittedHadB() const
return hadronic b quark candidate
double mW_
W mass value used for constraints.
void addMeasParticle(TAbsFitParticle *particle)
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
pat::Particle fittedHadQ_
pat::Muon getCalLepm() const
void setConstraint(Double_t constraint)
double maxDeltaS_
maximal allowed chi2 (not normalized to degrees of freedom)
pat::Jet getCalHadb() const
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_
void setFitLepn(const pat::Particle &aFitLepn)
XYZPointD XYZPoint
point in space with cartesian internal representation
Analysis-level particle class.
const pat::Particle fittedHadQ() const
return hadronic light quark candidate
const TLorentzVector * getCurr4Vec()
const pat::Particle fittedLepton() const
return lepton candidate
void setProbChi2(double c)
pat::Jet getCalLepb() const
void setupFitter()
setup fitter
pat::Particle fittedNeutrino_
const std::vector< double > * jetEnergyResolutionEtaBinning_
TKinFitter * fitter_
kinematic fitter
void setFitLepl(const pat::Particle &aFitLepl)
double mTop_
top mass value used for constraints
double maxF_
maximal allowed distance from constraints
pat::Jet getCalHadp() const
const std::vector< edm::ParameterSet > * metResolutions_