ATLAS Offline Software
ManagerData.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 
9 #ifndef EVENT_LOOP__MANAGER_DATA_H
10 #define EVENT_LOOP__MANAGER_DATA_H
11 
12 #include <EventLoop/Global.h>
13 
14 #include <EventLoop/ManagerStep.h>
17 #include <map>
18 #include <memory>
19 #include <set>
20 #include <string>
21 #include <vector>
22 
23 class StatusCode;
24 
25 namespace EL
26 {
27  namespace Detail
28  {
44 
46  {
52  ManagerData () noexcept;
53 
59  ~ManagerData () noexcept;
60 
61 
63  const Driver *driver {nullptr};
64 
66  std::string submitDir;
67 
71 
73  bool resubmit {false};
74 
76  std::string resubmitOption;
77 
80 
82  Job *job {nullptr};
83 
86  bool submitted {false};
87 
90  bool retrieved {false};
91 
93  bool completed {false};
94 
96  std::unique_ptr<BatchJob> batchJob;
97 
100  std::vector<std::size_t> batchJobIndices;
101 
102 
109  public:
110  std::string batchName;
111 
119  public:
120  std::string batchInit;
121 
130  public:
131  std::string batchJobId;
132 
142  public:
143  bool batchSkipReleaseSetup {false};
144 
146  public:
147  std::string batchWriteLocation;
148 
150  public:
151  std::string batchSubmitLocation;
152 
154  public:
155  bool sharedFileSystem {true};
156 
158  public:
159  std::set<std::size_t> batchJobSuccess;
160  std::set<std::size_t> batchJobFailure;
161  std::set<std::size_t> batchJobUnknown;
162 
163 
166 
172 
173 
175  std::map<std::pair<ManagerOrder,std::string>,std::unique_ptr<Manager> > managers;
176 
183  void addManager (std::unique_ptr<Manager> manager);
184 
190  ::StatusCode run ();
191  };
192  }
193 }
194 
195 #endif
EL::Detail::ManagerData::batchJob
std::unique_ptr< BatchJob > batchJob
if we run in batch, the batch job object we are using
Definition: ManagerData.h:96
EL::Detail::ManagerData::sharedFileSystem
bool sharedFileSystem
whether we have/use a shared file system
Definition: ManagerData.h:155
EL::Detail::ManagerData::batchWriteLocation
std::string batchWriteLocation
the directory location for writing batch output
Definition: ManagerData.h:147
SH::MetaObject
A class that manages meta-data to be associated with an object.
Definition: MetaObject.h:56
EL::Detail::ManagerData::retrieved
bool retrieved
whether we successfully retrieved the job in this process
Definition: ManagerData.h:90
EL::Detail::ManagerData::batchJobSuccess
std::set< std::size_t > batchJobSuccess
the list of successful, failed, unknown batch segments
Definition: ManagerData.h:159
EL::Detail::SubmitDirMode
SubmitDirMode
the mode for creating the submission directory
Definition: SubmitDirMode.h:21
EL::Detail::ManagerData::batchSubmitLocation
std::string batchSubmitLocation
the directory location with batch input configuration
Definition: ManagerData.h:151
EL::Detail::ManagerData::batchName
std::string batchName
the name of the submission script to use.
Definition: ManagerData.h:110
EL::Driver
the base class for the various EventLoop drivers that allow to run jobs on different backends
Definition: Driver.h:28
EL::Detail::ManagerStep::final
@ final
EL::Detail::ManagerData::resubmit
bool resubmit
whether we are merely resubmitting this job
Definition: ManagerData.h:73
EL::Detail::ManagerData::completed
bool completed
whether the job completed
Definition: ManagerData.h:93
SubmitDirMode.h
EL::Detail::ManagerData::driver
const Driver * driver
the driver we are working on/with
Definition: ManagerData.h:63
EL::Detail::ManagerData::batchJobIndices
std::vector< std::size_t > batchJobIndices
if we run in batch, this is the list of job-indices to run
Definition: ManagerData.h:100
EL::Detail::ManagerData::step
ManagerStep step
the current ManagerStep
Definition: ManagerData.h:165
MetaObject.h
EL::Detail::ManagerData::job
Job * job
the user job we are submitting
Definition: ManagerData.h:82
EL::Detail::ManagerStep
ManagerStep
the individual steps of preparing a job for submission
Definition: ManagerStep.h:42
EL::Detail::ManagerData::batchJobId
std::string batchJobId
the code needed for setting EL_JOBID
Definition: ManagerData.h:131
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
EL::Detail::ManagerStep::initial
@ initial
this is just the initial step we do, nothing really happens here
EL
This module defines the arguments passed from the BATCH driver to the BATCH worker.
Definition: AlgorithmWorkerData.h:24
EL::Detail::ManagerData::options
SH::MetaObject options
the options with which we submit this job
Definition: ManagerData.h:79
EL::Detail::ManagerData::ManagerData
ManagerData() noexcept
standard constructor
Definition: ManagerData.cxx:31
EL::Detail::ManagerData::batchJobUnknown
std::set< std::size_t > batchJobUnknown
Definition: ManagerData.h:161
xAOD::DiTauJetParameters::Detail
Detail
Definition: DiTauDefs.h:38
EL::Detail::ManagerData::nextStep
ManagerStep nextStep
the next ManagerStep
Definition: ManagerData.h:171
EL::Detail::ManagerData::addManager
void addManager(std::unique_ptr< Manager > manager)
add the given manager
Definition: ManagerData.cxx:43
EL::Detail::ManagerData::batchSkipReleaseSetup
bool batchSkipReleaseSetup
whether to skip the release setup
Definition: ManagerData.h:143
EL::Detail::ManagerData::~ManagerData
~ManagerData() noexcept
standard destructor
Definition: ManagerData.cxx:37
EL::Detail::ManagerData::run
::StatusCode run()
run all the managers from start to finish
Definition: ManagerData.cxx:53
EL::Detail::ManagerData::batchJobFailure
std::set< std::size_t > batchJobFailure
Definition: ManagerData.h:160
EL::Detail::ManagerData::resubmitOption
std::string resubmitOption
if we are resubmitting, the resubmit option chosen
Definition: ManagerData.h:76
EL::Detail::ManagerData::submitDir
std::string submitDir
the path to the submission directory
Definition: ManagerData.h:66
EL::Detail::ManagerData::batchInit
std::string batchInit
any additional code we need for setting up the batch job.
Definition: ManagerData.h:120
EL::Detail::SubmitDirMode::NO_CLOBBER
@ NO_CLOBBER
create the directory as is, raise an error if it already exists
EL::Detail::ManagerData
an internal data structure for passing data between different manager objects anbd step
Definition: ManagerData.h:46
EL::Detail::ManagerData::submitDirMode
SubmitDirMode submitDirMode
the mode with which we handle the submission directory
Definition: ManagerData.h:70
python.Logging.manager
manager
Definition: PhysicsAnalysis/D3PDTools/AnaAlgorithm/python/Logging.py:92
ManagerStep.h
EL::Job
Definition: Job.h:51
EL::Detail::ManagerData::submitted
bool submitted
whether we successfully submitted the job in this process
Definition: ManagerData.h:86
EL::Detail::ManagerData::managers
std::map< std::pair< ManagerOrder, std::string >, std::unique_ptr< Manager > > managers
the list of managers to run
Definition: ManagerData.h:175
Global.h