2#ifndef XAODROOTACCESS_RAUXSTORE_H
3#define XAODROOTACCESS_RAUXSTORE_H
9#include <ROOT/REntry.hxx>
10#include <ROOT/RNTupleModel.hxx>
11#include <ROOT/RNTupleReader.hxx>
12#include <ROOT/RNTupleWriter.hxx>
21#if ROOT_VERSION_CODE < ROOT_VERSION(6, 35, 1)
23using Experimental::RNTupleReader;
24using Experimental::RNTupleWriter;
25using Experimental::REntry;
51 StatusCode
readFrom(ROOT::RNTupleReader& reader);
53 StatusCode
writeTo(ROOT::RNTupleWriter& writer);
56 StatusCode
getEntry(std::int64_t entry,
int getall = 0);
58 StatusCode
commitTo(ROOT::REntry& entry);
64 virtual void reset()
override;
RAuxStore(std::string_view prefix="", bool topStore=true, EStructMode mode=EStructMode::kUndefinedStore)
Constructor.
StatusCode readFrom(ROOT::RNTupleReader &reader)
Connect the object to an input RNTuple.
virtual const std::type_info * getInputType(SG::auxid_t auxid) const override
Get the type of an input object, for getIOType()
StatusCode writeTo(ROOT::RNTupleWriter &writer)
Add the variables of the store to an output RNTuple.
StatusCode getEntry(std::int64_t entry, int getall=0)
Get entry from the input RNTuple.
virtual StatusCode setupInputData(SG::auxid_t auxid) override
Connect a variable to the input.
virtual StatusCode getEntryFor(SG::auxid_t auxid) override
Load a single variable from the input.
std::unique_ptr< impl > m_impl
Pointer to the internal object.
virtual const void * getInputObject(SG::auxid_t auxid) const override
Get a pointer to an input object, as it is in memory, for getIOData()
virtual bool hasEntryFor(SG::auxid_t auxid) const override
Check if a given variable is available from the input.
virtual void setPrefix(std::string_view prefix) override
Set the object name prefix.
StatusCode commitTo(ROOT::REntry &entry)
Commit a new entry to the output RNTuple.
virtual StatusCode setupOutputData(SG::auxid_t auxid) override
Connect a variable to the output.
virtual bool hasOutput() const override
Check if an output is being written by the object.
virtual ~RAuxStore()
Destructor.
virtual void reset() override
Tell the object that all branches will need to be re-read.
Common base class for the auxiliary store implementations.
const std::string & prefix() const
Get the currently configured object name prefix.
EStructMode
"Structural" modes of the object
@ kUndefinedStore
The structure mode is not defined.
Selection rules: declare transient members.
size_t auxid_t
Identifier for a particular aux data item.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.