]>
Commit | Line | Data |
---|---|---|
0c6af5c9 | 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; | |
d681bb2d | 14 | class AliESDVertex; |
0c6af5c9 | 15 | class TH1F; |
16 | ||
17 | class AliITSVertexerZ : public AliITSVertexer { | |
18 | ||
19 | public: | |
20 | ||
21 | AliITSVertexerZ(); | |
22 | AliITSVertexerZ(TString filename,Float_t x0=0., Float_t y0=0.); | |
23 | virtual ~AliITSVertexerZ(); | |
d681bb2d | 24 | virtual AliESDVertex* FindVertexForCurrentEvent(Int_t evnumb); |
0c6af5c9 | 25 | virtual void FindVertices(); |
26 | virtual void PrintStatus() const; | |
27 | void SetDiffPhiMax(Float_t pm = 0.01){fDiffPhiMax = pm;} | |
28 | void SetFirstLayerModules(Int_t m1 = 0, Int_t m2 = 79){fFirstL1 = m1; fLastL1 = m2;} | |
29 | void SetSecondLayerModules(Int_t m1 = 80, Int_t m2 = 239){fFirstL2 = m1; fLastL2 = m2;} | |
30 | void SetLowLimit(Float_t lim=-10.){fLowLim = lim;} | |
31 | void SetHighLimit(Float_t lim=10.){fHighLim = lim;} | |
32 | Float_t GetLowLimit() const {return fLowLim;} | |
33 | Float_t GetHighLimit() const {return fHighLim;} | |
34 | void SetBinWidthCoarse(Float_t bw=0.01){fStepCoarse = bw;} | |
35 | void SetBinWidthFine(Float_t bw=0.0005){fStepFine = bw;} | |
ecc64c3f | 36 | void SetPPsetting(Float_t cl2=250., Float_t coarsebin=0.02){fPPsetting[0]=cl2; fPPsetting[1]=coarsebin;} |
0c6af5c9 | 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 | |
0c6af5c9 | 54 | Float_t fZFound; //! found value for the current event |
55 | Float_t fZsig; //! RMS of Z | |
56 | TH1F *fZCombc; //! histogram with coarse z distribution | |
ecc64c3f | 57 | TH1F *fZCombv; //! histogram with very coarse z (step=3coarse)distribution |
0c6af5c9 | 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 | |
ecc64c3f | 64 | Float_t fPPsetting[2]; // [0] is the max. number of clusters on L2 to use [1] as fStepCoarse |
0c6af5c9 | 65 | |
ecc64c3f | 66 | ClassDef(AliITSVertexerZ,3); |
0c6af5c9 | 67 | }; |
68 | ||
69 | #endif |