49 {
51 {
53 {
56 else
58 }
59 break;
60
62 {
64 data.options.fetchDefaults (*
data.driver->options());
65 }
66 break;
67
69 {
72 data.job->algsAdd (
new MetricsSvc);
73 }
74 break;
75
77 {
78 {
79 std::unique_ptr<TFile>
file (TFile::Open ((
data.submitDir +
"/driver.root").c_str(),
"RECREATE"));
80 file->WriteObject (
data.driver,
"driver");
82 }
83 data.job->sampleHandler().save (
data.submitDir +
"/input");
84 {
85 std::ofstream
file ((
data.submitDir +
"/location").c_str());
87 }
88
89 SH::SampleHandler sh_hist;
91 end =
data.job->sampleHandler().end(); sample != end; ++ sample)
92 {
93 const std::string histfile
94 =
data.submitDir +
"/hist-" + (*sample)->name() +
".root";
95 std::unique_ptr<SH::SampleHist>
hist
96 (new SH::SampleHist ((*sample)->name(), histfile));
97 hist->meta()->fetch (*(*sample)->meta());
99 }
100 sh_hist.
save (
data.submitDir +
"/hist");
101 }
102 break;
103
105 {
107 }
108 break;
109
111 {
113 {
114 ANA_MSG_FATAL (
"Driver::submit not implemented in class " <<
typeid(*
data.driver).name());
115 std::abort ();
116 }
117
119
120
121 std::ofstream ((
data.submitDir +
"/submitted").c_str());
122 }
123 break;
124
126 {
128 }
129 break;
130
132 {
134 {
135 ANA_MSG_FATAL (
"Driver::resubmit not implemented in class " <<
typeid(*
data.driver).name());
136 std::abort ();
137 }
138
140 }
141 break;
142
143 default:
144 (void) true;
145 }
146 return ::StatusCode::SUCCESS;
147 }
char data[hepevt_bytes_allocation_ATLAS]
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
static const std::string optDisableMetrics
description: the option to turn off collection of performance data
static const std::string name
description: the name of the service
void save(const std::string &directory) const
save the list of samples to the given directory
std::vector< Sample * >::const_iterator iterator
the iterator to use
void add(Sample *sample)
add a sample to the handler
@ finalSubmit
the final submit step
@ finalResubmit
the final resubmit step
@ submitJob
do the actual job submission
@ addSystemAlgs
add any system algorithms to the job that may need to get added
@ fillOptions
in this step we fill the options structure, combining the different locations from which we can pull ...
@ initial
this is just the initial step we do, nothing really happens here
@ prepareSubmitDir
prepare files in our submission directory
@ postSubmit
do whatever needs to be done after the submission is done
@ initialSubmit
the initial submit step
@ initialResubmit
the initial resubmit step