1#include "GaudiKernel/MsgStream.h"
12#include "GaudiKernel/CnvFactory.h"
13#include "GaudiKernel/IOpaqueAddress.h"
14#include "GaudiKernel/DataObject.h"
15#include "GaudiKernel/IAddressCreator.h"
16#include "GaudiKernel/IDataProviderSvc.h"
17#include "GaudiKernel/IConversionSvc.h"
18#include "GaudiKernel/GenericAddress.h"
63 DataObject*& refpObject) {
65 MsgStream log(
msgSvc(),
"TreeTofCalibDataCnv");
66 log<<MSG::DEBUG<<
"SetProperty"<<endreq;
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;
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);
87 if( (*records)[
"EtfTofBunch"]!=0 ) {
88 buf6 =
new TBufferFile(TBuffer::kRead);
89 buf6->SetBuffer((*records)[
"EtfTofBunch"],2048000,kFALSE);
92 std::cout<<
" SftVer is "<<(*records)[
"SftVer"];
93 std::cout<<
" CalVerSft is "<<(*records)[
"CalParVer"];
94 std::cout<<
" File name is "<<(*records)[
"FileName"]<<std::endl;
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();
103 btoftree->Streamer(*buf1);
104 etoftree->Streamer(*buf2);
105 btofcommontree->Streamer(*buf3);
106 CalibInfo->Streamer(*buf4);
108 etftree->Streamer(*buf5);
111 etfbunchtree->Streamer(*buf6);
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;
148 for(
unsigned int i=0; i<
nBarAtten; i++ ) {
149 sprintf( brname,
"Atten%i", i );
152 for(
unsigned int i=0; i<
nBarSpeed; i++ ) {
153 sprintf( brname,
"Speed%i", i );
156 for(
unsigned int i=0; i<
nBarPar; i++ ) {
160 for(
unsigned int i=0; i<
nBarPar; i++ ) {
165 sprintf( brname,
"Bunch0_Poff%i", i );
173 sprintf( brname,
"Bunch1_Poff%i", i );
181 sprintf( brname,
"Bunch2_Poff%i", i );
189 sprintf( brname,
"Bunch3_Poff%i", i );
196 for(
unsigned int i=0; i<
nBarSigma; i++ ) {
197 sprintf( brname,
"FLeft%i", i );
200 for(
unsigned int i=0; i<
nBarSigma; i++ ) {
201 sprintf( brname,
"FRight%i", i );
205 sprintf( brname,
"FCounter%i", i );
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);
237 for(
unsigned int i=0; i<
nEndAtten; i++ ) {
238 sprintf( ecname,
"Atten%i", i );
241 for(
unsigned int i=0; i<
nEndSpeed; i++ ) {
242 sprintf( ecname,
"Speed%i", i );
245 for(
unsigned int i=0; i<
nEndPar; i++ ) {
249 for(
unsigned int i=0; i<
nEndSigma; i++ ) {
250 sprintf( ecname,
"FCounter%i", i );
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);
266 if( etftree->GetEntries() != 0 ) {
274 for(
unsigned int i=0; i<
nEtfSpeed; i++ ) {
275 sprintf( etfname,
"Speed%i", i );
278 for(
unsigned int i=0; i<
nEtfPar; i++ ) {
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);
301 if( etfbunchtree->GetEntries() != 0 ) {
303 char etfbunchname[10];
304 for(
unsigned int i=0; i<
nEtfBunch; i++ ) {
305 sprintf( etfbunchname,
"pbunch%i", i );
308 int entries= etfbunchtree->GetEntries();
309 for(cnt=0;cnt<entries;cnt++){
312 tmpetfBunch.push_back( etfBunch );
321 sprintf( brname,
"sigmaCorr%i", i );
325 sprintf( brname,
"t0offset%i", i );
329 int entries = btofcommontree->GetEntries();
330 for(cnt=0;cnt<entries;cnt++){
331 btofcommontree->GetEntry(cnt);
334 tmpbTofCommon.push_back(bTofCommon);
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];
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 );
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 );
376 entries = CalibInfo->GetEntries();
377 for(cnt=0;cnt<entries;cnt++){
378 CalibInfo->GetEntry(cnt);
392 tofinfoCol.push_back(tofinfo);
397 refpObject=tmpObject;
402 delete btofcommontree;
405 return StatusCode::SUCCESS;
const CLID CLID_Calib_TofCal
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
const unsigned int nBarSigma
const unsigned int nEndSigma
const unsigned int nBarSigCor
const unsigned int nEndSpeed
const unsigned int nBarOffset
const unsigned int nBarParOff
const unsigned int nEtfSpeed
const unsigned int nEtfBunch
const unsigned int nEndPar
const unsigned int nEtfPar
const unsigned int nBarSpeed
const unsigned int nEndAtten
const unsigned int nBarAtten
const unsigned int nBarSigCnt
const unsigned int nBarPar
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()
const CLID & objType() const
virtual StatusCode i_createObj(IOpaqueAddress *address, DataObject *&refpObject)
static const CLID & classID()
TreeTofCalibDataCnv(ISvcLocator *svc)
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)
curve SetBranchAddress("CurveSize",&CurveSize)