]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSVertexer.h
correct usage of steering options for the PID task
[u/mrichter/AliRoot.git] / ITS / AliITSVertexer.h
index 02cfb08fcfe77b396f9d6df14b9641eb42b48013..23773f983e06e71586ae4c4fcf9830f748c7cdf5 100644 (file)
@@ -23,6 +23,7 @@ class AliITSVertexer : public AliVertexer {
     virtual AliESDVertex *FindVertexForCurrentEvent(TTree *itsClusterTree)=0;
     virtual void PrintStatus() const = 0;
 
+    virtual void ResetVertex();
     void FindMultiplicity(TTree *itsClusterTree);
     void SetFirstEvent(Int_t ev){fFirstEvent = ev;}
     void SetLastEvent(Int_t ev){fLastEvent = ev;}
@@ -36,6 +37,8 @@ class AliITSVertexer : public AliVertexer {
       else return 0;
     }
 
+    virtual AliESDVertex* GetAllVertices(Int_t &novertices) const {novertices = fNoVertices; return fVertArray; }
+
     AliITSDetTypeRec *GetDetTypeRec() const {return fDetTypeRec;}
     virtual void SetDetTypeRec(AliITSDetTypeRec *ptr){fDetTypeRec = ptr;}
     enum{kNSPDMod=240};
@@ -45,6 +48,17 @@ class AliITSVertexer : public AliVertexer {
     void WriteCurrentVertex();
     void FindVertices();
 
+    Int_t GetMinTrackletsForPilup() const {return fMinTrackletsForPilup;}
+    void SetMinTrackletsForPilup(Int_t mint=2) {fMinTrackletsForPilup=mint;} 
+    Bool_t IsPileup() const{return fIsPileup;}
+    Float_t GetZPileupV() const {
+      if(IsPileup()) return fZpuv;
+      else return -9999999.;
+    }
+    Int_t GetNTrackletsPileupV() const {
+      if(IsPileup()) return fNTrpuv;
+      else return -2;
+    }
  protected:
     static const Float_t fgkPipeRadius;  // beam pipe radius (cm)
     UShort_t *fLadders; // array with layer1-layer2 ladders correspondances  
@@ -52,7 +66,13 @@ class AliITSVertexer : public AliVertexer {
                       // associated to a layer1 ladder
     Bool_t  fUseModule[kNSPDMod]; // flag for enabling/disabling SPD modules
     AliITSDetTypeRec *fDetTypeRec;  //! pointer to DetTypeRec
+    Int_t fMinTrackletsForPilup;  // min. n. of tracklets for pilup definition
+    Bool_t fIsPileup;             // flag for pileup
+    Int_t fNTrpuv;             // tracklets in pile-up vertex
+    Float_t fZpuv;             // Z of second pile-up vertex
+    Int_t fNoVertices;         //! number of vertices found 
+    AliESDVertex* fVertArray;    //! vertices (main+pileupped)
+
  private:
     // copy constructor (NO copy allowed: the constructor is protected
     // to avoid misuse)
@@ -63,7 +83,7 @@ class AliITSVertexer : public AliVertexer {
     Int_t fFirstEvent;          // First event to be processed by FindVertices
     Int_t fLastEvent;           // Last event to be processed by FindVertices
 
-  ClassDef(AliITSVertexer,8);
+  ClassDef(AliITSVertexer,10);
 };
 
 #endif