Bug fixes (Jens)
[u/mrichter/AliRoot.git] / TPC / AliTPCCalibPedestal.h
index e0302884b9860f21988624cdea54f12c683c867e..76c6ce39914d0db178d4158e3f435086d5ed6cec 100644 (file)
@@ -9,38 +9,50 @@
 
 class TObjArray;
 class TH2F;
-class TH2S;
-class TH1S;
-class TH1F;
-class TH1D;
-class TF1;
 class TTreeSRedirector;
 class AliTPCROC;
+class AliTPCCalROC;
+class AliTPCRawStream;
 class AliRawReader;
+struct eventHeaderStruct;
 
 
 class AliTPCCalibPedestal : public TObject {
 
 public:
   AliTPCCalibPedestal();
+  AliTPCCalibPedestal(const AliTPCCalibPedestal &ped);
   virtual ~AliTPCCalibPedestal();
-  
-  Bool_t ProcessEvent(AliRawReader *rawReader); 
+
+  AliTPCCalibPedestal& operator = (const  AliTPCCalibPedestal &source);
+
+  Bool_t ProcessEvent(AliTPCRawStream *rawStream);
+  Bool_t ProcessEvent(AliRawReader    *rawReader);
+  Bool_t ProcessEvent(eventHeaderStruct   *event);
+
   Int_t Update(const Int_t isector, const Int_t iRow, const Int_t iPad,
               const Int_t iTimeBin, const Float_t signal);
   void Analyse();
   //
-  AliTPCCalROC* GetCalRocPedestal (Int_t sector, Bool_t force=kFALSE);  //get calibration object - sector
-  AliTPCCalROC* GetCalRocRMS(Int_t sector, Bool_t force=kFALSE);        //get calibration object - sector
-  const TObjArray* GetCalPadPedestal (){return &fCalRocArrayPedestal;}//get calibration object
-  const TObjArray* GetCalPadRMS(){return &fCalRocArrayRMS;}           //get calibration object
+  AliTPCCalROC* GetCalRocPedestal (Int_t sector, Bool_t force=kFALSE);  // get calibration object - sector
+  AliTPCCalROC* GetCalRocRMS(Int_t sector, Bool_t force=kFALSE);        // get calibration object - sector
+  const TObjArray* GetCalPadPedestal (){return &fCalRocArrayPedestal;}  // get calibration object
+  const TObjArray* GetCalPadRMS(){return &fCalRocArrayRMS;}             // get calibration object
   
-  TH2S* GetHistoPedestal  (Int_t sector, Bool_t force=kFALSE);          //get refernce histogram
-  void DumpToFile(const Char_t *filename, const Char_t *dir="", const Bool_t append=kFALSE);
+  TH2F* GetHistoPedestal  (Int_t sector, Bool_t force=kFALSE);          // get refernce histogram
+  void  DumpToFile(const Char_t *filename, const Char_t *dir="", const Bool_t append=kFALSE);
   //
-  Short_t GetDebugLevel(){ return fDebugLevel; }
-  void    SetDebugLevel(Short_t debug=1){ fDebugLevel = debug;}
+  Int_t GetFirstTimeBin() const { return fFirstTimeBin; }
+  Int_t GetLastTimeBin()  const { return fLastTimeBin;  }
+  Int_t GetAdcMin()       const { return fAdcMin;       }
+  Int_t GetAdcMax()       const { return fAdcMax;       }
 
+  void  SetRangeTime(Int_t tMin, Int_t tMax){ fFirstTimeBin=tMin; fLastTimeBin=tMax; }  // Set time bin range that is used for the pedestal calibration
+  void  SetRangeAdc (Int_t aMin, Int_t aMax){ fAdcMin=aMin; fAdcMax=aMax; }  // Set adc range for the pedestal calibration
+
+  void  SetOldRCUformat(Bool_t format=kTRUE){ fOldRCUformat = format; }
+
+  void Merge(AliTPCCalibPedestal *ped);
 
   Bool_t TestEvent();  //test the fast approach to fill histogram  - used for test purposes
 
@@ -51,6 +63,8 @@ private:
   Int_t fAdcMin;                    //  min adc channel of pedestal value
   Int_t fAdcMax;                    //  max adc channel of pedestal value
   
+  Bool_t  fOldRCUformat;            //! Should we use the old RCU format for data reading
+
   AliTPCROC *fROC;                  //! ROC information
   
   TObjArray fCalRocArrayPedestal;   //  Array of AliTPCCalROC class for Time0 calibration
@@ -58,12 +72,9 @@ private:
   
   TObjArray fHistoPedestalArray;    //  Calibration histograms for Pedestal distribution
   
-  TTreeSRedirector *fDebugStreamer;  //! debug streamer
   
-  Short_t fDebugLevel;
-  //! debugging
   
-  TH2S* GetHisto(Int_t sector, TObjArray *arr,
+  TH2F* GetHisto(Int_t sector, TObjArray *arr,
                 Int_t nbinsY, Float_t ymin, Float_t ymax,
                 Char_t *type, Bool_t force);
     
@@ -72,7 +83,7 @@ private:
 public:
 
 
-  ClassDef(AliTPCCalibPedestal,1)
+  ClassDef(AliTPCCalibPedestal,1)  //Implementation of the TPC pedestal and noise calibration
 };