]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSVertexer3D.h
In Open() and GotoEvent() try the ESD operations first, fallback to run-loader.
[u/mrichter/AliRoot.git] / ITS / AliITSVertexer3D.h
index 8aa4b5c0e24976278c17aedf6d0885c9469bc89c..d270cddacae30ea70fcbb7d7ce9be75a48f29627 100644 (file)
@@ -9,21 +9,19 @@
 //                                                               //
 ///////////////////////////////////////////////////////////////////
 
-class AliVertex;
-class TClonesArray;
+/* $Id$ */
+
+#include <TClonesArray.h>
+#include <AliESDVertex.h>
 
 class AliITSVertexer3D : public AliITSVertexer {
 
  public:
 
   AliITSVertexer3D();
-  AliITSVertexer3D(TString filename);
   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);
+  virtual AliESDVertex* FindVertexForCurrentEvent(TTree *itsClusterTree);
+  AliESDVertex GetVertex3D() const {return fVert3D;}
   virtual void PrintStatus() const;
   void SetCoarseDiffPhiCut(Float_t dphi = 0.5){fCoarseDiffPhiCut=dphi;}
   void SetCoarseMaxRCut(Float_t rad = 2.5){fCoarseMaxRCut=rad;}
@@ -32,16 +30,20 @@ class AliITSVertexer3D : public AliITSVertexer {
   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);
+  Int_t FindTracklets(TTree *itsClusterTree, Int_t optCuts);
   Int_t Prepare3DVertex(Int_t optCuts);
   void ResetVert3D();
 
-  TClonesArray *fLines;      //! array of tracklets
-  AliVertex fVert3D;        // 3D Vertex
+
+  TClonesArray fLines;      //! array of tracklets
+  AliESDVertex fVert3D;        // 3D Vertex
   Float_t fCoarseDiffPhiCut; // loose cut on DeltaPhi for RecPoint matching 
   Float_t fCoarseMaxRCut; // cut on tracklet DCA to Z axis
   Float_t fMaxRCut; // cut on tracklet DCA to beam axis
@@ -49,7 +51,10 @@ protected:
   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,2);
+  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,6);
 
 };