]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSGetter.h
Default constructor creates CDB storage with centrally set run number (Yu.Kharlov)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSGetter.h
index 4ada0735c0d12971a7b595ce73716b297d89152d..4ce3eb51fd49440e004e650107890339700ac2bd 100644 (file)
@@ -20,6 +20,8 @@
 #include "TObject.h"  
 class TParticle ;
 class TTree ; 
+class TGraph ; 
+class TF1 ; 
 
 // --- Standard library ---
 
@@ -34,6 +36,9 @@ class TTree ;
 #include "AliPHOSRecParticle.h" 
 #include "AliPHOSDigitizer.h"
 #include "AliPHOSSDigitizer.h"
+#include "AliPHOSCalibData.h"
+#include "AliPHOSAlignData.h"
+
 class AliPHOS ;  
 class AliPHOSGeometry ;
 class AliPHOSClusterizer ;
@@ -41,6 +46,7 @@ class AliPHOSTrackSegmentMaker ;
 class AliPHOSPID ; 
 class AliPHOSBeamTestEvent ;
 class AliESD ; 
+class AliRawReader ;
 
 class AliPHOSGetter : public TObject {
   
@@ -76,6 +82,7 @@ public:
                                  Option_t * openingOption = "READ" ) ; 
   static AliPHOSGetter * Instance() ; 
   
+  void Print(const Option_t *)const{}
   static void Print() ; 
   
   //=========== General information about run ==============
@@ -94,6 +101,7 @@ public:
   
   //========== Methods to read something from file ==========
   virtual void   Event(Int_t event, const char * opt = "HSDRTP") ;    
+  void   Event(AliRawReader *rawReader, const char * opt = "W") ;    
   virtual void   Track(Int_t itrack) ;
  
   
@@ -102,6 +110,11 @@ public:
   void ReadCalibrationDB(const char * /*name*/, const char * /*filename*/){ ;}
   void SetCalibrationDB(AliPHOSCalibrationDB * cdb) {fcdb = cdb ;}
   
+  void SetCalibData(AliPHOSCalibData* calibda) { fCalibData = calibda; }
+  void SetAlignData(AliPHOSAlignData* alignda) { fAlignData = alignda; }
+  AliPHOSCalibData * CalibData();
+  AliPHOSAlignData * AlignData();
+
   //=========== Primaries ============
   virtual TClonesArray *    Primaries(void) ;
   virtual TParticle * Primary(Int_t index) const ;
@@ -185,7 +198,7 @@ public:
     return  PhosLoader()->WritePID(opt) ; }
 
   //========== Raw ===========
-  virtual Int_t ReadRaw(Int_t event) ; 
+  virtual Int_t ReadRaw(AliRawReader *rawReader) ; 
 
   void SetDebug(Int_t level) {fgDebug = level;} // Set debug level 
   virtual void PostClusterizer(AliPHOSClusterizer * clu) 
@@ -218,6 +231,9 @@ private:
   Bool_t OpenESDFile() ;
   void ReadPrimaries(void) ;
 
+  void FitRaw(Bool_t lowGainFlag, TGraph * gLowGain, TGraph * gHighGain, TF1* signalF, Double_t & energy, Double_t & time) ; 
+
+  Int_t CalibrateRaw (Double_t energy, Int_t *relId);
 
 private:
   
@@ -232,10 +248,12 @@ private:
   AliESD *          fESD ;               //! ESD object
   TTree *           fESDTree ;           //! ESD Tree
   
-  Bool_t            fRawDigits ;         //!
+  Bool_t            fRawDigits ;         //! true is raw data
 
   AliPHOSCalibrationDB * fcdb ;       //!
-  
+  static AliPHOSCalibData * fCalibData;
+  static AliPHOSAlignData * fAlignData;
+
   static AliPHOSLoader * fgPhosLoader ; // the loader for the NewIO
   
   enum EDataTypes{kHits,kSDigits,kDigits,kRecPoints,kTracks,kNDataTypes};