]>
Commit | Line | Data |
---|---|---|
1 | #ifndef ALIITSCLUSTERFINDERV2SDD_H | |
2 | #define ALIITSCLUSTERFINDERV2SDD_H | |
3 | //-------------------------------------------------------------- | |
4 | // ITS clusterer V2 for SDD | |
5 | // | |
6 | // This can be a "wrapping" for the V1 cluster finding classes | |
7 | // if compiled with uncommented "#define V1" line | |
8 | // in the AliITSclustererV2.cxx file. | |
9 | // | |
10 | // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch | |
11 | //-------------------------------------------------------------- | |
12 | #include "AliITSClusterFinder.h" | |
13 | #include "AliITSDetTypeRec.h" | |
14 | ||
15 | class TBits; | |
16 | class TClonesArray; | |
17 | class AliRawReader; | |
18 | class AliITSRawStream; | |
19 | class AliITSCalibrationSDD; | |
20 | class AliITSsegmentationSDD; | |
21 | ||
22 | class AliITSClusterFinderV2SDD : public AliITSClusterFinder { | |
23 | public: | |
24 | AliITSClusterFinderV2SDD(AliITSDetTypeRec* dettyp); | |
25 | virtual ~AliITSClusterFinderV2SDD(); | |
26 | virtual void FindRawClusters(Int_t mod); | |
27 | virtual void RawdataToClusters(AliRawReader* rawReader); | |
28 | void SetPeakSelection(Float_t looseCut=15., Float_t tightCut=30., Float_t maxTime=2000.){ | |
29 | fCutOnPeakLoose=looseCut; | |
30 | fCutOnPeakTight=tightCut; | |
31 | fMaxDrTimeForTightCut=maxTime; | |
32 | } | |
33 | ||
34 | enum {kHybridsPerDDL = 24}; // number of hybrids in each DDL | |
35 | enum {kModulesPerDDL = 12}; // number of modules in each DDL | |
36 | ||
37 | protected: | |
38 | AliITSClusterFinderV2SDD(const AliITSClusterFinderV2SDD &source); // copy constructor | |
39 | // assignment operator | |
40 | AliITSClusterFinderV2SDD& operator=(const AliITSClusterFinderV2SDD &source); | |
41 | Bool_t NoiseSuppress(Int_t k, Int_t sid, AliBin* bins, AliITSCalibrationSDD* cal) const; | |
42 | void FindClustersSDD(TClonesArray *digits); | |
43 | void FindClustersSDD(AliBin* bins[2], TBits* anodeFired[2], | |
44 | TClonesArray *dig, TClonesArray *clusters=0x0, Int_t jitter=0); | |
45 | ||
46 | void FindClustersSDD(AliITSRawStream* input); | |
47 | virtual AliITSCalibrationSDD* GetResp(Int_t mod)const{ | |
48 | return (AliITSCalibrationSDD*) fDetTypeRec->GetCalibrationModel(mod);} | |
49 | virtual AliITSsegmentationSDD* GetSeg()const{ | |
50 | return (AliITSsegmentationSDD*)fDetTypeRec->GetSegmentationModel(1);} | |
51 | ||
52 | Int_t fNAnodes; // number of anodes | |
53 | Int_t fNTimeBins; // number of time bins | |
54 | Int_t fNZbins; // number of cells along anodes | |
55 | Int_t fNXbins; // number of cells along time | |
56 | AliBin* fDDLBins[kHybridsPerDDL]; // container for digits for 1 DDL | |
57 | Float_t fCutOnPeakLoose; // loose cut on peak (for all drift times) | |
58 | Float_t fCutOnPeakTight; // tight cut on peak (for small drift times) | |
59 | Float_t fMaxDrTimeForTightCut; // max. drift time for fCutOnPeakTight | |
60 | ||
61 | ClassDef(AliITSClusterFinderV2SDD,6) // ITS cluster finder V2 for SDD | |
62 | }; | |
63 | ||
64 | #endif |