UseTof Class Reference

Simple algorithm to test functioning of "the other" TDS. More...

#include <UseTof.h>

List of all members.

Public Member Functions

 UseTof (const std::string &name, ISvcLocator *pSvcLocator)
StatusCode initialize ()
StatusCode execute ()
StatusCode finalize ()

Private Attributes

IDataProviderSvc * m_pCalibDataSvc
ICalibRootSvcm_pRootSvc


Detailed Description

Simple algorithm to test functioning of "the other" TDS.

Definition at line 16 of file UseTof.h.


Constructor & Destructor Documentation

UseTof::UseTof ( const std::string name,
ISvcLocator *  pSvcLocator 
)

Definition at line 46 of file UseTof.cxx.

00048   : Algorithm     ( name, pSvcLocator ), m_pCalibDataSvc(0)
00049 {
00050   // Declare properties here.
00051 
00052 }


Member Function Documentation

StatusCode UseTof::execute (  ) 

Definition at line 94 of file UseTof.cxx.

References f1, genRecEmupikp::i, Bes_Common::INFO, ganga-rec::j, m_pCalibDataSvc, msgSvc(), and deljobs::string.

00094                             {
00095    
00096   MsgStream log(msgSvc(), name());
00097 
00098   // Cheat for now since Windows is having trouble finding definition
00099   // of Calibdata::Test_t
00100   std::string fullPath = "/Calib/TofCal";
00101    log << MSG::INFO<<"execute() fullPath = "<<fullPath<< endreq;
00102 
00103     SmartDataPtr<CalibData::TofCalibData> btof(m_pCalibDataSvc, fullPath);
00104 
00105    TFile *f1 = new TFile("TofCalConst.root","read");
00106 
00107     TTree *btoftree = (TTree*)f1 -> Get("BarTofPar");
00108     double fCount[10];
00109      double fLeft[5];
00110      double fRight[5];
00111    btoftree ->SetBranchAddress("FCounter0",&fCount[0]);
00112      btoftree ->SetBranchAddress("FCounter1",&fCount[1]);
00113      btoftree ->SetBranchAddress("FCounter2",&fCount[2]);
00114      btoftree ->SetBranchAddress("FCounter3",&fCount[3]);
00115      btoftree ->SetBranchAddress("FCounter4",&fCount[4]);
00116      btoftree ->SetBranchAddress("FCounter5",&fCount[5]);
00117      btoftree ->SetBranchAddress("FCounter6",&fCount[6]);
00118      btoftree ->SetBranchAddress("FCounter7",&fCount[7]);
00119      btoftree ->SetBranchAddress("FCounter8",&fCount[8]);
00120      btoftree ->SetBranchAddress("FCounter9",&fCount[9]);
00121      btoftree->SetBranchAddress("FLeft0",&fLeft[0]);
00122       btoftree->SetBranchAddress("FLeft1",&fLeft[1]);
00123      btoftree->SetBranchAddress("FLeft2",&fLeft[2]);
00124     btoftree->SetBranchAddress("FLeft3",&fLeft[3]);
00125     btoftree->SetBranchAddress("FLeft4",&fLeft[4]);
00126    btoftree->SetBranchAddress("FRight0",&fRight[0]);
00127    btoftree->SetBranchAddress("FRight1",&fRight[1]);
00128    btoftree->SetBranchAddress("FRight2",&fRight[2]);
00129    btoftree->SetBranchAddress("FRight3",&fRight[3]);
00130    btoftree->SetBranchAddress("FRight4",&fRight[4]);
00131 
00132       
00133 
00134     for(int i =0;i<176;i++)
00135       {
00136         btoftree -> GetEntry(i);
00137 
00138         double bAtten0 = btof->getBTofAtten(i,0);
00139         double bAtten1 = btof->getBTofAtten(i,1);
00140       double bP0  = btof->getBTofPleft(i,0);
00141       double bP1  = btof->getBTofPleft(i,1);
00142       double bP2  = btof->getBTofPleft(i,2);
00143       double bP3 = btof->getBTofPleft(i,3);
00144       double bP4 = btof->getBTofPleft(i,4);
00145       double bP5 = btof->getBTofPleft(i,5);
00146       double bP10 = btof->getBTofPright(i,0);
00147 
00148       //      double bQ = btof->getBTofQ(i);
00149       double bSpeed0 = btof->getBTofSpeed(i,0);
00150       double bSpeed1 = btof->getBTofSpeed(i,1);
00151       //      double bW1 = btof->getBTofW(i,0);
00152       //      double bW2 = btof->getBTofW(i,1);
00153       //      double bW3 = btof->getBTofW(i,2);
00154       //      double bW4 = btof->getBTofW(i,3);
00155     //  std::cout<<"=========================================="<<"\n";
00156    //   std::cout<<"cnt ="<<i<<"\n";
00157       double fCount1[10],fLeft1[5],fRight1[5];
00158       for(int j=0;j<10;j++){
00159         fCount1[j]=btof->getBTofFcounter(i,j);
00160         if(fCount1[j]!=fCount[j]) std::cout<<"error error error error"<<std::endl;  
00161  //      std::cout<<"
00162    //     std::cout<<"   fCount["<<j<<"]="<<fCount[j]<<"    fCount1["<<j<<"]="<<fCount1[j];
00163       }
00164  //  std::cout<<"\n"<<"=========================================="<<"\n";
00165     for(int j=0;j<5;j++){
00166         fLeft1[j]=btof->getBTofFleft(i,j);
00167      if(fLeft1[j]!=fLeft[j]) std::cout<<"error error error error"<<std::endl;
00168     //    std::cout<<"   fLeft["<<j<<"]="<<fLeft[j];
00169       }
00170 //    std::cout<<"\n"<<"=========================================="<<"\n";
00171 
00172     for(int j=0;j<5;j++){
00173         fRight1[j]=btof->getBTofFright(i,j);
00174         if( fRight1[j]!= fRight[j])  std::cout<<"error error error error"<<std::endl;
00175   //      std::cout<<"   fRight["<<j<<"]="<<fRight[j];
00176       }
00177 
00178  
00179  /*     std::cout<<"Atten0="<<bAtten0<<"Atten1="<<bAtten1<<"Q="<<bQ<<"Speed0="<<bSpeed0<<"Speed1="<<bSpeed1<<"P0="<<bP0<<"P1="<<bP1<<"P2="<<bP2<<"P3="<<bP3<<"P4="<<bP4<<"P10="<<bP10;
00180       std::cout<<"\n";
00181       std::cout<<"P5="<<bP5<<"Q="<<bQ;
00182       std::cout<<"W1="<<bW1<<"W2="<<bW2<<"W3="<<bW3<<"W4="<<bW4;
00183       std::cout<<"\n";*/
00184       /*
00185       std::cout<<"Atten[1]="<<*(bAtten+1)<<"P0[1]="<<*(bP0+1)<<"P1[1]="<<*(bP1+1)<<"P2[1]="<<*(bP2+1)<<"P3[1]="<<*(bP3+1)<<"P4[1]="<<*(bP4+1);
00186       std::cout<<"\n";
00187       std::cout<<"P5[1]="<<*(bP5+1)<<"S[1]="<<*(bS+1)<<"SS[1]="<<*(bSS+1)<<"Veff[1]="<<*(bVeff+1);
00188       */
00189       }   
00190 /*   for(int i =0;i<96;i++)
00191       {
00192         double eAtten0 = btof->getETofAtten(i,0);
00193         double eAtten1 = btof->getETofAtten(i,1);
00194         double eP0  = btof->getETofP(i,0);
00195         double eP1  = btof->getETofP(i,1);
00196         double eP2  = btof->getETofP(i,2);
00197         double eP3 = btof->getETofP(i,3);
00198         double eP4 = btof->getETofP(i,4);
00199         double eP5 = btof->getETofP(i,5);
00200         double eP6 = btof->getETofP(i,6);
00201         double eSpeed0 = btof->getETofSpeed(i,0);
00202         double eSpeed1 = btof->getETofSpeed(i,1);
00203 
00204         std::cout<<"=========================================="<<"\n";
00205         std::cout<<"cnt ="<<i<<"\n";
00206         
00207         std::cout<<"Atten0="<<eAtten0<<"Atten1="<<eAtten1<<"Speed0="<<eSpeed0<<"Speed1="<<eSpeed1<<"P0="<<eP0<<"P1="<<eP1<<"P2="<<eP2<<"P3="<<eP3<<"P4="<<eP4<<"P6="<<eP6;
00208         std::cout<<"\n";
00209         std::cout<<"P5="<<eP5;
00210         std::cout<<"\n";
00211       }
00212 */
00213 
00214 /*double  P_b[20];
00215     TTree *btofinnertree = (TTree*)f1 -> Get("BarTofParInner");
00216     btofinnertree->SetBranchAddress("P0",&P_b[0]);
00217     btofinnertree->SetBranchAddress("P1",&P_b[1]);
00218     btofinnertree->SetBranchAddress("P2",&P_b[2]);
00219     btofinnertree->SetBranchAddress("P3",&P_b[3]);
00220     btofinnertree->SetBranchAddress("P4",&P_b[4]);
00221     btofinnertree->SetBranchAddress("P5",&P_b[5]);
00222     btofinnertree->SetBranchAddress("P6",&P_b[6]);
00223     btofinnertree->SetBranchAddress("P7",&P_b[7]);
00224     btofinnertree->SetBranchAddress("P8",&P_b[8]);
00225     btofinnertree->SetBranchAddress("P9",&P_b[9]);
00226     btofinnertree->SetBranchAddress("P10",&P_b[10]);
00227     btofinnertree->SetBranchAddress("P11",&P_b[11]);
00228     btofinnertree->SetBranchAddress("P12",&P_b[12]);
00229     btofinnertree->SetBranchAddress("P13",&P_b[13]);
00230     btofinnertree->SetBranchAddress("P14",&P_b[14]);
00231     btofinnertree->SetBranchAddress("P15",&P_b[15]);
00232     btofinnertree->SetBranchAddress("P16",&P_b[16]);
00233     btofinnertree->SetBranchAddress("P17",&P_b[17]);
00234     btofinnertree->SetBranchAddress("P18",&P_b[18]);
00235     btofinnertree->SetBranchAddress("P19",&P_b[19]);
00236 
00237    for(int i=0;i<88;i++){
00238     btofinnertree->GetEntry(i);
00239    double P[20];
00240    std::cout<<"\n"<<" i=================       "<<i<<std::endl;
00241     for(int j=0;j<10;j++){
00242  //      P[j]=btof->getBTofInnerPleft(i,j);
00243  
00244         std::cout<<"   P["<<j<<"]"<< P[j];
00245   }
00246    
00247  for(int j=0;j<10;j++){
00248 //       P[j+10]=btof->getBTofInnerPright(i,j);
00249         std::cout<<"    P["<<j+10<<"]"<< P[j+10];
00250 }
00251 */
00252 /*if(P_b[16]!=P[16]){
00253   std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl;
00254   std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl;
00255  std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl;
00256  std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl;
00257  std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl; 
00258 std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl;
00259  std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl;
00260 }
00261  std::cout<<"\n";
00262 if(P[16]>0){
00263 std::cout<<"aaa"<<std::endl;
00264 }
00265 std::cout<<"P_b[16]===="<<P_b[16]<<"P_[16]"<<P[16]<<std::endl;
00266  }
00267  */
00268   double sigma[8];
00269 
00270    for(int i=0;i<8;i++){
00271     sigma[i]=btof->getBTofSigmaCorr(i);
00272    std::cout<<" sigma["<<i<<"]="<< sigma[i];
00273 }
00274  std::cout<<"\n";
00275 
00276   std::cout<<"t0offset0 ="<< btof->getBTofOffset(0)<<"   t0offset1 ="<< btof->getBTofOffset(1)<<std::endl;
00277 
00278 std::cout<<" btof->getRunBegin()"<<btof->getRunBegin();
00279  std::cout<<"btof->getRunEnd()"<<btof->getRunEnd();
00280  std::cout<<"btof->getVersion()"<<btof->getVersion();
00281  std::cout<<"btof->getQCorr()"<<btof->getQCorr();
00282  std::cout<<"btof->getMisLable()"<<btof->getMisLable();
00283  std::cout<<"btof->getQElec()"<<btof->getQElec();
00284  for(int i=0;i<5;i++){
00285     std::cout<<"i==="<<i<<std::endl;
00286     std::cout<<"  btof->getBrEast(int index)"<<btof->getBrEast(i);
00287     std::cout<<"  btof->getBrWest(int index)"<<btof->getBrWest(i);
00288     std::cout<<"  btof->getEndcap(int index)"<<btof->getEndcap(i);
00289 }
00290        //maqm comment because cann't write 
00291    //    m_pRootSvc->writeToRoot("./Tof_test.root", fullPath);
00292   
00293   return StatusCode::SUCCESS;
00294 }

StatusCode UseTof::finalize (  ) 

Definition at line 298 of file UseTof.cxx.

References Bes_Common::INFO, and msgSvc().

00298                              {
00299 
00300   MsgStream log(msgSvc(), name());
00301   log << MSG::INFO 
00302       << "        UseTof FINALIZE!! "
00303       << endreq;
00304   
00305   return StatusCode::SUCCESS;
00306 }

StatusCode UseTof::initialize (  ) 

Definition at line 55 of file UseTof.cxx.

References Bes_Common::DEBUG, calibUtil::ERROR, Bes_Common::INFO, m_pCalibDataSvc, m_pRootSvc, and msgSvc().

00055                               {
00056   StatusCode sc;
00057   MsgStream log(msgSvc(), name());
00058   log << MSG::INFO << "Initialize()" << endreq;
00059 
00060   // So far don't have any properties, but in case we do some day..
00061 //  setProperties();
00062 
00063    log<<MSG::INFO << "setProperties()" << endreq;
00064   
00065    sc = service("CalibDataSvc", m_pCalibDataSvc, true);
00066 
00067   if ( !sc.isSuccess() ) {
00068     log << MSG::ERROR 
00069         << "Could not get IDataProviderSvc interface of CalibXmlCnvSvc" 
00070         << endreq;
00071     return sc;
00072   } else {
00073     log << MSG::DEBUG 
00074         << "Retrieved IDataProviderSvc interface of CalibXmlCnvSvc" 
00075         << endreq;
00076   }
00077   
00078   sc = service("CalibRootCnvSvc", m_pRootSvc, true);
00079   if ( !sc.isSuccess() ) {
00080     log << MSG::ERROR 
00081         << "Could not get ICalibRootSvc interface of CalibRootCnvSvc" 
00082         << endreq;
00083     return sc;
00084   }
00085   // Get properties from the JobOptionsSvc
00086   
00087  sc = setProperties();
00088 
00089  return StatusCode::SUCCESS;
00090 
00091 }


Member Data Documentation

IDataProviderSvc* UseTof::m_pCalibDataSvc [private]

Definition at line 28 of file UseTof.h.

Referenced by execute(), and initialize().

ICalibRootSvc* UseTof::m_pRootSvc [private]

Definition at line 29 of file UseTof.h.

Referenced by initialize().


Generated on Tue Nov 29 23:36:20 2016 for BOSS_7.0.2 by  doxygen 1.4.7