ATLAS Offline Software
Loading...
Searching...
No Matches
ModuleData.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 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 SgTEvent;
30}
31
32namespace xAOD
33{
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_inputTreeEntry {0};
80
82 bool m_skipEvent = false;
83
85 const SH::MetaObject *m_metaData {nullptr};
86
88 uint64_t m_eventsProcessed {0};
89
92
94 std::unique_ptr<TTree> m_jobStats;
95
98
101
104
106 Worker *m_worker {nullptr};
107
109 std::map<std::string,std::shared_ptr<Detail::OutputStreamData>> m_outputs;
110
113
114
115
117 ModuleData () noexcept;
118
120 ~ModuleData () noexcept;
121
127 void addOutput (std::unique_ptr<TObject> output);
128 };
129 }
130}
131
132#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 TEvent to make it look like StoreGate.
Definition SgTEvent.h:44
STL class.
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:85
Worker * m_worker
the worker (to pass on to the algorithms)
Definition ModuleData.h:106
TTree * m_inputTree
the (main) tree in the input file
Definition ModuleData.h:75
uint64_t m_inputTreeEntry
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:112
xAOD::TStore * m_tstore
the TStore structure, if we use one
Definition ModuleData.h:100
bool m_skipEvent
whether we are skipping the current event
Definition ModuleData.h:82
OutputStreamData * m_histOutput
the histogram output stream
Definition ModuleData.h:91
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:94
xAOD::TEvent * m_tevent
the TEvent structure, if we use one
Definition ModuleData.h:97
asg::SgTEvent * m_evtStore
the SgTEvent structure, if we use one
Definition ModuleData.h:103
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:109
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:88
ModuleData() noexcept
explicit constructor for dependency reduction