]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCCalibPedestal.h
Updated flags for low flux case (A. Dainese)
[u/mrichter/AliRoot.git] / TPC / AliTPCCalibPedestal.h
index afe17ff9c9bc004e7803b034080c5307ef605253..a56aff0512972210afef64a34875cdab4e8a39ef 100644 (file)
@@ -16,6 +16,8 @@ class AliTPCCalROC;
 class AliTPCRawStream;
 class AliTPCRawStreamFast;
 class AliRawReader;
+class AliTPCAltroMapping;
+class TMap;
 
 struct eventHeaderStruct;
 
@@ -24,12 +26,13 @@ class AliTPCCalibPedestal : public TObject {
 public:
   AliTPCCalibPedestal();
   AliTPCCalibPedestal(const AliTPCCalibPedestal &ped);
+  AliTPCCalibPedestal(const TMap *config);
   virtual ~AliTPCCalibPedestal();
 
   AliTPCCalibPedestal& operator = (const  AliTPCCalibPedestal &source);
 
   Bool_t ProcessEventFast(AliTPCRawStreamFast *rawStreamFast);
-  Bool_t ProcessEventFast(AliRawReader            *rawReader);
+  Bool_t ProcessEventFast(AliRawReader        *rawReader);
 
   Bool_t ProcessEvent(AliTPCRawStream *rawStream);
   Bool_t ProcessEvent(AliRawReader    *rawReader);
@@ -39,27 +42,36 @@ public:
                const Int_t iTimeBin, const Float_t signal);
   void   Analyse();
   //
+  AliTPCAltroMapping **GetAltroMapping() { return fMapping; };
+  void  SetAltroMapping(AliTPCAltroMapping **mapp) { fMapping = mapp; };
+  //
   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
+  AliTPCCalROC* GetCalRocSigma(Int_t sector, Bool_t force=kFALSE);        // get calibration object - sector
   const TObjArray* GetCalPadPedestal (){return &fCalRocArrayPedestal;}  // get calibration object
+  const TObjArray* GetCalPadSigma(){return &fCalRocArraySigma;}             // get calibration object
+
+  AliTPCCalROC* GetCalRocMean (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* GetCalPadMean (){return &fCalRocArrayMean;}          // get calibration object
   const TObjArray* GetCalPadRMS(){return &fCalRocArrayRMS;}             // get calibration object
   
   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);
+  void  DumpToFile(const Char_t *filename, const Char_t *dir="", Bool_t append=kFALSE);
   //
   void  SetTimeAnalysis(Bool_t time = kTRUE);                  // Use ONLY in TPCPEDESTALda on LDC for one sector!
   void  AnalyseTime(Int_t nevents);                            // Makes sense only in TPCPEDESTALda on LDC!
   TArrayF **GetTimePedestals()  const { return fTimeSignal; }  // Get array with time dependent pedestals (for one sector!)
   //
-  Int_t GetFirstTimeBin() const { return fFirstTimeBin; }
-  Int_t GetLastTimeBin()  const { return fLastTimeBin;  }
-  Int_t GetAdcMin()       const { return fAdcMin;       }
-  Int_t GetAdcMax()       const { return fAdcMax;       }
-
+  Int_t   GetFirstTimeBin() const { return fFirstTimeBin; }
+  Int_t   GetLastTimeBin()  const { return fLastTimeBin;  }
+  Int_t   GetAdcMin()       const { return fAdcMin;       }
+  Int_t   GetAdcMax()       const { return fAdcMax;       }
+  Float_t GetAnaMeanDown()  const { return fAnaMeanDown;  }
+  Float_t GetAnaMeanUp()    const { return fAnaMeanUp;    }
+  
   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  SetAnalysisTruncationRange(Float_t down, Float_t up) {fAnaMeanDown=down; fAnaMeanUp=up;}    //Set range for truncated mean analysis of the channel information
 
   void  Merge(AliTPCCalibPedestal *ped);
 
@@ -73,26 +85,32 @@ 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
+  Float_t fAnaMeanDown;             // Truncated mean channel analysis - lower cut
+  Float_t fAnaMeanUp;               // Truncated mean channel analysis - upper cut
+  
   Bool_t  fTimeAnalysis;            //! Should we use the time dependent analysis? ONLY ON LDC!
 
   AliTPCROC *fROC;                  //! ROC information
+  AliTPCAltroMapping **fMapping;    //! Altro Mapping object
 
-  TObjArray fCalRocArrayPedestal;   //  Array of AliTPCCalROC class for Time0 calibration
-  TObjArray fCalRocArrayRMS;        //  Array of AliTPCCalROC class for signal width calibration
+  TObjArray fCalRocArrayPedestal;   //  Array of AliTPCCalROC class for pedestal values from gaus fit
+  TObjArray fCalRocArraySigma;      //  Array of AliTPCCalROC class for noise values from gaus fit
 
   TObjArray fHistoPedestalArray;    //  Calibration histograms for Pedestal distribution
 
   TArrayF **fTimeSignal;            //! Arrays which hold time dependent signals
+  
+  TObjArray fCalRocArrayMean;       //  Array of AliTPCCalROC class for pedestal values, simple mean
+  TObjArray fCalRocArrayRMS;        //  Array of AliTPCCalROC class for noise values, simple rms
 
   TH2F* GetHisto(Int_t sector, TObjArray *arr,
                 Int_t nbinsY, Float_t ymin, Float_t ymax,
-                Char_t *type, Bool_t force);
+                const Char_t *type, Bool_t force);
 
   AliTPCCalROC* GetCalRoc(Int_t sector, TObjArray* arr, Bool_t force);
 
 public:
-  ClassDef(AliTPCCalibPedestal, 2)  // Implementation of the TPC pedestal and noise calibration
+  ClassDef(AliTPCCalibPedestal, 6)  // Implementation of the TPC pedestal and noise calibration
 };