ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArCafJobs
src
LArSamplesMerge.cxx
Go to the documentation of this file.
1
2
/*
3
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
4
*/
5
6
//Dear emacs, this is -*-c++-*-
7
8
#include "
LArCafJobs/PersistentAccessor.h
"
9
#include <vector>
10
#include <string>
11
#include <iostream>
12
13
#include "TROOT.h"
14
#include "TApplication.h"
15
#include "TSystem.h"
16
#include "TFile.h"
17
#include "
CxxUtils/checker_macros.h
"
18
19
using namespace
LArSamples
;
20
21
int
main
ATLAS_NOT_THREAD_SAFE
(
int
argc,
char
** argv) {
22
23
if
(argc<3 || (argc>1 && (!strcmp(argv[1],
"-h"
) || !strcmp(argv[1],
"--help"
)))) {
24
std::cout <<
"Syntax:"
<< std::endl;
25
std::cout <<
"LArSamplesMerge file1 file2 ... outFile"
<< std::endl;
26
return
-1;
27
}
28
29
30
TROOT root (
"root"
,
"root"
);
31
gSystem->Load(
"libLArCafJobsDict.so"
);
32
33
std::vector<TString> inFileNames;
34
std::string outFileName(argv[argc-1]);
35
36
int
result=0;
37
38
for
(
int
i=1;i<argc-1;++i)
39
inFileNames.emplace_back(argv[i]);
40
41
42
std::vector<const PersistentAccessor*> accessors;
43
44
for
(
const
TString& fileName : inFileNames) {
45
PersistentAccessor
* acc=
PersistentAccessor::open
(fileName);
46
if
(!acc) {
47
std::cout <<
"ERROR failed to open "
<< fileName << std::endl;
48
result=-1;
49
}
50
else
{
51
std::cout <<
"Open file "
<< fileName <<
" with "
<< acc->nEvents() <<
" events."
<< std::endl;
52
accessors.push_back(acc);
53
}
54
}
55
56
const
PersistentAccessor
* output=
PersistentAccessor::merge
(accessors,outFileName);
57
if
(!output) {
58
std::cout <<
"ERROR: Failed to merge files"
<< std::endl;
59
result=-2;
60
}
61
else
{
62
std::cout <<
"Wrote output file "
<< outFileName <<
" with "
<< output->nEvents() <<
" events."
<< std::endl;
63
output->file()->Close();
64
std::cout <<
"Out file closed"
<<std::endl;
65
}
66
67
return
result;
68
}
69
70
71
main
int main(int, char **)
Main class for all the CppUnit test classes.
Definition
CppUnit_SGtestdriver.cxx:141
PersistentAccessor.h
checker_macros.h
Define macros for attributes used to control the static checker.
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition
checker_macros.h:212
LArSamples::PersistentAccessor
Definition
PersistentAccessor.h:24
LArSamples::PersistentAccessor::open
static PersistentAccessor * open(const TString &fileName)
Definition
PersistentAccessor.cxx:68
LArSamples::PersistentAccessor::merge
static PersistentAccessor * merge(const std::vector< const PersistentAccessor * > &accessors, const TString &fileName)
Definition
PersistentAccessor.cxx:209
LArSamples
Definition
AbsShape.h:24
Generated on
for ATLAS Offline Software by
1.17.0