BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
UseTof Class Reference

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

#include <UseTof.h>

Inheritance diagram for UseTof:

Public Member Functions

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

Detailed Description

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

Definition at line 17 of file UseTof.h.

Constructor & Destructor Documentation

◆ UseTof()

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

Definition at line 47 of file UseTof.cxx.

48 : Algorithm( name, pSvcLocator ), m_pCalibDataSvc( 0 ) {
49 // Declare properties here.
50}

Member Function Documentation

◆ execute()

StatusCode UseTof::execute ( )

Definition at line 86 of file UseTof.cxx.

86 {
87
88 MsgStream log( msgSvc(), name() );
89
90 // Cheat for now since Windows is having trouble finding definition
91 // of Calibdata::Test_t
92 std::string fullPath = "/Calib/TofCal";
93 log << MSG::INFO << "execute() fullPath = " << fullPath << endmsg;
94
95 SmartDataPtr<CalibData::TofCalibData> btof( m_pCalibDataSvc, fullPath );
96
97 TFile* f1 = new TFile( "TofCalConst.root", "read" );
98
99 TTree* btoftree = (TTree*)f1->Get( "BarTofPar" );
100 double fCount[10];
101 double fLeft[5];
102 double fRight[5];
103 btoftree->SetBranchAddress( "FCounter0", &fCount[0] );
104 btoftree->SetBranchAddress( "FCounter1", &fCount[1] );
105 btoftree->SetBranchAddress( "FCounter2", &fCount[2] );
106 btoftree->SetBranchAddress( "FCounter3", &fCount[3] );
107 btoftree->SetBranchAddress( "FCounter4", &fCount[4] );
108 btoftree->SetBranchAddress( "FCounter5", &fCount[5] );
109 btoftree->SetBranchAddress( "FCounter6", &fCount[6] );
110 btoftree->SetBranchAddress( "FCounter7", &fCount[7] );
111 btoftree->SetBranchAddress( "FCounter8", &fCount[8] );
112 btoftree->SetBranchAddress( "FCounter9", &fCount[9] );
113 btoftree->SetBranchAddress( "FLeft0", &fLeft[0] );
114 btoftree->SetBranchAddress( "FLeft1", &fLeft[1] );
115 btoftree->SetBranchAddress( "FLeft2", &fLeft[2] );
116 btoftree->SetBranchAddress( "FLeft3", &fLeft[3] );
117 btoftree->SetBranchAddress( "FLeft4", &fLeft[4] );
118 btoftree->SetBranchAddress( "FRight0", &fRight[0] );
119 btoftree->SetBranchAddress( "FRight1", &fRight[1] );
120 btoftree->SetBranchAddress( "FRight2", &fRight[2] );
121 btoftree->SetBranchAddress( "FRight3", &fRight[3] );
122 btoftree->SetBranchAddress( "FRight4", &fRight[4] );
123
124 for ( int i = 0; i < 176; i++ )
125 {
126 btoftree->GetEntry( i );
127
128 double bAtten0 = btof->getBTofAtten( i, 0 );
129 double bAtten1 = btof->getBTofAtten( i, 1 );
130 double bP0 = btof->getBTofPleft( i, 0 );
131 double bP1 = btof->getBTofPleft( i, 1 );
132 double bP2 = btof->getBTofPleft( i, 2 );
133 double bP3 = btof->getBTofPleft( i, 3 );
134 double bP4 = btof->getBTofPleft( i, 4 );
135 double bP5 = btof->getBTofPleft( i, 5 );
136 double bP10 = btof->getBTofPright( i, 0 );
137
138 // double bQ = btof->getBTofQ(i);
139 double bSpeed0 = btof->getBTofSpeed( i, 0 );
140 double bSpeed1 = btof->getBTofSpeed( i, 1 );
141 // double bW1 = btof->getBTofW(i,0);
142 // double bW2 = btof->getBTofW(i,1);
143 // double bW3 = btof->getBTofW(i,2);
144 // double bW4 = btof->getBTofW(i,3);
145 // std::cout<<"=========================================="<<"\n";
146 // std::cout<<"cnt ="<<i<<"\n";
147 double fCount1[10], fLeft1[5], fRight1[5];
148 for ( int j = 0; j < 10; j++ )
149 {
150 fCount1[j] = btof->getBTofFcounter( i, j );
151 if ( fCount1[j] != fCount[j] ) std::cout << "error error error error" << std::endl;
152 // std::cout<<"
153 // std::cout<<" fCount["<<j<<"]="<<fCount[j]<<" fCount1["<<j<<"]="<<fCount1[j];
154 }
155 // std::cout<<"\n"<<"=========================================="<<"\n";
156 for ( int j = 0; j < 5; j++ )
157 {
158 fLeft1[j] = btof->getBTofFleft( i, j );
159 if ( fLeft1[j] != fLeft[j] ) std::cout << "error error error error" << std::endl;
160 // std::cout<<" fLeft["<<j<<"]="<<fLeft[j];
161 }
162 // std::cout<<"\n"<<"=========================================="<<"\n";
163
164 for ( int j = 0; j < 5; j++ )
165 {
166 fRight1[j] = btof->getBTofFright( i, j );
167 if ( fRight1[j] != fRight[j] ) std::cout << "error error error error" << std::endl;
168 // std::cout<<" fRight["<<j<<"]="<<fRight[j];
169 }
170
171 /* std::cout<<"Atten0="<<bAtten0<<"Atten1="<<bAtten1<<"Q="<<bQ<<"Speed0="<<bSpeed0<<"Speed1="<<bSpeed1<<"P0="<<bP0<<"P1="<<bP1<<"P2="<<bP2<<"P3="<<bP3<<"P4="<<bP4<<"P10="<<bP10;
172 std::cout<<"\n";
173 std::cout<<"P5="<<bP5<<"Q="<<bQ;
174 std::cout<<"W1="<<bW1<<"W2="<<bW2<<"W3="<<bW3<<"W4="<<bW4;
175 std::cout<<"\n";*/
176 /*
177 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);
178 std::cout<<"\n";
179 std::cout<<"P5[1]="<<*(bP5+1)<<"S[1]="<<*(bS+1)<<"SS[1]="<<*(bSS+1)<<"Veff[1]="<<*(bVeff+1);
180 */
181 }
182 /* for(int i =0;i<96;i++)
183 {
184 double eAtten0 = btof->getETofAtten(i,0);
185 double eAtten1 = btof->getETofAtten(i,1);
186 double eP0 = btof->getETofP(i,0);
187 double eP1 = btof->getETofP(i,1);
188 double eP2 = btof->getETofP(i,2);
189 double eP3 = btof->getETofP(i,3);
190 double eP4 = btof->getETofP(i,4);
191 double eP5 = btof->getETofP(i,5);
192 double eP6 = btof->getETofP(i,6);
193 double eSpeed0 = btof->getETofSpeed(i,0);
194 double eSpeed1 = btof->getETofSpeed(i,1);
195
196 std::cout<<"=========================================="<<"\n";
197 std::cout<<"cnt ="<<i<<"\n";
198
199 std::cout<<"Atten0="<<eAtten0<<"Atten1="<<eAtten1<<"Speed0="<<eSpeed0<<"Speed1="<<eSpeed1<<"P0="<<eP0<<"P1="<<eP1<<"P2="<<eP2<<"P3="<<eP3<<"P4="<<eP4<<"P6="<<eP6;
200 std::cout<<"\n";
201 std::cout<<"P5="<<eP5;
202 std::cout<<"\n";
203 }
204 */
205
206 /*double P_b[20];
207 TTree *btofinnertree = (TTree*)f1 -> Get("BarTofParInner");
208 btofinnertree->SetBranchAddress("P0",&P_b[0]);
209 btofinnertree->SetBranchAddress("P1",&P_b[1]);
210 btofinnertree->SetBranchAddress("P2",&P_b[2]);
211 btofinnertree->SetBranchAddress("P3",&P_b[3]);
212 btofinnertree->SetBranchAddress("P4",&P_b[4]);
213 btofinnertree->SetBranchAddress("P5",&P_b[5]);
214 btofinnertree->SetBranchAddress("P6",&P_b[6]);
215 btofinnertree->SetBranchAddress("P7",&P_b[7]);
216 btofinnertree->SetBranchAddress("P8",&P_b[8]);
217 btofinnertree->SetBranchAddress("P9",&P_b[9]);
218 btofinnertree->SetBranchAddress("P10",&P_b[10]);
219 btofinnertree->SetBranchAddress("P11",&P_b[11]);
220 btofinnertree->SetBranchAddress("P12",&P_b[12]);
221 btofinnertree->SetBranchAddress("P13",&P_b[13]);
222 btofinnertree->SetBranchAddress("P14",&P_b[14]);
223 btofinnertree->SetBranchAddress("P15",&P_b[15]);
224 btofinnertree->SetBranchAddress("P16",&P_b[16]);
225 btofinnertree->SetBranchAddress("P17",&P_b[17]);
226 btofinnertree->SetBranchAddress("P18",&P_b[18]);
227 btofinnertree->SetBranchAddress("P19",&P_b[19]);
228
229 for(int i=0;i<88;i++){
230 btofinnertree->GetEntry(i);
231 double P[20];
232 std::cout<<"\n"<<" i================= "<<i<<std::endl;
233 for(int j=0;j<10;j++){
234 // P[j]=btof->getBTofInnerPleft(i,j);
235
236 std::cout<<" P["<<j<<"]"<< P[j];
237 }
238
239 for(int j=0;j<10;j++){
240 // P[j+10]=btof->getBTofInnerPright(i,j);
241 std::cout<<" P["<<j+10<<"]"<< P[j+10];
242 }
243 */
244 /*if(P_b[16]!=P[16]){
245 std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl;
246 std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl;
247 std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl;
248 std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl;
249 std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl;
250 std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl;
251 std::cout<<"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"<<std::endl;
252 }
253 std::cout<<"\n";
254 if(P[16]>0){
255 std::cout<<"aaa"<<std::endl;
256 }
257 std::cout<<"P_b[16]===="<<P_b[16]<<"P_[16]"<<P[16]<<std::endl;
258 }
259 */
260 double sigma[8];
261
262 for ( int i = 0; i < 8; i++ )
263 {
264 sigma[i] = btof->getBTofSigmaCorr( 0, i );
265 std::cout << " sigma[" << i << "]=" << sigma[i];
266 }
267 std::cout << "\n";
268
269 std::cout << " btof->getRunBegin()" << btof->getRunBegin( 0 );
270 std::cout << "btof->getRunEnd()" << btof->getRunEnd( 0 );
271 std::cout << "btof->getVersion()" << btof->getVersion( 0 );
272 std::cout << "btof->getQCorr()" << btof->getQCorr( 0 );
273 std::cout << "btof->getMisLable()" << btof->getMisLable( 0 );
274 std::cout << "btof->getQElec()" << btof->getQElec( 0 );
275 for ( int i = 0; i < 5; i++ )
276 {
277 std::cout << "i===" << i << std::endl;
278 std::cout << " btof->getBrEast(int index)" << btof->getBrEast( 0, i );
279 std::cout << " btof->getBrWest(int index)" << btof->getBrWest( 0, i );
280 std::cout << " btof->getEndcap(int index)" << btof->getEndcap( 0, i );
281 }
282 // maqm comment because cann't write
283 // m_pRootSvc->writeToRoot("./Tof_test.root", fullPath);
284
285 return StatusCode::SUCCESS;
286}
TFile * f1
IMessageSvc * msgSvc()

◆ finalize()

StatusCode UseTof::finalize ( )

Definition at line 290 of file UseTof.cxx.

290 {
291
292 MsgStream log( msgSvc(), name() );
293 log << MSG::INFO << " UseTof FINALIZE!! " << endmsg;
294
295 return StatusCode::SUCCESS;
296}

◆ initialize()

StatusCode UseTof::initialize ( )

Definition at line 52 of file UseTof.cxx.

52 {
53 StatusCode sc;
54 MsgStream log( msgSvc(), name() );
55 log << MSG::INFO << "Initialize()" << endmsg;
56
57 // So far don't have any properties, but in case we do some day..
58 // setProperties();
59
60 log << MSG::INFO << "setProperties()" << endmsg;
61
62 sc = service( "CalibDataSvc", m_pCalibDataSvc, true );
63
64 if ( !sc.isSuccess() )
65 {
66 log << MSG::ERROR << "Could not get IDataProviderSvc interface of CalibXmlCnvSvc"
67 << endmsg;
68 return sc;
69 }
70 else
71 { log << MSG::DEBUG << "Retrieved IDataProviderSvc interface of CalibXmlCnvSvc" << endmsg; }
72
73 sc = service( "CalibRootCnvSvc", m_pRootSvc, true );
74 if ( !sc.isSuccess() )
75 {
76 log << MSG::ERROR << "Could not get ICalibRootSvc interface of CalibRootCnvSvc" << endmsg;
77 return sc;
78 }
79 // Get properties from the JobOptionsSvc
80
81 sc = setProperties();
82
83 return StatusCode::SUCCESS;
84}

The documentation for this class was generated from the following files: