]>
Commit | Line | Data |
---|---|---|
b0f5e3fc | 1 | #ifndef ALIITSCLUSTERFINDERSDD_H |
2 | #define ALIITSCLUSTERFINDERSDD_H | |
3 | ||
4 | //////////////////////////////////////////////// | |
5 | // ITS Cluster Finder Class // | |
6 | //////////////////////////////////////////////// | |
7 | ||
78a228db | 8 | |
b0f5e3fc | 9 | #include "AliITSClusterFinder.h" |
10 | ||
e8189707 | 11 | class AliITSMapA2; |
78a228db | 12 | class TFile; |
e8189707 | 13 | |
b0f5e3fc | 14 | class AliITSClusterFinderSDD : |
15 | public AliITSClusterFinder | |
16 | ||
17 | { | |
18 | public: | |
19 | AliITSClusterFinderSDD | |
20 | (AliITSsegmentation *seg, | |
21 | AliITSresponse *response, TClonesArray *digits,TClonesArray *recpoints); | |
22 | AliITSClusterFinderSDD(); | |
e8189707 | 23 | virtual ~AliITSClusterFinderSDD(); |
b0f5e3fc | 24 | AliITSClusterFinderSDD(const AliITSClusterFinderSDD &source); // copy constructor |
25 | AliITSClusterFinderSDD& operator=(const AliITSClusterFinderSDD &source); // assignment operator | |
26 | ||
78a228db | 27 | virtual void SetCutAmplitude(Int_t thres=0) { |
b0f5e3fc | 28 | // set cut amplitude |
29 | fCutAmplitude=thres; | |
30 | } | |
a1f090e0 | 31 | virtual Int_t CutAmplitude() { |
32 | // get cut amplitude | |
33 | return fCutAmplitude; | |
34 | } | |
b0f5e3fc | 35 | virtual void SetDAnode(Float_t danode=4.2) { |
36 | // setDAnode | |
37 | fDAnode=danode; | |
38 | } | |
a1f090e0 | 39 | virtual Float_t DAnode() { |
40 | // get DAnode | |
41 | return fDAnode; | |
42 | } | |
b0f5e3fc | 43 | virtual void SetDTime(Float_t dtime=75) { |
44 | // SetDTime | |
45 | fDTime=dtime; | |
46 | } | |
a1f090e0 | 47 | virtual Float_t DTime() { |
48 | // get DTime | |
49 | return fDTime; | |
50 | } | |
51 | virtual void SetMinPeak(Int_t minpeak=10) { | |
b0f5e3fc | 52 | // SetMinPeak |
53 | fMinPeak=minpeak; | |
54 | } | |
a1f090e0 | 55 | virtual Int_t MinPeak() { |
56 | // get MinPeak | |
57 | return fMinPeak; | |
58 | } | |
59 | virtual void SetMinCharge(Int_t mincharge=30) { | |
60 | // SetMinCharge | |
61 | fMinCharge=mincharge; | |
62 | } | |
63 | virtual Int_t MinCharge() { | |
64 | // get MinCharge | |
65 | return fMinCharge; | |
66 | } | |
67 | virtual void SetMinNCells(Int_t minc=3) { | |
b0f5e3fc | 68 | // setNCells |
69 | fMinNCells=minc; | |
a1f090e0 | 70 | } |
71 | virtual Int_t MinNCells() { | |
72 | // get MinNCells | |
73 | return fMinNCells; | |
b0f5e3fc | 74 | } |
78a228db | 75 | virtual void SetMaxNCells(Int_t maxc=10) { |
76 | // setNCells | |
77 | fMaxNCells=maxc; | |
78 | } | |
a1f090e0 | 79 | virtual Int_t MaxNCells() { |
80 | // get MaxNCells | |
81 | return fMaxNCells; | |
82 | } | |
83 | virtual void SetTimeCorr(Float_t timec=23.) { | |
78a228db | 84 | // setNCells |
85 | fTimeCorr=timec; | |
86 | } | |
a1f090e0 | 87 | virtual Float_t TimeCorr() { |
88 | // get Time Correction (ns) | |
89 | return fTimeCorr; | |
90 | } | |
b0f5e3fc | 91 | |
b0f5e3fc | 92 | // Search for clusters |
93 | virtual void FindRawClusters(); | |
94 | void Find1DClusters(); | |
a1f090e0 | 95 | void Find1DClustersE(); |
b0f5e3fc | 96 | void GroupClusters(); |
97 | void SelectClusters(); | |
98 | void GetRecPoints(); | |
a1f090e0 | 99 | void ResolveClusters(); // Boris........ |
100 | void ResolveClustersE(); // Ernesto | |
101 | Int_t SearchPeak( Float_t *spect, Int_t xdim, Int_t zdim, Int_t *peakX, Int_t | |
102 | *peakZ, Float_t *peakAmp, Float_t minpeak ); // Ernesto | |
103 | Int_t noLinearFit( Int_t xdim, Int_t zdim, Float_t *param, Float_t *spe, Int_t | |
104 | *niter, Float_t *chir ); | |
105 | void minim( Int_t xdim, Int_t zdim, Float_t *param, Float_t *prm0, Float_t *steprm, Float_t *chisqr, | |
106 | Float_t *spe, Float_t *speFit ); | |
107 | Float_t chisq( Int_t xdim, Int_t zdim, Float_t *spe, Float_t *speFit ); | |
108 | void PeakFunc( Int_t xdim, Int_t zdim, Float_t *par, Float_t *spe, Float_t | |
109 | *Integral=0 ); | |
110 | ||
111 | virtual void Print(); | |
112 | ||
b0f5e3fc | 113 | private: |
114 | ||
115 | TClonesArray *fClusters; // clusters | |
116 | Int_t fNclusters; // num of clusters | |
b0f5e3fc | 117 | Float_t fDAnode; // fDanode |
118 | Float_t fDTime; // fDtime | |
78a228db | 119 | Float_t fTimeCorr; // Correction factor along time coord |
b0f5e3fc | 120 | |
78a228db | 121 | Int_t fCutAmplitude; // cut amplitude |
b0f5e3fc | 122 | Int_t fMinPeak; // min peak |
a1f090e0 | 123 | Int_t fMinCharge; // min charge |
b0f5e3fc | 124 | Int_t fMinNCells; // min num of cells |
78a228db | 125 | Int_t fMaxNCells; // max num of cells |
b0f5e3fc | 126 | ClassDef(AliITSClusterFinderSDD,1) // SDD clustering - Piergiorgio C. algo |
127 | }; | |
128 | #endif | |
129 | ||
130 | ||
131 | ||
132 | ||
133 | ||
134 | ||
135 |