--- chewbacca/YodaProfiler/src/YodaProfiler.cpp 2008/09/23 07:20:33 1.1 +++ chewbacca/YodaProfiler/src/YodaProfiler.cpp 2008/12/03 19:57:53 1.4 @@ -25,6 +25,7 @@ printf(" -s | --silent print nothing on STDOUT\n"); printf(" -g | --debug be very verbose [default: no]\n"); printf(" -p | --pedantic be strict in checks, exit with error if any problem is found [default: no]\n"); + printf(" -tag char set the run tagging in _RUNID_GEN to \"char\" (four letters)[default = 'NONE']\n"); printf(" -boot number CPU boot number [default = taken from VarDump]\n"); printf(" -autoboot if no VarDump found try to determine the BOOT number\n"); printf(" looking at timesync [default]\n"); @@ -33,6 +34,8 @@ printf(" -obt0 number obt at timesync (ms) [default = taken from data]\n"); printf(" -dworbit number number is the downlink orbit number (to be used with non-standard names)\n"); printf(" -static use static path inside the DB instead of symbolic names\n"); + // printf(" -keepenv use environmental variables in the filenames\n"); + printf(" -k | --keepenv use environmental variables in the filenames\n"); // printf(" -gpamela shortcut to \"-clean 0 -obt0 1 -tsync 1 -no-autoboot -boot 1 -dworbit 1 -static\"\n"); printf(" -gpamela shortcut to \"-clean 0 -obt0 1 -no-autoboot -dworbit 1 -static\"\n"); printf(" -clean number number in seconds after which the fragment table\n"); @@ -81,6 +84,7 @@ Bool_t runpieces = false; // // + TString tag = "NONE"; TString filerawname = ""; TString filerootname = ""; // @@ -103,6 +107,7 @@ // Bool_t chewbacca = false; Bool_t staticp = false; + Bool_t keepenv = false; Bool_t beverbose = true; Bool_t debug = false; Bool_t autoboot = true; @@ -145,7 +150,7 @@ }; filerawname = (TString)inps[i+1]; }; - if ( !strcmp(inps[i],"-yodaFile") ) { + if ( !strcmp(inps[i],"-yodaFile") || !strcmp(inps[i],"-L0File") ) { if ( numinp-1 < i+1 ){ usage(); exit(1); @@ -172,6 +177,13 @@ fcleanfile = (TString)inps[i+1]; forceclean = true; }; + if ( !strcmp(inps[i],"-tag") ) { + if ( numinp-1 < i+1 ){ + usage(); + exit(1); + }; + tag = (TString)inps[i+1]; + }; if ( !strcmp(inps[i],"-validate") ) { if ( numinp-1 < i+1 ){ usage(); @@ -189,6 +201,9 @@ if ( !strcmp(inps[i],"-static") ) { staticp = true; }; + if ( !strcmp(inps[i],"-k") || !strcmp(inps[i],"--keepenv") ) { + keepenv = true; + }; if ( !strcmp(inps[i],"-autoboot") ) { autoboot = true; }; @@ -387,10 +402,11 @@ // Create pamDB object and open SQL connection //------------------------------------------------------------------------------------------- if ( beverbose ) printf(" 1 => Initialize and open SQL connection \n"); - pamDB = new PamelaDBOperations(host,user,password,filerawname,filerootname,boot,tsync,obt0,debug,tlefilename,dwinput,staticp,gpamela); + pamDB = new PamelaDBOperations(host,user,password,filerawname,filerootname,boot,tsync,obt0,debug,tlefilename,dwinput,staticp,gpamela,keepenv); pamDB->CheckConnection(); pamDB->LockTables(); pamDB->OpenL0File(filerootname); + pamDB->SetTag(tag); //------------------------------------------------------------------------------------------- // // @@ -599,6 +615,10 @@ case -87: message += " PEDANTIC: THE RUN SHOULD HAVE ALREADY BEEN TREATED BY HANDLERUN()!"; break; case -88: message += " PEDANTIC: INCONSISTENT PKT/OBT SEQUENCE"; break; case -89: message += " PEDANTIC: CANNOT FIND PKT/OBT SEQUENCE IN THE POINTED FILE"; break; + case -90: message += " No PhysEndRun tree in the file"; break; + case -91: message += " PEDANTIC: Repetition of PhysEndRun data"; break; + case -92: message += " CHEWBACCA: cannot find Resurs time zero used by chewbacca in the GL_RESURS_OFFSET table"; break; + case -100: message += " Cannot open calibration files to check repeated calibration"; break; default: message += " Unidentified error"; break; }; printf("\n");