1 #ifndef ALIANALYSISTASKEMCALTRIGGERQA_H
2 #define ALIANALYSISTASKEMCALTRIGGERQA_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //-------------------------------------------------------------------------//
8 // Fill histograms with basic QA information for EMCAL offline trigger //
9 // Author: Nicola Arbor (LPSC-Grenoble) //
10 // Gustavo Conesa Balbastre (LPSC-Grenoble) //
12 //-------------------------------------------------------------------------//
18 class AliEMCALGeometry;
21 #include "AliEMCALGeoParams.h"
22 #include "AliAnalysisTaskSE.h"
24 class AliAnalysisTaskEMCALTriggerQA : public AliAnalysisTaskSE
27 AliAnalysisTaskEMCALTriggerQA(); // default constructor
29 AliAnalysisTaskEMCALTriggerQA(const char *name); // named constructor
31 virtual ~AliAnalysisTaskEMCALTriggerQA() {;} // destructor
34 void UserCreateOutputObjects(); // you should create your output objects in that function if possible
36 void UserExec(Option_t *option); // function called for each event
38 void SetGeometryName(TString name) { fGeoName = name ; }
40 void Terminate(Option_t *option);
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 ; }
52 TList *fOutputList; //! Output list
54 AliEMCALGeometry *fGeometry; // Access to EMCAL geometry utils
55 TString fGeoName; // Name of geometry used
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
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
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)
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)
93 AliAnalysisTaskEMCALTriggerQA(const AliAnalysisTaskEMCALTriggerQA&); //not implemented
95 AliAnalysisTaskEMCALTriggerQA& operator=(const AliAnalysisTaskEMCALTriggerQA&); //not implemented
97 ClassDef(AliAnalysisTaskEMCALTriggerQA, 1);