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