18 MsgStream log(
msgSvc(), name());
19 log << MSG::INFO <<
"in initialize()" << endmsg;
21 StatusCode sc = service(
"InjSigIntervalSvc", m_InjSigIntervalSvc);
22 if (sc != StatusCode::SUCCESS) {
23 log << MSG::FATAL <<
"can not use InjSigIntervalSvc" << endmsg;
26 sc = service(
"InjSigTimeSvc", m_InjSigTimeSvc);
27 if (sc != StatusCode::SUCCESS) {
28 log << MSG::FATAL <<
"can not use InjSigTimeSvc" << endmsg;
31 sc = service(
"OfflineEvtFilterSvc", m_evtFilterSvc);
32 if (sc != StatusCode::SUCCESS) {
33 log << MSG::FATAL <<
"can not use OfflineEvtFilterSvc" << endmsg;
37 if (m_check_etsT1_time_only) {
39 const int expected_range = 50000;
41 m_hist_etsT1 =
new TH1D(
"hist_etsT1",
"hist_etsT1", expected_range * 2 + 1, -expected_range - .5, +expected_range + .5);
43 cout <<
"creating new histograms" << endl;
45 return StatusCode::SUCCESS;
49 MsgStream log(
msgSvc(), name());
51 SmartDataPtr<Event::EventHeader> eventHeader(eventSvc(),
"/Event/EventHeader");
53 log << MSG::FATAL <<
"Could not find Event Header" << endmsg;
54 return StatusCode::FAILURE;
57 unsigned long time_etsT1 = eventHeader->etsT1();
58 long time_etsT1_timelike32 = ((time_etsT1 / 2000000) & 0x00000000ffffffffLU);
60 m_hist_etsT1->Fill(time_etsT1_timelike32);
63 if (m_lastRun == eventHeader->runNumber()) {
64 return StatusCode::SUCCESS;
66 m_lastRun = eventHeader->runNumber();
67 cout <<
"==============CheckOefDbAlg: Run " << m_lastRun <<
"====================" << endl;
69 cout <<
"shielding window" << endl;
70 cout <<
"RunFrom: " << setw(15) << m_evtFilterSvc->getRunFrom() << endl
71 <<
"RunTo: " << setw(15) << m_evtFilterSvc->getRunTo() << endl
72 <<
"EventFrom: " << setw(15) << m_evtFilterSvc->getEventFrom() << endl
73 <<
"EventTo: " << setw(15) << m_evtFilterSvc->getEventTo() << endl
74 <<
"shielding window Npar: " << setw(15) << m_evtFilterSvc->getNpar() << endl;
75 int npar = m_evtFilterSvc->getNpar();
76 for (
int i = 0; i < npar; i++) {
77 cout <<
"Flag:" << setw(15) << m_evtFilterSvc->getFlag(i) << endl
78 <<
"TBegin: " << setw(15) << m_evtFilterSvc->getTBegin(i) << endl
79 <<
"TEnd: " << setw(15) << m_evtFilterSvc->getTEnd(i) << endl;
82 cout <<
"injection interval" << endl;
83 cout <<
"TInterval: " << setw(15) << m_InjSigIntervalSvc->getTInterval() << endl;
85 cout <<
"IST" << endl;
86 cout <<
"IST Npar: " << setw(15) << m_InjSigTimeSvc->getNpar() << endl;
87 for (
int i = 0; i < m_InjSigTimeSvc->getNpar(); i++) {
88 cout <<
"IST Flag: " << setw(15) << m_InjSigTimeSvc->getFlag(i) << endl
89 <<
"IST:" << setw(15) << m_InjSigTimeSvc->getIST(i) << endl;
91 cout <<
"CheckOefDbAlg: checking OEF, npar=" << npar << endl;
92 for (
int i = 0; i < npar; i++) {
93 cout <<
"CheckOefDbAlg: OEF: flag:tBegin:tEnd = " << m_evtFilterSvc->getFlag(i)
94 <<
":" << setw(13) << m_evtFilterSvc->getTBegin(i)
95 <<
":" << setw(13) << m_evtFilterSvc->getTEnd(i) << endl;
98 return StatusCode::SUCCESS;
118static std::pair<double, double> get_new_range(TH1 *hist, std::pair<int, int> range_bin) {
129 std::stringstream ss;
130 ss <<
"hists_" << m_lastRun <<
".root";
131 cout <<
"Printing histogram to "<< ss.str().c_str() << endl;
135 std::pair<double, double> range_etsT1_value = get_new_range(m_hist_etsT1, get_range_bin(m_hist_etsT1));
136 m_hist_etsT1->GetXaxis()->SetRangeUser(range_etsT1_value.first, range_etsT1_value.second);
138 TFile *
f =
new TFile(ss.str().c_str(),
"recreate");
140 m_hist_etsT1->Write();
146 return StatusCode::SUCCESS;