]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - PMD/AliPMDClusterFinder.h
updates to handle both types of calibration objects (online & offline)
[u/mrichter/AliRoot.git] / PMD / AliPMDClusterFinder.h
... / ...
CommitLineData
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
14class TClonesArray;
15class TFile;
16class TTree;
17
18class AliLoader;
19class AliRunLoader;
20class AliRawReader;
21class AliPMDCalibData;
22class AliPMDPedestal;
23
24class AliPMDClusterFinder : public TObject
25{
26
27 public:
28
29 AliPMDClusterFinder();
30 AliPMDClusterFinder(AliRunLoader* runLoader);
31 AliPMDClusterFinder(const AliPMDClusterFinder &finder); // copy constructor
32 AliPMDClusterFinder &operator=(const AliPMDClusterFinder &finder); // assignment op
33 virtual ~AliPMDClusterFinder();
34
35 void Digits2RecPoints(Int_t ievt);
36 void Digits2RecPoints(TTree *digitsTree, TTree *clustersTree);
37 void Digits2RecPoints(AliRawReader *rawReader, TTree *clustersTree);
38 void Digits2RecPoints(Int_t ievt, AliRawReader *rawReader);
39 void SetCellEdepCut(Float_t ecut);
40 void AddRecPoint(Int_t idet, Int_t ismn, Float_t * clusdata);
41 void AddRecHit(Int_t celldataX, Int_t celldataY);
42 void ResetCellADC();
43 void ResetRecpoint();
44 void ResetRechit();
45 void Load();
46 void LoadClusters();
47 void UnLoad();
48 void UnLoadClusters();
49
50 AliPMDCalibData *GetCalibGain() const;
51 AliPMDPedestal *GetCalibPed() const;
52
53 protected:
54 AliRunLoader *fRunLoader; // Pointer to Run Loader
55 AliLoader *fPMDLoader; // Pointer to specific detector loader
56
57 AliPMDCalibData *fCalibGain; //! Gain calibration data
58 AliPMDPedestal *fCalibPed; //! Pedestal calibration data
59
60 TTree *fTreeD; // Digits tree
61 TTree *fTreeR; // Reconstructed points
62
63 TClonesArray *fDigits; // List of digits
64 TClonesArray *fRecpoints; // List of reconstructed points
65 TClonesArray *fRechits; // List of cells associated with rec points
66
67 Int_t fNpoint; //
68 Int_t fNhit; //
69 Int_t fDetNo; // Detector Number (0:PRE, 1:CPV)
70 Float_t fEcut; // Energy/ADC cut per cell
71
72 static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
73 static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
74 Double_t fCellADC[fgkRow][fgkCol]; // Array containing individual cell ADC
75
76 ClassDef(AliPMDClusterFinder,12) // To run PMD clustering
77};
78#endif
79