class TClonesArray;
class TFile;
-class TObjArray;
class TTree;
-class TNtuple;
-class TMath;
class AliLoader;
class AliRunLoader;
-class AliRun;
-class AliDetector;
-class AliHeader;
+class AliRawReader;
+class AliPMDCalibData;
+class AliPMDPedestal;
-class AliPMDdigit;
-class AliPMDClustering;
-class AliPMDcluster;
-class AliPMDrecpoint1;
-
-class AliPMDClusterFinder
+class AliPMDClusterFinder : public TObject
{
public:
AliPMDClusterFinder();
+ AliPMDClusterFinder(AliRunLoader* runLoader);
+ AliPMDClusterFinder(const AliPMDClusterFinder &finder); // copy constructor
+ AliPMDClusterFinder &operator=(const AliPMDClusterFinder &finder); // assignment op
virtual ~AliPMDClusterFinder();
- void OpengAliceFile(const char * file, Option_t * option);
-
void Digits2RecPoints(Int_t ievt);
+ void Digits2RecPoints(TTree *digitsTree, TTree *clustersTree);
+ void Digits2RecPoints(AliRawReader *rawReader, TTree *clustersTree);
+ void Digits2RecPoints(Int_t ievt, AliRawReader *rawReader);
void SetCellEdepCut(Float_t ecut);
- void SetDebug(Int_t idebug);
void AddRecPoint(Int_t idet, Int_t ismn, Float_t * clusdata);
+ void AddRecHit(Int_t celldataX, Int_t celldataY);
void ResetCellADC();
void ResetRecpoint();
- void UnLoad(Option_t * option);
+ void ResetRechit();
+ void Load();
+ void LoadClusters();
+ void UnLoad();
+ void UnLoadClusters();
+
+ AliPMDCalibData *GetCalibGain() const;
+ AliPMDPedestal *GetCalibPed() const;
protected:
AliRunLoader *fRunLoader; // Pointer to Run Loader
AliLoader *fPMDLoader; // Pointer to specific detector loader
+ AliPMDCalibData *fCalibGain; //! Gain calibration data
+ AliPMDPedestal *fCalibPed; //! Pedestal calibration data
+
TTree *fTreeD; // Digits tree
TTree *fTreeR; // Reconstructed points
TClonesArray *fDigits; // List of digits
TClonesArray *fRecpoints; // List of reconstructed points
+ TClonesArray *fRechits; // List of cells associated with rec points
Int_t fNpoint; //
+ Int_t fNhit; //
Int_t fDetNo; // Detector Number (0:PRE, 1:CPV)
- Int_t fDebug; // Debugging switch (0:NO, 1:YES)
Float_t fEcut; // Energy/ADC cut per cell
static const Int_t fgkRow = 48; // Total number of rows in one unitmodule
static const Int_t fgkCol = 96; // Total number of cols in one unitmodule
Double_t fCellADC[fgkRow][fgkCol]; // Array containing individual cell ADC
- ClassDef(AliPMDClusterFinder,3) // To run PMD clustering
+ ClassDef(AliPMDClusterFinder,12) // To run PMD clustering
};
#endif