ATLAS Offline Software
L1CaloCTPMon.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // ********************************************************************
6 //
7 // NAME: L1CaloCTPMon.h
8 // PACKAGE: TrigT1CaloMonitoring
9 //
10 // AUTHOR: Johanna Fleckner (Johanna.Fleckner@uni-mainz.de)
11 // Kate Whalen (Run 2 version) <kate.whalen@cern.ch>
12 //
13 // DESCRIPTION: Monitoring of L1Calo --> CTP transmission
14 //
15 // ********************************************************************
16 
17 #ifndef L1CaloCTPMon_H
18 #define L1CaloCTPMon_H
19 
20 #include <string>
21 #include <vector>
22 
23 #include "GaudiKernel/ServiceHandle.h"
24 #include "GaudiKernel/ToolHandle.h"
25 
28 
29 class LWHist;
30 class TH1F_LW;
31 class TH2I_LW;
32 class StatusCode;
33 
34 namespace TrigConf {
35  class ILVL1ConfigSvc;
36 }
37 
38 class CTP_BC;
39 
40 // ============================================================================
41 namespace LVL1 {
42 // ============================================================================
43 // Forward declarations:
44 // ============================================================================
45 class ITrigT1CaloMonErrorTool;
46 class TrigT1CaloLWHistogramTool;
47 // ============================================================================
48 
120 {
121 public:
122 
123  L1CaloCTPMon( const std::string & type, const std::string & name,
124  const IInterface* parent );
125 
126  virtual ~L1CaloCTPMon();
127 
128  virtual StatusCode initialize();
130  virtual StatusCode fillHistograms();
131  virtual StatusCode procHistograms();
132 
133 private:
134 
136  enum L1CaloCTPHitTypes { EM1Type, EM2Type, // EM1, EM2 cables
137  Tau1Type, Tau2Type, // TAU1, TAU2 cables
138  Jet3BitType, Jet2BitType, // JET1, JET2 cables
141 
143  void compare(const CTP_BC& bunch, int hits, int totalBits, int offset,
146  void setLabels(LWHist* hist, bool xAxis = true);
147 
151  ToolHandle<ITrigT1CaloMonErrorTool> m_errorTool;
153  ToolHandle<TrigT1CaloLWHistogramTool> m_histTool;
154 
155  // location of data
156  std::string m_cmxJetHitsLocation;
158  std::string m_cmxEtSumsLocation;
160  std::string m_cmxCpHitsLocation;
162  std::string m_CTPRDOLocation;
163 
165  std::string m_PathInRootFile;
167  bool m_debug;
170 
172  std::vector<std::pair<std::string, int>> m_tipMap;
173 
175  const int m_nTIP = 512;
176 
178  // Data transmission checks
185  //TH1F_LW* m_h_ctp_1d_EM_HitNoTIPMismatch; ///< L1Calo hit but no CTP TIP mismatches (EM thresholds
186  //TH1F_LW* m_h_ctp_1d_TAU_HitNoTIPMismatch; ///< L1Calo hit but no CTP TIP mismatches (TAU thresholds)
187  //TH1F_LW* m_h_ctp_1d_JET_HitNoTIPMismatch; ///< L1Calo hit but no CTP TIP mismatches (JET thresholds)
188  //TH1F_LW* m_h_ctp_1d_TE_HitNoTIPMismatch; ///< L1Calo hit but no CTP TIP mismatches (TE thresholds)
189  //TH1F_LW* m_h_ctp_1d_XE_HitNoTIPMismatch; ///< L1Calo hit but no CTP TIP mismatches (XE thresholds)
190  //TH1F_LW* m_h_ctp_1d_XS_HitNoTIPMismatch; ///< L1Calo hit but no CTP TIP mismatches (XS thresholds)
191 
192 
193 };
194 // ============================================================================
195 } // end namespace
196 // ============================================================================
197 
198 #endif
LWHist
Definition: LWHist.h:26
LVL1::L1CaloCTPMon::Jet3BitType
@ Jet3BitType
Definition: L1CaloCTPMon.h:138
LVL1::L1CaloCTPMon::m_CTPRDOLocation
std::string m_CTPRDOLocation
CTP_RDO StoreGate key.
Definition: L1CaloCTPMon.h:162
LVL1::L1CaloCTPMon::TERestrictedEtaType
@ TERestrictedEtaType
Definition: L1CaloCTPMon.h:140
LVL1::L1CaloCTPMon::TEFullEtaType
@ TEFullEtaType
Definition: L1CaloCTPMon.h:139
LVL1::L1CaloCTPMon::m_h_ctp_1d_HitNoTIPMismatch
TH1F_LW * m_h_ctp_1d_HitNoTIPMismatch
L1Calo Hit but no CTP TIP Mismatches.
Definition: L1CaloCTPMon.h:182
LVL1::L1CaloCTPMon::m_cmxCpHitsLocation
std::string m_cmxCpHitsLocation
CMX-CP hits container StoreGate key.
Definition: L1CaloCTPMon.h:160
LVL1::L1CaloCTPMon::m_histTool
ToolHandle< TrigT1CaloLWHistogramTool > m_histTool
Histogram utilities tool.
Definition: L1CaloCTPMon.h:153
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:74
plotmaker.hist
hist
Definition: plotmaker.py:148
LVL1::L1CaloCTPMon::m_h_ctp_1d_L1CaloEqCTPSummary
TH1F_LW * m_h_ctp_1d_L1CaloEqCTPSummary
Transmission Matches between L1Calo and CTP.
Definition: L1CaloCTPMon.h:180
LVL1::L1CaloCTPMon::m_cmxJetHitsLocation
std::string m_cmxJetHitsLocation
Definition: L1CaloCTPMon.h:156
LVL1::L1CaloCTPMon::EM2Type
@ EM2Type
Definition: L1CaloCTPMon.h:136
LVL1::L1CaloCTPMon::setLabels
void setLabels(LWHist *hist, bool xAxis=true)
Bin labels for summary plots.
Definition: L1CaloCTPMon.cxx:621
LVL1::L1CaloCTPMon::XERestrictedEtaType
@ XERestrictedEtaType
Definition: L1CaloCTPMon.h:140
LVL1::L1CaloCTPMon::m_h_ctp_2d_MismatchEvents
TH2I_LW * m_h_ctp_2d_MismatchEvents
Transmission Errors between L1Calo and CTP Event Numbers.
Definition: L1CaloCTPMon.h:184
LVL1::L1CaloCTPMon::XSType
@ XSType
Definition: L1CaloCTPMon.h:139
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::L1CaloCTPMon::L1CaloCTPHitTypes
L1CaloCTPHitTypes
Hit types for binning.
Definition: L1CaloCTPMon.h:136
LVL1::L1CaloCTPMon::m_errorTool
ToolHandle< ITrigT1CaloMonErrorTool > m_errorTool
Corrupt events tool.
Definition: L1CaloCTPMon.h:151
LVL1::L1CaloCTPMon::m_h_ctp_1d_TIPMatches
TH1F_LW * m_h_ctp_1d_TIPMatches
CTP/L1Calo TIP Matches.
Definition: L1CaloCTPMon.h:181
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
MCTruthPartClassifier::totalBits
@ totalBits
Definition: TruthClassifiers.h:148
ManagedMonitorToolBase.h
LVL1::L1CaloCTPMon::Jet2BitType
@ Jet2BitType
Definition: L1CaloCTPMon.h:138
TH1F_LW
Definition: TH1F_LW.h:23
LVL1::L1CaloCTPMon::L1CaloCTPMon
L1CaloCTPMon(const std::string &type, const std::string &name, const IInterface *parent)
Definition: L1CaloCTPMon.cxx:61
LVL1::L1CaloCTPMon::m_tipMap
std::vector< std::pair< std::string, int > > m_tipMap
TIP map.
Definition: L1CaloCTPMon.h:172
LVL1::L1CaloCTPMon::m_configSvc
ServiceHandle< TrigConf::ILVL1ConfigSvc > m_configSvc
Trigger configuration service.
Definition: L1CaloCTPMon.h:149
LVL1::L1CaloCTPMon::fillHistograms
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
Definition: L1CaloCTPMon.cxx:321
LVL1::L1CaloCTPMon::Tau1Type
@ Tau1Type
Definition: L1CaloCTPMon.h:137
LVL1::L1CaloCTPMon::NumberOfHitTypes
@ NumberOfHitTypes
Definition: L1CaloCTPMon.h:140
LVL1::L1CaloCTPMon::m_histBooked
bool m_histBooked
Histograms booked flag.
Definition: L1CaloCTPMon.h:169
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArG4ShowerLibProcessing.hits
hits
Definition: LArG4ShowerLibProcessing.py:136
CTP_BC
Definition: CTP_Decoder.h:17
LVL1::L1CaloCTPMon::compare
void compare(const CTP_BC &bunch, int hits, int totalBits, int offset, L1CaloCTPHitTypes type)
Compare L1Calo hits with corresponding TIP hits.
Definition: L1CaloCTPMon.cxx:573
LVL1::L1CaloCTPMon::XEFullEtaType
@ XEFullEtaType
Definition: L1CaloCTPMon.h:139
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LVL1::L1CaloCTPMon::m_h_ctp_1d_TIPNoHitMismatch
TH1F_LW * m_h_ctp_1d_TIPNoHitMismatch
CTP TIP but no L1Calo Hit Mismatches.
Definition: L1CaloCTPMon.h:183
TrigConf::name
Definition: HLTChainList.h:35
TH2I_LW
Definition: TH2I_LW.h:23
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
LVL1::L1CaloCTPMon::m_nTIP
const int m_nTIP
Number of TIP bits (CTP input)
Definition: L1CaloCTPMon.h:175
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
LVL1::L1CaloCTPMon
Monitoring of L1Calo --> CTP transmission.
Definition: L1CaloCTPMon.h:120
LVL1::L1CaloCTPMon::~L1CaloCTPMon
virtual ~L1CaloCTPMon()
Definition: L1CaloCTPMon.cxx:99
LVL1::L1CaloCTPMon::m_cmxEtSumsLocation
std::string m_cmxEtSumsLocation
CMXEtSums container StoreGate key.
Definition: L1CaloCTPMon.h:158
LVL1::L1CaloCTPMon::m_debug
bool m_debug
Debug printout flag.
Definition: L1CaloCTPMon.h:167
LVL1::L1CaloCTPMon::procHistograms
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
Definition: L1CaloCTPMon.cxx:559
LVL1::L1CaloCTPMon::m_PathInRootFile
std::string m_PathInRootFile
Root directory.
Definition: L1CaloCTPMon.h:165
LVL1::L1CaloCTPMon::m_h_ctp_1d_L1CaloNeCTPSummary
TH1F_LW * m_h_ctp_1d_L1CaloNeCTPSummary
Histos.
Definition: L1CaloCTPMon.h:179
LVL1::L1CaloCTPMon::initialize
virtual StatusCode initialize()
Definition: L1CaloCTPMon.cxx:105
LVL1::L1CaloCTPMon::EM1Type
@ EM1Type
Definition: L1CaloCTPMon.h:136
ServiceHandle< TrigConf::ILVL1ConfigSvc >
LVL1::L1CaloCTPMon::bookHistogramsRecurrent
virtual StatusCode bookHistogramsRecurrent()
An inheriting class should either override this function, bookHists() or bookHistograms().
Definition: L1CaloCTPMon.cxx:143
LVL1::L1CaloCTPMon::Tau2Type
@ Tau2Type
Definition: L1CaloCTPMon.h:137