]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/AliITSClusterFinderSDD.h
Adapted to the new set of libraries
[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"
12
e8189707 13class AliITSMapA2;
aacedc3e 14class AliITSresponse;
15class AliITSresponseSDD;
16class AliITSsegmentation;
17class AliITSsegmentationSDD;
78a228db 18class TFile;
e8189707 19
50d05d7b 20class 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