ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigSteer
HLTSeeding
src
L1DataConsistencyChecker.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef HLTSEEDING_L1DATACONSISTENCYCHECKER_H
5
#define HLTSEEDING_L1DATACONSISTENCYCHECKER_H
6
7
// Trigger includes
8
#include "
TrigCompositeUtils/HLTIdentifier.h
"
9
#include "
TrigConfData/HLTMenu.h
"
10
#include "
TrigConfData/L1Menu.h
"
11
#include "
xAODTrigger/TrigCompositeContainer.h
"
12
13
// Athena includes
14
#include "
AthenaBaseComps/AthAlgTool.h
"
15
#include "
AthenaMonitoringKernel/GenericMonitoringTool.h
"
16
#include "
StoreGate/ReadHandleKey.h
"
17
22
class
L1DataConsistencyChecker
:
public
AthAlgTool
{
23
public
:
24
L1DataConsistencyChecker
(
const
std::string&
type
,
const
std::string& name,
const
IInterface* parent)
25
:
AthAlgTool
(
type
, name, parent) {}
26
28
// @{
29
virtual
StatusCode
initialize
()
override
;
30
virtual
StatusCode
start
()
override
;
31
// @}
32
34
StatusCode
consistencyCheck
(
const
HLT::IDVec
& l1SeededChains,
const
EventContext& ctx)
const
;
35
36
private
:
37
SG::ReadHandleKey<TrigConf::HLTMenu>
m_hltMenuKey
{
38
this
,
"HLTMenu"
,
"DetectorStore+HLTTriggerMenu"
,
"HLT Menu"
};
39
SG::ReadHandleKey<TrigConf::L1Menu>
m_l1MenuKey
{
40
this
,
"L1Menu"
,
"DetectorStore+L1TriggerMenu"
,
"L1 Menu"
};
41
42
ToolHandle<GenericMonitoringTool>
m_monTool
{
43
this
,
"MonTool"
,
""
,
"Monitoring tool"
};
44
45
Gaudi::Property<bool>
m_errorOnMissingTOB
{
46
this
,
"ErrorOnMissingTOB"
,
true
,
"Set to true to enable strict-mode which will generate an ERROR on missing (non-overflow) TOB events in HLT-seeding from L1"
};
47
48
Gaudi::Property<std::map<std::string,std::string>>
m_thresholdToDecisionMap
{
49
this
,
"ThresholdToDecisionMap"
, {},
"Map between L1 threshold type and the corresponding DecisionContainer name"
};
50
51
Gaudi::Property<std::vector<std::string>>
m_excludedThresholdTypes
{
52
this
,
"ExcludedThresholdTypes"
, {
53
"internal"
,
// internal to CTP (randoms)
54
"TOPO"
,
"R2TOPO"
,
"ZBTopo"
,
"LArSat"
,
// topo (data not used in HLTSeeding)
55
"TE"
,
"XE"
,
"XS"
,
"jTE"
,
"jXE"
,
"gTE"
,
"gXE"
,
// energy (data not used in HLTSeeding)
56
"ALFA"
,
"BCM"
,
"BCMCMB"
,
"BPTX"
,
"CALREQ"
,
"LUCID"
,
"MBTS"
,
"MBTSSI"
,
"NIM"
,
"ZDC"
,
"NSWMon"
// direct signals from detectors to CTP (no TOB readout)
57
},
58
"L1 threshold types which are not subject to the consistency check "
59
"(because either there are no corresponding TOBs or HLT doesn't use them)"
};
60
61
using
MultiplicityInfo
= std::unordered_map<TrigCompositeUtils::DecisionID, unsigned int>;
//< {L1ThresholdHash, multiplicity}
62
std::unordered_map<TrigCompositeUtils::DecisionID, MultiplicityInfo>
m_thresholdMap
;
//< {HLTChainHash, MultiplicityInfo}
63
std::unordered_map<TrigCompositeUtils::DecisionID, std::string>
m_thresholdNames
;
//< {L1ThresholdHash, L1ThresholdName}
64
std::unordered_map<TrigCompositeUtils::DecisionID, std::string>
m_thresholdTypes
;
//< {L1ThresholdHash, L1ThresholdType}
65
std::set<TrigCompositeUtils::DecisionID>
m_monitoredThresholds
;
66
68
bool
doDebug
()
const
{
return
ATH_UNLIKELY
(msgLevel(MSG::DEBUG));}
69
};
70
71
#endif
// HLTSEEDING_L1DATACONSISTENCYCHECKER_H
AthAlgTool.h
ATH_UNLIKELY
#define ATH_UNLIKELY(x)
Definition
AthUnlikelyMacros.h:17
GenericMonitoringTool.h
HLTMenu.h
L1Menu.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TrigCompositeContainer.h
HLTIdentifier.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
L1DataConsistencyChecker::m_thresholdMap
std::unordered_map< TrigCompositeUtils::DecisionID, MultiplicityInfo > m_thresholdMap
Definition
L1DataConsistencyChecker.h:62
L1DataConsistencyChecker::m_hltMenuKey
SG::ReadHandleKey< TrigConf::HLTMenu > m_hltMenuKey
Definition
L1DataConsistencyChecker.h:37
L1DataConsistencyChecker::L1DataConsistencyChecker
L1DataConsistencyChecker(const std::string &type, const std::string &name, const IInterface *parent)
Definition
L1DataConsistencyChecker.h:24
L1DataConsistencyChecker::m_thresholdToDecisionMap
Gaudi::Property< std::map< std::string, std::string > > m_thresholdToDecisionMap
Definition
L1DataConsistencyChecker.h:48
L1DataConsistencyChecker::m_monitoredThresholds
std::set< TrigCompositeUtils::DecisionID > m_monitoredThresholds
Definition
L1DataConsistencyChecker.h:65
L1DataConsistencyChecker::m_thresholdTypes
std::unordered_map< TrigCompositeUtils::DecisionID, std::string > m_thresholdTypes
Definition
L1DataConsistencyChecker.h:64
L1DataConsistencyChecker::MultiplicityInfo
std::unordered_map< TrigCompositeUtils::DecisionID, unsigned int > MultiplicityInfo
Definition
L1DataConsistencyChecker.h:61
L1DataConsistencyChecker::m_l1MenuKey
SG::ReadHandleKey< TrigConf::L1Menu > m_l1MenuKey
Definition
L1DataConsistencyChecker.h:39
L1DataConsistencyChecker::m_excludedThresholdTypes
Gaudi::Property< std::vector< std::string > > m_excludedThresholdTypes
Definition
L1DataConsistencyChecker.h:51
L1DataConsistencyChecker::m_thresholdNames
std::unordered_map< TrigCompositeUtils::DecisionID, std::string > m_thresholdNames
Definition
L1DataConsistencyChecker.h:63
L1DataConsistencyChecker::initialize
virtual StatusCode initialize() override
Definition
L1DataConsistencyChecker.cxx:26
L1DataConsistencyChecker::start
virtual StatusCode start() override
Definition
L1DataConsistencyChecker.cxx:36
L1DataConsistencyChecker::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition
L1DataConsistencyChecker.h:42
L1DataConsistencyChecker::doDebug
bool doDebug() const
Shorter alias for a check whether we are in DEBUG logging mode.
Definition
L1DataConsistencyChecker.h:68
L1DataConsistencyChecker::m_errorOnMissingTOB
Gaudi::Property< bool > m_errorOnMissingTOB
Definition
L1DataConsistencyChecker.h:45
L1DataConsistencyChecker::consistencyCheck
StatusCode consistencyCheck(const HLT::IDVec &l1SeededChains, const EventContext &ctx) const
Perform the check and fill the corresponding histograms.
Definition
L1DataConsistencyChecker.cxx:84
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
HLT::IDVec
std::vector< HLT::Identifier > IDVec
Definition
TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:55
type
Generated on
for ATLAS Offline Software by
1.17.0