191 {
192 MsgStream log(
msgSvc(), name() );
193 SmartDataPtr<Event::EventHeader> eventHeader( m_eventSvc, "/Event/EventHeader" );
194 int run = eventHeader->runNumber();
195
196
197 char stmt1[400];
198 StatusCode st1;
199
200
201 int runfrm1;
202 int runto1;
203 std::string cType;
204
205 if ( run < 0 )
206 {
207
208 run = -run;
209 }
210
211 if ( m_bossRelease == "default" ) m_bossRelease = getenv( "BES_RELEASE" );
212
213 cType = "EmcShEnCalib";
214
215 st1 =
getSftParVer( m_bossVer, m_calPar, runfrm1, runto1, run, m_bossRelease, cType );
216
218 "select RunFrom,RunTo,singleGammaCalib,pi0Calib from EmcShEnCalibConst where "
219 "SftVer = '%s' and RunFrom <= "
220 "%d and RunTo >= %d ",
221 m_bossVer.c_str(), run, run );
222
223 DatabaseRecordVector res;
224 int row_no =
m_dbsvc->query(
"offlinedb", stmt1, res );
225
226 if ( row_no > 0 )
227 {
228 DatabaseRecord& dbrec = *res[row_no - 1];
229 m_SingleGammaCalibFile = dbrec.
GetString(
"singleGammaCalib" );
230 m_Pi0CalibFile = dbrec.
GetString(
"pi0Calib" );
231 m_RunFrom = dbrec.
GetInt(
"RunFrom" );
232 m_RunTo = dbrec.
GetInt(
"RunTo" );
233
234
235
236
237
238
239
240
241
242
243 return true;
244 }
245 else if ( row_no <= 0 )
246 {
247 cout << " EmcShEnCalibSvc:: can not found EmcShEnCalibSvc information of run:" << run
248 << ", boss version " << m_bossRelease << endl;
249 exit( 1 );
250 return false;
251 }
252 return true;
253}
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)
int GetInt(std::string key)
std::string GetString(std::string key)
StatusCode getSftParVer(std::string &SftVer, std::string &CalParVer, int &runfrm, int &runto, int RunNo, std::string BossRelease, std::string DataType)