]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSVertexer3DTapan.h
Introduction of the Tapan's 3D vertexer. Initial version of the special online DA...
[u/mrichter/AliRoot.git] / ITS / AliITSVertexer3DTapan.h
CommitLineData
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>
26
27class TTree;
28class AliESDVertex;
29class AliITSgeom;
30
31class AliITSVertexer3DTapan : public TObject {
32public:
33 AliITSVertexer3DTapan(Int_t n=10000):fITSgeom(0),
34 fX1(n),fY1(n),fZ1(n), fPhi1(n), ficlu1(0),
35 fX2(n),fY2(n),fZ2(n), fPhi2(n), ficlu2(0) {;}
36 AliITSVertexer3DTapan(const AliITSgeom *g, Int_t n=10000): fITSgeom(g),
37 fX1(n),fY1(n),fZ1(n), fPhi1(n), ficlu1(0),
38 fX2(n),fY2(n),fZ2(n), fPhi2(n), ficlu2(0) {;}
39 virtual ~AliITSVertexer3DTapan(){}
40
41 Int_t LoadClusters(TTree *cf);
42 void FindVertexForCurrentEvent(AliESDVertex *vtx);
43
44protected:
45 void CalculatePhi(Float_t fx, Float_t fy, Float_t & phi);
46 void CalculateVertex3d1(Double_t pos[3], Float_t cuts[3], Int_t &ncontr);
47 void CalculateVertex3d2(Double_t pos[3], Float_t cuts[3], Int_t &ncontr, Double_t sigpos[3]);
48 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;
49
50private:
51 AliITSVertexer3DTapan(AliITSVertexer3DTapan &);
52 AliITSVertexer3DTapan& operator=(const AliITSVertexer3DTapan &);
53
54 const AliITSgeom *fITSgeom; //the ITS geometry
55
56 TArrayD fX1; // X position of cluster on layer 1 of ITS
57 TArrayD fY1; // Y position of cluster on layer 1 of ITS
58 TArrayD fZ1; // Z position of cluster on layer 1 of ITS
59 TArrayD fPhi1; // Phi position of cluster on layer 1 of ITS
60 Int_t ficlu1; // Number of clusters on layer 1 of ITS
61
62 TArrayD fX2; // X position of cluster on layer 2 of ITS
63 TArrayD fY2; // Y position of cluster on layer 2 of ITS
64 TArrayD fZ2; // Z position of cluster on layer 2 of ITS
65 TArrayD fPhi2; // Phi position of cluster on layer 2 of ITS
66 Int_t ficlu2; // Number of clusters on layer 2 of ITS
67
68 ClassDef(AliITSVertexer3DTapan,1);
69};
70
71#endif