ATLAS Offline Software
IWorker.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 
9 #ifndef EVENT_LOOP__I_WORKER_H
10 #define EVENT_LOOP__I_WORKER_H
11 
12 #include <EventLoop/Global.h>
13 
17 
18 #include <Rtypes.h>
19 #include <SampleHandler/Global.h>
20 
21 class TFile;
22 
23 namespace xAOD
24 {
25  class TEvent;
26  class TStore;
27 }
28 
29 namespace EL
30 {
37 
38  class IWorker : public IFilterWorker, public IHistogramWorker,
39  public ITreeWorker
40  {
41 
52  public:
53  virtual void addOutputList (const std::string& name, TObject *output_swallow) = 0;
54 
55 
65  public:
66  virtual TFile *getOutputFile (const std::string& label) const = 0;
67 
68 
82  public:
83  virtual TFile *getOutputFileNull (const std::string& label) const = 0;
84 
85 
90  public:
91  virtual const SH::MetaObject *metaData () const = 0;
92 
93 
96  public:
97  virtual TTree *tree () const = 0;
98 
99 
102  public:
103  virtual Long64_t treeEntry () const = 0;
104 
105 
108  public:
109  virtual TFile *inputFile () const = 0;
110 
111 
116  public:
117  virtual std::string inputFileName () const = 0;
118 
119 
124  public:
125  virtual TTree *triggerConfig () const = 0;
126 
127 
133  public:
134  virtual xAOD::TEvent *xaodEvent () const = 0;
135  virtual xAOD::TStore *xaodStore () const = 0;
136 
137 
142  public:
143  virtual EL::Algorithm *getAlg (const std::string& name) const = 0;
144 
145 
153  public:
154  virtual void skipEvent () = 0;
155  };
156 }
157 
158 #endif
EL::IWorker::metaData
virtual const SH::MetaObject * metaData() const =0
description: the sample meta-data we are working on guarantee: no-fail invariant: metaData !...
EL::IFilterWorker
the interface to the filter functions in the algorithm sequence
Definition: IFilterWorker.h:27
EL::IWorker::getAlg
virtual EL::Algorithm * getAlg(const std::string &name) const =0
effects: returns the algorithms with the given name or NULL if there is none guarantee: strong failur...
SH::MetaObject
A class that manages meta-data to be associated with an object.
Definition: MetaObject.h:56
EL::IWorker::skipEvent
virtual void skipEvent()=0
effects: skip the current event, i.e.
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
EL::IWorker::xaodEvent
virtual xAOD::TEvent * xaodEvent() const =0
description: the xAOD event and store guarantee: strong failures: out of memory I failures: TEventSvc...
EL::IHistogramWorker
the interface to histogram storage on the worker
Definition: IHistogramWorker.h:30
ITreeWorker.h
EL::IWorker::triggerConfig
virtual TTree * triggerConfig() const =0
description: the trigger config tree from the input file, or NULL if we did not find it guarantee: st...
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
EL::IWorker::addOutputList
virtual void addOutputList(const std::string &name, TObject *output_swallow)=0
effects: add a given object to the output.
EL::IWorker::inputFile
virtual TFile * inputFile() const =0
description: the file we are reading the current tree from guarantee: no-fail
EL::Algorithm
Definition: Algorithm.h:22
EL::IWorker::treeEntry
virtual Long64_t treeEntry() const =0
description: the entry in the tree we are reading guarantee: no-fail
EL::IWorker::inputFileName
virtual std::string inputFileName() const =0
the name of the file we are reading the current tree from, without the path component
EL::ITreeWorker
The interface to TTree storage on the worker.
Definition: ITreeWorker.h:32
EL::IWorker
the interface for algorithms to access IWorker
Definition: IWorker.h:40
EL
This module defines the arguments passed from the BATCH driver to the BATCH worker.
Definition: AlgorithmWorkerData.h:24
IFilterWorker.h
EL::IWorker::getOutputFileNull
virtual TFile * getOutputFileNull(const std::string &label) const =0
effects: get the output file that goes into the dataset with the given label.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
xAOD::TStore
A relatively simple transient store for objects created in analysis.
Definition: TStore.h:44
EL::IWorker::getOutputFile
virtual TFile * getOutputFile(const std::string &label) const =0
effects: get the output file that goes into the dataset with the given label.
EL::IWorker::tree
virtual TTree * tree() const =0
description: the tree we are running on guarantee: no-fail
Global.h
Global.h
xAOD::TEvent
Tool for accessing xAOD files outside of Athena.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:81
EL::IWorker::xaodStore
virtual xAOD::TStore * xaodStore() const =0
IHistogramWorker.h