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"
50 DataObject*& refpObject) {
52 MsgStream log(
msgSvc(),
"TreeEstTofCalibDataCnv");
53 log<<MSG::DEBUG<<
"SetProperty"<<endreq;
58 TBufferFile *buf1 =
new TBufferFile(TBuffer::kRead);
59 TBufferFile *buf2 =
new TBufferFile(TBuffer::kRead);
60 TBufferFile *buf3 =
new TBufferFile(TBuffer::kRead);
61 TBufferFile *buf4 =
new TBufferFile(TBuffer::kRead);
62 TBufferFile *buf5 = 0;
64 buf1->SetBuffer((*records)[
"BarTofPar"],1024000,kFALSE);
65 buf2->SetBuffer((*records)[
"EndTofPar"],1024000,kFALSE);
66 buf3->SetBuffer((*records)[
"TofConPar"],1024000,kFALSE);
67 buf4->SetBuffer((*records)[
"BarTof"], 1024000,kFALSE);
69 if( (*records)[
"EtfTofPar"]!=0 ) {
70 buf5 =
new TBufferFile(TBuffer::kRead);
71 buf5->SetBuffer((*records)[
"EtfTofPar"],1024000,kFALSE);
74 std::cout<<
" CalVerSft is "<<(*records)[
"CalParVer"];
75 std::cout<<
" File name is "<<(*records)[
"FileName"]<<std::endl;
77 TTree *btoftree =
new TTree();
78 TTree *etoftree =
new TTree();
79 TTree *etftree =
new TTree();
80 TTree *btofcommontree =
new TTree();
81 TTree *CalibInfo =
new TTree();
83 btoftree->Streamer(*buf1);
84 etoftree->Streamer(*buf2);
85 btofcommontree->Streamer(*buf3);
86 CalibInfo->Streamer(*buf4);
88 etftree->Streamer(*buf5);
97 std::vector<CalibData::bTofCalibBase> tmpbTof;
98 std::vector<CalibData::eTofCalibBase> tmpeTof;
99 std::vector<CalibData::etfCalibBase> tmpetf;
100 std::vector<CalibData::bTofCommonCalibBase> tmpbTofCommon;
101 std::vector<CalibData::tofCalibInfoBase> tofinfoCol;
118 for(
unsigned int i=0; i<
nBarPar; i++ ) {
122 for(
unsigned int i=0; i<
nBarPar; i++ ) {
127 sprintf( brname,
"Bunch0_Poff%i", i );
135 sprintf( brname,
"Bunch1_Poff%i", i );
143 sprintf( brname,
"Bunch2_Poff%i", i );
151 sprintf( brname,
"Bunch3_Poff%i", i );
159 int entries = btoftree->GetEntries();
160 for(cnt=0; cnt<entries; cnt++){
162 bTof.
setP1( cnvBarPar1 );
163 bTof.
setP2( cnvBarPar2 );
172 tmpbTof.push_back(bTof);
180 for(
unsigned int i=0; i<
nEndPar; i++ ) {
185 entries = etoftree->GetEntries();
186 for( cnt=0; cnt<entries; cnt++ ) {
188 eTof.
setP( cnvEndPar );
189 tmpeTof.push_back( eTof );
194 if( etftree->GetEntries() != 0 ) {
201 for(
unsigned int i=0; i<
nEtfPar; i++ ) {
210 entries = etftree->GetEntries();
211 for(cnt=0; cnt<entries; cnt++){
213 etf.
setP( cnvEtfPar );
214 etf.
setP1( cnvEtfPar1 );
215 etf.
setP2( cnvEtfPar2 );
216 tmpetf.push_back(etf);
225 sprintf( brname,
"t0offset%i", i );
229 entries = btofcommontree->GetEntries();
230 for(cnt=0;cnt<entries;cnt++){
231 btofcommontree->GetEntry(cnt);
233 tmpbTofCommon.push_back(bTofCommon);
236 int m_runFrom, m_runTo, m_eventFrom, m_eventTo;
237 if( CalibInfo->GetBranchStatus(
"runFrom" ) ) {
238 CalibInfo->SetBranchAddress(
"runFrom", &m_runFrom );
239 CalibInfo->SetBranchAddress(
"runTo", &m_runTo );
240 CalibInfo->SetBranchAddress(
"eventFrom",&m_eventFrom );
241 CalibInfo->SetBranchAddress(
"eventTo", &m_eventTo );
250 entries = CalibInfo->GetEntries();
251 for(cnt=0;cnt<entries;cnt++){
252 CalibInfo->GetEntry(cnt);
257 tofinfoCol.push_back(tofinfo);
262 refpObject=tmpObject;
266 delete btofcommontree;
269 return StatusCode::SUCCESS;
const CLID CLID_Calib_EstTofCal
const unsigned int nBarOffset
const unsigned int nBarParOff
const unsigned int nEndPar
const unsigned int nEtfPar
const unsigned int nBarPar
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)
data SetBranchAddress("time",&time)
const unsigned int nBarOffset
const unsigned int nBarParOff
const unsigned int nEndPar
const unsigned int nEtfPar
const unsigned int nBarPar
void setP2(const double *TofP2)
void setPoff1_bunch3(const double *TofPoff1_bunch3)
void setPoff2_bunch1(const double *TofPoff2_bunch1)
void setPoff1_bunch0(const double *TofPoff1_bunch0)
void setPoff2_bunch2(const double *TofPoff2_bunch2)
void setPoff1_bunch1(const double *TofPoff1_bunch1)
void setPoff1_bunch2(const double *TofPoff1_bunch2)
void setPoff2_bunch3(const double *TofPoff2_bunch3)
void setPoff2_bunch0(const double *TofPoff2_bunch0)
void setP1(const double *TofP1)
void setOffset(const double *offset)
void setP(const double *TofP)
void setP(const double *etfP)
void setP1(const double *etfP1)
void setP2(const double *etfP2)
void setRunFrom(const int runFrom)
void setEventTo(const int eventTo)
void setRunTo(const int runTo)
void setEventFrom(const int eventFrom)
virtual DatabaseRecord * pp()
TreeEstTofCalibDataCnv(ISvcLocator *svc)
const CLID & objType() const
static const CLID & classID()
virtual StatusCode i_createObj(IOpaqueAddress *address, DataObject *&refpObject)