]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/AliITSClusterFinderV2SDD.h
settable rang phi histogram + few other fixes
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderV2SDD.h
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