LCOV - code coverage report
Current view: top level - TPC/TPCbase - AliTPCCalibPedestal.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 12 8.3 %
Date: 2016-06-14 17:26:59 Functions: 1 16 6.2 %

          Line data    Source code
       1             : #ifndef ALITPCCALIBPEDESTAL_H
       2             : #define ALITPCCALIBPEDESTAL_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /// \class AliTPCCalibPedestal
       7             : /// \brief Implementation of the TPC pedestal calibration
       8             : 
       9             : #include <TObjArray.h>
      10             : #include "AliTPCCalibRawBase.h"
      11             : 
      12             : class TArrayF;
      13             : class TH2F;
      14             : class TTreeSRedirector;
      15             : class AliTPCROC;
      16             : class AliTPCCalROC;
      17             : class AliRawReader;
      18             : class TMap;
      19             : 
      20             : struct eventHeaderStruct;
      21             : 
      22             : class AliTPCCalibPedestal : public AliTPCCalibRawBase {
      23             : 
      24             : public:
      25             :   AliTPCCalibPedestal();
      26             :   AliTPCCalibPedestal(const AliTPCCalibPedestal &ped);
      27             :   AliTPCCalibPedestal(const TMap *config);
      28             :   virtual ~AliTPCCalibPedestal();
      29             : 
      30             :   AliTPCCalibPedestal& operator = (const  AliTPCCalibPedestal &source);
      31             : 
      32             :   virtual Int_t  Update(const Int_t isector, const Int_t iRow, const Int_t iPad,
      33             :                 const Int_t iTimeBin, const Float_t signal);
      34             :   virtual void   Analyse();
      35             :   //
      36             :   AliTPCCalROC* GetCalRocPedestal (Int_t sector, Bool_t force=kFALSE);  // get calibration object - sector
      37             :   AliTPCCalROC* GetCalRocSigma(Int_t sector, Bool_t force=kFALSE);        // get calibration object - sector
      38           0 :   const TObjArray* GetCalPadPedestal() const {return &fCalRocArrayPedestal;}  // get calibration object
      39           0 :   const TObjArray* GetCalPadSigma() const {return &fCalRocArraySigma;}             // get calibration object
      40             : 
      41             :   AliTPCCalROC* GetCalRocMean (Int_t sector, Bool_t force=kFALSE);      // get calibration object - sector
      42             :   AliTPCCalROC* GetCalRocRMS(Int_t sector, Bool_t force=kFALSE);        // get calibration object - sector
      43           0 :   const TObjArray* GetCalPadMean() const {return &fCalRocArrayMean;}          // get calibration object
      44           0 :   const TObjArray* GetCalPadRMS()  const {return &fCalRocArrayRMS;}             // get calibration object
      45             : 
      46             :   TH2F* GetHistoPedestal  (Int_t sector, Bool_t force=kFALSE);          // get refernce histogram
      47             :   //
      48             :   void  SetTimeAnalysis(Bool_t time = kTRUE);                  // Use ONLY in TPCPEDESTALda on LDC for one sector!
      49             :   void  AnalyseTime(Int_t nevents);                            // Makes sense only in TPCPEDESTALda on LDC!
      50           0 :   TArrayF **GetTimePedestals()  const { return fTimeSignal; }  // Get array with time dependent pedestals (for one sector!)
      51             :   //
      52           0 :   Int_t   GetAdcMin()       const { return fAdcMin;       }
      53           0 :   Int_t   GetAdcMax()       const { return fAdcMax;       }
      54           0 :   Float_t GetAnaMeanDown()  const { return fAnaMeanDown;  }
      55           0 :   Float_t GetAnaMeanUp()    const { return fAnaMeanUp;    }
      56             : 
      57           0 :   void  SetRangeAdc (Int_t aMin, Int_t aMax){ fAdcMin=aMin; fAdcMax=aMax; }  // Set adc range for the pedestal calibration
      58           0 :   void  SetAnalysisTruncationRange(Float_t down, Float_t up) {fAnaMeanDown=down; fAnaMeanUp=up;}    //Set range for truncated mean analysis of the channel information
      59             : 
      60             :   void  Merge(AliTPCCalibPedestal * const ped);
      61             :   virtual Long64_t Merge(TCollection * const list);
      62             : 
      63             :   Bool_t TestEvent();  // Test the fast approach to fill histogram - used for test purposes
      64             : 
      65             : private:
      66             :   Int_t fAdcMin;                    ///< min adc channel of pedestal value
      67             :   Int_t fAdcMax;                    ///< max adc channel of pedestal value
      68             : 
      69             :   Float_t fAnaMeanDown;             ///< Truncated mean channel analysis - lower cut
      70             :   Float_t fAnaMeanUp;               ///< Truncated mean channel analysis - upper cut
      71             : 
      72             :   Bool_t  fTimeAnalysis;            //!<! Should we use the time dependent analysis? ONLY ON LDC!
      73             : 
      74             :   TObjArray fCalRocArrayPedestal;   ///< Array of AliTPCCalROC class for pedestal values from gaus fit
      75             :   TObjArray fCalRocArraySigma;      ///< Array of AliTPCCalROC class for noise values from gaus fit
      76             : 
      77             :   TObjArray fHistoPedestalArray;    ///< Calibration histograms for Pedestal distribution
      78             : 
      79             :   TArrayF **fTimeSignal;            //!<! Arrays which hold time dependent signals
      80             : 
      81             :   TObjArray fCalRocArrayMean;       ///< Array of AliTPCCalROC class for pedestal values, simple mean
      82             :   TObjArray fCalRocArrayRMS;        ///< Array of AliTPCCalROC class for noise values, simple rms
      83             : 
      84             :   TH2F* GetHisto(Int_t sector, TObjArray *arr,
      85             :                  Int_t nbinsY, Float_t ymin, Float_t ymax,
      86             :                  const Char_t *type, Bool_t force);
      87             : 
      88             :   AliTPCCalROC* GetCalRoc(Int_t sector, TObjArray* arr, Bool_t force);
      89             : 
      90          24 :   ClassDef(AliTPCCalibPedestal, 7)  // Implementation of the TPC pedestal and noise calibration
      91             : };
      92             : 
      93             : 
      94             : 
      95             : #endif
      96             : 

Generated by: LCOV version 1.11