/[PAMELA software]/PamelaLevel2/src/PamLevel2.cpp
ViewVC logotype

Diff of /PamelaLevel2/src/PamLevel2.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.61 by pam-fi, Thu Apr 3 14:39:51 2008 UTC revision 1.62 by pam-fi, Mon Sep 29 10:20:26 2008 UTC
# Line 2532  Bool_t PamLevel2::UpdateRunInfo(Long64_t Line 2532  Bool_t PamLevel2::UpdateRunInfo(Long64_t
2532      if( GetOrbitalInfo() ){      if( GetOrbitalInfo() ){
2533          abstime = GetOrbitalInfo()->absTime;          abstime = GetOrbitalInfo()->absTime;
2534          obt     = GetOrbitalInfo()->OBT;          obt     = GetOrbitalInfo()->OBT;
 //      cout << " ABS >>> "<<abstime<<" OBT >>> "<<obt<<" "<<endl;  
2535      }else{      }else{
2536          abstime = GetRunInfo()->RUNHEADER_TIME;          abstime = GetRunInfo()->RUNHEADER_TIME;
2537          obt     = GetRunInfo()->RUNHEADER_OBT;          obt     = GetRunInfo()->RUNHEADER_OBT;
2538      }      }
 //    cout << ISGP << " "<<abstime<<endl;  
     // ---------------------------------------------------------------  
     // the absolute time is necessary to relate the event with the run  
     // ---------------------------------------------------------------  
 //     if( !GetOrbitalInfo() && !ISGP ){  
 //      cout << "Bool_t PamLevel2::UpdateRunInfo(Long64_t iev) -- ERROR -- missing OrbitalInfo "<<endl;  
 //      return(false);  
 //     }  
     // -----------------------------------------------------------------------  
     // if it is simulation, assign abstime by hand (temporaneo!!!)  
     // -----------------------------------------------------------------------  
 //     if(ISGP){  
 //      abstime = GetRunInfo()->RUNHEADER_TIME; // BARBATRUCCO  
 //      obt     = GetRunInfo()->RUNHEADER_OBT; // BARBATRUCCO  
 //     }  
2539            
2540    
2541      // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-      // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
# Line 2570  Bool_t PamLevel2::UpdateRunInfo(Long64_t Line 2554  Bool_t PamLevel2::UpdateRunInfo(Long64_t
2554              }              }
2555              totdltime[2]++;              totdltime[2]++;
2556          }          }
 //      cout << setw(10)<<totdltime[0]<<setw(10)<<totdltime[1]<<setw(10)<<totdltime[2]<<endl;  
2557    
 //      // ---------------------------------------------------------------  
 //      // retrieve OBT and absolute time of the event  
 //      // ---------------------------------------------------------------  
 //      ULong64_t abstime = 0;  
 //      ULong64_t obt     = 0;  
 //      if( GetOrbitalInfo() ){  
 //          abstime = GetOrbitalInfo()->absTime;  
 //          obt     = GetOrbitalInfo()->OBT;  
 //      }  
 //      // ---------------------------------------------------------------  
 //      // the absolute time is necessary to relate the event with the run  
 //      // ---------------------------------------------------------------  
 //      if( !GetOrbitalInfo() && !ISGP ){  
 //          cout << "Bool_t PamLevel2::UpdateRunInfo(Long64_t iev) -- ERROR -- missing OrbitalInfo "<<endl;  
 //          return(false);  
 //      }  
         
 //      // -----------------------------------------------------------------------  
 //      // the first time the routine is called, set run search from the beginning  
 //      // -----------------------------------------------------------------------  
 //      if ( irun < 0 ){  
 //          irun = 0LL;  
 //          irunt = 0LL;  
 //          irunentry = 0;  
 //          prevshift = 0;  
 //          run_tree->GetEntry(irun);  
   
 //          if( ISGP && run_tree->GetEntries()!=1 ){  
 //              cout << "** WARNING ** simulated files are assumed to have 1 single run, not "<< run_tree->GetEntries() << endl;  
 //              cout << "** WARNING ** run will not be updated"<<endl;  
 //          }  
 //      };        
   
 //      // -----------------------------------------------------------------------  
 //      // if it is simulation, assign abstime by hand (temporaneo!!!)  
 //      // -----------------------------------------------------------------------  
 //      if(ISGP){  
 //          abstime = GetRunInfo()->RUNHEADER_TIME; // BARBATRUCCO  
 //          obt     = GetRunInfo()->RUNHEADER_OBT; // BARBATRUCCO  
 //      }  
2558          //          //
2559          bool fromfirst = true; // first loop over runs          bool fromfirst = true; // first loop over runs
2560    
 //      Bool_t hasfrag = false;  
 //      if( GetRunInfo()->ID_RUN_FRAG!=0 && GetRunInfo()->ID_RUN_FRAG != GetRunInfo()->ID)hasfrag=true;  
 //      ULong64_t fragid = GetRunInfo()->ID_RUN_FRAG;  
2561    
2562          // ------------------------------------------------------          // ------------------------------------------------------
2563          // loop over runs to find the one that contains the event          // loop over runs to find the one that contains the event
2564          // ------------------------------------------------------          // ------------------------------------------------------
2565          while (          while (
2566              (              (
2567                  (  //              (
2568                      !(abstime >= GetRunInfo()->RUNHEADER_TIME &&    // check on absolute time (s)  //                  !(abstime >= GetRunInfo()->RUNHEADER_TIME &&    // check on absolute time (s)
2569                        abstime <= GetRunInfo()->RUNTRAILER_TIME) &&  //                    abstime <= GetRunInfo()->RUNTRAILER_TIME) &&
2570                      !(obt >= GetRunInfo()->RUNHEADER_OBT &&         // additional check on OBT (ms)  //                  !(obt >= GetRunInfo()->RUNHEADER_OBT &&         // additional check on OBT (ms)
2571                        obt <= GetRunInfo()->RUNTRAILER_OBT)  //                    obt <= GetRunInfo()->RUNTRAILER_OBT)
2572                      )  //                  )
2573                  || GetRunInfo()->NEVENTS==0                  
2574                    !(abstime >= GetRunInfo()->RUNHEADER_TIME &&    // check on absolute time (s)
2575                      abstime <= GetRunInfo()->RUNTRAILER_TIME)
2576                    ||
2577                    !(obt >= GetRunInfo()->RUNHEADER_OBT &&         // additional check on OBT (ms)
2578                      obt <= GetRunInfo()->RUNTRAILER_OBT)          
2579                    ||
2580                    GetRunInfo()->NEVENTS==0
2581  //              || !(irunentry < GetRunInfo()->NEVENTS-1-prevshift) // ERRORE!!! fa saltare i run con 1 evento  //              || !(irunentry < GetRunInfo()->NEVENTS-1-prevshift) // ERRORE!!! fa saltare i run con 1 evento
2582                  || !(irunentry <= GetRunInfo()->NEVENTS-1-prevshift)                  ||
2583                    !(irunentry <= GetRunInfo()->NEVENTS-1-prevshift)
2584                  )                  )
2585              && irun < run_tree->GetEntries() ){              && irun < run_tree->GetEntries() ){
2586    
2587    
2588    //          if( !(abstime >= GetRunInfo()->RUNHEADER_TIME &&abstime <= GetRunInfo()->RUNTRAILER_TIME)  )cout << "ABS TIME "<<abstime << " " <<GetRunInfo()->RUNTRAILER_TIME <<endl;
2589    //          if( !(obt >= GetRunInfo()->RUNHEADER_OBT && obt <= GetRunInfo()->RUNTRAILER_OBT) )cout << "OBT TIME "<< obt <<" "<< GetRunInfo()->RUNTRAILER_OBT << endl;
2590    //          if( GetRunInfo()->NEVENTS==0  )cout <<"GetRunInfo()->NEVENTS==0 "<<endl;
2591    //          if( !(irunentry <= GetRunInfo()->NEVENTS-1-prevshift) ) cout << "irunentry > "<<GetRunInfo()->NEVENTS-1-prevshift << endl;
2592              // - - - - - - - - - - - - -              // - - - - - - - - - - - - -
2593              // irunentry = position of current entry, relative to the run              // irunentry = position of current entry, relative to the run
2594              // prevshift = shift needed to synchronize l0 and l2 data (nested events)              // prevshift = shift needed to synchronize l0 and l2 data (nested events)
# Line 2645  Bool_t PamLevel2::UpdateRunInfo(Long64_t Line 2598  Bool_t PamLevel2::UpdateRunInfo(Long64_t
2598              // store dead and live-time of previous run              // store dead and live-time of previous run
2599              // -----------------------------------------              // -----------------------------------------
2600  //          if(SELLI==0){  //          if(SELLI==0){
2601                  if(fromfirst){              if(fromfirst){
2602                      if(oldrun==irun){                  if(oldrun==irun){
2603                          /// decrement counters                      /// decrement counters
2604                          if( GetTrigLevel2()){                      if( GetTrigLevel2()){
2605                              totdltime[0]-=GetTrigLevel2()->dltime[0];//live-time                          totdltime[0]-=GetTrigLevel2()->dltime[0];//live-time
2606                              totdltime[1]-=GetTrigLevel2()->dltime[1];//dead-time                          totdltime[1]-=GetTrigLevel2()->dltime[1];//dead-time
                         }  
                         totdltime[2]--;                              //event counter  
                         cout << endl;  
                         cout << "n.events     : "<<totdltime[2]<<endl;  
                         cout << "RUN LIVE-TIME: "<<totdltime[0]*0.16<<" ms"<<endl;  
                         cout << "RUN DEAD-TIME: "<<totdltime[1]*0.01<<" ms"<<endl;            
                     }else{  
                         totdltime[0]=0;//live-time  
                         totdltime[1]=0;//dead-time  
                         totdltime[2]=0;                             //event counter  
                         cout << " *** JUMP RUN *** irun "<<irun<<endl;  
                     }  
                     /// add an entry  
                     if(run_tree_clone)  
                         if(run_tree_clone->GetBranch("DeadLiveTime")->GetEntries() < run_tree->GetEntries())  
                             run_tree_clone->GetBranch("DeadLiveTime")->Fill();  
                     /// reset counters  
                     if( GetTrigLevel2() ){  
                         totdltime[0]=GetTrigLevel2()->dltime[0];//live-time  
                         totdltime[1]=0;                         //dead-time  
2607                      }                      }
2608                      totdltime[2]=1;                             //event counter                      totdltime[2]--;                              //event counter
2609                        cout << endl;
2610                        cout << "n.events     : "<<totdltime[2]<<endl;
2611                        cout << "RUN LIVE-TIME: "<<totdltime[0]*0.16<<" ms"<<endl;
2612                        cout << "RUN DEAD-TIME: "<<totdltime[1]*0.01<<" ms"<<endl;      
2613                    }else{
2614                        totdltime[0]=0;//live-time
2615                        totdltime[1]=0;//dead-time
2616                        totdltime[2]=0;                             //event counter
2617                        cout << " *** JUMP RUN *** irun "<<irun<<endl;
2618                    }
2619                    /// add an entry
2620                    if(run_tree_clone)
2621                        if(run_tree_clone->GetBranch("DeadLiveTime")->GetEntries() < run_tree->GetEntries())
2622                            run_tree_clone->GetBranch("DeadLiveTime")->Fill();
2623                    /// reset counters
2624                    if( GetTrigLevel2() ){
2625                        totdltime[0]=GetTrigLevel2()->dltime[0];//live-time
2626                        totdltime[1]=0;                         //dead-time
2627                  }                  }
2628                    totdltime[2]=1;                             //event counter
2629                }
2630  //          }  //          }
2631    
2632              irun++;                      irun++;        
# Line 2704  Bool_t PamLevel2::UpdateRunInfo(Long64_t Line 2657  Bool_t PamLevel2::UpdateRunInfo(Long64_t
2657              if(irun>0)runfirstentry += (GetRunInfo()->NEVENTS)-prevshift;              if(irun>0)runfirstentry += (GetRunInfo()->NEVENTS)-prevshift;
2658              irunentry = 0;              irunentry = 0;
2659              prevshift = 0;                        prevshift = 0;          
2660              run_tree->GetEntry(irun);              run_tree->GetEntry(irun);//update runinfo
2661              irunt = irun - irunoffset[run_tree->GetTreeNumber()];              irunt = irun - irunoffset[run_tree->GetTreeNumber()];
2662              if(GetRunInfo()->RUNHEADER_OBT>GetRunInfo()->RUNTRAILER_OBT ){              if(GetRunInfo()->RUNHEADER_OBT>GetRunInfo()->RUNTRAILER_OBT ){
2663                  cout << "Bool_t PamLevel2::UpdateRunInfo(Long64_t iev) -- WARNING -- irun "<<irun<<"  has RUNHEADER_OBT>=RUNTRAILER_OBT " <<endl;                  cout << "Bool_t PamLevel2::UpdateRunInfo(Long64_t iev) -- WARNING -- irun "<<irun<<"  has RUNHEADER_OBT>=RUNTRAILER_OBT " <<endl;
# Line 2727  Bool_t PamLevel2::UpdateRunInfo(Long64_t Line 2680  Bool_t PamLevel2::UpdateRunInfo(Long64_t
2680          // --------------------------------------          // --------------------------------------
2681    
2682    
   
   
2683          // --------------------------------------          // --------------------------------------
2684          // ---> exit with TRUE          // ---> exit with TRUE
2685          // --------------------------------------          // --------------------------------------

Legend:
Removed from v.1.61  
changed lines
  Added in v.1.62

  ViewVC Help
Powered by ViewVC 1.1.23