/[PAMELA software]/DarthVader/TrackerLevel2/src/TrkParams.cpp
ViewVC logotype

Diff of /DarthVader/TrackerLevel2/src/TrkParams.cpp

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

revision 1.25 by pam-fi, Tue Nov 25 14:41:37 2008 UTC revision 1.32 by mocchiut, Tue Oct 14 14:07:41 2014 UTC
# Line 10  Line 10 
10  using namespace std;  using namespace std;
11    
12    
13    Bool_t TrkParams::simuflag = kFALSE;
14  // -------------------------  // -------------------------
15  // CALIBRATION (PED,SIG,BAD)  // CALIBRATION (PED,SIG,BAD)
16  // -------------------------  // -------------------------
# Line 74  float anint(float f){ Line 75  float anint(float f){
75      return ret1;              return ret1;        
76  }  }
77    
78    void TrkParams::SetSimuFlag(Bool_t flag){
79      simuflag = flag;
80    }
81    
82    Bool_t TrkParams::GetSimuFlag(){
83      return simuflag;
84    }
85    
86    
87  /**  /**
88   * Static method to open a DB connection.   * Static method to open a DB connection.
89   * HOST, USER and PASSWORD are taken from enviroment variables $PAM_DBHOST,   * HOST, USER and PASSWORD are taken from enviroment variables $PAM_DBHOST,
# Line 106  TSQLServer* TrkParams::SetDBConnection() Line 116  TSQLServer* TrkParams::SetDBConnection()
116      if( !dbc->IsConnected() )return NULL;          if( !dbc->IsConnected() )return NULL;    
117      stringstream myquery;  // EMILIANO      stringstream myquery;  // EMILIANO
118      myquery.str("");  // EMILIANO      myquery.str("");  // EMILIANO
119      myquery << "SET time_zone='+0:00'";  // EMILIANO      myquery << "SET time_zone='+0:00';";  // EMILIANO
120      dbc->Query(myquery.str().c_str());  // EMILIANO      delete dbc->Query(myquery.str().c_str());  // EMILIANO
121        delete dbc->Query("SET sql_mode = 'NO_UNSIGNED_SUBTRACTION';");//EM
122      if(TrkParams::DebugMode()){      if(TrkParams::DebugMode()){
123          cout << " ...done"<<endl;          cout << " ...done"<<endl;
124          cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;          cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
# Line 177  Bool_t TrkParams::SetCalib( GL_RUN *glru Line 188  Bool_t TrkParams::SetCalib( GL_RUN *glru
188                    
189          if(LOCAL_CONNECTION&&dbc){          if(LOCAL_CONNECTION&&dbc){
190              dbc->Close();              dbc->Close();
191                delete dbc;
192              if(TrkParams::DebugMode()){              if(TrkParams::DebugMode()){
193                  cout << " DB connection closed."<<endl;                  cout << " DB connection closed."<<endl;
194              }                    }      
# Line 247  UInt_t TrkParams::ValidateTrkCalib( Cali Line 259  UInt_t TrkParams::ValidateTrkCalib( Cali
259  //  -------------------------------------------------  //  -------------------------------------------------
260      UInt_t build=0;      UInt_t build=0;
261      UInt_t base=0;      UInt_t base=0;
262      UInt_t mask=0;      //    UInt_t mask=0;// EM GCC 4.7
263      if(classname.Contains("CalibTrk1Event")){      if(classname.Contains("CalibTrk1Event")){
264          base=12;          base=12;
265          mask=0x03F000;          //      mask=0x03F000; // EM GCC 4.7
266      }      }
267      if(classname.Contains("CalibTrk2Event")){      if(classname.Contains("CalibTrk2Event")){
268          base=18;          base=18;
269          mask=0xFC0000;          //      mask=0xFC0000;  // EM GCC 4.7
270      }      }
271  //  -------------------------------------------------  //  -------------------------------------------------
272  //  Count number of packets and set build variable  //  Count number of packets and set build variable
# Line 348  void TrkParams::FillACalibFrom(TFile* f0 Line 360  void TrkParams::FillACalibFrom(TFile* f0
360  //     tr2->SetBranchAddress("CalibTrk2",&calibdata2);  //     tr2->SetBranchAddress("CalibTrk2",&calibdata2);
361      tr1->SetBranchAddress("CalibTrk1",calib1->GetPointerTo());      tr1->SetBranchAddress("CalibTrk1",calib1->GetPointerTo());
362      tr2->SetBranchAddress("CalibTrk2",calib2->GetPointerTo());      tr2->SetBranchAddress("CalibTrk2",calib2->GetPointerTo());
363      tr1->GetEntry(ev_reg1);      if ( tr1->GetEntry(ev_reg1) <= 0 ) throw -36;//EM
364      tr2->GetEntry(ev_reg2);      if ( tr2->GetEntry(ev_reg2) <= 0 ) throw -36;//EM
365      Int_t dspn1(0),dspn2(0);      Int_t dspn1(0),dspn2(0);
366    
367    
# Line 547  void TrkParams::FillMask(TFile* f0, Int_ Line 559  void TrkParams::FillMask(TFile* f0, Int_
559              //-------------------------              //-------------------------
560              tr = (TTree*)f0->Get("CalibTrk1");                tr = (TTree*)f0->Get("CalibTrk1");  
561              tr->SetBranchAddress("CalibTrk1",calib->GetPointerTo());              tr->SetBranchAddress("CalibTrk1",calib->GetPointerTo());
562              tr->GetEntry(ev_reg1);              if ( tr->GetEntry(ev_reg1) <= 0 ) throw -36;//EM
563          }          }
564          if(i==1){          if(i==1){
565              //-------------------------              //-------------------------
# Line 555  void TrkParams::FillMask(TFile* f0, Int_ Line 567  void TrkParams::FillMask(TFile* f0, Int_
567              //-------------------------              //-------------------------
568              tr = (TTree*)f0->Get("CalibTrk2");              tr = (TTree*)f0->Get("CalibTrk2");
569              tr->SetBranchAddress("CalibTrk2",calib->GetPointerTo());              tr->SetBranchAddress("CalibTrk2",calib->GetPointerTo());
570              tr->GetEntry(ev_reg2);              if ( tr->GetEntry(ev_reg2) <= 0 ) throw -36;
571          }          }
572          for(Int_t ipkt=0; ipkt<NPLANE; ipkt++){          for(Int_t ipkt=0; ipkt<NPLANE; ipkt++){
573              Int_t view   = calib->GetView(ipkt);              Int_t view   = calib->GetView(ipkt);
# Line 673  Int_t TrkParams::GetIndex( UInt_t type ) Line 685  Int_t TrkParams::GetIndex( UInt_t type )
685   * If dbc==NULL, try to open a connection taking DB-connection   * If dbc==NULL, try to open a connection taking DB-connection
686   * parameters from PAMELA environment variables.   * parameters from PAMELA environment variables.
687   */   */
688  Bool_t TrkParams::Set( GL_RUN* glrun , TSQLServer* dbc , UInt_t type){  Bool_t TrkParams::Set( GL_RUN* glrun , TSQLServer* dbc , UInt_t type, UInt_t abstime){
689    
690    
691      UInt_t index = TrkParams::GetIndex( type );      UInt_t index = TrkParams::GetIndex( type );
692      if(index < 0)return false;      if(index < 0)return false;
693    
694        if(TrkParams::VerboseMode())
695          cout <<"Calling Bool_t TrkParams::Set(GL_RUN* "<<glrun<<" ,TSQLServer* "<<dbc<<" ,UInt_t "<<type<<" ,UInt_t " <<abstime << " ) >> (**WARNING** check that this is all ok!! )"<<endl;
696    
697      UInt_t runheadtime=1;      UInt_t runheadtime=1;
698      UInt_t runid=0;      UInt_t runid=0;
# Line 687  Bool_t TrkParams::Set( GL_RUN* glrun , T Line 701  Bool_t TrkParams::Set( GL_RUN* glrun , T
701          runheadtime = glrun->RUNHEADER_TIME;          runheadtime = glrun->RUNHEADER_TIME;
702          runid       = glrun->ID;          runid       = glrun->ID;
703      }else      }else
704          cout <<"Bool_t TrkParams::Set(GL_RUN* "<<glrun<<" ,TSQLServer* "<<dbc<<" ,UInt_t "<<type<<" ) >> GL_RUN==NULL -- taking first entry (**WARNING** check that this is ok!! )"<<endl;        cout <<"Bool_t TrkParams::Set(GL_RUN* "<<glrun<<" ,TSQLServer* "<<dbc<<" ,UInt_t "<<type<<" ,UInt_t " <<abstime << " ) >> GL_RUN==NULL -- taking first entry (**WARNING** check that this is ok!! )"<<endl;
   
   
     if( !TrkParams::IsLoaded(type) ||  
         runheadtime < gl[index].FROM_TIME   ||  
         runheadtime > gl[index].TO_TIME     ||    
         false ){  
   
 //    if(TrkParams::VerboseMode())  
         if(TrkParams::DebugMode())cout << "<< set TrkParams type "<<type<<" from DB << RUN "<<runid<<endl;  
   
         bool LOCAL_CONNECTION = false;  
         if( !dbc || (dbc && !dbc->IsConnected()) ){  
705    
 //          if(TrkParams::WarningMode())cout <<" Missing DB connection -- check PAMELA environment variables "<<endl;  
             dbc = TrkParams::SetDBConnection();  
             if(dbc && dbc->IsConnected())LOCAL_CONNECTION = true;  
   
         }  
706    
707          GL_PARAM q4;      if( !abstime || !simuflag ) abstime = runheadtime;// EM: if simu?
         if( q4.Query_GL_PARAM(runheadtime,type,dbc) )return false;        
         if(LOCAL_CONNECTION){  
             dbc->Close();  
             delete dbc;  
             if(TrkParams::DebugMode()){  
                 cout << " DB connection closed."<<endl;  
             }        
         }  
         gl[index]     = q4;  
         glpath[index] = q4.PATH+q4.NAME;  
         glload[index] = false;  
708    
709          return true;      if(TrkParams::VerboseMode())
710          cout << "TrkParams::IsLoaded(type)=" << TrkParams::IsLoaded(type) << " abstime=" << abstime << " runheadtime=" << runheadtime << " gl[index].FROM_TIME=" << gl[index].FROM_TIME << " gl[index].TO_TIME=" << gl[index].TO_TIME << endl;
711    
712        if( !TrkParams::IsLoaded(type) ||
713            abstime < gl[index].FROM_TIME   ||
714            abstime > gl[index].TO_TIME     ||      
715            false ){
716          
717          if(TrkParams::VerboseMode())
718            cout << "<< set TrkParams type "<<type<<" from DB << RUN "<<runid<<endl;
719          
720          bool LOCAL_CONNECTION = false;
721          if( !dbc || (dbc && !dbc->IsConnected()) ){
722            
723            //          if(TrkParams::WarningMode())cout <<" Missing DB connection -- check PAMELA environment variables "<<endl;
724            dbc = TrkParams::SetDBConnection();
725            if(dbc && dbc->IsConnected())LOCAL_CONNECTION = true;
726            
727          }
728          
729          GL_PARAM q4;
730          //        if( q4.Query_GL_PARAM(runheadtime,type,dbc) )return false;      
731          if( q4.Query_GL_PARAM(abstime,type,dbc) )return false;     //VALERIO  
732          if(LOCAL_CONNECTION){
733            dbc->Close();
734            delete dbc;
735            if(TrkParams::DebugMode()){
736              cout << " DB connection closed."<<endl;
737            }          
738          }
739          gl[index]     = q4;
740          glpath[index] = q4.PATH+q4.NAME;
741          glload[index] = false;
742          
743          //return true;
744          
745      }      }
746      return false;      return true;
747        
748  };  };
749  /**  /**
750   * Set tracker parameters proper for the run, from input.   * Set tracker parameters proper for the run, from input.
# Line 767  Bool_t TrkParams::Set(UInt_t type){ Line 787  Bool_t TrkParams::Set(UInt_t type){
787   * otherwise it set a default path.   * otherwise it set a default path.
788   * @return FALSE if parameter set fails.   * @return FALSE if parameter set fails.
789   */   */
790    
791  Bool_t  TrkParams::Set( ){  Bool_t  TrkParams::Set( ){
792    
793    
# Line 868  Bool_t TrkParams::Load(UInt_t type){ Line 889  Bool_t TrkParams::Load(UInt_t type){
889  }  }
890    
891  Bool_t TrkParams::Load( ){  Bool_t TrkParams::Load( ){
892      for(Int_t i=0 ; i<NTYPES; i++)if(!glload[i] && trkparamtype[i]>0 )if( !TrkParams::Load(trkparamtype[i]) )return false;          Bool_t result = true;
893      return true;      for(Int_t i=0 ; i<NTYPES; i++)
894          if(!glload[i] && trkparamtype[i]>0 )
895            if( !TrkParams::Load(trkparamtype[i]) )
896              result = false;
897        return result;
898  };  };
899  Bool_t TrkParams::IsLoaded( ){  Bool_t TrkParams::IsLoaded( ){
900      for(Int_t i=0 ; i<NTYPES; i++)if(!glload[i] && trkparamtype[i]>0 )return false;      for(Int_t i=0 ; i<NTYPES; i++)if(!glload[i] && trkparamtype[i]>0 )return false;
901      return true;      return true;
902  };  };
903    
904    /**
905     * Get ADC-to-MIP conversion parameters
906     * @param nl ladder number (0-2)
907     * @param nv view number (0-11)
908     */
909    float TrkParams::GetMIP(int nl, int nv){
910        TrkParams::Load(2);
911        if( !TrkParams::IsLoaded(2) )return 0.;
912        return adc2mip_.mip[nl][nv];
913    }
914    
915  /**  /**
916   * Get BY (kGauss)   * Get BY (kGauss)

Legend:
Removed from v.1.25  
changed lines
  Added in v.1.32

  ViewVC Help
Powered by ViewVC 1.1.23