63 {
64
65 MsgStream log(
msgSvc(),
"TreeTofCalibDataCnv");
66 log<<MSG::DEBUG<<"SetProperty"<<endreq;
67
69
71
72 TBufferFile *buf1 = new TBufferFile(TBuffer::kRead);
73 TBufferFile *buf2 = new TBufferFile(TBuffer::kRead);
74 TBufferFile *buf3 = new TBufferFile(TBuffer::kRead);
75 TBufferFile *buf4 = new TBufferFile(TBuffer::kRead);
76 TBufferFile *buf5 = 0;
77 TBufferFile *buf6 = 0;
78
79 buf1->SetBuffer((*records)["BarTofPar"],2048000,kFALSE);
80 buf2->SetBuffer((*records)["EndTofPar"],2048000,kFALSE);
81 buf3->SetBuffer((*records)["TofConPar"],2048000,kFALSE);
82 buf4->SetBuffer((*records)["BarTof"], 2048000,kFALSE);
83 if( (*records)["EtfTofPar"]!=0 ) {
84 buf5 = new TBufferFile(TBuffer::kRead);
85 buf5->SetBuffer((*records)["EtfTofPar"],2048000,kFALSE);
86 }
87 if( (*records)["EtfTofBunch"]!=0 ) {
88 buf6 = new TBufferFile(TBuffer::kRead);
89 buf6->SetBuffer((*records)["EtfTofBunch"],2048000,kFALSE);
90 }
91
92 std::cout<<" SftVer is "<<(*records)["SftVer"];
93 std::cout<<" CalVerSft is "<<(*records)["CalParVer"];
94 std::cout<<" File name is "<<(*records)["FileName"]<<std::endl;
95
96 TTree *btoftree = new TTree();
97 TTree *etoftree = new TTree();
98 TTree *etftree = new TTree();
99 TTree *etfbunchtree = new TTree();
100 TTree *btofcommontree = new TTree();
101 TTree *CalibInfo = new TTree();
102
103 btoftree->Streamer(*buf1);
104 etoftree->Streamer(*buf2);
105 btofcommontree->Streamer(*buf3);
106 CalibInfo->Streamer(*buf4);
107 if( buf5 ) {
108 etftree->Streamer(*buf5);
109 }
110 if( buf6 ) {
111 etfbunchtree->Streamer(*buf6);
112 }
113
120
121 std::vector<CalibData::bTofCalibBase> tmpbTof;
122 std::vector<CalibData::eTofCalibBase> tmpeTof;
123 std::vector<CalibData::etfCalibBase> tmpetf;
124 std::vector<CalibData::etfBunchCalibBase> tmpetfBunch;
125 std::vector<CalibData::bTofCommonCalibBase> tmpbTofCommon;
126 std::vector<CalibData::tofCalibInfoBase> tofinfoCol;
127
128
129 int cnt;
130
146
147 char brname[10];
148 for(
unsigned int i=0; i<
nBarAtten; i++ ) {
149 sprintf( brname,
"Atten%i", i );
151 }
152 for(
unsigned int i=0; i<
nBarSpeed; i++ ) {
153 sprintf( brname,
"Speed%i", i );
155 }
156 for(
unsigned int i=0; i<
nBarPar; i++ ) {
159 }
160 for(
unsigned int i=0; i<
nBarPar; i++ ) {
163 }
165 sprintf( brname,
"Bunch0_Poff%i", i );
167 }
171 }
173 sprintf( brname,
"Bunch1_Poff%i", i );
175 }
179 }
181 sprintf( brname,
"Bunch2_Poff%i", i );
183 }
187 }
189 sprintf( brname,
"Bunch3_Poff%i", i );
191 }
195 }
196 for(
unsigned int i=0; i<
nBarSigma; i++ ) {
197 sprintf( brname,
"FLeft%i", i );
199 }
200 for(
unsigned int i=0; i<
nBarSigma; i++ ) {
201 sprintf( brname,
"FRight%i", i );
203 }
205 sprintf( brname,
"FCounter%i", i );
207 }
208
209 unsigned int btofN = btoftree->GetEntries();
210 for(cnt=0; cnt<btofN; cnt++){
214 bTof.
setP1( cnvBarPar1 );
215 bTof.
setP2( cnvBarPar2 );
227 tmpbTof.push_back(bTof);
228 }
229
230
235
236 char ecname[10];
237 for(
unsigned int i=0; i<
nEndAtten; i++ ) {
238 sprintf( ecname,
"Atten%i", i );
240 }
241 for(
unsigned int i=0; i<
nEndSpeed; i++ ) {
242 sprintf( ecname,
"Speed%i", i );
244 }
245 for(
unsigned int i=0; i<
nEndPar; i++ ) {
248 }
249 for(
unsigned int i=0; i<
nEndSigma; i++ ) {
250 sprintf( ecname,
"FCounter%i", i );
252 }
253
254 unsigned int etofN = etoftree->GetEntries();
255 for(cnt=0; cnt<etofN; cnt++){
259 eTof.
setP( cnvEndPar );
260 eTof.
setFP( cnvEndFPar );
261 tmpeTof.push_back(eTof);
262 }
263
264
265
266 if( etftree->GetEntries() != 0 ) {
267
272
273 char etfname[10];
274 for(
unsigned int i=0; i<
nEtfSpeed; i++ ) {
275 sprintf( etfname,
"Speed%i", i );
277 }
278 for(
unsigned int i=0; i<
nEtfPar; i++ ) {
285 }
286
287 unsigned int etfN = etftree->GetEntries();
288 for(cnt=0; cnt<etfN; cnt++){
291 etf.
setP( cnvEtfPar );
292 etf.
setP1( cnvEtfPar1 );
293 etf.
setP2( cnvEtfPar2 );
294 tmpetf.push_back(etf);
295 }
296
297 }
298
299
300
301 if( etfbunchtree->GetEntries() != 0 ) {
303 char etfbunchname[10];
304 for(
unsigned int i=0; i<
nEtfBunch; i++ ) {
305 sprintf( etfbunchname,
"pbunch%i", i );
307 }
308 int entries= etfbunchtree->GetEntries();
309 for(cnt=0;cnt<entries;cnt++){
312 tmpetfBunch.push_back( etfBunch );
313 }
314 }
315
316
317
321 sprintf( brname,
"sigmaCorr%i", i );
323 }
325 sprintf( brname,
"t0offset%i", i );
327 }
328
329 int entries = btofcommontree->GetEntries();
330 for(cnt=0;cnt<entries;cnt++){
331 btofcommontree->GetEntry(cnt);
334 tmpbTofCommon.push_back(bTofCommon);
335 }
336
337 int m_runFrom, m_runTo, m_eventFrom, m_eventTo;
338 int m_run1, m_run2, m_version;
339 int m_qCorr, m_qElec, m_misLable;
340 int m_tofidEast[5], m_tofidWest[5], m_tofidEndcap[5];
341
342 if( CalibInfo->GetBranchStatus( "runFrom" ) ) {
343 CalibInfo->SetBranchAddress("runFrom", &m_runFrom );
344 CalibInfo->SetBranchAddress("runTo", &m_runTo );
345 CalibInfo->SetBranchAddress("eventFrom",&m_eventFrom );
346 CalibInfo->SetBranchAddress("eventTo", &m_eventTo );
347 }
348 else {
349 m_runFrom = -1;
350 m_runTo = -1;
351 m_eventFrom = -1;
352 m_eventTo = -1;
353 }
354 CalibInfo->SetBranchAddress("Run1", &m_run1 );
355 CalibInfo->SetBranchAddress("Run2", &m_run2 );
356 CalibInfo->SetBranchAddress("Version", &m_version );
357 CalibInfo->SetBranchAddress("ebrId0", &m_tofidEast[0] );
358 CalibInfo->SetBranchAddress("ebrId1", &m_tofidEast[1] );
359 CalibInfo->SetBranchAddress("ebrId2", &m_tofidEast[2] );
360 CalibInfo->SetBranchAddress("ebrId3", &m_tofidEast[3] );
361 CalibInfo->SetBranchAddress("ebrId4", &m_tofidEast[4] );
362 CalibInfo->SetBranchAddress("ecId0", &m_tofidEndcap[0]);
363 CalibInfo->SetBranchAddress("ecId1", &m_tofidEndcap[1]);
364 CalibInfo->SetBranchAddress("ecId2", &m_tofidEndcap[2]);
365 CalibInfo->SetBranchAddress("ecId3", &m_tofidEndcap[3]);
366 CalibInfo->SetBranchAddress("ecId4", &m_tofidEndcap[4]);
367 CalibInfo->SetBranchAddress("wbrId0", &m_tofidWest[0] );
368 CalibInfo->SetBranchAddress("wbrId1", &m_tofidWest[1] );
369 CalibInfo->SetBranchAddress("wbrId2", &m_tofidWest[2] );
370 CalibInfo->SetBranchAddress("wbrId3", &m_tofidWest[3] );
371 CalibInfo->SetBranchAddress("wbrId4", &m_tofidWest[4] );
372 CalibInfo->SetBranchAddress("misLable", &m_misLable );
373 CalibInfo->SetBranchAddress("qCorr", &m_qCorr );
374 CalibInfo->SetBranchAddress("qElec", &m_qElec );
375
376 entries = CalibInfo->GetEntries();
377 for(cnt=0;cnt<entries;cnt++){
378 CalibInfo->GetEntry(cnt);
392 tofinfoCol.push_back(tofinfo);
393 }
394
396
397 refpObject=tmpObject;
398 delete btoftree;
399 delete etoftree;
400 delete etftree;
401 delete etfbunchtree;
402 delete btofcommontree;
403 delete CalibInfo;
404
405 return StatusCode::SUCCESS;
406}
data SetBranchAddress("time",&time)
const unsigned int nBarOffset
const unsigned int nBarParOff
const unsigned int nEndPar
const unsigned int nEtfPar
const unsigned int nBarPar
const unsigned int nBarSigma
const unsigned int nEndSigma
const unsigned int nBarSigCor
const unsigned int nEndSpeed
const unsigned int nEtfSpeed
const unsigned int nEtfBunch
const unsigned int nBarSpeed
const unsigned int nEndAtten
const unsigned int nBarAtten
const unsigned int nBarSigCnt
void setP2(const double *TofP2)
void setPoff1_bunch3(const double *TofPoff1_bunch3)
void setFPleft(const double *FP1)
void setPoff2_bunch1(const double *TofPoff2_bunch1)
void setSpeed(const double *Speed)
void setAtten(const double *Atten)
void setPoff1_bunch0(const double *TofPoff1_bunch0)
void setPoff2_bunch2(const double *TofPoff2_bunch2)
void setPoff1_bunch1(const double *TofPoff1_bunch1)
void setFPcounter(const double *FP3)
void setPoff1_bunch2(const double *TofPoff1_bunch2)
void setPoff2_bunch3(const double *TofPoff2_bunch3)
void setFPright(const double *FP2)
void setPoff2_bunch0(const double *TofPoff2_bunch0)
void setP1(const double *TofP1)
void setSigmaCorr(const double *sigmaCorr)
void setOffset(const double *offset)
void setAtten(const double *Atten)
void setP(const double *TofP)
void setFP(const double *FP)
void setSpeed(const double *Speed)
void setPBunch(const double *etfBunchP)
void setSpeed(const double *Speed)
void setP(const double *etfP)
void setP1(const double *etfP1)
void setP2(const double *etfP2)
void setRunFrom(const int runFrom)
void setBrWest(const int *tofidWest)
void setRunEnd(const int run2)
void setVersion(const int version)
void setMisLable(const int misLable)
void setRunBegin(const int run1)
void setEventTo(const int eventTo)
void setRunTo(const int runTo)
void setBrEast(const int *tofidEast)
void setQElec(const int qElec)
void setEventFrom(const int eventFrom)
void setQCorr(const int qCorr)
void setEndcap(const int *tofidEndcap)
virtual DatabaseRecord * pp()
sprintf(cut,"kal_costheta0_em>-0.93&&kal_costheta0_em<0.93&&kal_pxy0_em>=0.05+%d*0.1&&kal_pxy0_em<0.15+%d*0.1&&NGch>=2", j, j)