]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PMD/AliPMDClusterFinder.h
VZEROQA from library.
[u/mrichter/AliRoot.git] / PMD / AliPMDClusterFinder.h
index 32cea3201b814cef57130b5e5d5d3dafa35ca222..e5a95be33dfdefd924473a2934f07900b6982fd5 100644 (file)
 
 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 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);
+  void Digits2RecPoints(AliRawReader *rawReader, TTree *clustersTree);
 
-  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;
 
  protected:
   AliRunLoader *fRunLoader; // Pointer to Run Loader
-  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
+
+  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,17) // To run PMD clustering
 };
 #endif