Line data Source code
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 0 : fCutOnPeakLoose=looseCut;
30 0 : fCutOnPeakTight=tightCut;
31 0 : fMaxDrTimeForTightCut=maxTime;
32 0 : }
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, const 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 0 : return (AliITSCalibrationSDD*) fDetTypeRec->GetCalibrationModel(mod);}
49 : virtual AliITSsegmentationSDD* GetSeg()const{
50 0 : 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 118 : ClassDef(AliITSClusterFinderV2SDD,6) // ITS cluster finder V2 for SDD
62 : };
63 :
64 : #endif
|