Line data Source code
1 : /// \class AliEMCALTriggerOnlineQAPP
2 : /// \brief Class to generate EMCal trigger QA plots in pp collisions
3 : ///
4 : /// This class generates QA plots for EMCal trigger in pp collisions
5 : ///
6 : /// \author Salvatore Aiola <salvatore.aiola@cern.ch>, Yale University
7 : /// \date Apr. 4, 2016
8 :
9 : #ifndef ALIEMCALTRIGGERONLINEQAPP_H
10 : #define ALIEMCALTRIGGERONLINEQAPP_H
11 :
12 : /**************************************************************************
13 : * Copyright(c) 1998-2016, ALICE Experiment at CERN, All rights reserved. *
14 : * *
15 : * Author: The ALICE Off-line Project. *
16 : * Contributors are mentioned in the code where appropriate. *
17 : * *
18 : * Permission to use, copy, modify and distribute this software and its *
19 : * documentation strictly for non-commercial purposes is hereby granted *
20 : * without fee, provided that the above copyright notice appears in all *
21 : * copies and that both the copyright notice and this permission notice *
22 : * appear in the supporting documentation. The authors make no claims *
23 : * about the suitability of this software for any purpose. It is *
24 : * provided "as is" without express or implied warranty. *
25 : **************************************************************************/
26 :
27 : // C++
28 : #include <iostream>
29 :
30 : // Root
31 : #include <TList.h>
32 :
33 : // AliRoot
34 : #include "AliEMCALTriggerQA.h"
35 :
36 : class AliEMCALTriggerPatchInfo;
37 : class TObjArray;
38 : class THashList;
39 : class AliEMCALTriggerFastOR;
40 : class AliEMCALGeometry;
41 : class AliVCaloCells;
42 : class TH1;
43 : class TH2;
44 :
45 : class AliEMCALTriggerOnlineQAPP : public AliEMCALTriggerQA {
46 : public:
47 :
48 : AliEMCALTriggerOnlineQAPP();
49 : AliEMCALTriggerOnlineQAPP(const char* name);
50 : AliEMCALTriggerOnlineQAPP(const AliEMCALTriggerOnlineQAPP& triggerQA);
51 : virtual ~AliEMCALTriggerOnlineQAPP();
52 :
53 0 : void SetL0TimeRange(Int_t min, Int_t max) { fL0MinTime = min; fL0MaxTime = max; }
54 0 : void SetFastORandCellThresholds(Int_t l0, Int_t l1, Double_t cell) { fMinL0FastORAmp = l0; fMinL1FastORAmp = l1; fMinCellAmp = cell; }
55 :
56 : // Overloaded methods of AliEMCALTriggerQA
57 : void Init();
58 : void ProcessPatch(const AliEMCALTriggerPatchInfo* patch);
59 : void ProcessFastor(const AliEMCALTriggerFastOR* fastor, AliVCaloCells* cells = 0);
60 : void EventCompleted();
61 0 : TCollection* GetListOfHistograms() { return &fHistograms; }
62 :
63 : protected:
64 : Int_t fL0MinTime; ///< Minimum L0 time
65 : Int_t fL0MaxTime; ///< Maximum L0 time
66 : Double_t fMinCellAmp; ///< Minimum offline amplitude of the cells
67 : Int_t fMinL0FastORAmp; ///< Minimum L0 amplitude of the FastORs
68 : Int_t fMinL1FastORAmp; ///< Minimum L1 amplitude of the FastORs
69 :
70 : AliEMCALTriggerPatchInfo *fMaxPatchEMCal[fgkNTriggerTypes][fgkNPatchTypes]; //!<! EMCal max patch (will be reset each event)
71 : AliEMCALTriggerPatchInfo *fMaxPatchDCal[fgkNTriggerTypes][fgkNPatchTypes]; //!<! DCal max patch (will be reset each event)
72 : TList fHistograms; //!<! List of histograms
73 :
74 : // General histograms
75 : TH1 *fHistEvents; //!<! Total number of events
76 :
77 : // TRU histograms
78 : TH1 *fHistFastORL0; //!<! Counter of FastOR L0 signal above zero
79 : TH1 *fHistFastORL0LargeAmp; //!<! Counter of FastOR L0 signal above some large amplitude
80 : TH2 *fHistFastORL0Time; //!<! Time spectra of each FastOR L0 channel
81 : TH2 *fHistFastORL0Amp; //!<! Integrated amplitude of each FastOR L0 channel
82 :
83 : // STU histograms
84 : TH1 *fHistFastORL1; //!<! Counter of FastOR L1 signal above zero
85 : TH1 *fHistFastORL1LargeAmp; //!<! Counter of FastOR L1 signal above some large amplitude
86 : TH2 *fHistFastORL1Amp; //!<! Integrated amplitude of each FastOR L1 channel
87 :
88 : // Trigger patch histograms
89 : TH2 *fHistMaxEdgePos[fgkNTriggerTypes][fgkNPatchTypes]; //!<! Position of the maximum patch
90 : TH2 *fHistAmpEdgePos[fgkNTriggerTypes][fgkNPatchTypes]; //!<! Integrated amplitude of all patches (edge position)
91 :
92 : private:
93 : AliEMCALTriggerOnlineQAPP &operator=(const AliEMCALTriggerOnlineQAPP &);
94 :
95 : /// \cond CLASSIMP
96 22 : ClassDef(AliEMCALTriggerOnlineQAPP, 1);
97 : /// \endcond
98 : };
99 :
100 : #endif
|