|  | 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" ) ) ) {
 
   55       ::Info( 
APP_NAME, 
"    -m Metadata tool type to use during the merge" );
 
   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.