]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSClusterFinderSDD.h
Bug fix with indexRange array fixed using AliITSTable class, Update of
[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////////////////////////////////////////////////
7
78a228db 8
b0f5e3fc 9#include "AliITSClusterFinder.h"
10
e8189707 11class AliITSMapA2;
78a228db 12class TFile;
e8189707 13
b0f5e3fc 14class AliITSClusterFinderSDD :
15 public AliITSClusterFinder
16
17{
18public:
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 109private:
110
111 AliITSClusterFinderSDD(const AliITSClusterFinderSDD &source); // copy ctor
112 AliITSClusterFinderSDD& operator=(const AliITSClusterFinderSDD &source);
a1f090e0 113
b0f5e3fc 114private:
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