Merged Bergen, mergen Cvetan TransformerRow and
[u/mrichter/AliRoot.git] / HLT / trigger / AliD0Trigger.h
1 #ifndef AliD0_Trigger
2 #define AliD0_Trigger
3
4 #include "AliL3RootTypes.h"
5 #include <math.h>
6
7 class AliITStrackV2;
8
9 class AliD0Trigger {
10  
11  private:
12   AliITStrackV2 * posTrack; //!
13   AliITStrackV2 * negTrack; //!
14   
15   double momenta[6];
16   double bestV0[3],primaryVertex[3];
17   double cutV0low, cutV0high, cutInvMass, cutPointAngle, cutd0d0,cutCosThetaStar,cutpTchild;
18   double Bfield;
19
20  public:
21   AliD0Trigger();
22   AliD0Trigger(double c[7],double Bfield,double pv[3]);
23   AliD0Trigger(AliITStrackV2 * posT, AliITStrackV2 * negT);
24   virtual ~AliD0Trigger();
25
26   void SetTracks(AliITStrackV2 * posT, AliITStrackV2 * negT);
27   void SetV0(double v[3]);
28   bool FindInvMass();
29   bool FindV0();
30   bool FindV0offline(double v[3]);
31   void FindMomentaAtVertex();
32   void FindMomentaOffline();
33   bool PointingAngle();
34   void SetMomenta(double m[6]);
35   bool d0d0();
36   bool CosThetaStar();
37   double P(){return sqrt(Pt()*Pt()+Pz()*Pz());} 
38   double Pt(){return sqrt(Px()*Px()+Py()*Py());}
39   double Px(){return (momenta[0]+momenta[3]);}
40   double Py(){return (momenta[1]+momenta[4]);}
41   double Pz(){return (momenta[2]+momenta[5]);}
42   double Energy();
43   //double Eta(){return atanh(cos(atan(Pt()/Pz())));}
44   double Eta(){return 0.5*(log((P()+Pz())/(P()-Pz())));}
45   bool pTchild();
46
47   ClassDef(AliD0Trigger,1) 
48
49 };
50
51 #endif