/[PAMELA software]/chewbacca/YodaProfiler/src/PamelaDBOperations.cpp
ViewVC logotype

Diff of /chewbacca/YodaProfiler/src/PamelaDBOperations.cpp

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

revision 1.5 by mocchiut, Tue Nov 4 09:44:49 2008 UTC revision 1.8 by mocchiut, Tue Nov 4 15:48:27 2008 UTC
# Line 661  Int_t PamelaDBOperations::SetUpperLimits Line 661  Int_t PamelaDBOperations::SetUpperLimits
661      //UInt_t tjump = 100;      //UInt_t tjump = 100;
662      while ( tjump > 0 ){      while ( tjump > 0 ){
663        pktlast = numeric_limits<UInt_t>::max();        pktlast = numeric_limits<UInt_t>::max();
664        while ( pktlast > chpktmax && (Int_t)(nevent-1-it) >= 0 ){        while ( PKT(pktlast) > PKT(chpktmax) && (Int_t)(nevent-1-it) >= 0 ){
665          if ( (Int_t)(nevent-1-it) >= 0 ){          if ( (Int_t)(nevent-1-it) >= 0 ){
666            T->GetEntry(nevent-1-it);            T->GetEntry(nevent-1-it);
667            ph = eh->GetPscuHeader();            ph = eh->GetPscuHeader();
# Line 669  Int_t PamelaDBOperations::SetUpperLimits Line 669  Int_t PamelaDBOperations::SetUpperLimits
669          } else {          } else {
670            pktlast = chpktmax + 1;            pktlast = chpktmax + 1;
671          };          };
672          if ( (!(it%1000) || abs((int)pktlast - (int)chpktmax)<1000 ) && debug ) printf(" look for up %i %i %i nevent %u (nevent-1-it) %i \n",it,pktlast,chpktmax,nevent,(Int_t)(nevent-1-it));          if ( (!(it%1000) || abs((int)(PKT(pktlast) - PKT(chpktmax)))<1000 ) && debug ) printf(" look for up %i %i %i nevent %u (nevent-1-it) %i \n",it,pktlast,chpktmax,nevent,(Int_t)(nevent-1-it));
673          it += tjump;          it += tjump;
674        };        };
675        if ( tjump > 1 ) it -= 2*tjump;        if ( tjump > 1 ) it -= 2*tjump;
# Line 694  Int_t PamelaDBOperations::SetUpperLimits Line 694  Int_t PamelaDBOperations::SetUpperLimits
694      //tjump = 100;      //tjump = 100;
695      while ( tjump > 0 ){      while ( tjump > 0 ){
696        pktlast = 0;        pktlast = 0;
697        while ( pktlast < chpktmin && it < (Int_t)nevent ){        while ( PKT(pktlast) < PKT(chpktmin) && it < (Int_t)nevent ){
698          if ( it < (Int_t)nevent ){          if ( it < (Int_t)nevent ){
699            T->GetEntry(it);            T->GetEntry(it);
700            ph = eh->GetPscuHeader();            ph = eh->GetPscuHeader();
# Line 1938  Int_t PamelaDBOperations::insertPamelaRo Line 1938  Int_t PamelaDBOperations::insertPamelaRo
1938          glroot.PATH = "$PAM_L0";          glroot.PATH = "$PAM_L0";
1939        };        };
1940      };      };
1941      //    glroot.NAME = GetRootFile();      glroot.NAME = GetRootFile();
1942    
1943      if ( insertPamelaRootFile(&glroot) )return 1;      if ( insertPamelaRootFile(&glroot) )return 1;
1944    
# Line 4892  Int_t PamelaDBOperations::insertTRK_CALI Line 4892  Int_t PamelaDBOperations::insertTRK_CALI
4892                  //                  //
4893              };              };
4894              //              //
4895    
4896                if( !(MISSING_pkt1&MISSING_pkt2) ){
4897                  this->HandleTRK_CALIB(!MISSING_pkt1,!MISSING_pkt2);
4898                  ncalib++;
4899                  if( MISSING_pkt1||MISSING_pkt2||!valid )try_to_recover=true;
4900                }
4901    
4902    
4903          } else {          } else {
4904              //            //
4905              if ( IsDebug() ) printf(" Trk calibration1 at time %u obt %u pkt %u OUTSIDE the considered time interval \n",fromtime,obt1,pkt1);              if ( IsDebug() ) printf(" Trk calibration1 at time %u obt %u pkt %u OUTSIDE the considered time interval \n",fromtime,obt1,pkt1);
4906              //      if ( PEDANTIC ) throw -79;              //      if ( PEDANTIC ) throw -79;
4907              //              //
4908          };          };
4909          //              //    
4910    
         if( !(MISSING_pkt1&MISSING_pkt2) ){  
             this->HandleTRK_CALIB(!MISSING_pkt1,!MISSING_pkt2);  
             ncalib++;  
             if( MISSING_pkt1||MISSING_pkt2||!valid )try_to_recover=true;  
         }  
   
4911      }; //end loop on pkt1      }; //end loop on pkt1
4912    
4913    
# Line 5130  Int_t PamelaDBOperations::insertTRK_CALI Line 5132  Int_t PamelaDBOperations::insertTRK_CALI
5132                      // ------------------------------------------------------                      // ------------------------------------------------------
5133                      // ... retrieve the calibration packets.                      // ... retrieve the calibration packets.
5134                      // ------------------------------------------------------                      // ------------------------------------------------------
5135                      TFile *file = new TFile((TString)gSystem->ExpandPathName(path)+"/"+name); // EM, path could be symbolic and we must expand it                      if ( IsDebug() ) printf(" file is %s/%s \n",((TString)gSystem->ExpandPathName(path.Data())).Data(),name.Data());
5136                        TFile *file = new TFile(((TString)gSystem->ExpandPathName(path.Data()))+"/"+name); // EM, path could be symbolic and we must expand it
5137                      if(!file)throw -100;                      if(!file)throw -100;
5138                      if(file->IsZombie())throw -100;                      if(file->IsZombie())throw -100;
5139                      //                      //
# Line 7092  UInt_t PamelaDBOperations::ValidateTrkCa Line 7095  UInt_t PamelaDBOperations::ValidateTrkCa
7095    
7096    
7097  }  }
 // UInt_t PamelaDBOperations::ValidateTrkCalib( CalibTrk1Event* caltrk, EventHeader *eh ){  
   
 //     if(!caltrk || !eh) return 0;  
   
 //   Int_t vorder[]={5,5,3,3,4,4,2,2,1,1,0,0};  
 //   UInt_t timeaftercalib=120000; //2000;  
 //   //  ----------  
 //   //  Check CRCs  
 //   //  ----------  
 //   for(Int_t ipkt=0; ipkt<6; ipkt++){  
 //     if( caltrk->crc_hcal[ipkt] )return 0; // :-(  
 //     for(Int_t ilad=0; ilad<3; ilad++)if( caltrk->crc_cal[ipkt][ilad] )return 0; // :-(  
 //   }  
 //   //  -----------------------  
 //   //  Check missing packets:  
 //   //  -----------------------  
 //   //    Readout order:  
 //   //    ------------------  
 //   //    DSP   packet board  
 //   //    ------------------  
 //   //    12    0      1  
 //   //    10    1      1  
 //   //     8    2      1  
 //   //     4    3      1  
 //   //     6    4      1  
 //   //     2    5      1  
 //   //    ------------------  
 //   //    11    0      2  
 //   //     9    1      2  
 //   //     7    2      2  
 //   //     3    3      2  
 //   //     5    4      2  
 //   //     1    5      2  
 //   //    ------------------  
 //   //  -------------------------------------------------  
 //   //  Check if it is first or second calibration packet  
 //   //  -------------------------------------------------  
 //   UInt_t build=0;  
 //   TString classname = caltrk->GetName();  
 //   UInt_t base=0;  
 //   UInt_t mask=0;  
 //   if(classname.Contains("CalibTrk1Event")){  
 //     base=12;  
 //     mask=0x03F000;  
 //   }  
 //   if(classname.Contains("CalibTrk2Event")){  
 //     base=18;  
 //     mask=0xFC0000;  
 //   }  
 //   //  -------------------------------------------------  
 //   //  Count number of packets and set build variable  
 //   //  -------------------------------------------------  
 //   Int_t  npkts=0;  
 //   for(Int_t ipkt=0; ipkt<6; ipkt++){  
 //     if(caltrk->DSPnumber[ipkt]>0 && caltrk->DSPnumber[ipkt]<=12){  
 //       npkts++;  
 //       build = build | ( 1<<(base+vorder[caltrk->DSPnumber[ipkt]-1]) );  
 //     }  
 //   }  
 //   //    if( npkts==6 )return 1; // :-)  
   
 //   //    cout << classname << " "<<eh->GetPscuHeader()->GetOrbitalTime()<<endl;  
   
 //   //  -----------------------------------------------  
 //   //  If missing packets: check the acq configuration  
 //   //  (some DSPs might be excluded from acquisition)  
 //   //  -----------------------------------------------  
   
 //   //  -----------------------------------------------  
 //   //  retrieve the first run header after calib  
 //   //  -----------------------------------------------  
 //   PacketType *pctp;  
 //   EventCounter *cod;  
 //   cod = eh->GetCounter();  
 //   Int_t irun = cod->Get(pctp->RunHeader);  
 //   TTree *rh=(TTree*)file->Get("RunHeader");  
 //   if ( !rh || rh->IsZombie() ) throw -17;  
 //   if( rh->GetEntries() == irun ){  
 //     if ( IsDebug() ) cout << "ValidateTrkCalib: (MISSING VIEW) no runs after calib (1)  -- cannot validate :-( "<<endl;  
 //     return 0; // :-(  
 //   }  
   
 //   RunHeaderEvent *run  = 0;  
 //   EventHeader    *hrun = 0;  
 //   rh->SetBranchAddress("RunHeader", &run);  
 //   rh->SetBranchAddress("Header", &hrun);  
 //   rh->GetEntry(irun);  
 //   //     cout << classname << " "<<eh->GetPscuHeader()->GetOrbitalTime() << " Run " << hrun->GetPscuHeader()->GetOrbitalTime() <<endl;  
   
 //   if( OBT(hrun->GetPscuHeader()->GetOrbitalTime()) < OBT(eh->GetPscuHeader()->GetOrbitalTime())){  
 //     if ( IsDebug() ) cout << "ValidateTrkCalib: (MISSING VIEW) no runs after calib (2) -- cannot validate :-( "<<endl;  
 //     return 0; // :-(  
 //   }  
       
 //   if( !run->RM_ACQ_AFTER_CALIB ){  
 //     if ( IsDebug() ) cout << "ValidateTrkCalib: (MISSING VIEW) RM_ACQ_AFTER_CALIB=0    -- cannot validate :-( "<<endl;  
 //     return 0; // :-(  
 //   }  
   
 //   UInt_t dtime = OBT(hrun->GetPscuHeader()->GetOrbitalTime()) - OBT(eh->GetPscuHeader()->GetOrbitalTime());  
 //   if( dtime > timeaftercalib ){  
 //     if ( IsDebug() ) cout << "ValidateTrkCalib: (MISSING VIEW) run after calib too far ( "<<dtime<<"ms ) -- cannot validate :-( "<<endl;  
 //     return 0; // :-(  
 //   }  
       
   
   
 //   if( (run->ACQ_BUILD_INFO & mask) != build ){  
 //     if ( IsDebug() ) cout << "ValidateTrkCalib: (MISSING VIEW) ACQ_BUILD_INFO= >>> "<<hex << (run->ACQ_BUILD_INFO&mask) << " != "<< build << dec<<endl;  
 //     return 0; // :-(  
 //   }  
 //   return 1; // :-)  
   
 // }  
7098    
7099  /**  /**
7100   *   *

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.23