|
ATLAS Offline Software
|
Go to the documentation of this file.
27 #define R_CHECK( EXP ) \
29 if( ! EXP.isSuccess() ) { \
30 ::Error( APP_NAME, XAOD_MESSAGE( "Failed to execute \"%s\"" ), \
43 ( ! strcmp(
argv[ 1 ],
"-h" ) ) ||
44 ( ! strcmp(
argv[ 1 ],
"--help" ) ) ) {
46 ::Info(
APP_NAME,
"Usage: %s [options] outputFile inputFile1 "
51 ::Info(
APP_NAME,
" -s Use slow xAOD tree merging" );
52 ::Info(
APP_NAME,
" -b Use branch-access for slow and metadata "
54 ::Info(
APP_NAME,
" -v NUMBER Use a specific verbosity setting" );
55 ::Info(
APP_NAME,
" -m Metadata tool type to use during the merge" );
56 ::Info(
APP_NAME,
" -e NUMBER Number of events to merge in slow "
66 bool useSlowMerge =
false;
69 std::vector< const char* > inputNames;
71 std::vector< const char* > metaDataTools;
73 for(
int i = 1;
i <
argc; ++
i ) {
74 if( ! strcmp(
argv[
i ],
"-s" ) ) {
76 }
else if( ! strcmp(
argv[
i ],
"-b" ) ) {
78 }
else if( ! strcmp(
argv[
i ],
"-v" ) ) {
82 const long request = strtol(
argv[
i + 1 ], 0, 10 );
83 if( ( request < kMaxLong ) && ( request >= 0 ) ) {
84 verbosity =
static_cast< int >( request );
88 "after -v: %s",
argv[
i + 1 ] );
92 }
else if( ! strcmp(
argv[
i ],
"-m" ) ) {
96 metaDataTools.push_back(
argv[
i + 1 ] );
99 }
else if( ! strcmp(
argv[
i ],
"-e" ) ) {
100 if(
i + 1 >=
argc ) {
103 const long request = strtol(
argv[
i + 1 ], 0, 10 );
104 if( ( request < kMaxLong ) && ( request >= 0 ) ) {
105 entries =
static_cast< ::Long64_t
>( request );
109 "passed after -e: %s",
argv[
i + 1 ] );
117 inputNames.push_back(
argv[
i ] );
131 for(
auto name : inputNames ) {
134 for(
auto typeName : metaDataTools ) {
StatusCode merge(EMergeMode mode=kFastMerge, ::Long64_t entries=kBigNumber)
Execute the file merge itself.
void setVerbosity(int value)
Set verbosity level (meant for debugging mainly)
StatusCode addFile(const std::string &name, bool copyLocally=false)
Add a file to the list to be merged, by name.
@ kClassAccess
Access auxiliary data using the aux containers.
@ kSlowMerge
Merging is done using TEvent.
StatusCode addMetaDataTool(const std::string &typeName)
Add a metadata tool to be used during the merging.
int main(int argc, char *argv[])
#define R_CHECK(EXP)
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration.
StatusCode setOutputFileName(const std::string &name, const std::string &mode="RECREATE")
Set the name of the output file that should be created.
Helper class for merging xAOD files.
@ kFastMerge
Merging is done using fast TTree merge.
EAuxMode
Auxiliary store "mode".
void setAccessMode(TEvent::EAuxMode mode)
Set the access mode used for slow and metadata merging.
Error
The different types of error that can be flagged in the L1TopoRDO.
@ kBranchAccess
Access auxiliary data branch-by-branch.
static const ::Long64_t kBigNumber
Number of entries that are assumed to be never exceeded in a file.
StatusCode Init(const char *appname)
Function initialising ROOT/PyROOT for using the ATLAS EDM.