|
|
Go to the documentation of this file.
32 scalertag_{consumes<BeamSpotOnlineCollection>(ps.getUntrackedParameter<
InputTag>(
"scalarBSCollection"))},
33 trkSrc_{consumes<reco::TrackCollection>(ps.getUntrackedParameter<
InputTag>(
"pixelTracks"))},
35 nCosmicTrk_{ps.getUntrackedParameter<
int>(
"nCosmicTrk")},
37 debug_{ps.getUntrackedParameter<
bool>(
"Debug")},
38 onlineMode_{ps.getUntrackedParameter<
bool>(
"OnlineMode")},
39 doTest_{ps.getUntrackedParameter<
bool>(
"doTest")},
40 alarmONThreshold_{ps.getUntrackedParameter<
int>(
"AlarmONThreshold")},
41 alarmOFFThreshold_{ps.getUntrackedParameter<
int>(
"AlarmOFFThreshold")},
48 monitorName_ = ps.getUntrackedParameter<
string>(
"monitorName");
50 if (not monitorName_.empty())
56 desc.
addUntracked<
string>(
"monitorName",
"BeamSpotProblemMonitor");
67 oDesc.
add(
"dqmBeamSpotProblemMonitor", desc);
75 const string coord{
"BeamSpotStatus"};
77 string histName(coord +
"_lumi");
79 const string ytitle(
"Problem (-1) / OK (1)");
80 const string xtitle(
"Lumisection");
96 beamSpotError_ = iB.book1D(
"BeamSpotError",
"ERROR: Beamspot missing from scalars", 20, 0.5, 20.5);
109 edm::LogInfo(
"BeamSpotProblemMonitor") <<
"dqmBeginLuminosityBlock:: Next Lumi to Fit: " <<
nextlumi_ << endl;
115 edm::LogInfo(
"BeamSpotProblemMonitor") <<
" dqmBeginLuminosityBlock:: Next Lumi to Fit: " <<
nextlumi_ << endl;
120 edm::LogInfo(
"BeamSpotProblemMonitor") <<
" dqmBeginLuminosityBlock:: Begin of Lumi: " << nthlumi << endl;
125 const int nthlumi =
iEvent.luminosityBlock();
128 edm::LogInfo(
"BeamSpotProblemMonitor") <<
"analyze:: Spilt event from previous lumi section!" << std::endl;
132 edm::LogInfo(
"BeamSpotProblemMonitor") <<
"analyze:: Spilt event from next lumi section!!!" << std::endl;
141 std::array<bool, 6> dcsTk;
142 for (
auto&
e : dcsTk) {
145 for (
auto const&
status : *dcsStatus) {
161 for (
auto status : dcsTk) {
172 if (
track.pt() > 1.0)
185 bool fallBackToDB =
false;
188 if (!handleScaler->empty()) {
189 spotOnline = *(handleScaler->begin());
192 if (spotOnline.
x() == 0. && spotOnline.
y() == 0. && spotOnline.
z() == 0. && spotOnline.
width_x() == 0. &&
203 if (allTkOn && fallBackToDB) {
206 if (allTkOn && (!fallBackToDB)) {
222 int currentlumi = nextlumi;
223 lastlumi = currentlumi;
244 int LSgap_bs = currentlumi /
fitNLumi_ - countLS_bs;
249 for (
int ig = 0; ig < LSgap_bs; ig++) {
271 if (beamSpotQReport) {
284 <<
"dqmEndLuminosityBlock:: Lumi of the last event before dqmEndLuminosityBlock: " << nthlumi << endl;
290 edm::LogInfo(
"BeamSpotProblemMonitor") <<
"dqmEndRun:: Clearing all the Maps " << endl;
BeamSpotProblemMonitor(const edm::ParameterSet &)
T getUntrackedParameter(std::string const &, T const &) const
const edm::EDGetTokenT< reco::TrackCollection > trkSrc_
void dqmBeginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context) override
const edm::EDGetTokenT< DcsStatusCollection > dcsStatus_
#define DEFINE_FWK_MODULE(type)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
LuminosityBlockNumber_t luminosityBlock() const
const int alarmOFFThreshold_
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)
MonitorElement * beamSpotError_
void dqmEndLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c) override
const MonitorElementData::QReport * getQReport(const std::string &qtname) const
get QReport corresponding to <qtname> (null pointer if QReport does not exist)
const edm::EDGetTokenT< BeamSpotOnlineCollection > scalertag_
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
void dqmEndRun(const edm::Run &r, const edm::EventSetup &c) override
MonitorElement * beamSpotStatusLumi_
LuminosityBlockNumber_t luminosityBlock() const
LuminosityBlockID id() const
static void fillDescriptions(edm::ConfigurationDescriptions &)
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * beamSpotStatusLumiAll_
void fillPlots(int &, int &, int)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
const int alarmONThreshold_
void bookHistograms(DQMStore::IBooker &i, const edm::Run &r, const edm::EventSetup &c) override
void analyze(const edm::Event &e, const edm::EventSetup &c) override