]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSVertexer3D.h
AliITSRecoParam retrieved from the OCDB
[u/mrichter/AliRoot.git] / ITS / AliITSVertexer3D.h
index 2b7a8b04877ec87d51622888830a3c6c3b560663..14a4a44b969dbe796ee8b5951c610160e868fe9a 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef ALIITSVERTEXER3D_H
 #define ALIITSVERTEXER3D_H
 
-#include<AliITSVertexerZ.h>
+#include<AliITSVertexer.h>
 
 ///////////////////////////////////////////////////////////////////
 //                                                               //
@@ -9,9 +9,11 @@
 //                                                               //
 ///////////////////////////////////////////////////////////////////
 
-class AliVertex;
-class TClonesArray;
+/* $Id$ */
+
+#include <AliESDVertex.h>
 
+class TClonesArray;
 class AliITSVertexer3D : public AliITSVertexer {
 
  public:
@@ -21,31 +23,42 @@ class AliITSVertexer3D : public AliITSVertexer {
   virtual ~AliITSVertexer3D();
   virtual AliESDVertex* FindVertexForCurrentEvent(Int_t evnumb);
   virtual void FindVertices();
-  AliVertex *GetVertex3D() const {return fVert3D;}
-  virtual void MakeTracklet(Double_t *pA, Double_t *pB, Int_t &nolines);
-  virtual void MakeTracklet(Float_t *pA, Float_t *pB, Int_t &nolines);
+  AliESDVertex GetVertex3D() const {return fVert3D;}
+//   virtual void MakeTracklet(Double_t *pA, Double_t *pB, Int_t &nolines); */
+//   virtual void MakeTracklet(Float_t *pA, Float_t *pB, Int_t &nolines); */
   virtual void PrintStatus() const;
   void SetCoarseDiffPhiCut(Float_t dphi = 0.5){fCoarseDiffPhiCut=dphi;}
-  void SetMaxRCut(Float_t rad = 2.5){fMaxRCut=rad;}
-  void SetZCutDiamond(Float_t zcut = 5.3){fZCutDiamond=zcut;}
-  void SetDCAcut(Float_t dca=0.05){fDCAcut=dca;} 
+  void SetCoarseMaxRCut(Float_t rad = 2.5){fCoarseMaxRCut=rad;}
+  void SetMaxRCut(Float_t rad = 0.5){fMaxRCut=rad;}
+  void SetZCutDiamond(Float_t zcut = 14.0){fZCutDiamond=zcut;}
+  void SetMaxZCut(Float_t dz = 0.5){fMaxZCut=dz;}
+  void SetDCAcut(Float_t dca=0.1){fDCAcut=dca;} 
   void SetDiffPhiMax(Float_t pm = 0.01){fDiffPhiMax = pm;}
+  void SetMeanPSelTracks(Float_t pGeV=0.875){fMeanPSelTrk = pGeV;}
+  void SetMeanPtSelTracks(Float_t ptGeV=0.630){fMeanPtSelTrk = ptGeV;}
+  void SetMeanPPtSelTracks(Float_t fieldTesla);
 
 protected:
   AliITSVertexer3D(const AliITSVertexer3D& vtxr);
   AliITSVertexer3D& operator=(const AliITSVertexer3D& /* vtxr */);
   Int_t FindTracklets(Int_t evnumber, Int_t optCuts);
-  void Find3DVertex();
-  Int_t Prepare3DVertex();
+  Int_t Prepare3DVertex(Int_t optCuts);
+  void ResetVert3D();
+
 
   TClonesArray *fLines;      //! array of tracklets
-  AliVertex *fVert3D;        // 3D Vertex
+  AliESDVertex fVert3D;        // 3D Vertex
   Float_t fCoarseDiffPhiCut; // loose cut on DeltaPhi for RecPoint matching 
-  Float_t fMaxRCut; // cut on tracklet DCA to Z axis
+  Float_t fCoarseMaxRCut; // cut on tracklet DCA to Z axis
+  Float_t fMaxRCut; // cut on tracklet DCA to beam axis
   Float_t fZCutDiamond;   // cut on +-Z of the diamond
+  Float_t fMaxZCut;   // cut on Z distance from estimated vertex
   Float_t fDCAcut; // cut on tracklet to tracklet and tracklet to vertex DCA
   Float_t fDiffPhiMax;     // Maximum delta phi allowed among corr. pixels
-  ClassDef(AliITSVertexer3D,1);
+  Float_t fMeanPSelTrk; // GeV, mean P for tracks with dphi<0.01 rad
+  Float_t fMeanPtSelTrk; // GeV, mean Pt for tracks with dphi<0.01 rad
+
+  ClassDef(AliITSVertexer3D,3);
 
 };