42 DataObject*& refpObject ) {
44 MsgStream log(
msgSvc(),
"RootDedxCalibDataCnv" );
45 log << MSG::DEBUG <<
"SetProperty" << endmsg;
47 if ( !sc ) { log << MSG::ERROR <<
"unable to open files" << endmsg; }
55 int runno, evtfrom, evtto;
57 TTree* rungtree = (TTree*)
m_inFile->Get(
"runcalib" );
58 rungtree->SetBranchAddress(
"rungain", &rungain );
59 rungtree->SetBranchAddress(
"runmean", &runmean );
60 rungtree->SetBranchAddress(
"runno", &runno );
61 rungtree->SetBranchAddress(
"runresol", &runresol );
62 if ( rungtree->GetBranchStatus(
"evtfrom" ) )
64 rungtree->SetBranchAddress(
"evtfrom", &evtfrom );
65 rungtree->SetBranchAddress(
"evtto", &evtto );
72 int N = rungtree->GetEntries();
75 for ( i = 0; i < N; i++ )
77 rungtree->GetEntry( i );
79 tmpObject->
setrung( rungain, 0 );
80 tmpObject->
setrung( runmean, 1 );
82 tmpObject->
setrung( runresol, 3 );
83 tmpObject->
setrung( evtfrom, 4 );
93 double iner_chi[1600];
94 double iner_gain[1600];
95 double iner_hits[1600];
96 double ip_eangle[1600];
98 double out_gain[1600];
99 double out_hits[1600];
101 TTree* ddgtree = (TTree*)
m_inFile->Get(
"ddgcalib" );
102 ddgtree->SetBranchAddress(
"ddg0", ddg0 );
103 ddgtree->SetBranchAddress(
"ddg1", ddg1 );
104 ddgtree->SetBranchAddress(
"ddg2", ddg2 );
105 ddgtree->SetBranchAddress(
"ddg3", ddg3 );
106 TBranch* bbb = ddgtree->FindBranch(
"Id_doca" );
109 ddgtree->SetBranchAddress(
"Id_doca", id_doca );
110 ddgtree->SetBranchAddress(
"Iner_chi", iner_chi );
111 ddgtree->SetBranchAddress(
"Iner_gain", iner_gain );
112 ddgtree->SetBranchAddress(
"Iner_hits", iner_hits );
113 ddgtree->SetBranchAddress(
"Ip_eangle", ip_eangle );
114 ddgtree->SetBranchAddress(
"Out_chi", out_chi );
115 ddgtree->SetBranchAddress(
"Out_gain", out_gain );
116 ddgtree->SetBranchAddress(
"Out_hits", out_hits );
118 ddgtree->GetEntry( 0 );
119 for ( i = 0; i < 43; i++ )
121 tmpObject->
setddg( ddg0[i], 0, i );
122 tmpObject->
setddg( ddg1[i], 1, i );
123 tmpObject->
setddg( ddg2[i], 2, i );
124 tmpObject->
setddg( ddg3[i], 3, i );
127 for ( i = 0; i < 1600; i++ )
157 TTree* entratree = (TTree*)
m_inFile->Get(
"entracalib" );
158 entratree->SetBranchAddress(
"entra0", entra0 );
159 entratree->SetBranchAddress(
"entra1", entra1 );
160 entratree->SetBranchAddress(
"entra2", entra2 );
161 entratree->SetBranchAddress(
"entra3", entra3 );
162 entratree->SetBranchAddress(
"1denangle", engle );
163 entratree->SetBranchAddress(
"1denangle_entry", &engle_no );
164 entratree->GetEntry( 0 );
165 for ( i = 0; i < 43; i++ )
167 tmpObject->
setenta( entra0[i], 0, i );
168 tmpObject->
setenta( entra1[i], 1, i );
169 tmpObject->
setenta( entra2[i], 2, i );
170 tmpObject->
setenta( entra3[i], 3, i );
173 for ( i = 0; i < engle_no; i++ ) { tmpObject->
set_enangle( engle[i], i ); }
180 double gcostheta[80];
183 TTree* ggstree = (TTree*)
m_inFile->Get(
"ggscalib" );
184 ggstree->SetBranchAddress(
"ggs0", ggs0 );
185 ggstree->SetBranchAddress(
"ggs1", ggs1 );
186 ggstree->SetBranchAddress(
"ggs2", ggs2 );
187 ggstree->SetBranchAddress(
"ggs3", ggs3 );
188 ggstree->SetBranchAddress(
"hadron", hadron );
189 ggstree->SetBranchAddress(
"hadronNo", &hadron_entry );
190 if ( bbb ) { ggstree->SetBranchAddress(
"costheta", gcostheta ); }
191 ggstree->GetEntry( 0 );
192 for ( i = 0; i < 43; i++ )
194 tmpObject->
setggs( ggs0[i], 0, i );
195 tmpObject->
setggs( ggs1[i], 1, i );
196 tmpObject->
setggs( ggs2[i], 2, i );
197 tmpObject->
setggs( ggs3[i], 3, i );
200 for ( i = 0; i < 80; i++ )
202 if ( !bbb ) gcostheta[i] = 0;
206 if ( hadron_entry > 20 )
208 log << MSG::FATAL <<
"hadron entry is larger than 20, larger than designed" << endmsg;
209 return StatusCode::FAILURE;
214 for ( i = 0; i < hadron_entry; i++ ) { tmpObject->
set_hadron( hadron[i], i ); }
221 TTree* zdeptree = (TTree*)
m_inFile->Get(
"zdepcalib" );
222 zdeptree->SetBranchAddress(
"zdep0", zdep0 );
223 zdeptree->SetBranchAddress(
"zdep1", zdep1 );
224 zdeptree->SetBranchAddress(
"zdep2", zdep2 );
225 zdeptree->SetBranchAddress(
"zdep3", zdep3 );
226 zdeptree->GetEntry( 0 );
228 for ( i = 0; i < 43; i++ )
230 tmpObject->
setzdep( zdep0[i], 0, i );
231 tmpObject->
setzdep( zdep1[i], 1, i );
232 tmpObject->
setzdep( zdep2[i], 2, i );
233 tmpObject->
setzdep( zdep3[i], 3, i );
238 double gt0[35], gdedx[35];
239 TTree* gaintree = (TTree*)
m_inFile->Get(
"gaincalib" );
240 gaintree->SetBranchAddress(
"gain", &gain );
243 gaintree->SetBranchAddress(
"t0", gt0 );
244 gaintree->SetBranchAddress(
"dedx", gdedx );
246 gaintree->GetEntry( 0 );
248 for ( i = 0; i < 35; i++ )
255 tmpObject->
set_t0( gt0[i], i );
261 TTree* resoltree = (TTree*)
m_inFile->Get(
"resolcalib" );
262 resoltree->SetBranchAddress(
"resol", &resol );
263 resoltree->GetEntry( 0 );
268 TTree* wiregtree = (TTree*)
m_inFile->Get(
"wiregcalib" );
269 wiregtree->SetBranchAddress(
"wireg", wireg );
270 wiregtree->GetEntry( 0 );
271 for ( i = 0; i < 6796; i++ ) { tmpObject->
setwireg( wireg[i], i ); }
275 TTree* layergtree = (TTree*)
m_inFile->Get(
"layergcalib" );
276 layergtree->SetBranchAddress(
"layerg", layerg );
277 layergtree->GetEntry( 0 );
279 for ( i = 0; i < 43; i++ ) { tmpObject->
setlayerg( layerg[i], i ); }
281 refpObject = tmpObject;
288 return StatusCode::SUCCESS;