17#ifndef __JETFITOBJECT_H
18#define __JETFITOBJECT_H
20#include "analysis/OrcaKinFit/ParticleFitObject.h"
28 namespace OrcaKinFit {
46 double DE,
double Dtheta,
double Dphi,
74 virtual int getNPar()
const override {
return NPAR;}
78 virtual double getDPx(
int ilocal)
const override;
79 virtual double getDPy(
int ilocal)
const override;
80 virtual double getDPz(
int ilocal)
const override;
81 virtual double getDE(
int ilocal)
const override;
106 virtual double getSecondDerivative_Meta_Local(
int iMeta,
int ilocal,
int jlocal,
int metaSet)
const override;
115 void updateCache()
const override;
117 mutable double ctheta, stheta, cphi, sphi,
118 p2, p, pt, px, py, pz, dpdE, dptdE,
119 dpxdE, dpydE, dpzdE, dpxdtheta, dpydtheta,
124 static bool adjustEThetaPhi(
const double& m,
double&
E,
double& theta,
double& phi);
Class for jets with (E, eta, phi) in kinematic fits.
virtual double getDPx(int ilocal) const override
Return d p_x / d par_ilocal (derivative of px w.r.t. local parameter ilocal)
virtual JetFitObject & assign(const BaseFitObject &source) override
Assign from anther object, if of same type.
static bool adjustEThetaPhi(const double &m, double &E, double &theta, double &phi)
Adjust E, theta and phi such that E>=m, 0<=theta<=pi, -pi <= phi < pi; returns true if anything was c...
virtual double getDPy(int ilocal) const override
Return d p_y / d par_ilocal (derivative of py w.r.t. local parameter ilocal)
virtual int getNPar() const override
Get total number of parameters of this FitObject.
virtual double getDE(int ilocal) const override
Return d E / d par_ilocal (derivative of E w.r.t. local parameter ilocal)
JetFitObject & operator=(const JetFitObject &rhs)
Assignment.
virtual JetFitObject * copy() const override
Return a new copy of itself.
virtual const char * getParamName(int ilocal) const override
Get name of parameter ilocal.
virtual double getDPz(int ilocal) const override
Return d p_z / d par_ilocal (derivative of pz w.r.t. local parameter ilocal)
virtual double getFirstDerivative_Meta_Local(int iMeta, int ilocal, int metaSet) const override
add derivatives to vector der of size idim pxfact*dpx/dx_i + pyfact*dpy/dx_i + pzfact*dpz/dx_i + efac...
virtual bool updateParams(double p[], int idim) override
Read values from global vector, readjust vector; return: significant change.
virtual double getCov(int ilocal, int jlocal) const override
Get covariance between parameters ilocal and jlocal.
virtual double getError(int ilocal) const override
Get error of parameter ilocal.
Abstract base class for different kinds of events.