]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PMD/AliPMDClusterFinder.h
bug fixed
[u/mrichter/AliRoot.git] / PMD / AliPMDClusterFinder.h
1 #ifndef ALIPMDCLUSTERFINDER_H
2 #define ALIPMDCLUSTERFINDER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5 //-----------------------------------------------------//
6 //                                                     //
7 //  Date   : August 05 2003                            //
8 //  This reads the file PMD.digits.root(TreeD),        //
9 //  calls the Clustering algorithm and stores the      //
10 //  clustering output in PMD.RecPoints.root(TreeR)     // 
11 //                                                     //
12 //-----------------------------------------------------//
13
14 class TClonesArray;
15 class TFile;
16 class TTree;
17
18 class AliLoader;
19 class AliRunLoader;
20 class AliRawReader;
21 class AliPMDCalibData;
22 class AliPMDPedestal;
23 class AliPMDHotData;
24 class AliPMDNoiseCut;
25 class AliPMDddlinfoData;
26 class AliPMDRecoParam;
27
28 class AliPMDClusterFinder : public TObject
29 {
30
31  public:
32
33   AliPMDClusterFinder();
34   AliPMDClusterFinder(AliRunLoader* runLoader);
35   AliPMDClusterFinder(const AliPMDClusterFinder &finder);  // copy constructor
36   AliPMDClusterFinder &operator=(const AliPMDClusterFinder &finder); // assignment op
37   virtual ~AliPMDClusterFinder();
38
39   void Digits2RecPoints(TTree *digitsTree, TTree *clustersTree);
40   void Digits2RecPoints(AliRawReader *rawReader, TTree *clustersTree);
41
42   void AddRecPoint(Int_t idet, Int_t ismn, Float_t * clusdata);
43   void AddRecHit(Int_t celldataX, Int_t celldataY, Int_t celldataTr,
44                  Int_t celldataPid, Float_t celldataAdc);
45   void ResetCellADC();
46   void ResetRecpoint();
47   void ResetRechit();
48   void Load();
49   void LoadClusters();
50   void UnLoad();
51   void UnLoadClusters();
52
53   AliPMDCalibData    *GetCalibGain() const;
54   AliPMDPedestal     *GetCalibPed() const;
55   AliPMDHotData      *GetCalibHot() const;
56   AliPMDNoiseCut     *GetNoiseCut() const;
57   AliPMDddlinfoData  *GetDdlinfoData() const;
58
59  protected:
60   AliRunLoader *fRunLoader; // Pointer to Run Loader
61   AliLoader    *fPMDLoader; // Pointer to specific detector loader
62
63   AliPMDCalibData    *fCalibGain;  //! Gain calibration data
64   AliPMDPedestal     *fCalibPed;   //! Pedestal calibration data
65   AliPMDHotData      *fCalibHot;   //! Hot data
66   AliPMDNoiseCut     *fNoiseCut;   //! Noise cut
67   AliPMDddlinfoData  *fDdlinfo;    //! ddl info data
68
69   const AliPMDRecoParam *fRecoParam; // reconstruction parameter
70
71   TTree        *fTreeD;     // Digits tree
72   TTree        *fTreeR;     // Reconstructed points
73
74   TClonesArray *fDigits;    // List of digits
75   TClonesArray *fRecpoints; // List of reconstructed points
76   TClonesArray *fRechits;   // List of cells associated with rec points
77
78   Int_t   fNpoint;          // 
79   Int_t   fNhit;            // 
80   Int_t   fDetNo;           // Detector Number (0:PRE, 1:CPV)
81
82
83   static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
84   static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
85   Double_t fCellADC[fgkRow][fgkCol]; // Array containing individual cell ADC
86   Int_t    fCellTrack[fgkRow][fgkCol]; // Array containing individual cell tr
87   Int_t    fCellPid[fgkRow][fgkCol]; // Array containing individual cell pid
88
89   ClassDef(AliPMDClusterFinder,18) // To run PMD clustering
90 };
91 #endif
92