Print removed
[u/mrichter/AliRoot.git] / ITS / AliITSVertexerZ.h
1 #ifndef ALIITSVERTEXERZ_H
2 #define ALIITSVERTEXERZ_H
3
4 #include<AliITSVertexer.h>
5
6 ///////////////////////////////////////////////////////////////////
7 //                                                               //
8 // Class for primary vertex finding                              //
9 //                                                               //
10 ///////////////////////////////////////////////////////////////////
11
12 class TFile;
13 class TString;
14 class AliESDVertex;
15 class AliITS;
16 class TH1F;
17
18 class AliITSVertexerZ : public AliITSVertexer {
19
20  public:
21
22   AliITSVertexerZ();
23   AliITSVertexerZ(TString filename,Float_t x0=0., Float_t y0=0.);
24   virtual ~AliITSVertexerZ();
25   virtual AliESDVertex* FindVertexForCurrentEvent(Int_t evnumb);
26   virtual void FindVertices();
27   virtual void PrintStatus() const;
28   void SetDiffPhiMax(Float_t pm = 0.01){fDiffPhiMax = pm;}
29   void SetFirstLayerModules(Int_t m1 = 0, Int_t m2 = 79){fFirstL1 = m1; fLastL1 = m2;}
30   void SetSecondLayerModules(Int_t m1 = 80, Int_t m2 = 239){fFirstL2 = m1; fLastL2 = m2;}
31   void SetLowLimit(Float_t lim=-10.){fLowLim = lim;}
32   void SetHighLimit(Float_t lim=10.){fHighLim = lim;}
33   Float_t GetLowLimit() const {return fLowLim;}
34   Float_t GetHighLimit() const {return fHighLim;}
35   void SetBinWidthCoarse(Float_t bw=0.01){fStepCoarse = bw;}
36   void SetBinWidthFine(Float_t bw=0.0005){fStepFine = bw;}
37   Float_t GetBinWidthCoarse() const {return fStepCoarse;}
38   Float_t GetBinWidthFine() const {return fStepFine;}
39   void SetTolerance(Float_t tol = 20./10000.){fTolerance = tol;}
40   Float_t GetTolerance() const {return fTolerance;}
41
42  protected:
43   AliITSVertexerZ(const AliITSVertexerZ& vtxr);
44   AliITSVertexerZ& operator=(const AliITSVertexerZ& /* vtxr */);
45   void ResetHistograms();
46
47   Int_t fFirstL1;          // first module of the first pixel layer used
48   Int_t fLastL1;           // last module of the first pixel layer used
49   Int_t fFirstL2;          // first module of the second pixel layer used
50   Int_t fLastL2;           // last module of the second pixel layer used
51   Float_t fDiffPhiMax;     // Maximum delta phi allowed among corr. pixels
52   Float_t fX0;             // Nominal x coordinate of the vertex
53   Float_t fY0;             // Nominal y coordinate of the vertex
54   AliITS *fITS;            //! pointer to the AliITS object
55   Float_t fZFound;         //! found value for the current event
56   Float_t fZsig;           //! RMS of Z
57   TH1F *fZCombc;           //! histogram with coarse z distribution
58   TH1F *fZCombf;           //! histogram with fine z distribution
59   Float_t fLowLim;         // low limit for fZComb histograms
60   Float_t fHighLim;        // high limit for fZComb histograms
61   Float_t fStepCoarse;     // bin width for fZCombc
62   Float_t fStepFine;       // bin width for fZCombf
63   Float_t fTolerance;      // tolerance on the symmetry of the Z interval 
64
65   ClassDef(AliITSVertexerZ,1);
66 };
67
68 #endif