]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSClusterFinderSDD.h
Corrected setting of magnetic field
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderSDD.h
CommitLineData
b0f5e3fc 1#ifndef ALIITSCLUSTERFINDERSDD_H
2#define ALIITSCLUSTERFINDERSDD_H
3
4////////////////////////////////////////////////
5// ITS Cluster Finder Class //
6////////////////////////////////////////////////
48058160 7/*
8 $Id$
9*/
78a228db 10
b0f5e3fc 11#include "AliITSClusterFinder.h"
12
e8189707 13class AliITSMapA2;
78a228db 14class TFile;
e8189707 15
50d05d7b 16class AliITSClusterFinderSDD : public AliITSClusterFinder{
17 public:
48058160 18 AliITSClusterFinderSDD
19 (AliITSsegmentation *seg,AliITSresponse *response,
20 TClonesArray *digits,TClonesArray *recpoints);
50d05d7b 21 AliITSClusterFinderSDD();
22 virtual ~AliITSClusterFinderSDD();
23
24 virtual void SetCutAmplitude(Float_t nsigma=4);
bf3f2830 25 virtual Int_t CutAmplitude() const {// get cut amplitude
50d05d7b 26 return fCutAmplitude;}
27 virtual void SetDAnode(Float_t danode=4.2) {// setDAnode
28 fDAnode=danode;}
bf3f2830 29 virtual Float_t DAnode() const {// get DAnode
50d05d7b 30 return fDAnode;}
31 virtual void SetDTime(Float_t dtime=75) {// SetDTime
32 fDTime=dtime;}
bf3f2830 33 virtual Float_t DTime() const {// get DTime
50d05d7b 34 return fDTime;}
35 virtual void SetMinPeak(Int_t minpeak=10) {// SetMinPeak
36 fMinPeak=minpeak;}
bf3f2830 37 virtual Int_t MinPeak() const {// get MinPeak
50d05d7b 38 return fMinPeak;}
39 virtual void SetMinCharge(Int_t mincharge=30) {// SetMinCharge
40 fMinCharge=mincharge;}
bf3f2830 41 virtual Int_t MinCharge() const {// get MinCharge
50d05d7b 42 return fMinCharge;}
43 virtual void SetMinNCells(Int_t minc=3) {// setNCells
44 fMinNCells=minc;}
bf3f2830 45 virtual Int_t MinNCells() const {// get MinNCells
50d05d7b 46 return fMinNCells;}
47 virtual void SetMaxNCells(Int_t maxc=10) {// setNCells
48 fMaxNCells=maxc;}
bf3f2830 49 virtual Int_t MaxNCells() const {// get MaxNCells
50d05d7b 50 return fMaxNCells;}
48058160 51 virtual void SetTimeCorr(Float_t timec=19.3) {// setNCells
50d05d7b 52 fTimeCorr=timec;}
bf3f2830 53 virtual Float_t TimeCorr() const{// get Time Correction (ns)
50d05d7b 54 return fTimeCorr;}
55
56 // Search for clusters
57 virtual void FindRawClusters(Int_t mod=0);
58 void Find1DClusters();
59 void Find1DClustersE();
60 void GroupClusters();
61 void SelectClusters();
62 void GetRecPoints();
48058160 63 void ResolveClusters(); // Boris........
64 void ResolveClustersE(); // Ernesto
65 Int_t SearchPeak(Float_t *spect,Int_t xdim,Int_t zdim,Int_t *peakX,
66 Int_t *peakZ,Float_t *peakAmp,Float_t minpeak); // Ernesto
67 Int_t NoLinearFit( Int_t xdim, Int_t zdim, Float_t *param, Float_t *spe,
68 Int_t *niter, Float_t *chir );
69 void Minim( Int_t xdim, Int_t zdim, Float_t *param, Float_t *prm0,
70 Float_t *steprm, Float_t *chisqr,Float_t *spe,Float_t *speFit);
bf3f2830 71 Float_t ChiSqr ( Int_t xdim, Int_t zdim, Float_t *spe, Float_t *speFit ) const;
48058160 72 void PeakFunc( Int_t xdim, Int_t zdim, Float_t *par, Float_t *spe,
73 Float_t *Integral=0 );
bf3f2830 74 void Print() const;
50d05d7b 75
76 private:
77 AliITSClusterFinderSDD(const AliITSClusterFinderSDD &source); // copy ctor
78 AliITSClusterFinderSDD& operator=(const AliITSClusterFinderSDD &source);
50d05d7b 79 private:
80 Int_t fModule; //! ITS current module
81 TClonesArray *fClusters; //! clusters
82 Int_t fNclusters; //! num of clusters
83 Float_t fDAnode; //! fDanode
84 Float_t fDTime; //! fDtime
85 Float_t fTimeCorr; //! Correction factor along time coord
86 Int_t fCutAmplitude; //! cut amplitude
87 Int_t fMinPeak; //! min peak
88 Int_t fMinCharge; //! min charge
89 Int_t fMinNCells; //! min num of cells
90 Int_t fMaxNCells; //! max num of cells
91
92 ClassDef(AliITSClusterFinderSDD,1) // SDD clustering - Piergiorgio C. algo
48058160 93 };
b0f5e3fc 94
b0f5e3fc 95#endif