]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSClusterFinderSDD.h
o) Performance studies added (mainly in runMultiplicitySelector) that evaluate the...
[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////////////////////////////////////////////////
48058160 7/*
8 $Id$
9*/
78a228db 10
b0f5e3fc 11#include "AliITSClusterFinder.h"
8ba39da9 12#include "AliITSDetTypeRec.h"
b0f5e3fc 13
f45f6658 14// class AliITSMapA2;
fcf95fc7 15class AliITSCalibration;
16class AliITSCalibrationSDD;
aacedc3e 17class AliITSsegmentation;
18class AliITSsegmentationSDD;
78a228db 19class TFile;
e8189707 20
50d05d7b 21class AliITSClusterFinderSDD : public AliITSClusterFinder{
aacedc3e 22 public:
48058160 23 AliITSClusterFinderSDD
8ba39da9 24 (AliITSDetTypeRec* dettyp,
aacedc3e 25 TClonesArray *digits,TClonesArray *recpoints);
50d05d7b 26 AliITSClusterFinderSDD();
aacedc3e 27 virtual ~AliITSClusterFinderSDD(){};
28
8ba39da9 29 virtual void SetCutAmplitude(Int_t mod,Double_t nsigma=4);
f45f6658 30 virtual Int_t CutAmplitude(Int_t anode) const {// get cut amplitude
31 return fCutAmplitude[anode];}
aacedc3e 32 virtual void SetDAnode(Double_t danode=4.2) {// setDAnode
33 fDAnode=danode;}
34 virtual Double_t DAnode() const {// get DAnode
35 return fDAnode;}
36 virtual void SetDTime(Double_t dtime=75) {// SetDTime
37 fDTime=dtime;}
38 virtual Double_t DTime() const {// get DTime
39 return fDTime;}
50d05d7b 40 virtual void SetMinPeak(Int_t minpeak=10) {// SetMinPeak
aacedc3e 41 fMinPeak=minpeak;}
bf3f2830 42 virtual Int_t MinPeak() const {// get MinPeak
aacedc3e 43 return fMinPeak;}
50d05d7b 44 virtual void SetMinCharge(Int_t mincharge=30) {// SetMinCharge
aacedc3e 45 fMinCharge=mincharge;}
bf3f2830 46 virtual Int_t MinCharge() const {// get MinCharge
aacedc3e 47 return fMinCharge;}
50d05d7b 48 virtual void SetMinNCells(Int_t minc=3) {// setNCells
aacedc3e 49 fMinNCells=minc;}
bf3f2830 50 virtual Int_t MinNCells() const {// get MinNCells
aacedc3e 51 return fMinNCells;}
50d05d7b 52 virtual void SetMaxNCells(Int_t maxc=10) {// setNCells
aacedc3e 53 fMaxNCells=maxc;}
bf3f2830 54 virtual Int_t MaxNCells() const {// get MaxNCells
aacedc3e 55 return fMaxNCells;}
56 virtual void SetTimeCorr(Double_t timec=19.3) {// setNCells
57 fTimeCorr=timec;}
58 virtual Double_t TimeCorr() const{// get Time Correction (ns)
59 return fTimeCorr;}
50d05d7b 60
61 // Search for clusters
62 virtual void FindRawClusters(Int_t mod=0);
63 void Find1DClusters();
64 void Find1DClustersE();
65 void GroupClusters();
66 void SelectClusters();
67 void GetRecPoints();
04366a57 68 void ResolveClusters(); // Ernesto Lopez Torres
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 );
d2f55a22 78 void PrintStatus() const;
404c1c29 79 void CorrectPosition(Double_t &z, Double_t&y);
aacedc3e 80 private:
fcf95fc7 81 virtual AliITSCalibrationSDD* GetResp(Int_t mod)const{
82 return (AliITSCalibrationSDD*) fDetTypeRec->GetCalibrationModel(mod);}//Return Response
aacedc3e 83 //Returns fSegmentation
84 virtual AliITSsegmentationSDD* GetSeg()const{
8ba39da9 85 return (AliITSsegmentationSDD*)fDetTypeRec->GetSegmentationModel(1);}
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
f45f6658 90 Double_t fDAnode; //! fDanode
91 Double_t fDTime; //! fDtime
92 Double_t fTimeCorr; //! Correction factor along time coord
93 TArrayI fCutAmplitude; //! cut amplitude
50d05d7b 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
f45f6658 99 ClassDef(AliITSClusterFinderSDD,3) // SDD clustering - Piergiorgio C. algo
48058160 100 };
b0f5e3fc 101
b0f5e3fc 102#endif