MarlinKinfit  0.4.0
ISRPhotonFitObject.h
1 
2 #ifndef __ISRPHOTONFITOBJECT_H
3 #define __ISRPHOTONFITOBJECT_H
4 
5 #include "ParticleFitObject.h"
6 
9 
17 
47  public:
48  ISRPhotonFitObject(double px, double py, double pz,
49  double b_, double PzMaxB_, double PzMinB_ = 0.);
50 
53  );
56  );
57 
58  virtual ~ISRPhotonFitObject();
59 
61  virtual ISRPhotonFitObject *copy() const;
62 
64  virtual ISRPhotonFitObject& assign (const BaseFitObject& source
65  );
66 
68  virtual const char *getParamName (int ilocal
69  ) const;
70 
72  virtual bool updateParams (double p[],
73  int idim
74  );
75 
76 
77  // // these depend on actual parametrisation!
78  virtual double getDPx(int ilocal) const;
79  virtual double getDPy(int ilocal) const;
80  virtual double getDPz(int ilocal) const;
81  virtual double getDE(int ilocal) const;
82 
83  virtual double getFirstDerivative_Meta_Local( int iMeta, int ilocal , int metaSet ) const;
84  virtual double getSecondDerivative_Meta_Local( int iMeta, int ilocal , int jlocal, int metaSet ) const;
85 
86  virtual int getNPar() const {return NPAR;}
87 
88  protected:
89 
90  enum {NPAR=3}; // well, it's actually 1...Daniel should update
91 
92  virtual double PgFromPz(double pz);
93 
94  void updateCache() const;
95 
96  mutable bool cachevalid;
97 
98  mutable double pt2, p2, p, pz,
99  dpx0, dpy0, dpz0, dE0, dpx1, dpy1, dpz1, dE1,
100  dpx2, dpy2, dpz2, dE2, d2pz22, d2E22,
101  chi2,
102  b, PzMinB, PzMaxB, dp2zFact;
103 };
104 
105 #endif // __ISRPHOTONFITOBJECT_H
virtual double getDPz(int ilocal) const
Return d p_z / d par_ilocal (derivative of pz w.r.t. local parameter ilocal)
Definition: ISRPhotonFitObject.cc:199
virtual double getDE(int ilocal) const
Return d E / d par_ilocal (derivative of E w.r.t. local parameter ilocal)
Definition: ISRPhotonFitObject.cc:210
ISRPhotonFitObject & operator=(const ISRPhotonFitObject &rhs)
Assignment.
Definition: ISRPhotonFitObject.cc:130
Class ISRPhotonFitObject Documention: arXiv:1006.0436 [hep-ex].
Definition: ISRPhotonFitObject.h:46
virtual ISRPhotonFitObject & assign(const BaseFitObject &source)
Assign from anther object, if of same type.
Definition: ISRPhotonFitObject.cc:141
virtual ISRPhotonFitObject * copy() const
Return a new copy of itself.
Definition: ISRPhotonFitObject.cc:137
Abstract base class for particle objects of kinematic fits.
Definition: ParticleFitObject.h:63
virtual bool updateParams(double p[], int idim)
Read values from global vector, readjust vector; return: significant change.
Definition: ISRPhotonFitObject.cc:163
Declares class ParticleFitObject.
ISRPhotonFitObject(double px, double py, double pz, double b_, double PzMaxB_, double PzMinB_=0.)
Definition: ISRPhotonFitObject.cc:71
virtual const char * getParamName(int ilocal) const
Get name of parameter ilocal.
Definition: ISRPhotonFitObject.cc:154
virtual int getNPar() const
Get total number of parameters of this FitObject.
Definition: ISRPhotonFitObject.h:86
Abstract base class for particle objects of kinematic fits.
Definition: BaseFitObject.h:110
virtual double getDPy(int ilocal) const
Return d p_y / d par_ilocal (derivative of py w.r.t. local parameter ilocal)
Definition: ISRPhotonFitObject.cc:188
virtual double getDPx(int ilocal) const
Return d p_x / d par_ilocal (derivative of px w.r.t. local parameter ilocal)
Definition: ISRPhotonFitObject.cc:177