Revised algorithm extended to very peripheral heavy-ion collisions (from G. Lo Re)
[u/mrichter/AliRoot.git] / ITS / AliITSVertexerIons.h
1 #ifndef ALIITSVERTEXERIONS_H
2 #define ALIITSVERTEXERIONS_H
3
4 #include <AliITSVertexer.h>
5 #include <TH1F.h>
6
7 //////////////////////////////////////////////////////////////////////
8 // AliITSVertexerIons  is a class for full 3D primary vertex        //
9 // finding optimized for Ion-Ion interactions                       //
10 //                                                                  // 
11 //                                                                  //
12 //                                                                  //
13 //                                                                  //
14 // Written by Giuseppe Lo Re and Francesco Riggi                    //
15 // Giuseppe.Lore@ct.infn.it                                         //
16 // Franco.Riggi@ct.infn.it                                          //
17 //                                                                  //
18 // Release date: Mar 2004                                           //
19 //                                                                  //
20 //                                                                  //       
21 //////////////////////////////////////////////////////////////////////
22
23 class AliITS;
24
25 class AliITSVertexerIons : public AliITSVertexer {
26
27  public:
28   AliITSVertexerIons();
29   AliITSVertexerIons(TString fn); 
30   virtual ~AliITSVertexerIons(); // destructor
31   virtual AliESDVertex* FindVertexForCurrentEvent(Int_t event);
32   virtual void FindVertices();
33   virtual void PhiFunc(Double_t &x,Double_t &y,Double_t &phi);
34   virtual void PrintStatus() const;
35   Int_t GetNpThreshold() const {return fNpThreshold;}
36   void SetNpThreshold(Int_t t = 500){fNpThreshold = t;}
37   Double_t GetMaxDeltaPhi() const {return fMaxDeltaPhi;}
38   void SetMaxDeltaPhi(Double_t dphi=0.45) {fMaxDeltaPhi=dphi;}
39   Double_t GetMaxDeltaZ() const {return fMaxDeltaPhi;}
40   void SetMaxDeltaZ(Double_t dz=0.15) {fMaxDeltaZ=dz;}
41   Double_t FindMaxAround(Double_t point, TH1F *h, Double_t distance);
42
43  protected:
44   AliITS *fITS;            //! pointer to the AliITS object
45   Int_t fNpThreshold;      // minimum number of rec points for vertexing
46   Double_t fMaxDeltaPhi;
47   Double_t fMaxDeltaZ;
48
49   ClassDef(AliITSVertexerIons,3);
50 };
51
52 #endif