added PMD raw digits reading class
[u/mrichter/AliRoot.git] / HLT / trigger / AliD0Trigger.h
CommitLineData
5a31e9df 1#ifndef AliD0_Trigger
2#define AliD0_Trigger
3
4#include "AliL3RootTypes.h"
de3c3890 5#include <math.h>
5a31e9df 6
7class AliITStrackV2;
8
9class AliD0Trigger {
10
11 private:
12 AliITStrackV2 * posTrack; //!
13 AliITStrackV2 * negTrack; //!
14
15 double momenta[6];
16 double bestV0[3],primaryVertex[3];
0bd0c1ef 17 double cutV0low, cutV0high, cutInvMass, cutPointAngle, cutd0d0,cutCosThetaStar,cutpTchild;
5a31e9df 18 double Bfield;
19
20 public:
21 AliD0Trigger();
0bd0c1ef 22 AliD0Trigger(double c[7],double Bfield,double pv[3]);
5a31e9df 23 AliD0Trigger(AliITStrackV2 * posT, AliITStrackV2 * negT);
24 virtual ~AliD0Trigger();
25
26 void SetTracks(AliITStrackV2 * posT, AliITStrackV2 * negT);
de3c3890 27 void SetV0(double v[3]);
5a31e9df 28 bool FindInvMass();
29 bool FindV0();
0bd0c1ef 30 bool FindV0offline(double v[3]);
5a31e9df 31 void FindMomentaAtVertex();
0bd0c1ef 32 void FindMomentaOffline();
5a31e9df 33 bool PointingAngle();
0bd0c1ef 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();
de3c3890 43 //double Eta(){return atanh(cos(atan(Pt()/Pz())));}
44 double Eta(){return 0.5*(log((P()+Pz())/(P()-Pz())));}
0bd0c1ef 45 bool pTchild();
46
5a31e9df 47 ClassDef(AliD0Trigger,1)
48
49};
50
51#endif