]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/UserTasks/EmcalTasks/AliAnalysisTaskEMCALTriggerQA.h
Compact TH1F fraction histograms into a single TH2F, coverity fix, cosmetics, add...
[u/mrichter/AliRoot.git] / PWG4 / UserTasks / EmcalTasks / AliAnalysisTaskEMCALTriggerQA.h
1 #ifndef ALIANALYSISTASKEMCALTRIGGERQA_H
2 #define ALIANALYSISTASKEMCALTRIGGERQA_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //-------------------------------------------------------------------------// 
8 //  Fill histograms with basic QA information for EMCAL offline trigger    //
9 //  Author: Nicola Arbor (LPSC-Grenoble)                                   //
10 //          Gustavo Conesa Balbastre  (LPSC-Grenoble)                      //
11 //                                                                         //
12 //-------------------------------------------------------------------------//
13
14 //--- Root ---
15 class TList;
16 class TH1F;
17 class TH2F;
18 class AliEMCALGeometry;
19
20 //--- AliRoot ---
21 #include "AliEMCALGeoParams.h"
22 #include "AliAnalysisTaskSE.h"
23
24 class AliAnalysisTaskEMCALTriggerQA : public AliAnalysisTaskSE 
25 {
26 public:
27   AliAnalysisTaskEMCALTriggerQA();                   // default constructor
28   
29   AliAnalysisTaskEMCALTriggerQA(const char *name);   // named constructor
30   
31   virtual ~AliAnalysisTaskEMCALTriggerQA() {;}       // destructor
32   
33   
34   void   UserCreateOutputObjects();    // you should create your output objects in that function if possible
35   
36   void   UserExec(Option_t *option);   // function called for each event
37   
38   void   SetGeometryName(TString name)  { fGeoName = name ; } 
39   
40   void   Terminate(Option_t *option);
41   
42   //Histogram setters
43   
44   void   SetTRUTotalSignalHistogramsRange(Int_t nbins,  Float_t max) { fNBinsTRUSignal   = nbins; fMaxTRUSignal   = max ; }
45   void   SetSTUTotalSignalHistogramsRange(Int_t nbins,  Float_t max) { fNBinsSTUSignal   = nbins; fMaxSTUSignal   = max ; }
46   void   SetV0TotalSignalHistogramsRange (Int_t nbins,  Float_t max) { fNBinsV0Signal    = nbins; fMaxV0Signal    = max ; }
47   void   SetSTUFEERatioHistogramsRange   (Int_t nbins,  Float_t max) { fNBinsSTUFEERatio = nbins; fMaxSTUFEERatio = max ; }
48   void   SetSTUTRURatioHistogramsRange   (Int_t nbins,  Float_t max) { fNBinsSTUTRURatio = nbins; fMaxSTUFEERatio = max ; }
49
50   
51 private:
52   TList            *fOutputList;  //! Output list
53   
54   AliEMCALGeometry *fGeometry;       //  Access to EMCAL geometry utils
55   TString           fGeoName;        //  Name of geometry used
56   
57   TH1F             *fhNEvents;       //! Number of selected events
58   TH2F             *fhFORPos;        //! FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column
59   TH2F             *fhL0Pos;         //! FALTRO signal per Row and Column
60   TH2F             *fhL1Pos;         //! STU signal per Row and Column
61   TH2F             *fhL0Patch;       //! FOR with L0 patch associated
62   TH2F             *fhL1GPatch;      //! FOR with L1 Gamma patch associated
63   TH2F             *fhL1JPatch;      //! FOR with L1 Jet patch associated
64   TH2F             *fhFEESTU;        //! Correlation FEE vs STU
65   TH2F             *fhTRUSTU;        //! Correlation TRU vs STU
66   TH2I             *fhV0STU;         //! Total signal STU vs V0C+V0S
67   TH2I             *fhFullTRUSTU;    //! Total signal STU vs TRU
68   TH2I             *fhSTUChecks;     //! Checks STU/TRU link
69   
70   // Histograms bins
71   
72   Int_t             fNBinsSTUSignal   ; // Number of bins for STU total signal histograms
73   Float_t           fMaxSTUSignal     ; // Maximum value for TRU total signal histograms
74   Int_t             fNBinsTRUSignal   ; // Number of bins for TRU total signal histograms
75   Float_t           fMaxTRUSignal     ; // Maximum value for TRU total signal histograms
76   Int_t             fNBinsV0Signal    ; // Number of bins for V0 total signal histograms
77   Float_t           fMaxV0Signal      ; // Maximum value for V0 total signal histograms
78   Int_t             fNBinsSTUFEERatio ; // Number of bins for STU/FEE ratios histograms
79   Float_t           fMaxSTUFEERatio   ; // Maximum value for STU/FEE ratios histograms
80   Int_t             fNBinsSTUTRURatio ; // Number of bins for STU/TRU ratios histograms
81   Float_t           fMaxSTUTRURatio   ; // Maximum value for STU/TRU ratios histograms
82   
83   //Constants needed by the class: EMCAL 
84   static const int  fgkFALTRORows = AliEMCALGeoParams::fgkEMCALRows*(AliEMCALGeoParams::fgkEMCALModules-7)/2; 
85   // total number of fake altro rows    in EMCAL
86   // (ALTRO channels in one SM times 5 SM divided by 2 per FALTRO)
87   
88   static const int  fgkFALTROCols = AliEMCALGeoParams::fgkEMCALCols;                                          
89   // total number of fake altro columns in EMCAL 
90   // (ALTRO channels in one SM times 2 SM divided by 2 per FALTRO)
91   
92   
93   AliAnalysisTaskEMCALTriggerQA(const AliAnalysisTaskEMCALTriggerQA&);            //not implemented
94   
95   AliAnalysisTaskEMCALTriggerQA& operator=(const AliAnalysisTaskEMCALTriggerQA&); //not implemented
96   
97   ClassDef(AliAnalysisTaskEMCALTriggerQA, 1);   
98 };
99
100 #endif