]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/UserTasks/EmcalTasks/AliAnalysisTaskEMCALTriggerQA.h
Correct index mapping, add L1 amp histogram and other
[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             *fhFORAmp;        //! FEE cells deposited energy, grouped like FastOR 2x2 per Row and Column
59   TH2F             *fhL0Amp;         //! FALTRO signal per Row and Column for FOR involves L0 patch
60   TH2F             *fhL1Amp;         //! STU signal per Row and Column for FOR involves L0 patch
61   TH2F             *fhL1GAmp;         //! STU signal per Row and Column for FOR position of L1 Gamma patch (top-left)
62   TH2F             *fhL1JAmp;         //! STU signal per Row and Column for FOR position of L1 Jet patch (top-left)
63   TH2F             *fhL0Patch;       //! FOR with L0 patch associated
64   TH2F             *fhL1GPatch;      //! FOR with L1 Gamma patch associated
65   TH2F             *fhL1JPatch;      //! FOR with L1 Jet patch associated
66   TH2F             *fhFEESTU;        //! Correlation FEE vs STU
67   TH2F             *fhTRUSTU;        //! Correlation TRU vs STU
68   TH2I             *fhV0STU;         //! Total signal STU vs V0C+V0S
69   TH2I             *fhFullTRUSTU;    //! Total signal STU vs TRU
70   TH2I             *fhSTUChecks;     //! Checks STU/TRU link
71
72   
73   // Histograms bins
74   
75   Int_t             fNBinsSTUSignal   ; // Number of bins for STU total signal histograms
76   Float_t           fMaxSTUSignal     ; // Maximum value for TRU total signal histograms
77   Int_t             fNBinsTRUSignal   ; // Number of bins for TRU total signal histograms
78   Float_t           fMaxTRUSignal     ; // Maximum value for TRU total signal histograms
79   Int_t             fNBinsV0Signal    ; // Number of bins for V0 total signal histograms
80   Float_t           fMaxV0Signal      ; // Maximum value for V0 total signal histograms
81   Int_t             fNBinsSTUFEERatio ; // Number of bins for STU/FEE ratios histograms
82   Float_t           fMaxSTUFEERatio   ; // Maximum value for STU/FEE ratios histograms
83   Int_t             fNBinsSTUTRURatio ; // Number of bins for STU/TRU ratios histograms
84   Float_t           fMaxSTUTRURatio   ; // Maximum value for STU/TRU ratios histograms
85   
86   //Constants needed by the class: EMCAL 
87   static const int  fgkFALTRORows = AliEMCALGeoParams::fgkEMCALRows*(AliEMCALGeoParams::fgkEMCALModules-7)/2; 
88   // total number of fake altro rows    in EMCAL
89   // (ALTRO channels in one SM times 5 SM divided by 2 per FALTRO)
90   
91   static const int  fgkFALTROCols = AliEMCALGeoParams::fgkEMCALCols;                                          
92   // total number of fake altro columns in EMCAL 
93   // (ALTRO channels in one SM times 2 SM divided by 2 per FALTRO)
94   
95   
96   AliAnalysisTaskEMCALTriggerQA(const AliAnalysisTaskEMCALTriggerQA&);            //not implemented
97   
98   AliAnalysisTaskEMCALTriggerQA& operator=(const AliAnalysisTaskEMCALTriggerQA&); //not implemented
99   
100   ClassDef(AliAnalysisTaskEMCALTriggerQA, 1);   
101 };
102
103 #endif