45 constexpr
int CEST(+2);
55 localTime = localtime(¤tTime);
56 int year = localTime->tm_year + 1900;
64 if (year >= 70 && year <= 137)
68 edm::LogError(
"BadTimeStamp") <<
"year reported is " << year <<
" !!" << std::endl;
73 "%4d-%02d-%02d %02d:%02d:%02d",
81 #ifdef STRIP_TRAILING_BLANKS_IN_TIMEZONE
82 unsigned int b = strlen(ts);
83 while (ts[--
b] ==
' ') {
93 std::strftime(buff,
sizeof(buff),
"%Y.%m.%d %H:%M:%S GMT", gmtime(&timeToConvert));
102 : dxBin_(ps.getParameter<
int>(
"dxBin")),
103 dxMin_(ps.getParameter<double>(
"dxMin")),
104 dxMax_(ps.getParameter<double>(
"dxMax")),
106 vxBin_(ps.getParameter<
int>(
"vxBin")),
107 vxMin_(ps.getParameter<double>(
"vxMin")),
108 vxMax_(ps.getParameter<double>(
"vxMax")),
110 phiBin_(ps.getParameter<
int>(
"phiBin")),
111 phiMin_(ps.getParameter<double>(
"phiMin")),
112 phiMax_(ps.getParameter<double>(
"phiMax")),
114 dzBin_(ps.getParameter<
int>(
"dzBin")),
115 dzMin_(ps.getParameter<double>(
"dzMin")),
116 dzMax_(ps.getParameter<double>(
"dzMax")),
123 StartAverage_(
false),
227 edm::LogInfo(
"BeamMonitor") <<
"TimeOffset = " << eventTime << std::endl;
228 TDatime
da(eventTime);
233 auto daTime =
da.Convert(kTRUE);
240 h_nTrk_lumi = iBooker.
book1D(
"nTrk_lumi",
"Num. of selected tracks vs lumi (Fit)", 20, 0.5, 20.5);
245 h_nVtx_lumi = iBooker.
book1D(
"nVtx_lumi",
"Num. of selected Vtx vs lumi (Fit)", 20, 0.5, 20.5);
249 h_nVtx_lumi_all = iBooker.
book1D(
"nVtx_lumi_all",
"Num. of selected Vtx vs lumi (Fit) all", 20, 0.5, 20.5);
267 TDatime*
da =
new TDatime();
268 gStyle->SetTimeOffset(
da->Convert(kTRUE));
272 string coord[nvar_] = {
"x",
"y",
"z",
"sigmaX",
"sigmaY",
"sigmaZ"};
273 string label[nvar_] = {
274 "x_{0} (cm)",
"y_{0} (cm)",
"z_{0} (cm)",
"#sigma_{X_{0}} (cm)",
"#sigma_{Y_{0}} (cm)",
"#sigma_{Z_{0}} (cm)"};
276 hs.reserve(kNumHists);
277 for (
int i = 0;
i < 4;
i++) {
279 for (
int ic = 0; ic < nvar_; ++ic) {
280 TString histName(coord[ic]);
285 bool createHisto =
true;
288 histName +=
"0_time";
291 histTitle +=
" coordinate of beam spot vs time (Fit)";
298 histName.Insert(0,
"PV");
301 histTitle +=
" position of primary vtx vs lumi";
304 ytitle +=
" #pm #sigma_{PV";
313 histName.Insert(0,
"PV");
316 histTitle +=
" position of primary vtx vs time";
319 ytitle +=
" #pm #sigma_{PV";
326 histName +=
"0_lumi";
329 histTitle +=
" coordinate of beam spot vs lumi (Fit)";
335 edm::LogInfo(
"BeamMonitor") <<
"hitsName = " << histName <<
"; histTitle = " <<
histTitle << std::endl;
338 tmpHs->setAxisTitle(
xtitle, 1);
339 tmpHs->setAxisTitle(
ytitle, 2);
340 tmpHs->getTH1()->SetOption(
"E1");
341 if (histName.Contains(
"time")) {
344 tmpHs->setAxisTimeDisplay(1);
345 tmpHs->setAxisTimeFormat(
"%H:%M:%S", 1);
346 tmpHs->getTH1()->GetXaxis()->SetTimeOffset(daTime);
352 tmpHs->getTH1()->SetCanExtend(TH1::kAllAxes);
353 tmpHs->setAxisTitle(
xtitle, 1);
354 tmpHs->setAxisTitle(
ytitle, 2);
355 tmpHs->getTH1()->SetOption(
"E1");
356 if (histName.Contains(
"time")) {
359 tmpHs->setAxisTimeDisplay(1);
360 tmpHs->setAxisTimeFormat(
"%H:%M:%S", 1);
361 tmpHs->getTH1()->GetXaxis()->SetTimeOffset(daTime);
367 assert(0 == strcmp(
hs[k_sigmaY0_time]->getTH1()->GetName(),
"sigmaY0_time"));
368 assert(0 == strcmp(
hs[k_PVz_lumi_all]->getTH1()->GetName(),
"PVz_lumi_all"));
385 h_x0 = iBooker.
book1D(
"BeamMonitorFeedBack_x0",
"x coordinate of beam spot (Fit)", 100, -0.01, 0.01);
389 h_y0 = iBooker.
book1D(
"BeamMonitorFeedBack_y0",
"y coordinate of beam spot (Fit)", 100, -0.01, 0.01);
397 h_sigmaX0 = iBooker.
book1D(
"BeamMonitorFeedBack_sigmaX0",
"sigma x0 of beam spot (Fit)", 100, 0, 0.05);
401 h_sigmaY0 = iBooker.
book1D(
"BeamMonitorFeedBack_sigmaY0",
"sigma y0 of beam spot (Fit)", 100, 0, 0.05);
405 h_sigmaZ0 = iBooker.
book1D(
"BeamMonitorFeedBack_sigmaZ0",
"sigma z0 of beam spot (Fit)", 100, 0, 10);
410 h_trkPt = iBooker.
book1D(
"trkPt",
"p_{T} of all reco'd tracks (no selection)", 200, 0., 50.);
416 cutFlowTable = iBooker.
book1D(
"cutFlowTable",
"Cut flow table of track selection", 9, 0, 9);
419 fitResults = iBooker.
book2D(
"fitResults",
"Results of previous good beam fit", 2, 0, 2, 8, 0, 8);
436 h_nVtx = iBooker.
book1D(
"vtxNbr",
"Reconstructed Vertices(non-fake) in all Event", 60, -0.5, 59.5);
440 h_nVtx_st = iBooker.
book1D(
"vtxNbr_SelectedTriggers",
"Reconstructed Vertices(non-fake) in Events", 60, -0.5, 59.5);
444 h_PVx[0] = iBooker.
book1D(
"PVX",
"x coordinate of Primary Vtx", 50, -0.01, 0.01);
448 h_PVy[0] = iBooker.
book1D(
"PVY",
"y coordinate of Primary Vtx", 50, -0.01, 0.01);
455 h_PVx[1] = iBooker.
book1D(
"PVXFit",
"x coordinate of Primary Vtx (Last Fit)", 50, -0.01, 0.01);
459 h_PVy[1] = iBooker.
book1D(
"PVYFit",
"y coordinate of Primary Vtx (Last Fit)", 50, -0.01, 0.01);
475 pvResults = iBooker.
book2D(
"pvResults",
"Results of fitting Primary Vertices", 2, 0, 2, 6, 0, 6);
499 sprintf(
histo,
"x0_status");
502 sprintf(
histo,
"y0_status");
505 sprintf(
histo,
"z0_status");
542 const std::time_t ftmptime = fbegintimestamp >> 32;
586 map<int, std::time_t>::iterator itbstime =
mapBeginBSTime.begin();
587 map<int, std::time_t>::iterator itpvtime =
mapBeginPVTime.begin();
657 edm::LogInfo(
"BeamMonitor") <<
" beginLuminosityBlock:: Begin of Lumi: " << nthlumi << endl;
662 const int nthlumi =
iEvent.luminosityBlock();
664 edm::LogInfo(
"BeamMonitor") <<
"analyze:: Spilt event from previous lumi section!" << std::endl;
668 edm::LogInfo(
"BeamMonitor") <<
"analyze:: Spilt event from next lumi section!!!" << std::endl;
678 refBS = *recoBeamSpotHandle;
683 auto tmphisto = static_cast<TH1F*>(
theBeamFitter->getCutFlow());
685 tmphisto->GetNbinsX(), tmphisto->GetXaxis()->GetXmin(), tmphisto->GetXaxis()->GetXmax());
688 for (
int n = 0;
n < tmphisto->GetNbinsX();
n++)
705 bool JetTrigPass =
false;
721 if (
found != string::npos) {
739 if (
pv->isFake() ||
pv->tracksSize() == 0)
779 map<int, std::vector<float> >::iterator itpvx =
mapPVx.begin();
780 map<int, std::vector<float> >::iterator itpvy =
mapPVy.begin();
781 map<int, std::vector<float> >::iterator itpvz =
mapPVz.begin();
783 map<int, std::vector<int> >::iterator itbspvinfo =
mapNPV.begin();
800 edm::LogInfo(
"BeamMonitor") <<
"endLuminosityBlock:: Lumi of the last event before endLuminosityBlock: " << nthlumi
806 const std::time_t fendtime = fendtimestamp >> 32;
825 int currentlumi = nextlumi;
826 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill:: Lumi of the current fit: " << currentlumi << endl;
827 lastlumi = currentlumi;
836 size_t SizeToRemovePV = rmLSPVi->second;
837 for (std::map<int, std::size_t>::iterator rmLSPVe =
mapLSPVStoreSize.end(); ++rmLSPVi != rmLSPVe;)
838 rmLSPVi->second -= SizeToRemovePV;
846 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill:: Size of thePVvector After removing the PVs = "
850 bool resetHistoFlag_ =
false;
856 resetHistoFlag_ =
true;
860 int countEvtLastNLS_ = 0;
863 std::map<int, std::vector<int> >::iterator mnpv =
mapNPV.begin();
864 std::map<int, std::vector<float> >::iterator mpv2 =
mapPVy.begin();
865 std::map<int, std::vector<float> >::iterator mpv3 =
mapPVz.begin();
868 ++mpv1, ++mpv2, ++mpv3, ++mnpv) {
869 std::vector<float>::iterator mpvs2 = (mpv2->second).begin();
870 std::vector<float>::iterator mpvs3 = (mpv3->second).begin();
871 for (std::vector<float>::iterator mpvs1 = (mpv1->second).begin(); mpvs1 != (mpv1->second).
end();
872 ++mpvs1, ++mpvs2, ++mpvs3) {
873 if (resetHistoFlag_) {
881 for (std::vector<int>::iterator mnpvs = (mnpv->second).begin(); mnpvs != (mnpv->second).
end(); ++mnpvs) {
882 if ((*mnpvs > 0) && (resetHistoFlag_))
885 countTotPV_ += (*mnpvs);
886 if ((*mnpvs) > MaxPVs)
892 char tmpTitlePV[100];
896 std::vector<float> DipPVInfo_;
899 if (countTotPV_ != 0) {
900 DipPVInfo_.push_back((
float)countEvtLastNLS_);
905 DipPVInfo_.push_back((
float)MaxPVs);
906 DipPVInfo_.push_back((
float)countTotPV_);
909 for (
size_t i = 0;
i < 7;
i++) {
911 DipPVInfo_.push_back(0.);
913 DipPVInfo_.push_back((
float)countEvtLastNLS_);
918 countEvtLastNLS_ = 0;
922 const int countLS_bs =
hs[k_x0_lumi]->getTH1()->GetEntries();
923 const int countLS_pv =
hs[k_PVx_lumi]->getTH1()->GetEntries();
924 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill:: countLS_bs = " << countLS_bs <<
" ; countLS_pv = " << countLS_pv
926 int LSgap_bs = currentlumi /
fitNLumi_ - countLS_bs;
927 int LSgap_pv = currentlumi /
fitPVNLumi_ - countLS_pv;
932 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill:: LSgap_bs = " << LSgap_bs <<
" ; LSgap_pv = " << LSgap_pv << std::endl;
934 for (
int ig = 0; ig < LSgap_bs; ig++) {
938 hs[k_sigmaX0_lumi]->ShiftFillLast(0., 0.,
fitNLumi_);
939 hs[k_sigmaY0_lumi]->ShiftFillLast(0., 0.,
fitNLumi_);
940 hs[k_sigmaZ0_lumi]->ShiftFillLast(0., 0.,
fitNLumi_);
943 for (
int ig = 0; ig < LSgap_pv; ig++) {
949 for (
int i = 1;
i < (currentlumi - previousLS);
968 bool doPVFit =
false;
990 std::unique_ptr<TF1> fgaus{
new TF1(
"fgaus",
"gaus")};
992 fgaus->SetLineColor(4);
994 mean = fgaus->GetParameter(1);
995 width = fgaus->GetParameter(2);
996 meanErr = fgaus->GetParError(1);
997 widthErr = fgaus->GetParError(2);
1000 hs[k_PVx_lumi_all]->setBinContent(currentlumi,
mean);
1001 hs[k_PVx_lumi_all]->setBinError(currentlumi,
width);
1004 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill:: Event time outside current range of time histograms!"
1007 hs[k_PVx_time]->setBinContent(nthBin,
mean);
1008 hs[k_PVx_time]->setBinError(nthBin,
width);
1012 hs[k_PVx_time_all]->setBinContent(jthBin,
mean);
1013 hs[k_PVx_time_all]->setBinError(jthBin,
width);
1024 tmphisto->GetNbinsX(), tmphisto->GetXaxis()->GetXmin(), tmphisto->GetXaxis()->GetXmax());
1031 mean = fgaus->GetParameter(1);
1032 width = fgaus->GetParameter(2);
1033 meanErr = fgaus->GetParError(1);
1034 widthErr = fgaus->GetParError(2);
1036 hs[k_PVy_lumi_all]->setBinContent(currentlumi,
mean);
1037 hs[k_PVy_lumi_all]->setBinError(currentlumi,
width);
1039 hs[k_PVy_time]->setBinContent(nthBin,
mean);
1040 hs[k_PVy_time]->setBinError(nthBin,
width);
1043 hs[k_PVy_time_all]->setBinContent(jthBin,
mean);
1044 hs[k_PVy_time_all]->setBinError(jthBin,
width);
1054 tmphisto->GetNbinsX(), tmphisto->GetXaxis()->GetXmin(), tmphisto->GetXaxis()->GetXmax());
1061 mean = fgaus->GetParameter(1);
1062 width = fgaus->GetParameter(2);
1063 meanErr = fgaus->GetParError(1);
1064 widthErr = fgaus->GetParError(2);
1066 hs[k_PVz_lumi_all]->setBinContent(currentlumi,
mean);
1067 hs[k_PVz_lumi_all]->setBinError(currentlumi,
width);
1069 hs[k_PVz_time]->setBinContent(nthBin,
mean);
1070 hs[k_PVz_time]->setBinError(nthBin,
width);
1073 hs[k_PVz_time_all]->setBinContent(jthBin,
mean);
1074 hs[k_PVz_time_all]->setBinError(jthBin,
width);
1084 tmphisto->GetNbinsX(), tmphisto->GetXaxis()->GetXmin(), tmphisto->GetXaxis()->GetXmax());
1098 vector<BSTrkParameters> theBSvector1 =
theBeamFitter->getBSvector();
1100 size_t PreviousRecords = 0;
1103 size_t SizeToRemove = 0;
1104 std::map<int, std::size_t>::iterator rmls =
mapLSBSTrkSize.begin();
1105 SizeToRemove = rmls->second;
1107 edm::LogInfo(
"BeamMonitor") <<
" The size to remove is = " << SizeToRemove << endl;
1108 int changedAfterThis = 0;
1110 ++rmLS, ++changedAfterThis) {
1111 if (changedAfterThis > 0) {
1112 (rmLS->second) = (rmLS->second) - SizeToRemove;
1114 PreviousRecords = (rmLS->second);
1123 std::pair<int, int> checkfitLS =
theBeamFitter->getFitLSRange();
1124 std::pair<time_t, time_t> checkfitTime =
theBeamFitter->getRefTime();
1130 vector<BSTrkParameters> theBSvector =
theBeamFitter->getBSvector();
1134 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill:: Size of theBSViector.size() After =" << theBSvector.size() << endl;
1136 bool countFitting =
false;
1137 if (theBSvector.size() >= PreviousRecords && theBSvector.size() >=
min_Ntrks_) {
1138 countFitting =
true;
1144 const TH1F& cutFlowToSubtract =
mapLSCF.begin()->second;
1146 std::map<int, TH1F>::iterator cf =
mapLSCF.begin();
1148 for (; cf !=
mapLSCF.end(); ++cf) {
1149 cf->second.Add(&cutFlowToSubtract, -1);
1170 unsigned int itrk = 0;
1171 for (vector<BSTrkParameters>::const_iterator BSTrk = theBSvector.begin(); BSTrk != theBSvector.end();
1175 double vx = BSTrk->vx();
1176 double vy = BSTrk->vy();
1177 double z0 = BSTrk->z0();
1209 <<
"; address = " << &
refBStime[0] << std::endl;
1211 <<
"; address = " << &
refBStime[1] << std::endl;
1220 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill:: [BeamFitter] Do BeamSpot Fit for LS = " << fitLS.first <<
" to "
1221 << fitLS.second << std::endl;
1231 edm::LogInfo(
"BeamMonitor") <<
"\n RESULTS OF DEFAULT FIT:" << endl;
1233 edm::LogInfo(
"BeamMonitor") <<
"[BeamFitter] fitting done \n" << endl;
1238 hs[k_sigmaX0_lumi]->ShiftFillLast(
bs.BeamWidthX(),
bs.BeamWidthXError(),
fitNLumi_);
1239 hs[k_sigmaY0_lumi]->ShiftFillLast(
bs.BeamWidthY(),
bs.BeamWidthYError(),
fitNLumi_);
1240 hs[k_sigmaZ0_lumi]->ShiftFillLast(
bs.sigmaZ(),
bs.sigmaZ0Error(),
fitNLumi_);
1241 hs[k_x0_lumi_all]->setBinContent(currentlumi,
bs.x0());
1242 hs[k_x0_lumi_all]->setBinError(currentlumi,
bs.x0Error());
1243 hs[k_y0_lumi_all]->setBinContent(currentlumi,
bs.y0());
1244 hs[k_y0_lumi_all]->setBinError(currentlumi,
bs.y0Error());
1245 hs[k_z0_lumi_all]->setBinContent(currentlumi,
bs.z0());
1246 hs[k_z0_lumi_all]->setBinError(currentlumi,
bs.z0Error());
1247 hs[k_sigmaX0_lumi_all]->setBinContent(currentlumi,
bs.BeamWidthX());
1248 hs[k_sigmaX0_lumi_all]->setBinError(currentlumi,
bs.BeamWidthXError());
1249 hs[k_sigmaY0_lumi_all]->setBinContent(currentlumi,
bs.BeamWidthY());
1250 hs[k_sigmaY0_lumi_all]->setBinError(currentlumi,
bs.BeamWidthYError());
1251 hs[k_sigmaZ0_lumi_all]->setBinContent(currentlumi,
bs.sigmaZ());
1252 hs[k_sigmaZ0_lumi_all]->setBinError(currentlumi,
bs.sigmaZ0Error());
1256 hs[k_x0_time]->setBinContent(nthBin,
bs.x0());
1257 hs[k_y0_time]->setBinContent(nthBin,
bs.y0());
1258 hs[k_z0_time]->setBinContent(nthBin,
bs.z0());
1259 hs[k_sigmaX0_time]->setBinContent(nthBin,
bs.BeamWidthX());
1260 hs[k_sigmaY0_time]->setBinContent(nthBin,
bs.BeamWidthY());
1261 hs[k_sigmaZ0_time]->setBinContent(nthBin,
bs.sigmaZ());
1262 hs[k_x0_time]->setBinError(nthBin,
bs.x0Error());
1263 hs[k_y0_time]->setBinError(nthBin,
bs.y0Error());
1264 hs[k_z0_time]->setBinError(nthBin,
bs.z0Error());
1265 hs[k_sigmaX0_time]->setBinError(nthBin,
bs.BeamWidthXError());
1266 hs[k_sigmaY0_time]->setBinError(nthBin,
bs.BeamWidthYError());
1267 hs[k_sigmaZ0_time]->setBinError(nthBin,
bs.sigmaZ0Error());
1272 hs[k_x0_time_all]->setBinContent(jthBin,
bs.x0());
1273 hs[k_y0_time_all]->setBinContent(jthBin,
bs.y0());
1274 hs[k_z0_time_all]->setBinContent(jthBin,
bs.z0());
1275 hs[k_sigmaX0_time_all]->setBinContent(jthBin,
bs.BeamWidthX());
1276 hs[k_sigmaY0_time_all]->setBinContent(jthBin,
bs.BeamWidthY());
1277 hs[k_sigmaZ0_time_all]->setBinContent(jthBin,
bs.sigmaZ());
1278 hs[k_x0_time_all]->setBinError(jthBin,
bs.x0Error());
1279 hs[k_y0_time_all]->setBinError(jthBin,
bs.y0Error());
1280 hs[k_z0_time_all]->setBinError(jthBin,
bs.z0Error());
1281 hs[k_sigmaX0_time_all]->setBinError(jthBin,
bs.BeamWidthXError());
1282 hs[k_sigmaY0_time_all]->setBinError(jthBin,
bs.BeamWidthYError());
1283 hs[k_sigmaZ0_time_all]->setBinError(jthBin,
bs.sigmaZ0Error());
1289 if (
bs.type() > 0) {
1297 double alpha = std::atan2(
bs.y0(),
bs.x0());
1298 std::unique_ptr<TF1>
f1{
new TF1(
"f1",
"[0]*sin(x-[1])", -3.14, 3.14)};
1299 f1->SetParameters(amp,
alpha);
1300 f1->SetParLimits(0, amp - 0.1, amp + 0.1);
1302 f1->SetLineColor(4);
1307 std::unique_ptr<TF1> fgaus{
new TF1(
"fgaus",
"gaus")};
1309 fgaus->SetLineColor(4);
1314 std::pair<int, int> LSRange =
theBeamFitter->getFitLSRange();
1316 sprintf(tmpTitle,
"%s %i %s %i",
"Fitted Beam Spot (cm) of LS: ", LSRange.first,
" to ", LSRange.second);
1324 if (
bs.type() > 0) {
1338 if (
bs.type() > 0) {
1374 for (
int i = 0;
i < 7; ++
i) {
1375 for (
int j = 0;
j < 7; ++
j) {
1386 BSOnline->
SetMaxPVs((
int)DipPVInfo_[5]);
1392 std::pair<time_t, time_t> timeForDIP =
theBeamFitter->getRefTime();
1398 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill::[PayloadCreation] BeamSpotOnline object created: \n" << std::endl;
1403 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill::[PayloadCreation] onlineDbService available \n" << std::endl;
1408 <<
"BeamMonitor::FitAndFill - [BeamFitter] Do BeamSpot Fit for LS = " << LSRange.first <<
" to "
1411 <<
"BeamMonitor::FitAndFill - [BeamMonitor] Do BeamSpot Fit for LS = " <<
beginLumiOfBSFit_ <<
" to "
1416 <<
"BeamMonitor::FitAndFill - [PayloadCreation] BeamSpotOnline object created:";
1431 <<
"BeamMonitor::FitAndFill - [PayloadCreation] SetCreationTime: " <<
creationTime
1432 <<
" [epoch in microseconds]";
1436 <<
"BeamMonitor::FitAndFill - [PayloadCreation] writeForNextLumisection executed correctly";
1439 <<
" for Run: " <<
frun <<
" - Lumi: " << LSRange.second;
1446 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill::[PayloadCreation] BeamSpotOnline payload created \n" << std::endl;
1451 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill:: [BeamMonitor] Beam fit fails!!! \n" << endl;
1452 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill:: [BeamMonitor] Output beam spot for DIP \n" << endl;
1462 hs[k_sigmaX0_lumi]->ShiftFillLast(
bs.BeamWidthX(),
bs.BeamWidthXError(),
fitNLumi_);
1463 hs[k_sigmaY0_lumi]->ShiftFillLast(
bs.BeamWidthY(),
bs.BeamWidthYError(),
fitNLumi_);
1464 hs[k_sigmaZ0_lumi]->ShiftFillLast(
bs.sigmaZ(),
bs.sigmaZ0Error(),
fitNLumi_);
1478 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill:: [BeamMonitor] No fitting \n" << endl;
1479 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill:: [BeamMonitor] Output fake beam spot for DIP \n" << endl;
1489 hs[k_sigmaX0_lumi]->ShiftFillLast(
bs.BeamWidthX(),
bs.BeamWidthXError(),
fitNLumi_);
1490 hs[k_sigmaY0_lumi]->ShiftFillLast(
bs.BeamWidthY(),
bs.BeamWidthYError(),
fitNLumi_);
1491 hs[k_sigmaZ0_lumi]->ShiftFillLast(
bs.sigmaZ(),
bs.sigmaZ0Error(),
fitNLumi_);
1521 edm::LogInfo(
"BeamMonitor") <<
"FitAndFill:: The flag is ON for running average Beam Spot fit" << endl;
1535 <<
" RestartingFitting:: Restart Beami everything to a fresh start !!! because Gap is > 10 LS" << endl;
1572 edm::LogInfo(
"BeamMonitor") <<
"dqmEndRun:: Clearing all the Maps " << endl;
1592 char offsetTime[64];
1594 TDatime
da(offsetTime);
1599 h->GetXaxis()->SetTimeOffset(
da.Convert(kTRUE));
1602 h->SetBinError(
bin, valErr);
1605 h->GetXaxis()->SetTimeOffset(
da.Convert(kTRUE));
1612 bool scroll_ =
false;
1615 edm::LogInfo(
"BeamMonitor") <<
"testScroll:: Reset Time Offset" << std::endl;
1618 if (
hs[k_x0_time]->getBinContent(
bin) > 0) {
1625 edm::LogInfo(
"BeamMonitor") <<
"testScroll:: Time difference too large since last readout" << std::endl;
1629 edm::LogInfo(
"BeamMonitor") <<
"testScroll:: Offset to last record" << std::endl;