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