MarlinKinfit  0.4.0
ZinvisibleFitObject.h
Go to the documentation of this file.
1 
6 #ifndef __ZINVISIBLEFITOBJECT_H
7 #define __ZINVISIBLEFITOBJECT_H
8 
9 #include "ParticleFitObject.h"
10 #include <cmath>
11 
12 // Class ZinvisibleFitObject
14 
16  public:
17  ZinvisibleFitObject(double E, double eta, double phi,
18  double DE=1, double Dtheta=0.1, double Dphi=0.1, double m = 91.1876);
19 
22  );
23 
26  );
27 
28  virtual ~ZinvisibleFitObject();
29 
31  virtual ZinvisibleFitObject *copy() const;
32 
34  virtual ZinvisibleFitObject& assign (const BaseFitObject& source
35  );
36 
38  virtual const char *getParamName (int ilocal
39  ) const;
40 
42  virtual bool updateParams (double p[],
43  int idim
44  );
45 
46  // these depend on actual parametrisation!
47  virtual double getPx() const;
48  virtual double getPy() const;
49  virtual double getPz() const;
50  virtual double getE() const;
51  virtual double getPt() const;
52  virtual double getP2() const;
53  virtual double getPt2() const;
54  virtual double getDPx(int ilocal) const;
55  virtual double getDPy(int ilocal) const;
56  virtual double getDPz(int ilocal) const;
57  virtual double getDE(int ilocal) const;
58 
59  virtual void invalidateCache() const;
60 
61  virtual double getFirstDerivative_Meta_Local( int iMeta, int ilocal , int metaSet ) const;
62  virtual double getSecondDerivative_Meta_Local( int iMeta, int ilocal , int jlocal , int metaSet ) const;
63  virtual int getNPar() const {return NPAR;}
64 
65  protected:
66  inline double getP() const;
67 
68  void updateCache() const;
69 
70  enum {NPAR=3};
71 
72  mutable bool cachevalid;
73 
74  mutable double ctheta, stheta, cphi, sphi,
75  p2, p, dpdE, pt, px, py, pz, dptdE,
76  dpxdE, dpydE, dpxdtheta, dpydtheta,
77  chi2;
78 
79 };
80 
81 #endif // __ZINVISIBLEFITOBJECT_H
82 
virtual int getNPar() const
Get total number of parameters of this FitObject.
Definition: ZinvisibleFitObject.h:63
virtual double getPt2() const
Return pt (transverse momentum) squared.
Definition: ZinvisibleFitObject.cc:160
virtual double getDE(int ilocal) const
Return d E / d par_ilocal (derivative of E w.r.t. local parameter ilocal)
Definition: ZinvisibleFitObject.cc:198
virtual ZinvisibleFitObject & assign(const BaseFitObject &source)
Assign from anther object, if of same type.
Definition: ZinvisibleFitObject.cc:64
virtual double getDPy(int ilocal) const
Return d p_y / d par_ilocal (derivative of py w.r.t. local parameter ilocal)
Definition: ZinvisibleFitObject.cc:176
virtual double getPx() const
Return px.
Definition: ZinvisibleFitObject.cc:131
virtual double getPy() const
Return py.
Definition: ZinvisibleFitObject.cc:135
virtual const char * getParamName(int ilocal) const
Get name of parameter ilocal.
Definition: ZinvisibleFitObject.cc:77
ZinvisibleFitObject & operator=(const ZinvisibleFitObject &rhs)
Assignment.
Definition: ZinvisibleFitObject.cc:53
Abstract base class for particle objects of kinematic fits.
Definition: ParticleFitObject.h:63
virtual double getPt() const
Return pt (transverse momentum)
Definition: ZinvisibleFitObject.cc:156
Declares class ParticleFitObject.
virtual double getDPz(int ilocal) const
Return d p_z / d par_ilocal (derivative of pz w.r.t. local parameter ilocal)
Definition: ZinvisibleFitObject.cc:187
virtual void invalidateCache() const
invalidate any cached quantities
Definition: ZinvisibleFitObject.cc:277
Class for Z->neutrinos with (E, eta, phi) in kinematic fits.
Definition: ZinvisibleFitObject.h:15
double getP() const
Return p (momentum)
Definition: ZinvisibleFitObject.cc:147
virtual bool updateParams(double p[], int idim)
Read values from global vector, readjust vector; return: significant change.
Definition: ZinvisibleFitObject.cc:86
Abstract base class for particle objects of kinematic fits.
Definition: BaseFitObject.h:110
virtual ZinvisibleFitObject * copy() const
Return a new copy of itself.
Definition: ZinvisibleFitObject.cc:60
virtual double getPz() const
Return pz.
Definition: ZinvisibleFitObject.cc:139
virtual double getDPx(int ilocal) const
Return d p_x / d par_ilocal (derivative of px w.r.t. local parameter ilocal)
Definition: ZinvisibleFitObject.cc:165
virtual double getE() const
Return E.
Definition: ZinvisibleFitObject.cc:143
virtual double getP2() const
Return p (momentum) squared.
Definition: ZinvisibleFitObject.cc:152