178 {
179 MsgStream log(
msgSvc(), name() );
180 SmartDataPtr<Event::EventHeader> eventHeader( m_eventSvc, "/Event/EventHeader" );
181 int run = eventHeader->runNumber();
182 log << MSG::DEBUG << "Run in getEmcSatuDeadEnSvcInfo() is: " << run << endmsg;
183
184 char stmt1[400];
185 StatusCode st1;
186
187
188 int runfrm1;
189 int runto1;
190 std::string cType;
191
192 if ( run < 0 )
193 {
194 log << MSG::DEBUG << "This data is the MC sample with the Run Number: " << run << endmsg;
195 run = -run;
196 }
197
198
199
200 if ( m_bossRelease == "default" )
201 {
202 log << MSG::FATAL << " Boss Release for EmcSatuDeadEnSvc not set!" << endmsg;
203 exit( 1 );
204 }
205 else
206 {
207
208 cType = "EmcSatuDeadEn";
209
210 st1 =
getSftParVer( m_bossVer, m_calPar, runfrm1, runto1, run, m_bossRelease, cType );
211
213 "select RunFrom,RunTo,EmcSatuEn,EmcDeadEn from EmcSatuDeadEn where SftVer = "
214 "'%s' and RunFrom <= %d and "
215 "RunTo >= %d ",
216 m_bossVer.c_str(), run, run );
217 }
218
219 DatabaseRecordVector res;
220 int row_no =
m_dbsvc->query(
"offlinedb", stmt1, res );
221
222 if ( row_no > 0 )
223 {
224 DatabaseRecord& dbrec = *res[row_no - 1];
225 m_SatuEnFile = dbrec.
GetString(
"EmcSatuEn" );
226 m_DeadEnFile = dbrec.
GetString(
"EmcDeadEn" );
227 m_RunFrom = dbrec.
GetInt(
"RunFrom" );
228 m_RunTo = dbrec.
GetInt(
"RunTo" );
229
230 log << MSG::DEBUG << "BossReleaseVer=" << m_bossRelease.c_str() << "\t"
231 << "EmcSatuDeadEnBossVer=" << m_bossVer.c_str() << endmsg;
232 log << MSG::DEBUG << "m_SatuEnFile is:" << m_SatuEnFile << endmsg;
233 log << MSG::DEBUG << "m_DeadEnFile is:" << m_DeadEnFile << endmsg;
234 log << MSG::DEBUG << "m_RunFrom is:" << m_RunFrom << endmsg;
235 log << MSG::DEBUG << "m_RunTo is:" << m_RunTo << endmsg;
236 log << MSG::DEBUG << "Successfully fetch EmcSatuDeadEnSvc information for run: " << run
237 << endmsg;
238
239 return true;
240 }
241 else if ( row_no <= 0 )
242 {
243 cout << " EmcSatuDeadEnSvc:: can not found EmcSatuDeadEnSvc information of run:" << run
244 << ", boss version " << m_bossRelease << endl;
245 exit( 1 );
246 return false;
247 }
248 return true;
249}
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)