ATLAS Offline Software
Loading...
Searching...
No Matches
CP::TreeBranchHelpers::IObjectProcessor Class Referenceabstract

the interface class for classes reading an object from the event store and processing it More...

#include <TreeBranchHelpers.h>

Inheritance diagram for CP::TreeBranchHelpers::IObjectProcessor:
Collaboration diagram for CP::TreeBranchHelpers::IObjectProcessor:

Public Member Functions

virtual ~IObjectProcessor ()=default
 virtual destructor
virtual StatusCode retrieveProcess (StoreType &evtStore)=0
 retrieve and process the object
virtual StatusCode addBranch (TTree &tree, const BranchConfig &branchConfig, OutputBranchData &outputData)=0
 Add one branch to the output tree.

Detailed Description

the interface class for classes reading an object from the event store and processing it

The idea is that I need a different class depending on whether I have to read a standalone object, a container object, or an individual MET term. The hope is that by having a common interface for all of them, I only need to distinguish between them where there is an actual difference in handling.

Definition at line 166 of file TreeBranchHelpers.h.

Constructor & Destructor Documentation

◆ ~IObjectProcessor()

virtual CP::TreeBranchHelpers::IObjectProcessor::~IObjectProcessor ( )
virtualdefault

virtual destructor

Member Function Documentation

◆ addBranch()

virtual StatusCode CP::TreeBranchHelpers::IObjectProcessor::addBranch ( TTree & tree,
const BranchConfig & branchConfig,
OutputBranchData & outputData )
pure virtual

Add one branch to the output tree.

This function is used during the setup of the output tree to create one branch in it, from one specific auxiliary variable. The type of the variable is figured out at runtime using the auxiliary store infrastructure.

Parameters
treeThe tree to create the branch in
auxNameName of the auxiliary variable to create the branch from
branchNameThe name of the branch to create in the tree
Returns
The usual StatusCode values

Implemented in CP::TreeBranchHelpers::ContainerProcessorRegular, CP::TreeBranchHelpers::ElementProcessorMet, and CP::TreeBranchHelpers::ElementProcessorRegular.

◆ retrieveProcess()

virtual StatusCode CP::TreeBranchHelpers::IObjectProcessor::retrieveProcess ( StoreType & evtStore)
pure virtual

retrieve and process the object

This function is called during the event processing to first retrieve the object from the event store, and then to extract all configured variables from the xAOD object into the output variables set up via addBranch.

Implemented in CP::TreeBranchHelpers::ContainerProcessorRegular, CP::TreeBranchHelpers::ElementProcessorMet, and CP::TreeBranchHelpers::ElementProcessorRegular.


The documentation for this class was generated from the following file: