CMS 3D CMS Logo

TFitConstraintEp.h
Go to the documentation of this file.
1 #ifndef TFitConstraintEp_hh
2 #define TFitConstraintEp_hh
3 
6 #include "TMatrixD.h"
7 #include <vector>
8 
10 
11 public :
12 
13  enum component {
14  pX,
15  pY,
16  pZ,
17  E
18  };
19 
21 
22  TFitConstraintEp( const TString &name, const TString &title,
23  TFitConstraintEp::component thecomponent,
24  Double_t constraint = 0.);
25 
26  TFitConstraintEp( std::vector<TAbsFitParticle*>* particles,
27  TFitConstraintEp::component thecomponent,
28  Double_t constraint = 0.);
29 
30  TFitConstraintEp( const TString &name, const TString &title,
31  std::vector<TAbsFitParticle*>* particles,
32  TFitConstraintEp::component thecomponent,
33  Double_t constraint = 0.);
34  virtual ~TFitConstraintEp();
35 
36  void addParticle( TAbsFitParticle* particle );
38  TAbsFitParticle* p5 = 0, TAbsFitParticle* p6 = 0, TAbsFitParticle* p7 = 0, TAbsFitParticle* p8 = 0,
39  TAbsFitParticle* p9 = 0, TAbsFitParticle* p10 = 0);
41 
42  // returns derivative df/dP with P=(p,E) and f the constraint f=0.
43  // The matrix contains one row (df/dp, df/dE).
44  virtual TMatrixD* getDerivative( TAbsFitParticle* particle );
45  virtual Double_t getInitValue();
46  virtual Double_t getCurrentValue();
47 
48  virtual TString getInfoString();
49  virtual void print();
50 
51 protected :
52 
53 
54 private:
55  std::vector<TAbsFitParticle*> _particles; // Vector containing constrained particles
56  Double_t _constraint; // Value of constraint
57  TFitConstraintEp::component _component; // 4vector component to be constrained
58 
59 };
60 
61 #endif
void addParticles(TAbsFitParticle *p1, TAbsFitParticle *p2=0, TAbsFitParticle *p3=0, TAbsFitParticle *p4=0, TAbsFitParticle *p5=0, TAbsFitParticle *p6=0, TAbsFitParticle *p7=0, TAbsFitParticle *p8=0, TAbsFitParticle *p9=0, TAbsFitParticle *p10=0)
virtual Double_t getCurrentValue()
virtual Double_t getInitValue()
void addParticle(TAbsFitParticle *particle)
virtual void print()
virtual TString getInfoString()
virtual ~TFitConstraintEp()
double p4[4]
Definition: TauolaWrapper.h:92
double p2[4]
Definition: TauolaWrapper.h:90
void setConstraint(Double_t constraint)
double p1[4]
Definition: TauolaWrapper.h:89
TFitConstraintEp::component _component
virtual TMatrixD * getDerivative(TAbsFitParticle *particle)
std::vector< TAbsFitParticle * > _particles
double p3[4]
Definition: TauolaWrapper.h:91