46 constexpr
int CEST(+2);
56 localTime = localtime(¤tTime);
57 int year = localTime->tm_year + 1900;
65 if (year >= 70 && year <= 137)
69 edm::LogError(
"BadTimeStamp") <<
"year reported is " << year <<
" !!" << std::endl;
74 "%4d-%02d-%02d %02d:%02d:%02d",
82 #ifdef STRIP_TRAILING_BLANKS_IN_TIMEZONE 83 unsigned int b = strlen(ts);
84 while (ts[--
b] ==
' ') {
94 std::strftime(buff,
sizeof(buff),
"%Y.%m.%d %H:%M:%S GMT", gmtime(&timeToConvert));
105 : dxBin_(ps.getParameter<
int>(
"dxBin")),
106 dxMin_(ps.getParameter<double>(
"dxMin")),
107 dxMax_(ps.getParameter<double>(
"dxMax")),
109 vxBin_(ps.getParameter<
int>(
"vxBin")),
110 vxMin_(ps.getParameter<double>(
"vxMin")),
111 vxMax_(ps.getParameter<double>(
"vxMax")),
113 phiBin_(ps.getParameter<
int>(
"phiBin")),
114 phiMin_(ps.getParameter<double>(
"phiMin")),
115 phiMax_(ps.getParameter<double>(
"phiMax")),
117 dzBin_(ps.getParameter<
int>(
"dzBin")),
118 dzMin_(ps.getParameter<double>(
"dzMin")),
119 dzMax_(ps.getParameter<double>(
"dzMax")),
126 StartAverage_(
false),
158 rndm_ =
new TRandom3(0);
220 edm::LogInfo(
"FakeBeamMonitor") <<
"TimeOffset = " << eventTime << std::endl;
221 TDatime
da(eventTime);
226 auto daTime =
da.Convert(kTRUE);
233 h_nTrk_lumi = iBooker.
book1D(
"nTrk_lumi",
"Num. of selected tracks vs lumi (Fit)", 20, 0.5, 20.5);
238 h_nVtx_lumi = iBooker.
book1D(
"nVtx_lumi",
"Num. of selected Vtx vs lumi (Fit)", 20, 0.5, 20.5);
242 h_nVtx_lumi_all = iBooker.
book1D(
"nVtx_lumi_all",
"Num. of selected Vtx vs lumi (Fit) all", 20, 0.5, 20.5);
260 TDatime*
da =
new TDatime();
261 gStyle->SetTimeOffset(
da->Convert(kTRUE));
265 string coord[nvar_] = {
"x",
"y",
"z",
"sigmaX",
"sigmaY",
"sigmaZ"};
266 string label[nvar_] = {
267 "x_{0} (cm)",
"y_{0} (cm)",
"z_{0} (cm)",
"#sigma_{X_{0}} (cm)",
"#sigma_{Y_{0}} (cm)",
"#sigma_{Z_{0}} (cm)"};
270 hs.reserve(kNumHists);
271 for (
int i = 0;
i < 4;
i++) {
273 for (
int ic = 0; ic < nvar_; ++ic) {
274 TString histName(coord[ic]);
279 bool createHisto =
true;
282 histName +=
"0_time";
285 histTitle +=
" coordinate of beam spot vs time (Fit)";
292 histName.Insert(0,
"PV");
295 histTitle +=
" position of primary vtx vs lumi";
298 ytitle +=
" #pm #sigma_{PV";
307 histName.Insert(0,
"PV");
310 histTitle +=
" position of primary vtx vs time";
313 ytitle +=
" #pm #sigma_{PV";
320 histName +=
"0_lumi";
323 histTitle +=
" coordinate of beam spot vs lumi (Fit)";
329 edm::LogInfo(
"FakeBeamMonitor") <<
"hitsName = " << histName <<
"; histTitle = " <<
histTitle << std::endl;
332 tmpHs->setAxisTitle(
xtitle, 1);
333 tmpHs->setAxisTitle(
ytitle, 2);
334 tmpHs->getTH1()->SetOption(
"E1");
335 if (histName.Contains(
"time")) {
338 tmpHs->setAxisTimeDisplay(1);
339 tmpHs->setAxisTimeFormat(
"%H:%M:%S", 1);
340 tmpHs->getTH1()->GetXaxis()->SetTimeOffset(daTime);
346 tmpHs->getTH1()->SetCanExtend(TH1::kAllAxes);
347 tmpHs->setAxisTitle(
xtitle, 1);
348 tmpHs->setAxisTitle(
ytitle, 2);
349 tmpHs->getTH1()->SetOption(
"E1");
350 if (histName.Contains(
"time")) {
353 tmpHs->setAxisTimeDisplay(1);
354 tmpHs->setAxisTimeFormat(
"%H:%M:%S", 1);
355 tmpHs->getTH1()->GetXaxis()->SetTimeOffset(daTime);
361 assert(0 == strcmp(
hs[k_sigmaY0_time]->getTH1()->GetName(),
"sigmaY0_time"));
362 assert(0 == strcmp(
hs[k_PVz_lumi_all]->getTH1()->GetName(),
"PVz_lumi_all"));
379 h_x0 = iBooker.
book1D(
"BeamMonitorFeedBack_x0",
"x coordinate of beam spot (Fit)", 100, -0.01, 0.01);
383 h_y0 = iBooker.
book1D(
"BeamMonitorFeedBack_y0",
"y coordinate of beam spot (Fit)", 100, -0.01, 0.01);
391 h_sigmaX0 = iBooker.
book1D(
"BeamMonitorFeedBack_sigmaX0",
"sigma x0 of beam spot (Fit)", 100, 0, 0.05);
395 h_sigmaY0 = iBooker.
book1D(
"BeamMonitorFeedBack_sigmaY0",
"sigma y0 of beam spot (Fit)", 100, 0, 0.05);
399 h_sigmaZ0 = iBooker.
book1D(
"BeamMonitorFeedBack_sigmaZ0",
"sigma z0 of beam spot (Fit)", 100, 0, 10);
404 h_trkPt = iBooker.
book1D(
"trkPt",
"p_{T} of all reco'd tracks (no selection)", 200, 0., 50.);
410 cutFlowTable = iBooker.
book1D(
"cutFlowTable",
"Cut flow table of track selection", 9, 0, 9);
413 fitResults = iBooker.
book2D(
"fitResults",
"Results of previous good beam fit", 2, 0, 2, 8, 0, 8);
430 h_nVtx = iBooker.
book1D(
"vtxNbr",
"Reconstructed Vertices(non-fake) in all Event", 60, -0.5, 59.5);
434 h_nVtx_st = iBooker.
book1D(
"vtxNbr_SelectedTriggers",
"Reconstructed Vertices(non-fake) in Events", 60, -0.5, 59.5);
438 h_PVx[0] = iBooker.
book1D(
"PVX",
"x coordinate of Primary Vtx", 50, -0.01, 0.01);
442 h_PVy[0] = iBooker.
book1D(
"PVY",
"y coordinate of Primary Vtx", 50, -0.01, 0.01);
449 h_PVx[1] = iBooker.
book1D(
"PVXFit",
"x coordinate of Primary Vtx (Last Fit)", 50, -0.01, 0.01);
453 h_PVy[1] = iBooker.
book1D(
"PVYFit",
"y coordinate of Primary Vtx (Last Fit)", 50, -0.01, 0.01);
469 pvResults = iBooker.
book2D(
"pvResults",
"Results of fitting Primary Vertices", 2, 0, 2, 6, 0, 6);
493 sprintf(
histo,
"x0_status");
496 sprintf(
histo,
"y0_status");
499 sprintf(
histo,
"z0_status");
536 const std::time_t ftmptime = fbegintimestamp >> 32;
572 edm::LogInfo(
"FakeBeamMonitor") <<
" beginLuminosityBlock: Size of mapBeginBSLS before = " 580 map<int, std::time_t>::iterator itbstime =
mapBeginBSTime.begin();
581 map<int, std::time_t>::iterator itpvtime =
mapBeginPVTime.begin();
641 edm::LogInfo(
"FakeBeamMonitor") <<
" beginLuminosityBlock:: Next Lumi to Fit: " <<
nextlumi_ << endl;
651 edm::LogInfo(
"FakeBeamMonitor") <<
" beginLuminosityBlock:: Begin of Lumi: " << nthlumi << endl;
656 const int nthlumi =
iEvent.luminosityBlock();
659 edm::LogInfo(
"FakeBeamMonitor") <<
"analyze:: Spilt event from previous lumi section!" << std::endl;
663 edm::LogInfo(
"FakeBeamMonitor") <<
"analyze:: Spilt event from next lumi section!!!" << std::endl;
733 for (
int tmp_idx = 0; tmp_idx < 10; tmp_idx++) {
775 map<int, std::vector<float> >::iterator itpvx =
mapPVx.begin();
776 map<int, std::vector<float> >::iterator itpvy =
mapPVy.begin();
777 map<int, std::vector<float> >::iterator itpvz =
mapPVz.begin();
779 map<int, std::vector<int> >::iterator itbspvinfo =
mapNPV.begin();
796 edm::LogInfo(
"FakeBeamMonitor") <<
"endLuminosityBlock:: Lumi of the last event before endLuminosityBlock: " 802 const std::time_t fendtime = fendtimestamp >> 32;
821 int currentlumi = nextlumi;
822 edm::LogInfo(
"FakeBeamMonitor") <<
"FitAndFill:: Lumi of the current fit: " << currentlumi << endl;
823 lastlumi = currentlumi;
846 bool resetHistoFlag_ =
false;
852 resetHistoFlag_ =
true;
856 int countEvtLastNLS_ = 0;
859 std::map<int, std::vector<int> >::iterator mnpv =
mapNPV.begin();
860 std::map<int, std::vector<float> >::iterator mpv2 =
mapPVy.begin();
861 std::map<int, std::vector<float> >::iterator mpv3 =
mapPVz.begin();
864 ++mpv1, ++mpv2, ++mpv3, ++mnpv) {
865 std::vector<float>::iterator mpvs2 = (mpv2->second).begin();
866 std::vector<float>::iterator mpvs3 = (mpv3->second).begin();
867 for (std::vector<float>::iterator mpvs1 = (mpv1->second).begin(); mpvs1 != (mpv1->second).
end();
868 ++mpvs1, ++mpvs2, ++mpvs3) {
869 if (resetHistoFlag_) {
877 for (std::vector<int>::iterator mnpvs = (mnpv->second).begin(); mnpvs != (mnpv->second).
end(); ++mnpvs) {
878 if ((*mnpvs > 0) && (resetHistoFlag_))
881 countTotPV_ += (*mnpvs);
882 if ((*mnpvs) > MaxPVs)
888 char tmpTitlePV[100];
892 std::vector<float> DipPVInfo_;
914 DipPVInfo_.push_back(
rndm_->Gaus(1000., 100.));
915 DipPVInfo_.push_back(
rndm_->Gaus(100., 10.));
916 DipPVInfo_.push_back(
rndm_->Gaus(10., 5.));
917 DipPVInfo_.push_back(
rndm_->Gaus(10., 5.));
918 DipPVInfo_.push_back(
rndm_->Gaus(5., 3.));
919 DipPVInfo_.push_back(
rndm_->Gaus(100., 10.));
920 countEvtLastNLS_ = 0;
924 const int countLS_bs =
hs[k_x0_lumi]->getTH1()->GetEntries();
925 const int countLS_pv =
hs[k_PVx_lumi]->getTH1()->GetEntries();
926 edm::LogInfo(
"FakeBeamMonitor") <<
"FitAndFill:: countLS_bs = " << countLS_bs <<
" ; countLS_pv = " << countLS_pv
928 int LSgap_bs = currentlumi /
fitNLumi_ - countLS_bs;
929 int LSgap_pv = currentlumi /
fitPVNLumi_ - countLS_pv;
934 edm::LogInfo(
"FakeBeamMonitor") <<
"FitAndFill:: LSgap_bs = " << LSgap_bs <<
" ; LSgap_pv = " << LSgap_pv
937 for (
int ig = 0; ig < LSgap_bs; ig++) {
941 hs[k_sigmaX0_lumi]->ShiftFillLast(0., 0.,
fitNLumi_);
942 hs[k_sigmaY0_lumi]->ShiftFillLast(0., 0.,
fitNLumi_);
943 hs[k_sigmaZ0_lumi]->ShiftFillLast(0., 0.,
fitNLumi_);
946 for (
int ig = 0; ig < LSgap_pv; ig++) {
952 for (
int i = 1;
i < (currentlumi - previousLS);
992 std::unique_ptr<TF1> fgaus{
new TF1(
"fgaus",
"gaus")};
994 fgaus->SetLineColor(4);
996 mean = fgaus->GetParameter(1);
997 width = fgaus->GetParameter(2);
998 meanErr = fgaus->GetParError(1);
999 widthErr = fgaus->GetParError(2);
1002 hs[k_PVx_lumi_all]->setBinContent(currentlumi,
mean);
1003 hs[k_PVx_lumi_all]->setBinError(currentlumi,
width);
1006 edm::LogInfo(
"FakeBeamMonitor") <<
"FitAndFill:: Event time outside current range of time histograms!" 1009 hs[k_PVx_time]->setBinContent(nthBin,
mean);
1010 hs[k_PVx_time]->setBinError(nthBin,
width);
1014 hs[k_PVx_time_all]->setBinContent(jthBin,
mean);
1015 hs[k_PVx_time_all]->setBinError(jthBin,
width);
1026 tmphisto->GetNbinsX(), tmphisto->GetXaxis()->GetXmin(), tmphisto->GetXaxis()->GetXmax());
1033 mean = fgaus->GetParameter(1);
1034 width = fgaus->GetParameter(2);
1035 meanErr = fgaus->GetParError(1);
1036 widthErr = fgaus->GetParError(2);
1038 hs[k_PVy_lumi_all]->setBinContent(currentlumi,
mean);
1039 hs[k_PVy_lumi_all]->setBinError(currentlumi,
width);
1041 hs[k_PVy_time]->setBinContent(nthBin,
mean);
1042 hs[k_PVy_time]->setBinError(nthBin,
width);
1045 hs[k_PVy_time_all]->setBinContent(jthBin,
mean);
1046 hs[k_PVy_time_all]->setBinError(jthBin,
width);
1056 tmphisto->GetNbinsX(), tmphisto->GetXaxis()->GetXmin(), tmphisto->GetXaxis()->GetXmax());
1063 mean = fgaus->GetParameter(1);
1064 width = fgaus->GetParameter(2);
1065 meanErr = fgaus->GetParError(1);
1066 widthErr = fgaus->GetParError(2);
1068 hs[k_PVz_lumi_all]->setBinContent(currentlumi,
mean);
1069 hs[k_PVz_lumi_all]->setBinError(currentlumi,
width);
1071 hs[k_PVz_time]->setBinContent(nthBin,
mean);
1072 hs[k_PVz_time]->setBinError(nthBin,
width);
1075 hs[k_PVz_time_all]->setBinContent(jthBin,
mean);
1076 hs[k_PVz_time_all]->setBinError(jthBin,
width);
1086 tmphisto->GetNbinsX(), tmphisto->GetXaxis()->GetXmin(), tmphisto->GetXaxis()->GetXmax());
1102 size_t PreviousRecords = 0;
1211 <<
"; address = " << &
refBStime[0] << std::endl;
1213 <<
"; address = " << &
refBStime[1] << std::endl;
1234 for (
int j = 0;
j < 7; ++
j) {
1235 for (
int k =
j;
k < 7; ++
k) {
1241 float tmp_BSx =
rndm_->Gaus(0.1, 0.1);
1242 float tmp_BSy =
rndm_->Gaus(0.1, 0.1);
1243 float tmp_BSz =
rndm_->Gaus(0.1, 0.1);
1244 float tmp_BSwidthX =
rndm_->Gaus(0.001, 0.0005);
1245 float tmp_BSwidthY =
rndm_->Gaus(0.001, 0.0005);
1246 float tmp_BSwidthZ =
rndm_->Gaus(3.5, 0.5);
1255 bs.setBeamWidthY(tmp_BSwidthY);
1260 edm::LogInfo(
"FakeBeamMonitor") <<
"\n RESULTS OF DEFAULT FIT:" << endl;
1262 edm::LogInfo(
"FakeBeamMonitor") <<
"[BeamFitter] fitting done \n" << endl;
1267 hs[k_sigmaX0_lumi]->ShiftFillLast(
bs.BeamWidthX(),
bs.BeamWidthXError(),
fitNLumi_);
1268 hs[k_sigmaY0_lumi]->ShiftFillLast(
bs.BeamWidthY(),
bs.BeamWidthYError(),
fitNLumi_);
1269 hs[k_sigmaZ0_lumi]->ShiftFillLast(
bs.sigmaZ(),
bs.sigmaZ0Error(),
fitNLumi_);
1270 hs[k_x0_lumi_all]->setBinContent(currentlumi,
bs.x0());
1271 hs[k_x0_lumi_all]->setBinError(currentlumi,
bs.x0Error());
1272 hs[k_y0_lumi_all]->setBinContent(currentlumi,
bs.y0());
1273 hs[k_y0_lumi_all]->setBinError(currentlumi,
bs.y0Error());
1274 hs[k_z0_lumi_all]->setBinContent(currentlumi,
bs.z0());
1275 hs[k_z0_lumi_all]->setBinError(currentlumi,
bs.z0Error());
1276 hs[k_sigmaX0_lumi_all]->setBinContent(currentlumi,
bs.BeamWidthX());
1277 hs[k_sigmaX0_lumi_all]->setBinError(currentlumi,
bs.BeamWidthXError());
1278 hs[k_sigmaY0_lumi_all]->setBinContent(currentlumi,
bs.BeamWidthY());
1279 hs[k_sigmaY0_lumi_all]->setBinError(currentlumi,
bs.BeamWidthYError());
1280 hs[k_sigmaZ0_lumi_all]->setBinContent(currentlumi,
bs.sigmaZ());
1281 hs[k_sigmaZ0_lumi_all]->setBinError(currentlumi,
bs.sigmaZ0Error());
1285 hs[k_x0_time]->setBinContent(nthBin,
bs.x0());
1286 hs[k_y0_time]->setBinContent(nthBin,
bs.y0());
1287 hs[k_z0_time]->setBinContent(nthBin,
bs.z0());
1288 hs[k_sigmaX0_time]->setBinContent(nthBin,
bs.BeamWidthX());
1289 hs[k_sigmaY0_time]->setBinContent(nthBin,
bs.BeamWidthY());
1290 hs[k_sigmaZ0_time]->setBinContent(nthBin,
bs.sigmaZ());
1291 hs[k_x0_time]->setBinError(nthBin,
bs.x0Error());
1292 hs[k_y0_time]->setBinError(nthBin,
bs.y0Error());
1293 hs[k_z0_time]->setBinError(nthBin,
bs.z0Error());
1294 hs[k_sigmaX0_time]->setBinError(nthBin,
bs.BeamWidthXError());
1295 hs[k_sigmaY0_time]->setBinError(nthBin,
bs.BeamWidthYError());
1296 hs[k_sigmaZ0_time]->setBinError(nthBin,
bs.sigmaZ0Error());
1301 hs[k_x0_time_all]->setBinContent(jthBin,
bs.x0());
1302 hs[k_y0_time_all]->setBinContent(jthBin,
bs.y0());
1303 hs[k_z0_time_all]->setBinContent(jthBin,
bs.z0());
1304 hs[k_sigmaX0_time_all]->setBinContent(jthBin,
bs.BeamWidthX());
1305 hs[k_sigmaY0_time_all]->setBinContent(jthBin,
bs.BeamWidthY());
1306 hs[k_sigmaZ0_time_all]->setBinContent(jthBin,
bs.sigmaZ());
1307 hs[k_x0_time_all]->setBinError(jthBin,
bs.x0Error());
1308 hs[k_y0_time_all]->setBinError(jthBin,
bs.y0Error());
1309 hs[k_z0_time_all]->setBinError(jthBin,
bs.z0Error());
1310 hs[k_sigmaX0_time_all]->setBinError(jthBin,
bs.BeamWidthXError());
1311 hs[k_sigmaY0_time_all]->setBinError(jthBin,
bs.BeamWidthYError());
1312 hs[k_sigmaZ0_time_all]->setBinError(jthBin,
bs.sigmaZ0Error());
1318 if (
bs.type() > 0) {
1326 double alpha = std::atan2(
bs.y0(),
bs.x0());
1327 std::unique_ptr<TF1>
f1{
new TF1(
"f1",
"[0]*sin(x-[1])", -3.14, 3.14)};
1328 f1->SetParameters(amp,
alpha);
1329 f1->SetParLimits(0, amp - 0.1, amp + 0.1);
1331 f1->SetLineColor(4);
1336 std::unique_ptr<TF1> fgaus{
new TF1(
"fgaus",
"gaus")};
1338 fgaus->SetLineColor(4);
1345 sprintf(tmpTitle,
"%s %i %s %i",
"Fitted Beam Spot (cm) of LS: ", LSRange.first,
" to ", LSRange.second);
1353 if (
bs.type() > 0) {
1367 if (
bs.type() > 0) {
1403 for (
int i = 0;
i < 7; ++
i) {
1404 for (
int j = 0;
j < 7; ++
j) {
1421 std::pair<time_t, time_t> timeForDIP = std::make_pair(0, 1);
1427 edm::LogInfo(
"FakeBeamMonitor") <<
"FitAndFill::[PayloadCreation] BeamSpotOnline object created: \n" << std::endl;
1428 edm::LogInfo(
"FakeBeamMonitor") << BSOnline << std::endl;
1432 edm::LogInfo(
"FakeBeamMonitor") <<
"FitAndFill::[PayloadCreation] onlineDbService available \n" << std::endl;
1437 << LSRange.first <<
" to " << LSRange.second;
1443 <<
"FakeBeamMonitor::FitAndFill - [PayloadCreation] BeamSpotOnline object created:";
1462 <<
"FakeBeamMonitor::FitAndFill - [PayloadCreation] writeIOVForNextLumisection executed correctly";
1465 <<
" for Run: " <<
frun <<
" - Lumi: " << LSRange.second;
1472 edm::LogInfo(
"FakeBeamMonitor") <<
"FitAndFill::[PayloadCreation] BeamSpotOnline payload created \n" << std::endl;
1533 edm::LogInfo(
"FakeBeamMonitor") <<
"FitAndFill:: The flag is ON for running average Beam Spot fit" << endl;
1547 <<
" RestartingFitting:: Restart Beami everything to a fresh start !!! because Gap is > 10 LS" << endl;
1584 edm::LogInfo(
"FakeBeamMonitor") <<
"dqmEndRun:: Clearing all the Maps " << endl;
1604 char offsetTime[64];
1606 TDatime
da(offsetTime);
1611 h->GetXaxis()->SetTimeOffset(
da.Convert(kTRUE));
1614 h->SetBinError(
bin, valErr);
1617 h->GetXaxis()->SetTimeOffset(
da.Convert(kTRUE));
1624 bool scroll_ =
false;
1627 edm::LogInfo(
"FakeBeamMonitor") <<
"testScroll:: Reset Time Offset" << std::endl;
1630 if (
hs[k_x0_time]->getBinContent(
bin) > 0) {
1637 edm::LogInfo(
"FakeBeamMonitor") <<
"testScroll:: Time difference too large since last readout" << std::endl;
1641 edm::LogInfo(
"FakeBeamMonitor") <<
"testScroll:: Offset to last record" << std::endl;
MonitorElement * pvResults
math::Error< dimension >::type CovarianceMatrix
double BeamWidthX() const
beam width X
void setBeamWidthYError(double val)
set beam width Y error
LuminosityBlockNumber_t luminosityBlock() const
T getParameter(std::string const &) const
void setCovariance(int i, int j, double val)
set i,j element of the full covariance matrix 7x7
MonitorElement * bookFloat(TString const &name, FUNC onbooking=NOOP())
std::map< int, size_t > mapLSPVStoreSize
void setStartTimeStamp(cond::Time_t val)
std::vector< MonitorElement * > hs
double BeamWidthYError() const
error on beam width Y, assume error in X = Y
void setLastAnalyzedLumi(int val)
Setters Methods.
MonitorElement * h_nTrk_lumi
void setEmittanceY(double val)
set emittance
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * h_sigmaY0
void dqmBeginRun(edm::Run const &, edm::EventSetup const &) override
void FitAndFill(const edm::LuminosityBlock &lumiSeg, int &, int &, int &)
Run const & getRun() const
MonitorElement * cutFlowTable
virtual void setOption(const char *option)
#define DEFINE_FWK_MODULE(type)
std::string getGMTstring(const std::time_t &)
void setMeanErrorPV(float val)
void dqmEndRun(const edm::Run &r, const edm::EventSetup &c) override
std::map< int, std::time_t > mapBeginPVTime
void setBetaStar(double val)
set beta star
void setUsedEvents(int val)
FakeBeamMonitor(const edm::ParameterSet &)
bool testScroll(std::time_t &, std::time_t &)
std::string endTime() const
std::map< int, std::size_t > mapLSBSTrkSize
void setEndTimeStamp(cond::Time_t val)
math::XYZPoint Point
point in the space
MonitorElement * reportSummary
MonitorElement * h_nVtx_lumi_all
Float_t summaryContent_[3]
Log< level::Error, false > LogError
std::string startTime() const
std::map< int, std::vector< int > > mapNPV
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context) override
void setType(int type)
set beam type
MonitorElement * h_PVz[2]
void setEndTime(std::string val)
unsigned int minNrVertices_
T getUntrackedParameter(std::string const &, T const &) const
void setNumTracks(int val)
edm::Service< cond::service::OnlineDBOutputService > onlineDbService_
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
DQM_DEPRECATED void ShiftFillLast(double y, double ye=0., int32_t xscale=1)
void setLastAnalyzedRun(int val)
void setEmittanceX(double val)
set emittance
float meanErrorPV() const
void setMeanPV(float val)
EchoedLogStream< edm::LogError > logError()
void setLastAnalyzedFill(int val)
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
cond::persistency::Logger & logger()
void formatFitTime(char *, const std::time_t &)
MonitorElement * h_sigmaZ0
void setdydz(double val)
set dydz slope, crossing angle in XZ
cond::Time_t endTimeStamp() const
double BeamWidthY() const
beam width Y
std::map< int, std::vector< float > > mapPVy
std::map< int, std::vector< float > > mapPVz
void bookHistograms(DQMStore::IBooker &i, const edm::Run &r, const edm::EventSetup &c) override
MonitorElement * h_d0_phi0
void setRmsErrorPV(float val)
cond::Time_t writeIOVForNextLumisection(const PayloadType &payload, const std::string &recordName)
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
unsigned long long TimeValue_t
std::map< int, std::vector< float > > mapPVx
virtual TProfile * getTProfile()
void setdxdz(double val)
set dxdz slope, crossing angle
std::map< int, std::time_t > mapBeginBSTime
MonitorElement * h_sigmaX0
double BeamWidthXError() const
error on beam width X, assume error in X = Y
edm::TimeValue_t ftimestamp
Log< level::Info, false > LogInfo
std::map< int, int > mapBeginPVLS
cond::Time_t startTimeStamp() const
void scrollTH1(TH1 *, std::time_t)
~FakeBeamMonitor() override
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
LuminosityBlockID id() const
TimeValue_t value() const
Timestamp const & beginTime() const
void setBeamWidthXError(double val)
set beam width X error
Timestamp const & endTime() const
MonitorElement * h_trk_z0
void setSigmaZ(double val)
set sigma Z, RMS bunch length
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
MonitorElement * reportSummaryContents[3]
MonitorElement * h_nVtx_lumi
std::map< int, TH1F > mapLSCF
Timestamp const & beginTime() const
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c) override
MonitorElement * h_PVy[2]
MonitorElement * h_nVtx_st
void setStartTime(std::string val)
void setPosition(double x, double y, double z)
set XYZ position
void setBeamWidthX(double val)
set average transverse beam width X
void setCreationTime(cond::Time_t val)
std::map< int, int > mapBeginBSLS
void analyze(const edm::Event &e, const edm::EventSetup &c) override
MonitorElement * reportSummaryMap
MonitorElement * h_PVx[2]
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
EchoedLogStream< edm::LogInfo > logInfo()
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
LuminosityBlockNumber_t luminosityBlock() const
static constexpr int buffTime
void setBeamWidthY(double val)
set average transverse beam width Y
MonitorElement * fitResults
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)