ATLAS Offline Software
|
#include <IJetProvider.h>
Public Member Functions | |
virtual | ~IJetProvider () |
Destructor. More... | |
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. More... | |
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 recorded, while the client remains free to modify the output but does not need to know the type of the aux container. More... | |
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 anything... More... | |
virtual void | print () const =0 |
Print the state of the tool. More... | |
Definition at line 27 of file IJetProvider.h.
|
inlinevirtual |
|
pure virtual |
Method to allow the client to pass in a WriteHandle for the container and aux container to be recorded, while the client remains free to modify the output but does not need to know the type of the aux container.
Every class derived from IJetProvider needs to implement the record, providing the explicit type – we should give StoreGate maximal information rather than recording AuxContainerBase
The recommended solution is for the concrete tool to inherit from the templated JetProvider class provided below.
Implemented in JetCopier, JetProvider< CONCRETEAUX >, and JetProvider< xAOD::JetAuxContainer >.
|
pure virtual |
Method to build the collection and return it to the caller.
Unique_ptrs are used to avoid potential memory leaks. The aux container is returned as an IAuxStore pointer to support operations such as shallow copy.
Implemented in JetGrooming::JetGroomer, JetClusterer, JetClustererByVertex, and JetCopier.
|
inlinevirtual |
Method to allow the client to pass in a WriteHandle during initialisation, in case this is needed for anything...
The main (only?) use case is for copying jets, and propagating any decorations already on the original to the copy in StoreGate
Quietly return success in the general case – the JetRecAlg will always call this, so as to remain agnostic as to the concrete type.
Reimplemented in JetCopier.
Definition at line 65 of file IJetProvider.h.
|
pure virtualinherited |
Print the state of the tool.
Implemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, asg::AsgTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.