00001
00015 #ifndef __JETFITOBJECT_H
00016 #define __JETFITOBJECT_H
00017
00018 #include"jbltools/kinfit/ParticleFitObject.h"
00019
00020
00022
00033 class JetFitObject : public ParticleFitObject {
00034 public:
00035 JetFitObject(double E, double theta, double phi,
00036 double DE, double Dtheta, double Dphi,
00037 double m = 0);
00038 virtual ~JetFitObject();
00039
00041 virtual const char *getParamName (int ilocal
00042 ) const;
00043
00044
00045
00046
00047 virtual double getPx() const;
00048 virtual double getPy() const;
00049 virtual double getPz() const;
00050 virtual double getE() const;
00051
00052 virtual double getP() const;
00053 virtual double getP2() const;
00054 virtual double getPt() const;
00055 virtual double getPt2() const;
00056
00057 virtual double getDPx(int ilocal) const;
00058 virtual double getDPy(int ilocal) const;
00059 virtual double getDPz(int ilocal) const;
00060 virtual double getDE(int ilocal) const;
00061
00062 virtual void addToDerivatives (double der[],
00063 int idim,
00064 double pxfact=0,
00065 double pyfact=0,
00066 double pzfact=0,
00067 double efact=0) const;
00068
00069
00070
00071 virtual void addTo2ndDerivatives (double der2[],
00072 int idim,
00073 double pxfact,
00074 double pyfact,
00075 double pzfact,
00076 double efact) const;
00077
00078 virtual void addToGlobalDerMatrix (int idim, double c, double *M) const;
00079
00080 virtual void invalidateCache() const;
00081
00082 protected:
00083
00084 virtual void initCov();
00085
00086 void updateCache() const;
00087
00088 mutable bool cachevalid;
00089
00090 mutable double ctheta, stheta, cphi, sphi,
00091 p2, p, pt, px, py, pz, dpdE, dptdE,
00092 dpxdE, dpydE, dpzdE, dpxdtheta, dpydtheta,
00093 chi2;
00094
00095
00096 };
00097
00098
00099
00100 #endif // __JETFITOBJECT_H
00101