ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
D3PDTools
EventLoop
Root
GEDriver.cxx
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
// includes
10
//
11
12
#include <
EventLoop/GEDriver.h
>
13
14
#include <
AsgMessaging/StatusCode.h
>
15
#include <
EventLoop/Job.h
>
16
#include <
EventLoop/ManagerData.h
>
17
#include <
EventLoop/MessageCheck.h
>
18
#include <TSystem.h>
19
#include <sstream>
20
21
//
22
// method implementations
23
//
24
25
ClassImp
(
EL::GEDriver
)
26
27
namespace
EL
28
{
29
void
GEDriver ::
30
testInvariant ()
const
31
{
32
RCU_INVARIANT
(
this
!= 0);
33
}
34
35
36
37
GEDriver ::
38
GEDriver ()
39
{
40
RCU_NEW_INVARIANT
(
this
);
41
}
42
43
44
45
::StatusCode
GEDriver ::
46
doManagerStep (Detail::ManagerData& data)
const
47
{
48
RCU_READ_INVARIANT
(
this
);
49
using namespace
msgEventLoop;
50
ANA_CHECK
(
BatchDriver::doManagerStep
(data));
51
switch
(data.step)
52
{
53
case
Detail::ManagerStep::submitJob
:
54
case
Detail::ManagerStep::doResubmit
:
55
{
56
// safely ignoring: resubmit
57
58
std::ostringstream cmd;
59
cmd <<
"cd "
<< data.submitDir <<
"/submit"
;
60
for
(std::size_t iter : data.batchJobIndices)
61
{
62
cmd <<
" && qsub "
<< data.options.castString (
Job::optSubmitFlags
)
63
<<
" -o "
<< data.submitDir <<
"/submit/log-"
<< iter <<
".out"
64
<<
" -e "
<< data.submitDir <<
"/submit/log-"
<< iter <<
".err"
65
<<
" run "
<< iter;
66
}
67
if
(gSystem->Exec (cmd.str().c_str()) != 0)
68
{
69
ANA_MSG_ERROR
(
"failed to execute: "
<< cmd.str());
70
return ::StatusCode::FAILURE;
71
}
72
data.submitted =
true
;
73
}
74
break
;
75
76
default
:
77
break
;
78
}
79
return ::StatusCode::SUCCESS;
80
}
81
}
RCU_INVARIANT
#define RCU_INVARIANT(x)
Definition
Assert.h:189
RCU_NEW_INVARIANT
#define RCU_NEW_INVARIANT(x)
Definition
Assert.h:221
RCU_READ_INVARIANT
#define RCU_READ_INVARIANT(x)
Definition
Assert.h:217
ANA_MSG_ERROR
#define ANA_MSG_ERROR(xmsg)
Macro printing error messages.
Definition
Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:294
ANA_CHECK
#define ANA_CHECK(EXP)
check whether the given expression was successful
Definition
Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:324
StatusCode.h
ClassImp
ClassImp(EL::GEDriver) namespace EL
Definition
GEDriver.cxx:25
GEDriver.h
Job.h
ManagerData.h
MessageCheck.h
EL::BatchDriver::doManagerStep
virtual::StatusCode doManagerStep(Detail::ManagerData &data) const override
EL::GEDriver
a Driver for running on GE batch systems
Definition
GEDriver.h:19
EL::Job::optSubmitFlags
static const std::string optSubmitFlags
description: the name of the option for supplying extra submit parameters to batch systems rationale:...
Definition
Job.h:292
EL::Detail::ManagerStep::doResubmit
@ doResubmit
call the actual doResubmit method
Definition
ManagerStep.h:116
EL::Detail::ManagerStep::submitJob
@ submitJob
do the actual job submission
Definition
ManagerStep.h:92
EL
This module defines the arguments passed from the BATCH driver to the BATCH worker.
Definition
AsgComponentFactories.h:16
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Generated on
for ATLAS Offline Software by
1.17.0