]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PMD/AliPMDClusterFinder.h
- Add information in the trigger chamber efficiency object in order to take into...
[u/mrichter/AliRoot.git] / PMD / AliPMDClusterFinder.h
index 442877a4163abbd8a32fc10b3cfe0f7610bd680a..e5a95be33dfdefd924473a2934f07900b6982fd5 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef PMDClusterFinder_H
-#define PMDClusterFinder_H
+#ifndef ALIPMDCLUSTERFINDER_H
+#define ALIPMDCLUSTERFINDER_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 //-----------------------------------------------------//
 //                                                     //
 //-----------------------------------------------------//
 
-#include <Riostream.h>
-#include <stdlib.h>
-#include <math.h>
-#include <TMath.h>
-
 class TClonesArray;
 class TFile;
-class TObjArray;
 class TTree;
-class TNtuple;
 
 class AliLoader;
 class AliRunLoader;
-class AliRun;
-class AliDetector;
-class AliHeader;
-
-class AliPMDdigit;
-class AliPMDClustering;
-class AliPMDcluster;
-class AliPMDrecpoint1;
+class AliRawReader;
+class AliPMDCalibData;
+class AliPMDPedestal;
+class AliPMDHotData;
+class AliPMDNoiseCut;
+class AliPMDRecoParam;
 
-class AliPMDClusterFinder
+class AliPMDClusterFinder : public TObject
 {
- protected:
-  AliRunLoader *fRunLoader;
-  AliRun       *gAlice;
-  AliDetector  *PMD;      /* Get pointers to Alice detectors 
-                            and Hits containers */
-  AliLoader    *pmdloader;
-
-  TTree        *treeD;
-  TTree        *treeR;
-
-  TClonesArray *fDigits;
-  TClonesArray *fRecpoints;
-
-  Int_t fNpoint;
-  Int_t fDetNo;
-  Int_t fDebug;
-  Float_t fEcut;
-
-  static const Int_t fRow = 48;
-  static const Int_t fCol = 96;
-  Double_t fCellADC[fRow][fCol];
 
  public:
 
   AliPMDClusterFinder();
+  AliPMDClusterFinder(AliRunLoader* runLoader);
+  AliPMDClusterFinder(const AliPMDClusterFinder &finder);  // copy constructor
+  AliPMDClusterFinder &operator=(const AliPMDClusterFinder &finder); // assignment op
   virtual ~AliPMDClusterFinder();
 
-  void OpengAliceFile(char * /* galice.root */, 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
+  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)
+
+
+  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,2)
+  ClassDef(AliPMDClusterFinder,17) // To run PMD clustering
 };
 #endif