|
ATLAS Offline Software
|
Go to the documentation of this file.
10 static const std::map<std::string, std::pair<std::string, std::string> > key2SubSkeyMap( {
11 {
"MET_RefFinal", {
"MET_Reference_AntiKt4EMTopo",
"FinalTrk" } },
12 {
"MET_RefEle", {
"MET_Reference_AntiKt4EMTopo",
"RefEle" } },
13 {
"MET_RefGamma", {
"MET_Reference_AntiKt4EMTopo",
"RefGamma" } } ,
14 {
"MET_RefTau", {
"MET_Reference_AntiKt4EMTopo",
"RefTau" } },
15 {
"MET_SoftClus", {
"MET_Reference_AntiKt4EMTopo",
"SoftClus" } },
16 {
"MET_SoftTrk", {
"MET_Reference_AntiKt4EMTopo",
"FinalTrk" } },
17 {
"MET_PVSoftTrk", {
"MET_Reference_AntiKt4EMTopo",
"PVSoftTrk" } },
18 {
"MET_RefJet_JVFCut", {
"MET_Reference_AntiKt4EMTopo",
"RefJet" } },
19 {
"MET_RefJet", {
"MET_Reference_AntiKt4EMTopo",
"RefJet" } },
20 {
"MET_Muon", {
"MET_Reference_AntiKt4EMTopo",
"Muons" } },
21 {
"MET_PFlow", {
"MET_Reference_AntiKt4EMPFlow",
"FinalTrk" } },
22 {
"MET_PFlow_RefEle", {
"MET_Reference_AntiKt4EMPFlow",
"RefEle" } },
23 {
"MET_PFlow_RefGamma", {
"MET_Reference_AntiKt4EMPFlow",
"RefGamma" } },
24 {
"MET_PFlow_RefTau", {
"MET_Reference_AntiKt4EMPFlow",
"RefTau" } },
25 {
"MET_PFlow_SoftClus", {
"MET_Reference_AntiKt4EMPFlow",
"SoftClus" } },
26 {
"MET_PFlow_SoftTrk", {
"MET_Reference_AntiKt4EMPFlow",
"FinalTrk" } },
27 {
"MET_PFlow_PVSoftTrk", {
"MET_Reference_AntiKt4EMPFlow",
"PVSoftTrk" } },
28 {
"MET_PFlow_RefJet_JVFCut", {
"MET_Reference_AntiKt4EMPFlow",
"RefJet" } },
29 {
"MET_PFlow_RefJet", {
"MET_Reference_AntiKt4EMPFlow",
"RefJet" } },
30 {
"MET_PFlow_Muon", {
"MET_Reference_AntiKt4EMPFlow",
"Muons" } },
31 {
"MET_LocalHadTopo", {
"MET_LocHadTopo",
"LocHadTopo" } },
32 {
"MET_LocHadTopo", {
"MET_LocHadTopo",
"LocHadTopo" } },
33 {
"MET_Topo", {
"MET_EMTopo",
"EMTopo" } },
34 {
"MET_Track", {
"MET_Track",
"Track" } },
35 {
"MET_PFlow", {
"MET_Reference_AntiKt4EMPFlow",
"FinalClus" } } } );
47 auto foundIterator = key2SubSkeyMap.find(
key );
48 if ( foundIterator == key2SubSkeyMap.end() ) {
50 return StatusCode::FAILURE;
53 ATH_MSG_FATAL(
"Mismatch of requested MET key " <<
key <<
", which comes from "
54 << foundIterator->second.first
57 return StatusCode::FAILURE;
84 return StatusCode::FAILURE;
87 if (!metCaloContainer.
isValid() ) {
89 return StatusCode::FAILURE;
93 if (!metCaloContainer.
isValid() ) {
95 return StatusCode::FAILURE;
99 bool isMETtopocalo =
false;
101 if (
key ==
"MET_Topo") isMETtopocalo =
true;
112 if (trigDecTool !=0 && !(trigDecTool->isPassed(
"L1_jXE100")))
113 return StatusCode::SUCCESS;
118 const std::string& xaod_subkey = key2SubSkeyMap.at(metKey).second;
121 std::string
name = metKey +
"_et";
123 name = metKey +
"_ex";
125 name = metKey +
"_ey";
127 name = metKey +
"_phi";
129 name = metKey +
"_sumet";
131 ex = xMissEt->
mpx() /
GeV;
132 ey = xMissEt->
mpy() /
GeV;
156 std::string
name =
"MET_"+calString +
"_et";
158 name =
"MET_" + calString +
"_ex";
160 name =
"MET_" +calString +
"_ey";
162 name =
"MET_" +calString +
"_phi";
164 name =
"MET_" +calString +
"_sumet";
166 ex = xmetCal->
mpx() /
GeV;
167 ey = xmetCal->
mpy() /
GeV;
189 return StatusCode::SUCCESS;
197 if (! jetContainer.
isValid() ) {
METMonitoringAlg(const std::string &name, ISvcLocator *pSvcLocator)
Extra patterns decribing particle interation process.
Scalar phi() const
phi method
virtual ~METMonitoringAlg()
bool isGoodEvent(const EventContext &ctx) const
Gaudi::Property< std::string > m_metTotalKey
float sumet() const
Returns.
Gaudi::Property< bool > m_dotrig
float phi() const
Returns .
const ToolHandle< Trig::TrigDecisionTool > & getTrigDecisionTool() const
Get the trigger decision tool member.
Gaudi::Property< double > m_metcut
Gaudi::Property< std::vector< std::string > > m_metKeys
SG::ReadHandleKey< xAOD::MissingETContainer > m_metContainerKey
StatusCode initialize() override
initialize
Base class for Athena Monitoring Algorithms.
Gaudi::Property< bool > m_doJetCleaning
SG::ReadHandleKey< xAOD::MissingETContainer > m_metAKt4EMTopoContainerKey
Generic monitoring tool for athena components.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Principal data object for Missing ET.
float mpx() const
Returns .
Gaudi::Property< bool > m_doBadJets
void fill(const ToolHandle< GenericMonitoringTool > &groupHandle, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &&variables) const
Fills a vector of variables to a group by reference.
ToolHandle< IJetSelector > m_jetCleaningTool
SG::ReadHandleKey< xAOD::MissingETContainer > m_metCaloContainerKey
Gaudi::Property< std::vector< std::string > > m_calStrings
Header file to be included by clients of the Monitored infrastructure.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual StatusCode initialize() override
initialize
Gaudi::Property< bool > m_dometcut
Declare a monitored scalar variable.
float mpy() const
Returns .
SG::ReadHandleKey< xAOD::JetContainer > m_jetContainerKey
Gaudi::Property< bool > m_alltrigger
float met() const
Returns .