68 TMatrixD m1(3,3), m2(3,3);
69 TMatrixD m1b(4,4), m2b(4,4);
70 TMatrixD m3(3,3), m4(3,3);
72 m1b.Zero(); m2b.Zero();
79 TLorentzVector leplVec;
127 m3(0,0) =
pow(elecRes.
pt (pt, eta), 2);
128 m3(1,1) =
pow(elecRes.
pt (pt, eta), 2);
129 m3(2,2) =
pow(elecRes.
pt (pt, eta), 2);
132 m3(0,0) =
pow(muonRes.
pt (pt, eta), 2);
133 m3(1,1) =
pow(muonRes.
pt (pt, eta), 2);
134 m3(2,2) =
pow(muonRes.
pt (pt, eta), 2);
138 m3(0,0) =
pow(elecRes.
pt (pt, eta), 2);
139 m3(1,1) =
pow(elecRes.
eta(pt, eta), 2);
140 m3(2,2) =
pow(elecRes.
phi(pt, eta), 2);
143 m3(0,0) =
pow(muonRes.
pt (pt, eta), 2);
144 m3(1,1) =
pow(muonRes.
eta(pt, eta), 2);
145 m3(2,2) =
pow(muonRes.
phi(pt, eta), 2);
149 m3(0,0) =
pow(elecRes.
pt (pt, eta), 2);
150 m3(1,1) =
pow(elecRes.
eta(pt, eta), 2);
151 m3(2,2) =
pow(elecRes.
phi(pt, eta), 2);
154 m3(0,0) =
pow(muonRes.
pt (pt, eta), 2);
155 m3(1,1) =
pow(muonRes.
eta(pt, eta), 2);
156 m3(2,2) =
pow(muonRes.
phi(pt, eta), 2);
166 m4(0,0) =
pow(metRes.
met(met), 2);
167 m4(1,1) =
pow( 9999., 2);
168 m4(2,2) =
pow(metRes.
met(met), 2);
170 m4(0,0) =
pow(metRes.
met(met), 2);
171 m4(1,1) =
pow( 9999., 2);
172 m4(2,2) =
pow(metRes.
phi(met), 2);
174 m4(0,0) =
pow(metRes.
met(met), 2);
175 m4(1,1) =
pow( 9999., 2);
176 m4(2,2) =
pow(metRes.
phi(met), 2);
230 std::cout<<std::endl<<std::endl<<
"+++++++++++ KINFIT SETUP ++++++++++++"<<std::endl;
245 std::cout<<
"++++++++++++++++++++++++++++++++++++++++++++"<<std::endl<<std::endl<<std::endl;
247 TMatrixD empty3(3,3); TMatrixD empty4(4,4);
virtual double pt() const final
transverse momentum
double pt(double pt, double eta, Flavor flav)
Param
supported parameterizations
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 eta() const final
momentum pseudorapidity
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)
TopKinFitter(const int maxNrIter=200, const double maxDeltaS=5e-5, const double maxF=1e-4, const double mW=80.4, const double mTop=173.)
default constructor
int maxNrIter_
maximal allowed number of iterations to be used for the fit
void setFitBottom(const pat::Particle &part)
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.
virtual double et() const final
transverse energy
TAbsFitParticle * fitNeutrino_
pat::Jet getLight() const
virtual double px() const final
x coordinate of momentum vector
void addConstraint(TAbsFitConstraint *constraint)
virtual double energy() const final
energy
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)
virtual double pz() const final
z coordinate of momentum vector
pat::MET getNeutrino() const
XYZPointD XYZPoint
point in space with cartesian internal representation
Analysis-level particle class.
double eta(double pt, double eta)
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 final
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