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