]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSClusterFinderSDD.h
Setting PT range for comparison (M.Ivanov)
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderSDD.h
index e3e1503af73444c7bcb5f2c2ef52ce2f18e52563..038784d1ba92e3f431a232020904849aa263ebfc 100644 (file)
 ////////////////////////////////////////////////
 //  ITS Cluster Finder Class                 //
 ////////////////////////////////////////////////
-
+/*
+  $Id$
+*/
 
 #include "AliITSClusterFinder.h"
 
 class AliITSMapA2;
 class TFile;
 
-class AliITSClusterFinderSDD :
- public AliITSClusterFinder
-
-{
-public:
-  AliITSClusterFinderSDD
-  (AliITSsegmentation *seg, 
-   AliITSresponse *response, TClonesArray *digits,TClonesArray *recpoints);
-  AliITSClusterFinderSDD();
-  virtual ~AliITSClusterFinderSDD();
-  AliITSClusterFinderSDD(const AliITSClusterFinderSDD &source); // copy constructor
-  AliITSClusterFinderSDD& operator=(const AliITSClusterFinderSDD &source); // assignment operator
-  
-  virtual void SetCutAmplitude(Int_t thres=0) {
-    // set cut amplitude
-    fCutAmplitude=thres;
-  }
-  virtual Int_t CutAmplitude() {
-    // get cut amplitude
-    return fCutAmplitude;
-  }
-  virtual void SetDAnode(Float_t danode=4.2) {
-    // setDAnode
-    fDAnode=danode;
-  }
-  virtual Float_t DAnode() {
-    // get DAnode
-    return fDAnode;
-  }
-  virtual void SetDTime(Float_t dtime=75) {
-    // SetDTime
-    fDTime=dtime;
-  }
-  virtual Float_t DTime() {
-    // get DTime
-    return fDTime;
-  }
-  virtual void SetMinPeak(Int_t minpeak=10) {
-    // SetMinPeak
-    fMinPeak=minpeak;
-  }
-  virtual Int_t MinPeak() {
-    // get MinPeak
-    return fMinPeak;
-  }
-  virtual void SetMinCharge(Int_t mincharge=30) {
-    // SetMinCharge
-    fMinCharge=mincharge;
-  }
-  virtual Int_t MinCharge() {
-    // get MinCharge
-    return fMinCharge;
-  }
-  virtual void SetMinNCells(Int_t minc=3) {
-    // setNCells
-    fMinNCells=minc;
-  }
-  virtual Int_t MinNCells() {
-    // get MinNCells
-    return fMinNCells;
-  }
-   virtual void SetMaxNCells(Int_t maxc=10) {
-    // setNCells
-    fMaxNCells=maxc;
-  }
-  virtual Int_t MaxNCells() {
-    // get MaxNCells
-    return fMaxNCells;
-  }
-   virtual void SetTimeCorr(Float_t timec=23.) {
-    // setNCells
-    fTimeCorr=timec;
-  }
-  virtual Float_t TimeCorr() {
-    // get Time Correction (ns)
-    return fTimeCorr;
-  }
-  
-  // Search for clusters
-  virtual void FindRawClusters(Int_t mod=0);
-  void  Find1DClusters();
-  void  Find1DClustersE();
-  void  GroupClusters();
-  void  SelectClusters();
-  void  GetRecPoints();
-  void ResolveClusters(); // Boris........ 
-  void ResolveClustersE(); // Ernesto 
-  Int_t SearchPeak( Float_t *spect, Int_t xdim, Int_t zdim, Int_t *peakX, Int_t
-                    *peakZ, Float_t *peakAmp, Float_t minpeak ); // Ernesto
-  Int_t noLinearFit( Int_t xdim, Int_t zdim, Float_t *param, Float_t *spe, Int_t
-                     *niter, Float_t *chir );
-  void minim( Int_t xdim, Int_t zdim, Float_t *param, Float_t *prm0, Float_t *steprm, Float_t *chisqr, 
-                     Float_t *spe, Float_t *speFit );
-  Float_t chisq( Int_t xdim, Int_t zdim, Float_t *spe, Float_t *speFit );
-  void PeakFunc( Int_t xdim, Int_t zdim, Float_t *par, Float_t *spe, Float_t
-                 *Integral=0 ); 
-
-  virtual void Print();
-
-private:
-  
-  TClonesArray       *fClusters;      // clusters
-  Int_t               fNclusters;     // num of clusters
-  Float_t             fDAnode;        // fDanode
-  Float_t             fDTime;         // fDtime
-  Float_t             fTimeCorr;      // Correction factor along time coord
-  
-  Int_t               fCutAmplitude;  // cut amplitude
-  Int_t               fMinPeak;       // min peak
-  Int_t               fMinCharge;     // min charge
-  Int_t               fMinNCells;     // min num of cells
-  Int_t               fMaxNCells;     // max num of cells
-  ClassDef(AliITSClusterFinderSDD,1) // SDD clustering - Piergiorgio C. algo
-    };
-#endif
-
-
+class AliITSClusterFinderSDD : public AliITSClusterFinder{
+ public:
+    AliITSClusterFinderSDD
+       (AliITSsegmentation *seg,AliITSresponse *response,
+        TClonesArray *digits,TClonesArray *recpoints);
+    AliITSClusterFinderSDD();
+    virtual ~AliITSClusterFinderSDD();
 
+    virtual void  SetCutAmplitude(Float_t nsigma=4);
+    virtual Int_t CutAmplitude() const {// get cut amplitude
+       return fCutAmplitude;}
+    virtual void SetDAnode(Float_t danode=4.2) {// setDAnode
+       fDAnode=danode;}
+    virtual Float_t DAnode() const {// get DAnode
+       return fDAnode;}
+    virtual void SetDTime(Float_t dtime=75) {// SetDTime
+       fDTime=dtime;}
+    virtual Float_t DTime() const {// get DTime
+       return fDTime;}
+    virtual void SetMinPeak(Int_t minpeak=10) {// SetMinPeak
+       fMinPeak=minpeak;}
+    virtual Int_t MinPeak() const {// get MinPeak
+       return fMinPeak;}
+    virtual void SetMinCharge(Int_t mincharge=30) {// SetMinCharge
+       fMinCharge=mincharge;}
+    virtual Int_t MinCharge() const {// get MinCharge
+       return fMinCharge;}
+    virtual void SetMinNCells(Int_t minc=3) {// setNCells
+       fMinNCells=minc;}
+    virtual Int_t MinNCells() const {// get MinNCells
+       return fMinNCells;}
+    virtual void SetMaxNCells(Int_t maxc=10) {// setNCells
+       fMaxNCells=maxc;}
+    virtual Int_t MaxNCells() const {// get MaxNCells
+       return fMaxNCells;}
+    virtual void SetTimeCorr(Float_t timec=19.3) {// setNCells
+       fTimeCorr=timec;}
+    virtual Float_t TimeCorr() const{// get Time Correction (ns)
+       return fTimeCorr;}
 
+    // Search for clusters
+    virtual void FindRawClusters(Int_t mod=0);
+    void  Find1DClusters();
+    void  Find1DClustersE();
+    void  GroupClusters();
+    void  SelectClusters();
+    void  GetRecPoints();
+    void  ResolveClusters(); // Boris........ 
+    void  ResolveClustersE(); // Ernesto 
+    Int_t SearchPeak(Float_t *spect,Int_t xdim,Int_t zdim,Int_t *peakX,
+                    Int_t *peakZ,Float_t *peakAmp,Float_t minpeak); // Ernesto
+    Int_t NoLinearFit( Int_t xdim, Int_t zdim, Float_t *param, Float_t *spe,
+                      Int_t *niter, Float_t *chir );
+    void  Minim( Int_t xdim, Int_t zdim, Float_t *param, Float_t *prm0,
+               Float_t *steprm, Float_t *chisqr,Float_t *spe,Float_t *speFit);
+    Float_t ChiSqr ( Int_t xdim, Int_t zdim, Float_t *spe, Float_t *speFit ) const;
+    void  PeakFunc( Int_t xdim, Int_t zdim, Float_t *par, Float_t *spe,
+                  Float_t *Integral=0 );
+    void  Print() const;
 
+ private:
+    AliITSClusterFinderSDD(const AliITSClusterFinderSDD &source); // copy ctor
+    AliITSClusterFinderSDD& operator=(const AliITSClusterFinderSDD &source);
+ private:
+    Int_t               fModule;        //! ITS current module 
+    TClonesArray       *fClusters;      //! clusters
+    Int_t               fNclusters;     //! num of clusters
+    Float_t             fDAnode;        //! fDanode
+    Float_t             fDTime;         //! fDtime
+    Float_t             fTimeCorr;      //! Correction factor along time coord
+    Int_t               fCutAmplitude;  //! cut amplitude
+    Int_t               fMinPeak;       //! min peak
+    Int_t               fMinCharge;     //! min charge
+    Int_t               fMinNCells;     //! min num of cells
+    Int_t               fMaxNCells;     //! max num of cells
 
+    ClassDef(AliITSClusterFinderSDD,1) // SDD clustering - Piergiorgio C. algo
+    };
 
+#endif