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 *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
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
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)
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)
96 AliAnalysisTaskEMCALTriggerQA(const AliAnalysisTaskEMCALTriggerQA&); //not implemented
98 AliAnalysisTaskEMCALTriggerQA& operator=(const AliAnalysisTaskEMCALTriggerQA&); //not implemented
100 ClassDef(AliAnalysisTaskEMCALTriggerQA, 1);