| 105 | tr->SetBranchAddress("CalibS4", &S4CalibEvent); | tr->SetBranchAddress("CalibS4", &S4CalibEvent); | 
| 106 | if ( tr->GetEntries() < glS4calib->EV_ROOT ) return(NULL); | if ( tr->GetEntries() < glS4calib->EV_ROOT ) return(NULL); | 
| 107 | // | // | 
| 108 | tr->GetEntry(glS4calib->EV_ROOT); | if ( tr->GetEntry(glS4calib->EV_ROOT) <= 0 ) throw -36; | 
| 109 | // | // | 
| 110 | // Variables initialization | // Variables initialization | 
| 111 | // | // | 
| 275 | S4folder << tempname.str().c_str(); | S4folder << tempname.str().c_str(); | 
| 276 | tempname << "/S4tree_run"; | tempname << "/S4tree_run"; | 
| 277 | tempname << run << ".root"; | tempname << run << ".root"; | 
| 278 |  | UInt_t totnorun = 0; | 
| 279 | // | // | 
| 280 | // DB classes | // DB classes | 
| 281 | // | // | 
| 332 | // | // | 
| 333 | // number of run to be processed | // number of run to be processed | 
| 334 | // | // | 
| 335 | numbofrun = runinfo->GetNoRun(); | numbofrun = runinfo->GetNoRun(); | 
| 336 | UInt_t totnorun = runinfo->GetRunEntries(); | totnorun = runinfo->GetRunEntries(); | 
| 337 | // | // | 
| 338 | // Try to access the S4 tree in the file, if it exists we are reprocessing data if not we are processing a new run | // Try to access the S4 tree in the file, if it exists we are reprocessing data if not we are processing a new run | 
| 339 | // | // | 
| 421 | } | } | 
| 422 | for (UInt_t j = 0; j < nobefrun; j++){ | for (UInt_t j = 0; j < nobefrun; j++){ | 
| 423 | // | // | 
| 424 | S4trclone->GetEntry(j); | if ( S4trclone->GetEntry(j) <= 0 ) throw -36; | 
| 425 | // | // | 
| 426 | // copy s4clone to mydec | // copy s4clone to mydec | 
| 427 | // | // | 
| 510 | printf(" %i events to be processed for run %u: from %u to %u \n\n",totevent,idRun,runinfo->EV_FROM,(runinfo->EV_FROM+totevent)); | printf(" %i events to be processed for run %u: from %u to %u \n\n",totevent,idRun,runinfo->EV_FROM,(runinfo->EV_FROM+totevent)); | 
| 511 | } | } | 
| 512 | // | // | 
| 513 |  | //    if ( !totevent ) goto closeandexit; | 
| 514 |  | // | 
| 515 | // Open Level0 file | // Open Level0 file | 
| 516 | // | // | 
| 517 | l0File = new TFile(fname.Data()); | l0File = new TFile(fname.Data()); | 
| 548 | // | // | 
| 549 | nevents = l0S4->GetEntries(); | nevents = l0S4->GetEntries(); | 
| 550 | // | // | 
| 551 | if ( nevents < 1 ) { | if ( nevents < 1 && totevent ) { | 
| 552 | if ( debug ) printf(" S4 - ERROR: Level0 file is empty\n\n"); | if ( debug ) printf(" S4 - ERROR: Level0 file is empty\n\n"); | 
| 553 | l0File->Close(); | l0File->Close(); | 
| 554 | code = -11; | code = -11; | 
| 555 | goto closeandexit; | goto closeandexit; | 
| 556 | }; | }; | 
| 557 | // | // | 
| 558 | if ( runinfo->EV_TO > nevents-1 ) { | if ( runinfo->EV_TO > nevents-1 && totevent ) { | 
| 559 | if ( debug ) printf(" S4 - ERROR: too few entries in the S4 tree\n"); | if ( debug ) printf(" S4 - ERROR: too few entries in the S4 tree\n"); | 
| 560 | l0File->Close(); | l0File->Close(); | 
| 561 | code = -12; | code = -12; | 
| 581 | // | // | 
| 582 | if ( dbc ){ | if ( dbc ){ | 
| 583 | dbc->Close(); | dbc->Close(); | 
| 584 | //      delete dbc; | delete dbc; | 
| 585 |  | dbc = 0; | 
| 586 | }; | }; | 
| 587 | // | // | 
| 588 | for ( re = runinfo->EV_FROM; re < (runinfo->EV_FROM+runinfo->NEVENTS); re++){ | for ( re = runinfo->EV_FROM; re < (runinfo->EV_FROM+runinfo->NEVENTS); re++){ | 
| 589 | // | // | 
| 590 | if ( procev%1000 == 0 && procev > 0 && verbose ) printf(" %iK \n",procev/1000); | if ( procev%1000 == 0 && procev > 0 && verbose ) printf(" %iK \n",procev/1000); | 
| 591 | // | // | 
| 592 | l0head->GetEntry(re); | if ( l0head->GetEntry(re) <= 0 ) throw -36; | 
| 593 | // | // | 
| 594 | // absolute time of this event | // absolute time of this event | 
| 595 | // | // | 
| 598 | // | // | 
| 599 | // paranoid check | // paranoid check | 
| 600 | // | // | 
| 601 | if ( (atime > runinfo->RUNTRAILER_TIME) || (atime < runinfo->RUNHEADER_TIME)  ) { | if ( (atime > (runinfo->RUNTRAILER_TIME+1)) || (atime < (runinfo->RUNHEADER_TIME-1))  ) { | 
| 602 | if (verbose) printf(" S4 - WARNING: event at time outside the run time window, skipping it\n"); | if (verbose) printf(" S4 - WARNING: event at time outside the run time window, skipping it\n"); | 
| 603 | goto jumpev; | goto jumpev; | 
| 604 | }; | }; | 
| 608 | // start processing | // start processing | 
| 609 | // | // | 
| 610 | s4->Clear(); | s4->Clear(); | 
| 611 | l0S4->GetEntry(re); | if ( l0S4->GetEntry(re) <= 0 ) throw -36; | 
| 612 | if (l0s4e->unpackError == 0){ | if (l0s4e->unpackError == 0){ | 
| 613 | s4->S4adc = l0s4e->S4_DATA; | s4->S4adc = l0s4e->S4_DATA; | 
| 614 | // | // | 
| 653 | // | // | 
| 654 | // Get entry from old tree | // Get entry from old tree | 
| 655 | // | // | 
| 656 | S4trclone->GetEntry(j); | if ( S4trclone->GetEntry(j) <= 0 ) throw -36; | 
| 657 | // | // | 
| 658 | // copy s4clone to s4 | // copy s4clone to s4 | 
| 659 | // | // |