]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSVertexerTracks.h
In PointSetArray: added member for default daughter PointSet capacity (fDefPointSetCa...
[u/mrichter/AliRoot.git] / ITS / AliITSVertexerTracks.h
index 55438fc62d29288727a840723ed7573451d211ca..537cf9c026e4dc4c1317cbb29e2e1fb85b683853 100644 (file)
  *    matrix and a chi2 for the vertex are given.                            *
  *                                                                           *
  *****************************************************************************/
-
-#include "AliKalmanTrack.h"
 #include "AliITSVertexer.h"
-#include "AliESD.h"
 
 #include <TObjArray.h>
 
 class TTree; 
 class AliESDVertex; 
+class AliVertex; 
+class AliESD;
+class AliITStrackV2;
 
 class AliITSVertexerTracks : public AliITSVertexer {
   
  public:
   // default constructor
-  AliITSVertexerTracks();  
+  AliITSVertexerTracks(); 
   // standard constructor     
   AliITSVertexerTracks(TFile *inFile,TFile *outFile,
-                      Double_t field=0.4,Int_t fEv=0,Int_t lEv=0,
+                      Int_t fEv=0,Int_t lEv=0,
                       Double_t xStart=0.,Double_t yStart=0.);
   // alternative constructor
-  AliITSVertexerTracks(Double_t field, TString fn,
-                      Double_t xStart=0,Double_t yStart=0); 
+  AliITSVertexerTracks(TString fn,Double_t xStart=0,Double_t yStart=0); 
   // destructor
-  ~AliITSVertexerTracks();
+  virtual ~AliITSVertexerTracks();
   // return vertex from the set of tracks in the tree
   AliESDVertex* VertexOnTheFly(TTree &trkTree);
+  AliVertex* VertexForSelectedTracks(AliESD *esdEvent,Int_t nofCand, Int_t *trkPos, Int_t opt);
   // computes the vertex for the current event
-  virtual AliESDVertex* FindVertexForCurrentEvent(Int_t evnumb);
+  virtual AliESDVertex* FindPrimaryVertexForCurrentEvent(Int_t evnumb);
+  virtual AliESDVertex* FindVertexForCurrentEvent(Int_t evnumb){
+    Warning(" FindVertexForCurrentEvent","Deprecated method use FindPrimaryVertexForCurrentEvent instead");
+    return FindPrimaryVertexForCurrentEvent(evnumb);
+  }
   // computes the vertex for the current event using the ESD
-  AliESDVertex*         FindVertexForCurrentEvent(AliESD *esdEvent);
+  AliESDVertex*         FindPrimaryVertexForCurrentEvent(AliESD *esdEvent);
+  AliESDVertex*         FindVertexForCurrentEvent(AliESD *esdEvent){
+    Warning(" FindVertexForCurrentEvent","Deprecated method use FindPrimaryVertexForCurrentEvent instead");
+    return FindPrimaryVertexForCurrentEvent(esdEvent);
+  }
   // computes the vertex for each event and stores it on file
   virtual void  FindVertices();
   // computes the vertex for each event and stores it in the ESD
   void FindVerticesESD();
+
+
   virtual void  PrintStatus() const;
-  void  SetField(Double_t field) const
-    { AliKalmanTrack::SetConvConst(100./0.299792458/field); return; }
   void  SetMinTracks(Int_t n=2) { fMinTracks = n; return; }
   void  SetSkipTracks(Int_t n,Int_t *skipped); 
   void  SetVtxStart(Double_t x=0,Double_t y=0) 
     { fNominalPos[0]=x; fNominalPos[1]=y; return; }
   
  private:
+    // copy constructor (NO copy allowed: the constructor is protected
+    // to avoid misuse)
+    AliITSVertexerTracks(const AliITSVertexerTracks& vtxr);
+    // assignment operator (NO assignment allowed)
+    AliITSVertexerTracks& operator=(const AliITSVertexerTracks& /* vtxr */);
   TFile    *fInFile;          // input file (with tracks)
   TFile    *fOutFile;         // output file for vertices
-  Double_t  fInitPos[3];      // vertex position after vertex finder
   Double_t  fNominalPos[2];   // initial knowledge on vertex position
   Int_t     fMinTracks;       // minimum number of tracks
   Double_t  fMaxChi2PerTrack; // maximum contribition to the chi2 
@@ -80,11 +92,13 @@ class AliITSVertexerTracks : public AliITSVertexer {
   Bool_t   CheckField() const; 
   void     ComputeMaxChi2PerTrack(Int_t nTracks);
   Int_t    PrepareTracks(TTree &trkTree);
+  Int_t    PrepareTracks(AliESD* esdEvent,Int_t NofCand, Int_t *TrkPos);
+  Double_t Prepare(AliITStrackV2* itstrack);
   void     TooFewTracks();
-  void     VertexFinder();
+  //  void     VertexFinder(Int_t OptUseWeights=0);
   void     VertexFitter();
 
-  ClassDef(AliITSVertexerTracks,1) // 3D Vertexing with ITS tracks 
+  ClassDef(AliITSVertexerTracks,3) // 3D Vertexing with ITS tracks 
 };
 
 #endif