c15ecf304bff6645f1ae954ce8ef693246d5a723
[u/mrichter/AliRoot.git] / HLT / global / AliHLTVertexer.h
1 #ifndef ALIHLTVERTEXER_H
2 #define ALIHLTVERTEXER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 #include "AliKFParticle.h"
8 #include "AliKFVertex.h"
9
10 class AliESDtrack;
11 class AliESDVertex;
12 class AliTracker;
13 class AliESDtrack;
14 class AliESDEvent;
15
16 class AliHLTVertexer
17 {
18 public:
19
20   class AliESDTrackInfo
21     {
22     public:
23       AliESDTrackInfo(): fParticle(),fPrimDeviation(0),fPrimUsedFlag(0),fOK(0){}
24       
25       AliKFParticle fParticle; //* assigned KFParticle
26       Double_t fPrimDeviation; //* deviation from the primary vertex
27       Bool_t fPrimUsedFlag;    //* flag shows that the particle was used for primary vertex fit
28       Bool_t fOK;              //* is the track good enough
29     };
30
31   AliHLTVertexer();
32   virtual ~AliHLTVertexer(){ delete[] fTrackInfos; }
33
34   void SetESD( AliESDEvent *event );
35   void FindPrimaryVertex();
36   void FindV0s();
37   void SetFillVtxConstrainedTracks( bool v ){ fFillVtxConstrainedTracks = v; }
38   const AliESDTrackInfo *TrackInfos(){ return fTrackInfos; }  
39
40  private:
41   
42   AliHLTVertexer(const AliHLTVertexer &t);
43   AliHLTVertexer &operator = (const AliHLTVertexer & ){ return *this; }
44
45   AliESDEvent *fESD; // pointer to esd event
46   AliESDTrackInfo *fTrackInfos; // information about esd tracks
47   AliKFVertex fPrimaryVtx; // reconstructed KF primary vertex
48   bool fFillVtxConstrainedTracks; // flag to fill vtx constrained tracks to esd
49
50   ClassDef(AliHLTVertexer,0)   //HLT vertex finder
51 };
52
53
54
55 #endif
56
57