]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PMD/AliPMDClusterFinder.h
Add possibility to rotate event
[u/mrichter/AliRoot.git] / PMD / AliPMDClusterFinder.h
CommitLineData
b208c6a3 1#ifndef ALIPMDCLUSTERFINDER_H
2#define ALIPMDCLUSTERFINDER_H
ed228cbc 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
01709453 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
01709453 14class TClonesArray;
15class TFile;
01709453 16class TTree;
01709453 17
18class AliLoader;
19class AliRunLoader;
5f55af10 20class AliRawReader;
09a06455 21class AliPMDCalibData;
35535af7 22class AliPMDPedestal;
7adbd8e9 23class AliPMDHotData;
b9e2f33c 24class AliPMDRecoParam;
01709453 25
7e9508a7 26class AliPMDClusterFinder : public TObject
01709453 27{
01709453 28
29 public:
30
7e9508a7 31 AliPMDClusterFinder();
dfaeee5f 32 AliPMDClusterFinder(AliRunLoader* runLoader);
a48edddd 33 AliPMDClusterFinder(const AliPMDClusterFinder &finder); // copy constructor
34 AliPMDClusterFinder &operator=(const AliPMDClusterFinder &finder); // assignment op
01709453 35 virtual ~AliPMDClusterFinder();
36
b208c6a3 37 void Digits2RecPoints(Int_t ievt);
8fbad6d3 38 void Digits2RecPoints(TTree *digitsTree, TTree *clustersTree);
7e9508a7 39 void Digits2RecPoints(AliRawReader *rawReader, TTree *clustersTree);
5f55af10 40 void Digits2RecPoints(Int_t ievt, AliRawReader *rawReader);
b208c6a3 41 void SetCellEdepCut(Float_t ecut);
1758e4fe 42 void AddRecPoint(Int_t idet, Int_t ismn, Float_t * clusdata);
920e13db 43 void AddRecHit(Int_t celldataX, Int_t celldataY, Int_t celldataTr,
b0e4d1e1 44 Int_t celldataPid, Float_t celldataAdc);
01709453 45 void ResetCellADC();
46 void ResetRecpoint();
5c5cadd5 47 void ResetRechit();
55601d47 48 void Load();
01b56f5c 49 void LoadClusters();
ebd83c56 50 void UnLoad();
01b56f5c 51 void UnLoadClusters();
b208c6a3 52
35535af7 53 AliPMDCalibData *GetCalibGain() const;
54 AliPMDPedestal *GetCalibPed() const;
7adbd8e9 55 AliPMDHotData *GetCalibHot() const;
09a06455 56
b208c6a3 57 protected:
58 AliRunLoader *fRunLoader; // Pointer to Run Loader
b208c6a3 59 AliLoader *fPMDLoader; // Pointer to specific detector loader
60
35535af7 61 AliPMDCalibData *fCalibGain; //! Gain calibration data
62 AliPMDPedestal *fCalibPed; //! Pedestal calibration data
7adbd8e9 63 AliPMDHotData *fCalibHot; //! Hot data
09a06455 64
b9e2f33c 65 const AliPMDRecoParam *fRecoParam; // reconstruction parameter
66
b208c6a3 67 TTree *fTreeD; // Digits tree
68 TTree *fTreeR; // Reconstructed points
69
70 TClonesArray *fDigits; // List of digits
71 TClonesArray *fRecpoints; // List of reconstructed points
5c5cadd5 72 TClonesArray *fRechits; // List of cells associated with rec points
b208c6a3 73
74 Int_t fNpoint; //
5c5cadd5 75 Int_t fNhit; //
b208c6a3 76 Int_t fDetNo; // Detector Number (0:PRE, 1:CPV)
b208c6a3 77 Float_t fEcut; // Energy/ADC cut per cell
78
5e6a9312 79 static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
80 static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
81 Double_t fCellADC[fgkRow][fgkCol]; // Array containing individual cell ADC
920e13db 82 Int_t fCellTrack[fgkRow][fgkCol]; // Array containing individual cell tr
83 Int_t fCellPid[fgkRow][fgkCol]; // Array containing individual cell pid
01709453 84
7adbd8e9 85 ClassDef(AliPMDClusterFinder,16) // To run PMD clustering
01709453 86};
87#endif
88