38 int maxNrIter,
double maxDeltaS,
double maxF, std::vector<int>
constraints) :
40 jetParam_((
Param) jetParam),
41 lepParam_((
Param) lepParam),
42 metParam_((
Param) metParam),
43 constraints_(constraints)
49 int maxNrIter,
double maxDeltaS,
double maxF, std::vector<int>
constraints) :
54 constraints_(constraints)
69 TMatrixD m1(3,3), m2(3,3);
70 TMatrixD m1b(4,4), m2b(4,4);
71 TMatrixD m3(3,3), m4(3,3);
73 m1b.Zero(); m2b.Zero();
80 TLorentzVector leplVec;
128 m3(0,0) =
pow(elecRes.
pt (pt, eta), 2);
129 m3(1,1) =
pow(elecRes.
pt (pt, eta), 2);
130 m3(2,2) =
pow(elecRes.
pt (pt, eta), 2);
133 m3(0,0) =
pow(muonRes.
pt (pt, eta), 2);
134 m3(1,1) =
pow(muonRes.
pt (pt, eta), 2);
135 m3(2,2) =
pow(muonRes.
pt (pt, eta), 2);
139 m3(0,0) =
pow(elecRes.
pt (pt, eta), 2);
140 m3(1,1) =
pow(elecRes.
eta(pt, eta), 2);
141 m3(2,2) =
pow(elecRes.
phi(pt, eta), 2);
144 m3(0,0) =
pow(muonRes.
pt (pt, eta), 2);
145 m3(1,1) =
pow(muonRes.
eta(pt, eta), 2);
146 m3(2,2) =
pow(muonRes.
phi(pt, eta), 2);
150 m3(0,0) =
pow(elecRes.
pt (pt, eta), 2);
151 m3(1,1) =
pow(elecRes.
eta(pt, eta), 2);
152 m3(2,2) =
pow(elecRes.
phi(pt, eta), 2);
155 m3(0,0) =
pow(muonRes.
pt (pt, eta), 2);
156 m3(1,1) =
pow(muonRes.
eta(pt, eta), 2);
157 m3(2,2) =
pow(muonRes.
phi(pt, eta), 2);
167 m4(0,0) =
pow(metRes.
met(met), 2);
168 m4(1,1) =
pow( 9999., 2);
169 m4(2,2) =
pow(metRes.
met(met), 2);
171 m4(0,0) =
pow(metRes.
met(met), 2);
172 m4(1,1) =
pow( 9999., 2);
173 m4(2,2) =
pow(metRes.
phi(met), 2);
175 m4(0,0) =
pow(metRes.
met(met), 2);
176 m4(1,1) =
pow( 9999., 2);
177 m4(2,2) =
pow(metRes.
phi(met), 2);
231 std::cout<<std::endl<<std::endl<<
"+++++++++++ KINFIT SETUP ++++++++++++"<<std::endl;
246 std::cout<<
"++++++++++++++++++++++++++++++++++++++++++++"<<std::endl<<std::endl<<std::endl;
248 TMatrixD empty3(3,3); TMatrixD empty4(4,4);
double pt(double pt, double eta, Flavor flav)
TAbsFitParticle * fitLight_
pat::Muon getMuon() const
void addParticles1(TAbsFitParticle *p1, TAbsFitParticle *p2=0, TAbsFitParticle *p3=0, TAbsFitParticle *p4=0, TAbsFitParticle *p5=0, TAbsFitParticle *p6=0, TAbsFitParticle *p7=0, TAbsFitParticle *p8=0, TAbsFitParticle *p9=0, TAbsFitParticle *p10=0)
virtual double et() const
transverse energy
double phi(double pt, double eta, Flavor flav)
virtual void setIni4Vec(const TLorentzVector *pini)=0
double phi(double pt, double eta)
std::string param(const Param ¶m) const
convert Param to human readable form
double pt(double pt, double eta)
double eta(double pt, double eta)
int maxNrIter_
maximal allowed number of iterations to be used for the fit
void setFitBottom(const pat::Particle &part)
virtual double eta() const
momentum pseudorapidity
void setChi2Prob(double prob)
void setFitNeutrino(const pat::Particle &part)
double fitProb() const
return fit probability
TAbsFitParticle * fitBottom_
pat::Jet getBottom() const
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
TAbsFitParticle * fitNeutrino_
virtual double energy() const
energy
pat::Jet getLight() const
void addConstraint(TAbsFitConstraint *constraint)
virtual void setCovMatrix(const TMatrixD *theCovMatrix)
std::vector< int > constraints_
void setFitLepton(const pat::Particle &part)
double mW_
W mass value used for constraints.
void addMeasParticle(TAbsFitParticle *particle)
double eta(double pt, double eta, Flavor flav)
void setFitLight(const pat::Particle &part)
std::string getDecay() const
double maxDeltaS_
maximal allowed chi2 (not normalized to degrees of freedom)
pat::MET getNeutrino() const
virtual double px() const
x coordinate of momentum vector
virtual double pt() const
transverse momentum
XYZPointD XYZPoint
point in space with cartesian internal representation
Analysis-level particle class.
double eta(double pt, double eta)
virtual double pz() const
z coordinate of momentum vector
const TLorentzVector * getCurr4Vec()
void addParticle1(TAbsFitParticle *particle)
double pt(double pt, double eta)
StEvtSolution addKinFitInfo(StEvtSolution *asol)
TAbsFitParticle * fitLepton_
TKinFitter * fitter_
kinematic fitter
double phi(double pt, double eta)
double mTop_
top mass value used for constraints
virtual double py() const
y coordinate of momentum vector
Power< A, B >::type pow(const A &a, const B &b)
pat::Electron getElectron() const
double maxF_
maximal allowed distance from constraints