| 20 | printf("\n Options can be: \n"); | printf("\n Options can be: \n"); | 
| 21 | printf("\n --version       print informations about compilation and exit\n"); | printf("\n --version       print informations about compilation and exit\n"); | 
| 22 | printf("\n -h | --help     print this help and exit \n"); | printf("\n -h | --help     print this help and exit \n"); | 
| 23 | printf("\n -v | --verbose  be verbose [default: print nothing on STDOUT]\n"); | printf("\n -v | --verbose  be verbose [default]\n"); | 
| 24 |  | printf("\n -s | --silent   print nothing on STDOUT\n"); | 
| 25 | printf("\n -g | --debug    be very verbose [default: no]\n"); | printf("\n -g | --debug    be very verbose [default: no]\n"); | 
| 26 | printf("\n -boot number    CPU boot number [default = taken from VarDump]\n"); | printf("\n -boot number    CPU boot number [default = taken from VarDump]\n"); | 
| 27 | printf("\n -tsync number   timesync (s) [default = taken from data]\n"); | printf("\n -tsync number   timesync (s) [default = taken from data]\n"); | 
| 28 | printf("\n -obt0 number    obt at timesync (ms) [default = taken from data]\n"); | printf("\n -obt0 number    obt at timesync (ms) [default = taken from data]\n"); | 
| 29 | printf("\n -clean number   number in seconds after which the fragment table\n"); | printf("\n -clean number   number in seconds after which the fragment table\n"); | 
| 30 | printf("\n                 can be cleaned and runs validated [default = 864000 (10 days)],\n"); | printf("\n                 can be cleaned and runs validated [default = -1 do not clean],\n"); | 
| 31 | printf("\n                 if 0 force cleaning immediatly, if negative do not clean\n"); | printf("\n                 if 0 force cleaning immediatly, if negative do not clean\n"); | 
| 32 | printf("\n -host           name for the host [default = mysql://localhost/pamelaprod]\n"); | printf("\n -host           name for the host [default = $PAM_DBHOST or mysql://localhost/pamelaprod]\n"); | 
| 33 | printf("\n -user           username for the DB [default = anonymous] \n"); | printf("\n -user           username for the DB [default = $PAM_DBUSER or \"anonymous\"] \n"); | 
| 34 | printf("\n -psw            password for the DB [default = \"\"]\n"); | printf("\n -psw            password for the DB [default = $PAM_DBPSW or \"\"]\n"); | 
| 35 | printf("\n The order of input files and options does not matter. \n"); | printf("\n The order of input files and options does not matter. \n"); | 
| 36 | printf("\nExample: \n"); | printf("\nExample: \n"); | 
| 37 | printf("\n YodaProfiler -yodaFile /path/to/raw/files/000_000_00000_cln2.pam -rawFile /path/to/filesfromyoda/000_000_00000_cln2.root -v \n\n"); | printf("\n YodaProfiler -yodaFile /path/to/raw/files/000_000_00000_cln2.pam -rawFile /path/to/filesfromyoda/000_000_00000_cln2.root -v \n\n"); | 
| 46 | UInt_t boot = 0; | UInt_t boot = 0; | 
| 47 | UInt_t tsync = 0; | UInt_t tsync = 0; | 
| 48 | UInt_t obt0 = 0; | UInt_t obt0 = 0; | 
| 49 | Long64_t olderthan = 864000LL; | //  Long64_t olderthan = 864000LL; | 
| 50 |  | Long64_t olderthan = -1LL; | 
| 51 |  |  | 
| 52 |  | // | 
| 53 |  | // | 
| 54 |  | TString filerawname  = ""; | 
| 55 |  | TString filerootname = ""; | 
| 56 |  | // | 
| 57 |  | TString host = "mysql://localhost/pamelaprod"; | 
| 58 |  | TString user = "anonymous"; | 
| 59 |  | TString password = ""; | 
| 60 |  | // | 
| 61 |  | const char *pamdbhost = gSystem->Getenv("PAM_DBHOST"); | 
| 62 |  | const char *pamdbuser = gSystem->Getenv("PAM_DBUSER"); | 
| 63 |  | const char *pamdbpsw = gSystem->Getenv("PAM_DBPSW"); | 
| 64 |  | if ( !pamdbhost ) pamdbhost = ""; | 
| 65 |  | if ( !pamdbuser ) pamdbuser = ""; | 
| 66 |  | if ( !pamdbpsw ) pamdbpsw = ""; | 
| 67 |  | if ( strcmp(pamdbhost,"") ) host = pamdbhost; | 
| 68 |  | if ( strcmp(pamdbuser,"") ) user = pamdbuser; | 
| 69 |  | if ( strcmp(pamdbpsw,"") ) password = pamdbpsw; | 
| 70 | // | // | 
|  | // |  | 
|  | TString filerawname; |  | 
|  | // |  | 
|  | TString host; |  | 
|  | TString user; |  | 
|  | TString password; |  | 
|  | // |  | 
|  | TString filerootname; |  | 
| 71 | // | // | 
| 72 | Bool_t beverbose = false; | Bool_t beverbose = true; | 
| 73 | Bool_t debug = false; | Bool_t debug = false; | 
| 74 | Int_t i = 0; | Int_t i = 0; | 
| 75 | // | // | 
| 80 | exit(0); | exit(0); | 
| 81 | }; | }; | 
| 82 | if ( !strcmp(inps[i],"-h") || !strcmp(inps[i],"--help") ){ | if ( !strcmp(inps[i],"-h") || !strcmp(inps[i],"--help") ){ | 
| 83 |  |  | 
| 84 | usage(); | usage(); | 
| 85 | exit(0); | exit(0); | 
| 86 | }; | }; | 
| 150 | // | // | 
| 151 | if ( !strcmp(inps[i],"-v") || !strcmp(inps[i],"--verbose") ) beverbose = true; | if ( !strcmp(inps[i],"-v") || !strcmp(inps[i],"--verbose") ) beverbose = true; | 
| 152 | // | // | 
| 153 |  | if ( !strcmp(inps[i],"-s") || !strcmp(inps[i],"--silent") ) beverbose = false; | 
| 154 |  | // | 
| 155 | if ( !strcmp(inps[i],"-g") || !strcmp(inps[i],"--debug") ) debug = true; | if ( !strcmp(inps[i],"-g") || !strcmp(inps[i],"--debug") ) debug = true; | 
| 156 | // | // | 
| 157 | i++; | i++; | 
| 191 | //------------------------------------------------------------------------------------------- | //------------------------------------------------------------------------------------------- | 
| 192 | if ( beverbose ) printf(" 1 => Initialize and open SQL connection \n"); | if ( beverbose ) printf(" 1 => Initialize and open SQL connection \n"); | 
| 193 | pamDB = new PamelaDBOperations(host,user,password,filerawname,filerootname,boot,tsync,obt0,debug); | pamDB = new PamelaDBOperations(host,user,password,filerawname,filerootname,boot,tsync,obt0,debug); | 
| 194 | pamDB->CheckFile(); | pamDB->CheckConnection(); | 
|  | pamDB->SetOlderThan(olderthan); |  | 
| 195 | //------------------------------------------------------------------------------------------- | //------------------------------------------------------------------------------------------- | 
| 196 | // | // | 
| 197 | //------------------------------------------------------------------------------------------- |  | 
| 198 | //Insert a Raw file in GL_RAW | if(pamDB->InsertRaw()){ | 
| 199 | //------------------------------------------------------------------------------------------- | //------------------------------------------------------------------------------------------- | 
| 200 | if ( beverbose ) printf(" 2 => Insert a RAW file in GL_RAW \n"); | //Insert a Raw file in GL_RAW | 
| 201 | WAR[0] = pamDB->insertPamelaRawFile(); | //------------------------------------------------------------------------------------------- | 
| 202 | //------------------------------------------------------------------------------------------- | if ( beverbose ) printf(" 2 => Insert a RAW file in GL_RAW \n"); | 
| 203 | //------------------------------------------------------------------------------------------- | WAR[0] = pamDB->insertPamelaRawFile(); | 
| 204 | //Update a single GL_RAW record with its BOOT_NUMBER | //------------------------------------------------------------------------------------------- | 
| 205 | //------------------------------------------------------------------------------------------- | }; | 
| 206 | if ( beverbose ) printf(" 3 => Update a single GL_RAW record with its BOOT_NUMBER \n"); |  | 
| 207 | WAR[3] = pamDB->assignBOOT_NUMBER(); | if(pamDB->InsertRoot()){ | 
| 208 | //    if ( WAR[3] ) pamDB->SetNOBOOT(true); |  | 
| 209 | if ( WAR[3] && WAR[3] != 1 ) throw -9; | if(!pamDB->InsertRaw())printf("=> RAW file not inserted --- the DB might not ( yet ) be filled correctly \n"); | 
| 210 | //------------------------------------------------------------------------------------------- | pamDB->CheckFile(); | 
| 211 | // | //------------------------------------------------------------------------------------------- | 
| 212 | //------------------------------------------------------------------------------------------- | //Update a single GL_RAW record with its BOOT_NUMBER | 
| 213 | //Insert an entry in GL_TIMESYNC | //------------------------------------------------------------------------------------------- | 
| 214 | //------------------------------------------------------------------------------------------- | if ( beverbose ) printf(" 3 => Update a single GL_RAW record with its BOOT_NUMBER \n"); | 
| 215 | if ( beverbose ) printf(" 4 => Insert an entry in GL_TIMESYNC \n"); | WAR[3] = pamDB->assignBOOT_NUMBER(); | 
| 216 | WAR[1] = pamDB->insertPamelaGL_TIMESYNC(); | //    if ( WAR[3] ) pamDB->SetNOBOOT(true); | 
| 217 | //------------------------------------------------------------------------------------------- | if ( WAR[3] && WAR[3] != 1 ) throw -9; | 
| 218 |  | //------------------------------------------------------------------------------------------- | 
| 219 |  | // | 
| 220 |  | //------------------------------------------------------------------------------------------- | 
| 221 |  | //Insert an entry in GL_TIMESYNC | 
| 222 |  | //------------------------------------------------------------------------------------------- | 
| 223 |  | if ( beverbose ) printf(" 4 => Insert an entry in GL_TIMESYNC \n"); | 
| 224 |  | WAR[1] = pamDB->insertPamelaGL_TIMESYNC(); | 
| 225 |  | //------------------------------------------------------------------------------------------- | 
| 226 |  | // | 
| 227 |  | //------------------------------------------------------------------------------------------- | 
| 228 |  | //Insert unpack ROOT file in GL_ROOT | 
| 229 |  | //------------------------------------------------------------------------------------------- | 
| 230 |  | if ( beverbose ) printf(" 5 => Insert unpack ROOT file in GL_ROOT \n"); | 
| 231 |  | WAR[2] = pamDB->insertPamelaRootFile(); | 
| 232 |  | //------------------------------------------------------------------------------------------- | 
| 233 |  | // | 
| 234 |  | //------------------------------------------------------------------------------------------- | 
| 235 |  | //Insert in GL_RUN runs information records relative to a single unpack | 
| 236 |  | //------------------------------------------------------------------------------------------- | 
| 237 |  | if ( beverbose ) printf(" 6 => Scan physics and store runs in the GL_RUN table\n"); | 
| 238 |  | WAR[4] = pamDB->insertPamelaRUN(); | 
| 239 |  | //------------------------------------------------------------------------------------------- | 
| 240 |  |  | 
| 241 |  | //------------------------------------------------------------------------------------------- | 
| 242 |  | //Insert in GL_CALO_CALIB calibration information records relative to a single unpack | 
| 243 |  | //------------------------------------------------------------------------------------------- | 
| 244 |  | if ( beverbose ) printf(" 7 => Insert calorimeter calibrations in the GL_CALO_CALIB table\n"); | 
| 245 |  | WAR[5] = pamDB->insertCALO_CALIB(); | 
| 246 |  | //------------------------------------------------------------------------------------------- | 
| 247 |  |  | 
| 248 |  | //------------------------------------------------------------------------------------------- | 
| 249 |  | //Insert in GL_TRK_CALIB calibration information records relative to a single unpack | 
| 250 |  | //------------------------------------------------------------------------------------------- | 
| 251 |  | if ( beverbose ) printf(" 8 => Insert tracker calibrations in the GL_TRK_CALIB table\n"); | 
| 252 |  | WAR[6] = pamDB->insertTRK_CALIB(); | 
| 253 |  | //------------------------------------------------------------------------------------------- | 
| 254 |  |  | 
| 255 |  | //------------------------------------------------------------------------------------------- | 
| 256 |  | //Insert in GL_S4_CALIB calibration information records relative to a single unpack | 
| 257 |  | //------------------------------------------------------------------------------------------- | 
| 258 |  | if ( beverbose ) printf(" 9 => Insert S4 calibrations in the GL_S4_CALIB table\n"); | 
| 259 |  | WAR[7] = pamDB->insertS4_CALIB(); | 
| 260 |  | //------------------------------------------------------------------------------------------- | 
| 261 |  | }; | 
| 262 | // | // | 
| 263 | //------------------------------------------------------------------------------------------- | pamDB->CheckValidate(olderthan); | 
|  | //Insert unpack ROOT file in GL_ROOT |  | 
|  | //------------------------------------------------------------------------------------------- |  | 
|  | if ( beverbose ) printf(" 5 => Insert unpack ROOT file in GL_ROOT \n"); |  | 
|  | WAR[2] = pamDB->insertPamelaRootFile(); |  | 
|  | //------------------------------------------------------------------------------------------- |  | 
| 264 | // | // | 
| 265 |  | if(pamDB->Validate()){ | 
| 266 | //------------------------------------------------------------------------------------------- | //------------------------------------------------------------------------------------------- | 
| 267 | //Insert in GL_RUN runs information records relative to a single unpack | //Clean the GL_RUN_FRAGMENTS | 
| 268 | //------------------------------------------------------------------------------------------- | //------------------------------------------------------------------------------------------- | 
| 269 | if ( beverbose ) printf(" 6 => Scan physics and store runs in the GL_RUN table\n"); | if ( beverbose ) printf(" 10 => Clean the GL_RUN_FRAGMENTS table (earlier than %s) \n",pamDB->GetCleanTime() ); | 
| 270 | WAR[4] = pamDB->insertPamelaRUN(); | WAR[8] = pamDB->CleanGL_RUN_FRAGMENTS(); | 
| 271 | //------------------------------------------------------------------------------------------- | //------------------------------------------------------------------------------------------- | 
| 272 |  |  | 
| 273 | //------------------------------------------------------------------------------------------- | //------------------------------------------------------------------------------------------- | 
| 274 | //Insert in GL_CALO_CALIB calibration information records relative to a single unpack | //Validate runs | 
| 275 | //------------------------------------------------------------------------------------------- | //------------------------------------------------------------------------------------------- | 
| 276 | if ( beverbose ) printf(" 7 => Insert calorimeter calibrations in the GL_CALO_CALIB table\n"); | if ( beverbose ) printf(" 11 => Validate runs (earlier than %s)\n",pamDB->GetCleanTime()); | 
| 277 | WAR[5] = pamDB->insertCALO_CALIB(); | WAR[9] = pamDB->ValidateRuns(); | 
| 278 | //------------------------------------------------------------------------------------------- | //------------------------------------------------------------------------------------------- | 
| 279 |  | }; | 
| 280 | //------------------------------------------------------------------------------------------- |  | 
|  | //Insert in GL_TRK_CALIB calibration information records relative to a single unpack |  | 
|  | //------------------------------------------------------------------------------------------- |  | 
|  | if ( beverbose ) printf(" 8 => Insert tracker calibrations in the GL_TRK_CALIB table\n"); |  | 
|  | WAR[6] = pamDB->insertTRK_CALIB(); |  | 
|  | //------------------------------------------------------------------------------------------- |  | 
|  |  |  | 
|  | //------------------------------------------------------------------------------------------- |  | 
|  | //Insert in GL_S4_CALIB calibration information records relative to a single unpack |  | 
|  | //------------------------------------------------------------------------------------------- |  | 
|  | if ( beverbose ) printf(" 9 => Insert S4 calibrations in the GL_S4_CALIB table\n"); |  | 
|  | WAR[7] = pamDB->insertS4_CALIB(); |  | 
|  | //------------------------------------------------------------------------------------------- |  | 
|  |  |  | 
|  | //------------------------------------------------------------------------------------------- |  | 
|  | //Clean the GL_RUN_FRAGMENTS |  | 
|  | //------------------------------------------------------------------------------------------- |  | 
|  | if ( beverbose ) printf(" 10 => Clean the GL_RUN_FRAGMENTS table\n"); |  | 
|  | WAR[8] = pamDB->CleanGL_RUN_FRAGMENTS(); |  | 
|  | //------------------------------------------------------------------------------------------- |  | 
|  |  |  | 
|  | //------------------------------------------------------------------------------------------- |  | 
|  | //Validate runs |  | 
|  | //------------------------------------------------------------------------------------------- |  | 
|  | if ( beverbose ) printf(" 11 => Validate runs\n"); |  | 
|  | WAR[9] = pamDB->ValidateRuns(); |  | 
|  | //------------------------------------------------------------------------------------------- |  | 
|  |  |  | 
| 281 | } catch (Int_t exc) { | } catch (Int_t exc) { | 
| 282 | signal = exc; | signal = exc; | 
| 283 | switch(exc){ | switch(exc){ |