ATLAS Offline Software
Loading...
Searching...
No Matches
ModuleData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7
8
9#ifndef EVENT_LOOP__MODULE_DATA_H
10#define EVENT_LOOP__MODULE_DATA_H
11
12#include <EventLoop/Global.h>
13
16#include <cstdint>
17#include <memory>
18#include <string>
19#include <vector>
20#include <map>
21
22class TFile;
23class TList;
24class TObject;
25class TTree;
26
27namespace asg
28{
29 class SgEvent;
30}
31
32namespace xAOD
33{
34 class Event;
35 class TEvent;
36 class TStore;
37}
38
39namespace EL
40{
41 namespace Detail
42 {
63
65 {
67 std::vector<Detail::AlgorithmData> m_algs;
68
70 std::string m_inputFileUrl;
71
73 std::unique_ptr<TFile> m_inputFile;
74
76 TTree *m_inputTree {nullptr};
77
80 uint64_t m_inputEntry {0};
81
83 bool m_hasInputEvents = false;
84
86 bool m_skipEvent = false;
87
89 const SH::MetaObject *m_metaData {nullptr};
90
92 uint64_t m_eventsProcessed {0};
93
96
98 std::unique_ptr<TTree> m_jobStats;
99
102
105
108
110 Worker *m_worker {nullptr};
111
113 std::map<std::string,std::shared_ptr<Detail::OutputStreamData>> m_outputs;
114
117
118
119
121 ModuleData () noexcept;
122
124 ~ModuleData () noexcept;
125
131 void addOutput (std::unique_ptr<TObject> output);
132 };
133 }
134}
135
136#endif
all data needed to manage a given output stream
A class that manages meta-data to be associated with an object.
Definition MetaObject.h:56
Wrapper for Event to make it look like StoreGate.
Definition SgEvent.h:44
STL class.
Base class for the event (xAOD::TEvent and xAOD::REvent) classes.
Definition Event.h:60
Tool for accessing xAOD files outside of Athena.
A relatively simple transient store for objects created in analysis.
Definition TStore.h:45
This module defines the arguments passed from the BATCH driver to the BATCH worker.
STL namespace.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
std::string m_inputFileUrl
the input file url of the currently opened file
Definition ModuleData.h:70
const SH::MetaObject * m_metaData
the meta-data we use
Definition ModuleData.h:89
Worker * m_worker
the worker (to pass on to the algorithms)
Definition ModuleData.h:110
TTree * m_inputTree
the (main) tree in the input file
Definition ModuleData.h:76
uint64_t m_inputEntry
the entry in the input tree we are currently looking at
Definition ModuleData.h:80
BatchJob * m_batchJob
the BatchJob configuration (if used)
Definition ModuleData.h:116
xAOD::TStore * m_tstore
the TStore structure, if we use one
Definition ModuleData.h:104
bool m_skipEvent
whether we are skipping the current event
Definition ModuleData.h:86
OutputStreamData * m_histOutput
the histogram output stream
Definition ModuleData.h:95
void addOutput(std::unique_ptr< TObject > output)
add the given output object to the histogram output stream
std::unique_ptr< TTree > m_jobStats
Tree saving per-job statistics information.
Definition ModuleData.h:98
bool m_hasInputEvents
flag whether the most recently opened input file has events or not
Definition ModuleData.h:83
std::unique_ptr< TFile > m_inputFile
the input file pointer of the currently opened filed
Definition ModuleData.h:73
std::map< std::string, std::shared_ptr< Detail::OutputStreamData > > m_outputs
the list of output files
Definition ModuleData.h:113
std::vector< Detail::AlgorithmData > m_algs
the list of algorithms
Definition ModuleData.h:67
uint64_t m_eventsProcessed
the number of events that have been processed
Definition ModuleData.h:92
asg::SgEvent * m_evtStore
the SgEvent structure, if we use one
Definition ModuleData.h:107
xAOD::Event * m_event
the Event object, if we use one
Definition ModuleData.h:101
ModuleData() noexcept
explicit constructor for dependency reduction