LCOV - code coverage report
Current view: top level - EMCAL/EMCALbase - AliEMCALQAChecker.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 3 33.3 %
Date: 2016-06-14 17:26:59 Functions: 2 7 28.6 %

          Line data    Source code
       1             : #ifndef ALIEMCALQACHECKER_H
       2             : #define ALIEMCALQACHECKER_H
       3             : 
       4             : //===============================================================
       5             : /// \class AliEMCALQAChecker
       6             : /// \brief QA checker class
       7             : ///
       8             : ///  Checks the quality assurance. 
       9             : ///  By comparing with reference data
      10             : ///
      11             : ///  Based on PHOS code written by
      12             : ///  Y. Schutz CERN July 2007
      13             : ///  
      14             : ///  For the moment we only implement the checking of raw data QA.
      15             : ///  The checked for ESD and RecPoints will be implemented later.
      16             : ///
      17             : ///  \author Yaxian Mao, <Yaxian.Mao@cern.ch>, CCNU, 2009-2011.
      18             : ///
      19             : //===============================================================
      20             : 
      21             : //  --- ROOT system ---
      22             : class TFile ; 
      23             : class TH1F ; 
      24             : class TH1I ; 
      25             : class TH1 ;
      26             : class TLine ;
      27             : class TText ;
      28             : class TObjArray;
      29             : class TPaveText ;
      30             : 
      31             : //  --- AliRoot header files ---
      32             : #include "AliQACheckerBase.h"
      33             : #include "AliEMCALTriggerMappingV2.h"
      34             : class AliEMCALLoader ; 
      35             : 
      36             : class AliEMCALQAChecker: public AliQACheckerBase {
      37             : 
      38             : public:
      39             :   
      40             :   // Histograms for Raw data control
      41             :   enum HRawType_t { 
      42             :     //  first normal Low Gain and High Gain info
      43             :     kNsmodLG,kNsmodHG,kTimeLG,kTimeHG,
      44             :     kNtotLG,kNtotHG,kSigHG,kSigLG,
      45             :     kPedLG,kPedHG,
      46             :     k2DRatioAmp,kRatioDist, kLEDMonRatio, kLEDMonRatioDist,
      47             :     //  then TRU info
      48             :     kNsmodTRU,
      49             :     kSigTRU,kNtotTRU,
      50             :     kNL0TRU, kTimeL0TRU,
      51             :     kNL0FirstTRU, kTimeL0FirstTRU,kNL0TRUSamples,kNL0TRURMS,
      52             :     //  and also LED Mon info
      53             :     kNsmodLGLEDMon,kNsmodHGLEDMon,kTimeLGLEDMon,kTimeHGLEDMon,
      54             :     kSigLGLEDMon,kSigHGLEDMon,kNtotLGLEDMon,kNtotHGLEDMon,
      55             :     kPedLGLEDMon,kPedHGLEDMon,
      56             :     // and STU info
      57             :     kAmpL1, kGL1, kJL1,
      58             :     kGL1V0, kJL1V0, kSTUTRU  
      59             :   } ;
      60             :   
      61             :   // Histograms for RecPoints  control
      62             :   enum HRPType_t {kRecPE,kRecPM,kRecPDigM};
      63             :         
      64             :   // Histograms for ESDs  control
      65             :   enum HESDType_t {kESDCaloClusE,kESDCaloClusM,kESDCaloCellA,kESDCaloCellM} ;
      66             : 
      67             :   AliEMCALQAChecker() ;          // ctor
      68             :   
      69             :   virtual ~AliEMCALQAChecker() ; // dtor
      70             :         
      71             :   virtual void   Init(const AliQAv1::DETECTORINDEX_t det) ; 
      72             : 
      73             : protected:
      74             :                 
      75             :   virtual void Check( Double_t * test, AliQAv1::ALITASK_t index, TObjArray ** list,  
      76             :                      const AliDetectorRecoParam * /*recoParam*/) ;
      77             :   //virtual void SetQA(AliQAv1::ALITASK_t index, Double_t * value) const ;      
      78             :         
      79             :   void CheckRaws(Double_t* test, TObjArray ** list);
      80             :   
      81           0 :   void CheckRecPoints(Double_t* /*test*/, TObjArray** /*list*/) const {;}
      82             : 
      83           0 :   void CheckESD(Double_t* /*test*/, TObjArray** /*list*/) const {;}
      84             :         
      85             :   void CleanListOfFunctions(TList *list);
      86             :   
      87             :   TH1* GetHisto(TObjArray* list, const char* hname, Int_t specie) const;
      88             :   
      89             :   Double_t MarkHisto(TH1& histo, Double_t value) const;
      90             :         
      91             : private:
      92             :   
      93             :   AliEMCALQAChecker(             const AliEMCALQAChecker& qac);
      94             :   AliEMCALQAChecker& operator = (const AliEMCALQAChecker& qac) ;
      95             :         
      96             : //TH1F * htemp; //a tempory histrogram for getting the mean and sigma
      97             : //Double_t fMean; //mean value 
      98             : //Double_t fWidth; //sigma of the distribution
      99             :   
     100             :   static const Int_t fgknSM = 20;       //!<! number of current SM; EMCal + DCal
     101             :   static const Int_t fgknSectLines = 9; //!<! lines between SM sectors
     102             :   
     103             : //TLine **    fLine          ; //!<! line to distinguish the different SM
     104             : //TLine **    fHref          ; //!<! Line marking the average value for each SM
     105             :   TText **    fTextSM        ; //!<! Text info for each SM
     106             :   TLine *     fLineCol       ; //!<! line to distinguish the different SM side: A side and C side
     107             :   TLine *     fLineRow[fgknSectLines] ; //!<! line to distinguish the different SM sectors (0-5, 9-12) 
     108             :   TPaveText * fText          ; //!<! Information text for the quality of each SM
     109             :         TPaveText * fTextL1[3]     ; //!<! Information text for the quality of L1 plots (3 plots in total)
     110             :   
     111             :   /// \cond CLASSIMP    
     112         150 :   ClassDef(AliEMCALQAChecker,5) ;  
     113             :   /// \endcond
     114             : };
     115             : 
     116             : #endif /// AliEMCALQAChecker_H

Generated by: LCOV version 1.11