ATLAS Offline Software
Loading...
Searching...
No Matches
IsoMuonFeatureCnvAlg.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5// $Id:$ //
6
7// Gaudi/Athena include(s):
9
10// EDM include(s):
15
16// Local include(s):
18
19
20namespace xAODMaker {
21
23 ISvcLocator* svcLoc )
24 : AthAlgorithm( name, svcLoc ),
25 m_cnvTool( "xAODMaker::IsoMuonFeatureContainerCnvTool/IsoMuonFeatureContainerCnvTool", this ) {
26
27 declareProperty( "AODKey", m_aodKey = "IsoMuonFeature" );
28 declareProperty( "xAODKey", m_xaodKey = "L2IsoMuon" );
29 declareProperty( "CnvTool", m_cnvTool );
30 }
31
32
34
35 // Greet the user:
36 ATH_MSG_INFO( "Initializing" );
37 ATH_MSG_INFO( " AOD Key: " << m_aodKey );
38 ATH_MSG_INFO( "xAOD Key: " << m_xaodKey );
39
40 // Retrieve the converter tool:
41 CHECK( m_cnvTool.retrieve() );
42
43 // Return gracefully:
44 return StatusCode::SUCCESS;
45 }
46
48
49 // Retrieve the AOD container:
50 const IsoMuonFeatureContainer* aod = nullptr;
51 if (evtStore()->retrieve( aod, m_aodKey ).isFailure()) {
52 ATH_MSG_WARNING("Requesting in Alg: IsoMuonFeatureCnvAlg to convert AOD Key: " << m_aodKey <<
53 " into xAOD " << m_xaodKey << ". Input container not found or incorrect type");
54 return StatusCode::SUCCESS;
55 }
56
59 xaod->setStore( aux );
60
61 CHECK( m_cnvTool->convert(aod, xaod) );
62
63
64 // Record the xAOD containers:
65 CHECK( evtStore()->record( aux, m_xaodKey + "Aux" ) );
66 CHECK( evtStore()->record( xaod, m_xaodKey ) );
67
68 // Return gracefully:
69 return StatusCode::SUCCESS;
70 }
71
72} // namespace xAODMaker
#define ATH_MSG_INFO(x)
#define ATH_MSG_WARNING(x)
Helpers for checking error return status codes and reporting errors.
#define CHECK(...)
Evaluate an expression and check for errors.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
virtual StatusCode execute()
Function executing the algorithm.
std::string m_xaodKey
StoreGate key for the output container.
ToolHandle< IIsoMuonFeatureContainerCnvTool > m_cnvTool
Handle to the converter tool.
std::string m_aodKey
StoreGate key of the input container.
virtual StatusCode initialize()
Function initialising the algorithm.
IsoMuonFeatureCnvAlg(const std::string &name, ISvcLocator *svcLoc)
Regular Algorithm constructor.
L2IsoMuonAuxContainer_v1 L2IsoMuonAuxContainer
Define the latest version of the muon Iso auxiliary container.
L2IsoMuonContainer_v1 L2IsoMuonContainer
Define the latest version of the muon Iso container.