]>
Commit | Line | Data |
---|---|---|
eb35e591 | 1 | #ifndef ALIITSVERTEXER3DTAPAN_H |
2 | #define ALIITSVERTEXER3DTAPAN_H | |
3 | ||
4 | /* See cxx source for full Copyright notice */ | |
5 | ||
6 | ||
7 | //------------------------------------------------------------------------- | |
8 | // Class AliITSVertexer3DTapan | |
9 | // This is a class for the 3d vertex finding | |
10 | // | |
11 | // Origin: Tapan Nayak, VECC-CERN, Tapan.Nayak@cern.ch | |
12 | //------------------------------------------------------------------------- | |
13 | ||
14 | ||
15 | ||
16 | ////////////////////////////////////////////////////////////////////////// | |
17 | // // | |
18 | // AliITSVertexer3DTapan // | |
19 | // // | |
20 | // Implementation of a 3D vertex finder based on // | |
21 | // SPD clusters. // | |
22 | // // | |
23 | ////////////////////////////////////////////////////////////////////////// | |
24 | ||
25 | #include <TArrayD.h> | |
308c2f7c | 26 | #include "AliITSVertexer.h" |
eb35e591 | 27 | |
28 | class TTree; | |
29 | class AliESDVertex; | |
eb35e591 | 30 | |
308c2f7c | 31 | class AliITSVertexer3DTapan : public AliITSVertexer { |
eb35e591 | 32 | public: |
37add1d1 | 33 | AliITSVertexer3DTapan(Int_t n=10000): |
eb35e591 | 34 | fX1(n),fY1(n),fZ1(n), fPhi1(n), ficlu1(0), |
35 | fX2(n),fY2(n),fZ2(n), fPhi2(n), ficlu2(0) {;} | |
36 | virtual ~AliITSVertexer3DTapan(){} | |
308c2f7c | 37 | virtual AliESDVertex *FindVertexForCurrentEvent(TTree *cTree); |
38 | virtual void PrintStatus() const {} | |
eb35e591 | 39 | |
40 | protected: | |
308c2f7c | 41 | void LoadClusters(TTree *cTree); |
eb35e591 | 42 | void CalculatePhi(Float_t fx, Float_t fy, Float_t & phi); |
43 | void CalculateVertex3d1(Double_t pos[3], Float_t cuts[3], Int_t &ncontr); | |
44 | void CalculateVertex3d2(Double_t pos[3], Float_t cuts[3], Int_t &ncontr, Double_t sigpos[3]); | |
45 | void CalculateLine(Double_t P1[4], Double_t P2[4], Double_t P3[4], Double_t P4[4], Double_t Pa[3], Double_t Pb[3]) const; | |
46 | ||
47 | private: | |
48 | AliITSVertexer3DTapan(AliITSVertexer3DTapan &); | |
49 | AliITSVertexer3DTapan& operator=(const AliITSVertexer3DTapan &); | |
50 | ||
eb35e591 | 51 | TArrayD fX1; // X position of cluster on layer 1 of ITS |
52 | TArrayD fY1; // Y position of cluster on layer 1 of ITS | |
53 | TArrayD fZ1; // Z position of cluster on layer 1 of ITS | |
54 | TArrayD fPhi1; // Phi position of cluster on layer 1 of ITS | |
55 | Int_t ficlu1; // Number of clusters on layer 1 of ITS | |
56 | ||
57 | TArrayD fX2; // X position of cluster on layer 2 of ITS | |
58 | TArrayD fY2; // Y position of cluster on layer 2 of ITS | |
59 | TArrayD fZ2; // Z position of cluster on layer 2 of ITS | |
60 | TArrayD fPhi2; // Phi position of cluster on layer 2 of ITS | |
61 | Int_t ficlu2; // Number of clusters on layer 2 of ITS | |
62 | ||
37add1d1 | 63 | ClassDef(AliITSVertexer3DTapan,3); |
eb35e591 | 64 | }; |
65 | ||
66 | #endif |