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