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 AliPMDHotData;
+class AliPMDNoiseCut;
+class AliPMDddlinfoData;
+class AliPMDRecoParam;
-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(char * file, Option_t * option);
+ void Digits2RecPoints(TTree *digitsTree, TTree *clustersTree,Int_t gRecoMode);
+ void Digits2RecPoints(AliRawReader *rawReader, TTree *clustersTree,Int_t gRecoMode);
- void Digits2RecPoints(Int_t ievt);
- void SetCellEdepCut(Float_t ecut);
- void SetDebug(Int_t idebug);
- void AddRecPoint(Float_t * clusdata);
+ void AddRecPoint(Int_t idet, Int_t ismn, Float_t * clusdata);
+ void AddRecHit(Int_t celldataX, Int_t celldataY, Int_t celldataTr,
+ Int_t celldataPid, Float_t celldataAdc);
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;
+ AliPMDHotData *GetCalibHot() const;
+ AliPMDNoiseCut *GetNoiseCut() const;
+ AliPMDddlinfoData *GetDdlinfoData() const;
protected:
AliRunLoader *fRunLoader; // Pointer to Run Loader
- AliRun *gAlice; // Pointer to Run
- AliDetector *fPMD; // Pointers to Alice detectors & Hits containers
AliLoader *fPMDLoader; // Pointer to specific detector loader
+ AliPMDCalibData *fCalibGain; //! Gain calibration data
+ AliPMDPedestal *fCalibPed; //! Pedestal calibration data
+ AliPMDHotData *fCalibHot; //! Hot data
+ AliPMDNoiseCut *fNoiseCut; //! Noise cut
+ AliPMDddlinfoData *fDdlinfo; //! ddl info data
+
+ const AliPMDRecoParam *fRecoParam; // reconstruction parameter
+
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 fRow = 48; // Total number of rows in one unitmodule
- static const Int_t fCol = 96; // Total number of cols in one unitmodule
- Double_t fCellADC[fRow][fCol]; // Array containing individual cell ADC
- ClassDef(AliPMDClusterFinder,2) // To run PMD clustering
+ 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
+ Int_t fCellTrack[fgkRow][fgkCol]; // Array containing individual cell tr
+ Int_t fCellPid[fgkRow][fgkCol]; // Array containing individual cell pid
+
+ ClassDef(AliPMDClusterFinder,19) // 19 by satyajit
};
#endif