24 return StatusCode::SUCCESS;
28 const EventContext& ctx = Gaudi::Hive::currentContext();
32 return StatusCode::FAILURE;
35 std::pair<std::unique_ptr<xAOD::MuonContainer>, std::unique_ptr<xAOD::ShallowAuxContainer>> output =
38 if (!output.first || !output.second) {
40 return StatusCode::FAILURE;
45 return StatusCode::FAILURE;
47 for (
xAOD::Muon* iParticle : *(output.first)) {
55 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
virtual StatusCode initialize() override
Function initialising the algorithm.
ToolHandle< IMuonCalibrationAndSmearingTool > m_tool
Muon calibration tool.
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo
Gaudi::Property< bool > m_useRndNumber
SG::ReadHandleKey< xAOD::MuonContainer > m_inputKey
muon container
CalibratedMuonsProvider(const std::string &name, ISvcLocator *svcLoc)
Regular Algorithm constructor.
SG::WriteHandleKey< xAOD::MuonContainer > m_outputKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_rndNumKey
SG::WriteDecorHandleKeyArray< xAOD::MuonContainer > m_ptDecorKeys
Additionally declare the two decorations made by MCAST.
virtual StatusCode execute() override
Function executing the algorithm.
@ Error
Some error happened during the object correction.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
StatusCode recordNonConst(std::unique_ptr< T > data)
Record a non-const object to the store.
Select isolated Photons, Electrons and Muons.
std::pair< std::unique_ptr< T >, std::unique_ptr< ShallowAuxContainer > > shallowCopyContainer(const T &cont, const EventContext &ctx)
Function making a shallow copy of a constant container.
bool setOriginalObjectLink(const IParticle &original, IParticle ©)
This function should be used by CP tools when they make a deep copy of an object in their correctedCo...
Muon_v1 Muon
Reference the current persistent version: