6#ifndef JETINTERFACE_IJETPROVIDER_H
7#define JETINTERFACE_IJETPROVIDER_H
40 virtual std::pair<std::unique_ptr<xAOD::JetContainer>,std::unique_ptr<SG::IAuxStore> >
getJets()
const = 0;
82 std::unique_ptr<xAOD::JetContainer> jets(
nullptr);
83 std::unique_ptr<SG::IAuxStore> auxCont(
nullptr);
84 std::tie(jets, auxCont) =
getJets();
85 if(jets.get()==
nullptr || auxCont.get()==
nullptr) {
return StatusCode::FAILURE;}
88 std::unique_ptr<CONCRETEAUX> auxCont_derived(
static_cast<CONCRETEAUX*
>(auxCont.release()));
91 return jetHandle.
record(std::move(jets), std::move(auxCont_derived));
virtual StatusCode getAndRecordJets(SG::WriteHandle< xAOD::JetContainer > &jetHandle) const =0
Method to allow the client to pass in a WriteHandle for the container and aux container to be recorde...
virtual StatusCode initWithOutput(const SG::WriteHandleKey< xAOD::JetContainer > &)
Method to allow the client to pass in a WriteHandle during initialisation, in case this is needed for...
virtual ~IJetProvider()
Destructor.
virtual std::pair< std::unique_ptr< xAOD::JetContainer >, std::unique_ptr< SG::IAuxStore > > getJets() const =0
Method to build the collection and return it to the caller.
Concrete class that implements the recording of jets & aux container to StoreGate via an externally p...
StatusCode getAndRecordJets(SG::WriteHandle< xAOD::JetContainer > &jetHandle) const
Method to allow the client to pass in a WriteHandle for the container and aux container to be recorde...
Interface for non-const operations on an auxiliary store.
Property holding a SG store/key/clid from which a WriteHandle is made.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.