BOSS 7.0.6
BESIII Offline Software System
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 16 of file UseTof.h.

Constructor & Destructor Documentation

◆ UseTof()

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

Definition at line 46 of file UseTof.cxx.

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

Member Function Documentation

◆ execute()

StatusCode UseTof::execute ( )

Definition at line 94 of file UseTof.cxx.

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

◆ finalize()

StatusCode UseTof::finalize ( )

Definition at line 295 of file UseTof.cxx.

295 {
296
297 MsgStream log(msgSvc(), name());
298 log << MSG::INFO
299 << " UseTof FINALIZE!! "
300 << endreq;
301
302 return StatusCode::SUCCESS;
303}

◆ initialize()

StatusCode UseTof::initialize ( )

Definition at line 55 of file UseTof.cxx.

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

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