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 TObject;
24class TTree;
25
26namespace asg
27{
28 class SgEvent;
29}
30
31namespace xAOD
32{
33 class Event;
34 class TEvent;
35 class TStore;
36}
37
38namespace EL
39{
40 namespace Detail
41 {
62
64 {
66 std::vector<Detail::AlgorithmData> m_algs;
67
69 std::string m_inputFileUrl;
70
72 std::unique_ptr<TFile> m_inputFile;
73
75 TTree *m_inputTree {nullptr};
76
79 uint64_t m_inputEntry {0};
80
82 bool m_hasInputEvents = false;
83
85 bool m_skipEvent = false;
86
88 const SH::MetaObject *m_metaData {nullptr};
89
91 uint64_t m_eventsProcessed {0};
92
95
97 std::unique_ptr<TTree> m_jobStats;
98
101
104
107
109 Worker *m_worker {nullptr};
110
112 std::map<std::string,std::shared_ptr<Detail::OutputStreamData>> m_outputs;
113
116
117
118
120 ModuleData () noexcept;
121
123 ~ModuleData () noexcept;
124
130 void addOutput (std::unique_ptr<TObject> output);
131 };
132 }
133}
134
135#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:48
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:61
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:69
const SH::MetaObject * m_metaData
the meta-data we use
Definition ModuleData.h:88
Worker * m_worker
the worker (to pass on to the algorithms)
Definition ModuleData.h:109
TTree * m_inputTree
the (main) tree in the input file
Definition ModuleData.h:75
uint64_t m_inputEntry
the entry in the input tree we are currently looking at
Definition ModuleData.h:79
BatchJob * m_batchJob
the BatchJob configuration (if used)
Definition ModuleData.h:115
xAOD::TStore * m_tstore
the TStore structure, if we use one
Definition ModuleData.h:103
bool m_skipEvent
whether we are skipping the current event
Definition ModuleData.h:85
OutputStreamData * m_histOutput
the histogram output stream
Definition ModuleData.h:94
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:97
bool m_hasInputEvents
flag whether the most recently opened input file has events or not
Definition ModuleData.h:82
std::unique_ptr< TFile > m_inputFile
the input file pointer of the currently opened filed
Definition ModuleData.h:72
std::map< std::string, std::shared_ptr< Detail::OutputStreamData > > m_outputs
the list of output files
Definition ModuleData.h:112
std::vector< Detail::AlgorithmData > m_algs
the list of algorithms
Definition ModuleData.h:66
uint64_t m_eventsProcessed
the number of events that have been processed
Definition ModuleData.h:91
asg::SgEvent * m_evtStore
the SgEvent structure, if we use one
Definition ModuleData.h:106
xAOD::Event * m_event
the Event object, if we use one
Definition ModuleData.h:100
ModuleData() noexcept
explicit constructor for dependency reduction