MarlinKinfit  0.4.0
NeutrinoFitObject.h
1 
2 #ifndef __NEUTRINOFITOBJECT_H
3 #define __NEUTRINOFITOBJECT_H
4 
5 #include "ParticleFitObject.h"
6 
7 #include <cmath>
8 
9 
10 // Class NeutrinoFitObject
12 
24  public:
25  NeutrinoFitObject(double E, double theta, double phi,
26  double DE=1, double Dtheta=0.1, double Dphi=0.1);
27 
30  );
33  );
34 
35  virtual ~NeutrinoFitObject();
36 
38  virtual NeutrinoFitObject *copy() const;
39 
41  virtual NeutrinoFitObject& assign (const BaseFitObject& source
42  );
43 
45  virtual const char *getParamName (int ilocal
46  ) const;
47 
49  virtual bool updateParams (double p[],
50  int idim
51  );
52 
53  // these depend on actual parametrisation!
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 double getFirstDerivative_Meta_Local( int iMeta, int ilocal , int metaSet ) const;
60  virtual double getSecondDerivative_Meta_Local( int iMeta, int ilocal , int jlocal , int metaSet ) const;
61 
62  virtual int getNPar() const {return NPAR;}
63 
64  protected:
65  void updateCache() const;
66 
67  enum {NPAR=3};
68 
69  mutable double ctheta, stheta, cphi, sphi,
70  pt, px, py, pz, dptdE,
71  dpxdE, dpydE, dpxdtheta, dpydtheta,
72  chi2;
73 
74 };
75 
76 #endif // __NEUTRINOFITOBJECT_H
77 
virtual double getDPx(int ilocal) const
Return d p_x / d par_ilocal (derivative of px w.r.t. local parameter ilocal)
Definition: NeutrinoFitObject.cc:131
virtual NeutrinoFitObject & assign(const BaseFitObject &source)
Assign from anther object, if of same type.
Definition: NeutrinoFitObject.cc:67
virtual const char * getParamName(int ilocal) const
Get name of parameter ilocal.
Definition: NeutrinoFitObject.cc:80
virtual bool updateParams(double p[], int idim)
Read values from global vector, readjust vector; return: significant change.
Definition: NeutrinoFitObject.cc:90
virtual NeutrinoFitObject * copy() const
Return a new copy of itself.
Definition: NeutrinoFitObject.cc:63
Abstract base class for particle objects of kinematic fits.
Definition: ParticleFitObject.h:63
Declares class ParticleFitObject.
NeutrinoFitObject & operator=(const NeutrinoFitObject &rhs)
Assignment.
Definition: NeutrinoFitObject.cc:56
virtual double getDPz(int ilocal) const
Return d p_z / d par_ilocal (derivative of pz w.r.t. local parameter ilocal)
Definition: NeutrinoFitObject.cc:153
virtual double getDPy(int ilocal) const
Return d p_y / d par_ilocal (derivative of py w.r.t. local parameter ilocal)
Definition: NeutrinoFitObject.cc:142
Abstract base class for particle objects of kinematic fits.
Definition: BaseFitObject.h:110
virtual double getDE(int ilocal) const
Return d E / d par_ilocal (derivative of E w.r.t. local parameter ilocal)
Definition: NeutrinoFitObject.cc:164
Class for neutrinos with (E, eta, phi) in kinematic fits.
Definition: NeutrinoFitObject.h:23
virtual int getNPar() const
Get total number of parameters of this FitObject.
Definition: NeutrinoFitObject.h:62