5#ifndef XAODROOTACCESS_TEVENT_H
6#define XAODROOTACCESS_TEVENT_H
63 friend class ::xAODTEventBranch;
64 friend class ::xAODTMetaBranch;
103 StatusCode
readFrom(::TFile *
file,
bool useTreeCache =
true,
106 StatusCode
readFrom(::TTree *
tree,
bool useTreeCache =
true);
108 StatusCode
writeTo(::TFile *
file,
int autoFlush = 200,
134 ::Int_t
getEntry(::Long64_t entry, ::Int_t getall = 0);
139 ::Int_t
getFile(::Long64_t
file, ::Int_t getall = 0);
156 StatusCode
getNames(
const std::string &targetClassName,
157 std::vector<std::string> &vkeys,
158 bool metadata)
const override;
161 StatusCode
connectObject(
const std::string &key,
bool silent)
override;
165 StatusCode
connectAux(
const std::string &prefix,
bool standalone)
override;
169 bool standalone)
override;
173 bool metadata)
override;
176 StatusCode
record(
void *obj,
const std::string &typeName,
177 const std::string &key,
bool overwrite,
bool metadata,
178 bool isOwner)
override;
181 bool metadata)
override;
189 StatusCode
record(std::unique_ptr<TAuxStore> store,
const std::string &key);
224 std::regex(
"^MetaData(?!Hdr)_.*$");
Algorithm writing an xAOD output file.
AuxStoreType
Type of the auxiliary store.
@ AST_ContainerStore
The store describes a container.
Interface for non-const operations on an auxiliary store.
Specialised class for browsing xAOD event interface objects in ROOT.
Manager for EDM objects created by ROOT.
Event(std::string_view name)
Constructor with a name.
StatusCode record(T *obj, const std::string &key)
Add an output object to the event.
"ROOT @c TTree implementation" of IAuxStore
Class helping with tracking the state of TChain objects.
Tool for accessing xAOD files outside of Athena.
EAuxMode
Auxiliary store "mode".
@ kAthenaAccess
Access containers/objects like Athena does.
@ kClassAccess
Access auxiliary data using the aux containers.
@ kBranchAccess
Access auxiliary data branch-by-branch.
::TTree * m_inMetaTree
Pointer to the metadata tree in the input file.
StatusCode connectObject(const std::string &key, bool silent) override
Function setting up access to a particular object.
StatusCode connectMetaAux(const std::string &prefix, bool standalone) override
Function setting up access to a set of auxiliary branches for a metadata object.
StatusCode connectAux(const std::string &prefix, bool standalone) override
Function setting up access to a set of auxiliary branches.
StatusCode writeTo(::TFile *file, int autoFlush=200, std::string_view treeName=EVENT_TREE_NAME)
Connect the object to an output file.
friend::TTree * MakeTransientTree(TEvent &, const char *)
bool hasOutput() const override
Check if an output file is connected to the object.
std::unique_ptr< TChainStateTracker > m_inChainTracker
Optional object for tracking the state changes of an input TChain.
::Long64_t getEntries() const
Get how many entries are available from the current input file(s)
StatusCode finishWritingTo(::TFile *file)
Finish writing to an output file.
::Int_t fill()
Function filling one event into the output tree.
StatusCode setAuxStore(const std::string &key, Details::IObjectManager &mgr, bool metadata) override
Function connecting a DV object to its auxiliary store.
EAuxMode auxMode() const
Get what auxiliary access mode the object was constructed with.
bool hasInput() const override
Check if an input file is connected to the object.
StatusCode initStats()
Function to initialise the statistics for all Tree content.
::Long64_t m_entry
The entry to look at from the input tree.
::Long64_t getFiles() const
Get how many files are available on the currently defined input.
void setOtherMetaDataTreeNamePattern(const std::string &pattern)
Change the pattern used for collecting information from other MetaData trees NB: Additional MetaData ...
StatusCode getNames(const std::string &targetClassName, std::vector< std::string > &vkeys, bool metadata) const override
Function determining the list keys associated with a type name.
StatusCode setUpDynamicStore(TObjectManager &mgr, ::TTree *tree)
Function adding dynamic variable reading capabilities to an auxiliary store object.
std::regex m_otherMetaDataTreeNamePattern
::TChain * m_inChain
The (optional) chain provided as input.
StatusCode readFrom(::TFile *file, bool useTreeCache=true, std::string_view treeName=EVENT_TREE_NAME)
Connect the object to a new input file.
StatusCode putAux(::TTree &outTree, TVirtualManager &mgr, bool metadata)
Function saving the dynamically created auxiliary properties.
EAuxMode m_auxMode
The auxiliary access mode.
virtual ~TEvent()
Destructor.
TEvent(EAuxMode mode=kClassAccess)
Default constructor.
::Int_t getEntry(::Long64_t entry, ::Int_t getall=0)
Function loading a given entry of the input TTree.
SG::IAuxStore * recordAux(const std::string &key, SG::IAuxStoreHolder::AuxStoreType type=SG::IAuxStoreHolder::AST_ContainerStore)
Add an auxiliary store object to the output.
StatusCode record(void *obj, const std::string &typeName, const std::string &key, bool overwrite, bool metadata, bool isOwner) override
Record an object into a connected output file.
std::unique_ptr<::TTree > m_outTree
The tree that we are writing to.
bool m_inTreeMissing
Internal status flag showing that an input file is open, but it doesn't contain an event tree.
::Int_t m_inTreeNumber
The number of the currently open tree in the input chain.
::Int_t getFile(::Long64_t file, ::Int_t getall=0)
Load the first event for a given file from the input TChain.
static const char *const EVENT_TREE_NAME
Default name of the event tree.
::TTree * m_inTree
The main tree that we are reading from.
StatusCode connectMetaObject(const std::string &key, bool silent) override
Function setting up access to a particular metadata object.
Helper class for merging xAOD files.
Manager for EDM objects created by ROOT.
Class creating (a) transient tree(s) from xAOD files.
Interface class for the "manager classes".
Select isolated Photons, Electrons and Muons.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
void ClearTransientTrees ATLAS_NOT_THREAD_SAFE()
Function cleaning up the managed memory.