1 #include "merge/extractEvt.C" 6 ::printf(
"Gaudi event extraction facility for ROOT tree based files.\n" 8 "extract_event -o <output-file> -i <input-file> ...]\n\n" 9 "input- and output files may specify any legal (ROOT) file name.\n" 10 " -output Specify output file name.\n" 11 " -input Specify input file name.\n" 12 " -event Specify the event entry number.\n" );
20 for (
int i = 1; i <
argc; ++i ) {
21 if ( *argv[i] ==
'-' ) {
22 switch ( ::
toupper( *( argv[i] + 1 ) ) ) {
24 if ( 1 != ::sscanf( argv[i + 1],
"%d", &evt_num ) ) {
25 ::printf(
"\nERROR: No valid event identifier given.\n\n" );
31 if ( i + 1 < argc ) output = argv[i + 1];
35 if ( i + 1 < argc ) input = argv[i + 1];
43 if ( input.empty() ) {
44 ::printf(
"\nERROR: No input file(s) supplied\n\n" );
46 }
else if ( output.empty() ) {
47 ::printf(
"\nERROR: No output file supplied.\n\n" );
49 }
else if ( evt_num < 0 ) {
50 ::printf(
"\nERROR: No valid event identifier given.\n\n" );
53 gROOT->SetBatch( kTRUE );
55 if ( extract_event( input.c_str(), output.c_str(), evt_num ) != EXTRACT_SUCCESS ) {
56 ::printf(
"\nERROR: Event extraction from file %s failed.\n", input.c_str() );
61 ::printf(
"\nERROR: Event extraction from file %s failed [%s]\n", input.c_str(), e.
what() );
62 }
catch ( ... ) { ::printf(
"\nERROR: Event extraction from file %s failed [unknown reason]\n", input.c_str() ); }
void usage(std::string argv0)
void toupper(std::string &s)