Added Gautes changes from Bergen.
[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>
68772666 6#include <TObject.h>
7#include <TObjArray.h>
5a31e9df 8
9class AliITStrackV2;
10
68772666 11class AliD0Trigger : public TObjArray{
5a31e9df 12
13 private:
14 AliITStrackV2 * posTrack; //!
15 AliITStrackV2 * negTrack; //!
16
17 double momenta[6];
18 double bestV0[3],primaryVertex[3];
0bd0c1ef 19 double cutV0low, cutV0high, cutInvMass, cutPointAngle, cutd0d0,cutCosThetaStar,cutpTchild;
5a31e9df 20 double Bfield;
21
22 public:
23 AliD0Trigger();
0bd0c1ef 24 AliD0Trigger(double c[7],double Bfield,double pv[3]);
5a31e9df 25 AliD0Trigger(AliITStrackV2 * posT, AliITStrackV2 * negT);
68772666 26 AliD0Trigger(double c[7],double Bfield,double pv[3],AliITStrackV2 * posT, AliITStrackV2 * negT);
5a31e9df 27 virtual ~AliD0Trigger();
28
29 void SetTracks(AliITStrackV2 * posT, AliITStrackV2 * negT);
de3c3890 30 void SetV0(double v[3]);
5a31e9df 31 bool FindInvMass();
32 bool FindV0();
0bd0c1ef 33 bool FindV0offline(double v[3]);
5a31e9df 34 void FindMomentaAtVertex();
0bd0c1ef 35 void FindMomentaOffline();
5a31e9df 36 bool PointingAngle();
0bd0c1ef 37 void SetMomenta(double m[6]);
38 bool d0d0();
39 bool CosThetaStar();
40 double P(){return sqrt(Pt()*Pt()+Pz()*Pz());}
41 double Pt(){return sqrt(Px()*Px()+Py()*Py());}
42 double Px(){return (momenta[0]+momenta[3]);}
43 double Py(){return (momenta[1]+momenta[4]);}
44 double Pz(){return (momenta[2]+momenta[5]);}
45 double Energy();
de3c3890 46 //double Eta(){return atanh(cos(atan(Pt()/Pz())));}
47 double Eta(){return 0.5*(log((P()+Pz())/(P()-Pz())));}
0bd0c1ef 48 bool pTchild();
49
5a31e9df 50 ClassDef(AliD0Trigger,1)
51
52};
53
54#endif