]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALQAChecker.h
new non linearity function and parameters for latest simulations with better agreemen...
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALQAChecker.h
index b40dbdcfa74c8dd17aed5771647cda0ffc58c8a4..7b37e065142b8545de59fece4b5a229055bf70f5 100644 (file)
@@ -10,6 +10,8 @@
 
   Based on PHOS code written by
   Y. Schutz CERN July 2007
+  
+  Implemented by Yaxian Mao (CERN Oct. 2009)
 */
 
 
 class TFile ; 
 class TH1F ; 
 class TH1I ; 
+class TH1 ;
+class TLine ;
+class TText ;
+class TObjArray;
+class TPaveText ;
 
 // --- Standard library ---
-
 // --- AliRoot header files ---
 #include "AliQACheckerBase.h"
 class AliEMCALLoader ; 
@@ -27,14 +33,65 @@ class AliEMCALLoader ;
 class AliEMCALQAChecker: public AliQACheckerBase {
 
 public:
-  AliEMCALQAChecker() : AliQACheckerBase("EMCAL","EMCAL Quality Assurance Data Maker") {;}          // ctor
-  virtual ~AliEMCALQAChecker() {;} // dtor
+  //Histograms for Raw data control
+  enum HRawType_t { 
+    // first normal Low Gain and High Gain info
+    kNsmodLG,kNsmodHG,kTimeLG,kTimeHG,
+    kNtotLG,kNtotHG,kSigHG,kSigLG,
+    kPedLG,kPedHG,
+    k2DRatioAmp,kRatioDist, kLEDMonRatio, kLEDMonRatioDist,
+    // then TRU info
+    kNsmodTRU,
+    kSigTRU,kNtotTRU,
+    kNL0TRU, kTimeL0TRU,
+               kNL0FirstTRU, kTimeL0FirstTRU,
+    // and also LED Mon info
+    kNsmodLGLEDMon,kNsmodHGLEDMon,kTimeLGLEDMon,kTimeHGLEDMon,
+    kSigLGLEDMon,kSigHGLEDMon,kNtotLGLEDMon,kNtotHGLEDMon,
+    kPedLGLEDMon,kPedHGLEDMon,
+               //and STU info
+               kAmpL1, kGL1, kJL1,
+               kGL1V0, kJL1V0, kSTUTRU  
+  } ;
+       //Histograms for RecPoints  control
+       enum HRPType_t {kRecPE,kRecPM,kRecPDigM};
+       
+       //Histograms for ESDs  control
+       enum HESDType_t {kESDCaloClusE,kESDCaloClusM,kESDCaloCellA,kESDCaloCellM} ;
 
+  AliEMCALQAChecker() ;        // ctor
+  virtual ~AliEMCALQAChecker() ; // dtor
+       
+  virtual void   Init(const AliQAv1::DETECTORINDEX_t det) ; 
+
+protected:
+               
+  virtual void Check( Double_t * test, AliQAv1::ALITASK_t index, TObjArray ** list,  const AliDetectorRecoParam * /*recoParam*/) ;
+  //virtual void SetQA(AliQAv1::ALITASK_t index, Double_t * value) const ;     
+       
+  void CheckRaws(Double_t* test, TObjArray ** list);
+  void CheckRecPoints(Double_t* /*test*/, TObjArray** /*list*/) const {;}
+  void CheckESD(Double_t* /*test*/, TObjArray** /*list*/) const {;}
+       void CleanListOfFunctions(TList *list);
+  TH1* GetHisto(TObjArray* list, const char* hname, Int_t specie) const;
+  Double_t MarkHisto(TH1& histo, Double_t value) const;
+       
+       
 private:
   AliEMCALQAChecker(const AliEMCALQAChecker& qac);
   AliEMCALQAChecker& operator = (const AliEMCALQAChecker& qac) ;
-  
-  ClassDef(AliEMCALQAChecker,1)  // description 
+       //TH1F * htemp; //a tempory histrogram for getting the mean and sigma
+       //Double_t fMean; //mean value 
+       //Double_t fWidth; //sigma of the distribution
+  static const Int_t fgknSM = 12;    //! number of current SM
+//  TLine **     fLine       ; //! line to distinguish the different SM
+//  TLine **     fHref       ; //! Line marking the average value for each SM
+  TText **    fTextSM        ; //! Text info for each SM
+  TLine *     fLineCol       ; //! line to distinguish the different SM side: A side and C side
+  TLine *     fLineRow[5]       ; //! line to distinguish the different SM sectors (0-5) 
+  TPaveText * fText          ;  //! Information text for the quality of each SM
+       TPaveText * fTextL1[3];       //! Information text for the quality of L1 plots (3 plots in total)
+  ClassDef(AliEMCALQAChecker,4)  // description 
 
 };