#include <UseTof.h>
Public Member Functions | |
UseTof (const std::string &name, ISvcLocator *pSvcLocator) | |
StatusCode | initialize () |
StatusCode | execute () |
StatusCode | finalize () |
Private Attributes | |
IDataProviderSvc * | m_pCalibDataSvc |
ICalibRootSvc * | m_pRootSvc |
Definition at line 16 of file UseTof.h.
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 }
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 }
IDataProviderSvc* UseTof::m_pCalibDataSvc [private] |
ICalibRootSvc* UseTof::m_pRootSvc [private] |