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 //-----------------------------------------------------//
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) //
12 //-----------------------------------------------------//
21 class AliPMDCalibData;
23 class AliPMDRecoParam;
25 class AliPMDClusterFinder : public TObject
30 AliPMDClusterFinder();
31 AliPMDClusterFinder(AliRunLoader* runLoader);
32 AliPMDClusterFinder(const AliPMDClusterFinder &finder); // copy constructor
33 AliPMDClusterFinder &operator=(const AliPMDClusterFinder &finder); // assignment op
34 virtual ~AliPMDClusterFinder();
36 void Digits2RecPoints(Int_t ievt);
37 void Digits2RecPoints(TTree *digitsTree, TTree *clustersTree);
38 void Digits2RecPoints(AliRawReader *rawReader, TTree *clustersTree);
39 void Digits2RecPoints(Int_t ievt, AliRawReader *rawReader);
40 void SetCellEdepCut(Float_t ecut);
41 void AddRecPoint(Int_t idet, Int_t ismn, Float_t * clusdata);
42 void AddRecHit(Int_t celldataX, Int_t celldataY, Int_t celldataTr,
43 Int_t celldataPid, Float_t celldataAdc);
50 void UnLoadClusters();
52 AliPMDCalibData *GetCalibGain() const;
53 AliPMDPedestal *GetCalibPed() const;
56 AliRunLoader *fRunLoader; // Pointer to Run Loader
57 AliLoader *fPMDLoader; // Pointer to specific detector loader
59 AliPMDCalibData *fCalibGain; //! Gain calibration data
60 AliPMDPedestal *fCalibPed; //! Pedestal calibration data
62 const AliPMDRecoParam *fRecoParam; // reconstruction parameter
64 TTree *fTreeD; // Digits tree
65 TTree *fTreeR; // Reconstructed points
67 TClonesArray *fDigits; // List of digits
68 TClonesArray *fRecpoints; // List of reconstructed points
69 TClonesArray *fRechits; // List of cells associated with rec points
73 Int_t fDetNo; // Detector Number (0:PRE, 1:CPV)
74 Float_t fEcut; // Energy/ADC cut per cell
76 static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
77 static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
78 Double_t fCellADC[fgkRow][fgkCol]; // Array containing individual cell ADC
79 Int_t fCellTrack[fgkRow][fgkCol]; // Array containing individual cell tr
80 Int_t fCellPid[fgkRow][fgkCol]; // Array containing individual cell pid
82 ClassDef(AliPMDClusterFinder,15) // To run PMD clustering