Line data Source code
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,Int_t gRecoMode);
40 : void Digits2RecPoints(AliRawReader *rawReader, TTree *clustersTree,Int_t gRecoMode);
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 208 : ClassDef(AliPMDClusterFinder,19) // 19 by satyajit
90 : };
91 : #endif
92 :
|