Moving required CMake version from 2.8.4 to 2.8.8
[u/mrichter/AliRoot.git] / ITS / AliITSVertexerZ.h
index 99d10ad..b2ab7b6 100644 (file)
@@ -30,21 +30,26 @@ class AliITSVertexerZ : public AliITSVertexer {
   virtual AliESDVertex* FindVertexForCurrentEvent(TTree *itsClusterTree);
   virtual void PrintStatus() const;
   void SetDiffPhiMax(Float_t pm = 0.01){fDiffPhiMax = pm;}
-  void ConfigIterations(Int_t noiter=3,Float_t *ptr=0);
+  void ConfigIterations(Int_t noiter=4,Float_t *ptr=0);
   void SetFirstLayerModules(Int_t m1 = 0, Int_t m2 = 79){fFirstL1 = m1; fLastL1 = m2;}
   void SetSecondLayerModules(Int_t m1 = 80, Int_t m2 = 239){fFirstL2 = m1; fLastL2 = m2;}
-  void SetLowLimit(Float_t lim=-20.){fLowLim = lim;}
-  void SetHighLimit(Float_t lim=20.){fHighLim = lim;}
+  void SetLowLimit(Float_t lim=-40.){fLowLim = lim;}
+  void SetHighLimit(Float_t lim=40.){fHighLim = lim;}
   Float_t GetLowLimit() const {return fLowLim;}
   Float_t GetHighLimit() const {return fHighLim;}
   void SetBinWidthCoarse(Float_t bw=0.01){fStepCoarse = bw;}
   void SetPPsetting(Float_t cl2=250., Float_t coarsebin=0.02){fPPsetting[0]=cl2; fPPsetting[1]=coarsebin;}
-  Int_t GetPeakRegion(TH1F*h, Int_t &binmin, Int_t &binmax) const;
+  static Int_t GetPeakRegion(TH1F* h, Int_t &binmin, Int_t &binmax);
+  static Int_t FindSecondPeak(TH1F* h, Int_t binmin,Int_t binmax, Float_t& secPeakPos);
   Float_t GetBinWidthCoarse() const {return fStepCoarse;}
   void SetTolerance(Float_t tol = 20./10000.){fTolerance = tol;}
   void SetWindowWidth(Float_t ww=0.2){fWindowWidth=ww;}
   Float_t GetTolerance() const {return fTolerance;}
   //  virtual void MakeTracklet(Double_t * /* pA */, Double_t * /*pB */, Int_t & /* nolines */) {} // implemented in a derived class
+
+  void SetSearchForPileup(Bool_t opt){fSearchForPileup=opt;}
+  Bool_t IsSearchForPileupActive() const { return fSearchForPileup;}
+
  protected:
   void ResetHistograms();
   void VertexZFinder(TTree *itsClusterTree);
@@ -67,11 +72,13 @@ class AliITSVertexerZ : public AliITSVertexer {
   Int_t fMaxIter;            // Maximum number of iterations (<=5)
   Float_t fPhiDiffIter[5];   // Delta phi used in iterations
   Float_t fWindowWidth;      // Z window width for symmetrization
+  Bool_t  fSearchForPileup;  // flag to switch pileup off/on
+
  private:
   AliITSVertexerZ(const AliITSVertexerZ& vtxr);
   AliITSVertexerZ& operator=(const AliITSVertexerZ& vtxr );
 
-  ClassDef(AliITSVertexerZ,10);
+  ClassDef(AliITSVertexerZ,11);
 };
 
 #endif