ATLAS Offline Software
MetSignificanceAlg.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 
9 //
10 // includes
11 //
12 
14 
17 
18 //
19 // method implementations
20 //
21 namespace CP
22 {
23 
25  initialize ()
26  {
27  if (m_significanceDecoration.empty())
28  {
29  ANA_MSG_ERROR ("no significance decoration name set");
30  return StatusCode::FAILURE;
31  }
32  m_significanceAccessor = std::make_unique<SG::AuxElement::Accessor<float> > (m_significanceDecoration);
33 
34  ANA_CHECK (m_significanceTool.retrieve());
37  return StatusCode::SUCCESS;
38  }
39 
40 
41 
43  execute ()
44  {
45  for (const auto& sys : m_systematicsList.systematicsVector())
46  {
47  // I'm not sure why this can't be const, but the interface
48  // requires a non-const object
50  ANA_CHECK (m_metHandle.getCopy (met, sys));
51 
52  const xAOD::EventInfo* evtInfo = 0;
53  ANA_CHECK( evtStore()->retrieve( evtInfo, "EventInfo" ) );
54 
56  const float significance = m_significanceTool->GetSignificance();
57  (*m_significanceAccessor) (*(*met)[m_totalMETName]) = significance;
58  }
59 
60  return StatusCode::SUCCESS;
61  }
62 }
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
CP::MetSignificanceAlg::m_totalMETName
Gaudi::Property< std::string > m_totalMETName
the key for the final met term
Definition: MetSignificanceAlg.h:49
CP::MetSignificanceAlg::m_significanceAccessor
std::unique_ptr< const SG::AuxElement::Accessor< float > > m_significanceAccessor
the accessor for m_selectionDecoration
Definition: MetSignificanceAlg.h:65
CP::MetSignificanceAlg::execute
StatusCode execute() override
Definition: MetSignificanceAlg.cxx:43
ANA_MSG_ERROR
#define ANA_MSG_ERROR(xmsg)
Macro printing error messages.
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:294
MetSignificanceAlg.h
CP::MetSignificanceAlg::m_metHandle
SysCopyHandle< xAOD::MissingETContainer > m_metHandle
the met collection we run on
Definition: MetSignificanceAlg.h:44
ANA_CHECK
#define ANA_CHECK(EXP)
check whether the given expression was successful
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:324
CP::MetSignificanceAlg::m_systematicsList
SysListHandle m_systematicsList
the systematics list we run
Definition: MetSignificanceAlg.h:40
CP::SysListHandle::systematicsVector
const std::vector< CP::SystematicSet > & systematicsVector() const
the list of systematics to loop over
Definition: SysListHandle.cxx:96
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
mapkey::sys
@ sys
Definition: TElectronEfficiencyCorrectionTool.cxx:42
CP::MetSignificanceAlg::m_jetTermName
Gaudi::Property< std::string > m_jetTermName
the key for the jets term
Definition: MetSignificanceAlg.h:53
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
met
Definition: IMETSignificance.h:24
CP::SysListHandle::initialize
::StatusCode initialize()
intialize this property
Definition: SysListHandle.cxx:69
CP::MetSignificanceAlg::m_significanceTool
ToolHandle< IMETSignificance > m_significanceTool
the smearing tool
Definition: MetSignificanceAlg.h:36
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MissingETAuxContainer.h
CP::MetSignificanceAlg::m_significanceDecoration
Gaudi::Property< std::string > m_significanceDecoration
the decoration for the significance
Definition: MetSignificanceAlg.h:61
CP::MetSignificanceAlg::initialize
StatusCode initialize() override
Definition: MetSignificanceAlg.cxx:25
xAOD::EventInfo_v1::averageInteractionsPerCrossing
float averageInteractionsPerCrossing() const
Average interactions per crossing for all BCIDs - for out-of-time pile-up.
Definition: EventInfo_v1.cxx:397
xAOD::MissingETContainer_v1
Container for xAOD::MissingET_v1 objects.
Definition: MissingETContainer_v1.h:21
EventInfo.h
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
CP::MetSignificanceAlg::m_softTermName
Gaudi::Property< std::string > m_softTermName
the key for the soft term
Definition: MetSignificanceAlg.h:57