CMS 3D CMS Logo

DQMProvInfo.h
Go to the documentation of this file.
1 #ifndef DQMPROVINFO_H
2 #define DQMPROVINFO_H
3 
10 
13 
15 
18 
19 #include <string>
20 #include <vector>
21 
22 class DQMProvInfo : public DQMOneEDAnalyzer<edm::one::WatchLuminosityBlocks> {
23 public:
24  // Constructor
25  DQMProvInfo(const edm::ParameterSet& ps);
26  // Destructor
27  ~DQMProvInfo() override;
28 
29 protected:
30  void dqmBeginRun(const edm::Run& r, const edm::EventSetup& c) override;
31  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
32  void beginLuminosityBlock(const edm::LuminosityBlock& l, const edm::EventSetup& c) override;
33  void analyze(const edm::Event& e, const edm::EventSetup& c) override;
34  void endLuminosityBlock(const edm::LuminosityBlock& l, const edm::EventSetup& c) override;
35 
36 private:
40 
41  void analyzeLhcInfo(const edm::Event& e);
42  void analyzeEventInfo(const edm::Event& e);
43  void analyzeProvInfo(const edm::Event& e);
44 
47  bool isPhysicsDeclared();
48 
49  void endLuminosityBlockLhcInfo(const int currentLSNumber);
50  void endLuminosityBlockEventInfo(const int currentLSNumber);
51  void blankPreviousLumiSections(const int currentLSNumber);
52  void blankAllLumiSections();
53 
54  // To max amount of lumisections we foresee for the plots
55  // DQM GUI renderplugins provide scaling to actual amount
56  const static int MAX_LUMIS = 6000;
57 
58  // Numbers of each of the vertical bins
59  const static int VBIN_CSC_P = 1;
60  const static int VBIN_CSC_M = 2;
61  const static int VBIN_DT_0 = 3;
62  const static int VBIN_DT_P = 4;
63  const static int VBIN_DT_M = 5;
64  const static int VBIN_EB_P = 6;
65  const static int VBIN_EB_M = 7;
66  const static int VBIN_EE_P = 8;
67  const static int VBIN_EE_M = 9;
68  const static int VBIN_ES_P = 10;
69  const static int VBIN_ES_M = 11;
70  const static int VBIN_HBHE_A = 12;
71  const static int VBIN_HBHE_B = 13;
72  const static int VBIN_HBHE_C = 14;
73  const static int VBIN_HF = 15;
74  const static int VBIN_HO = 16;
75  const static int VBIN_BPIX = 17;
76  const static int VBIN_FPIX = 18;
77  const static int VBIN_RPC = 19;
78  const static int VBIN_TIBTID = 20;
79  const static int VBIN_TOB = 21;
80  const static int VBIN_TEC_P = 22;
81  const static int VBIN_TE_M = 23;
82  const static int VBIN_CASTOR = 24;
83  const static int VBIN_ZDC = 25;
84 
85  // Highest DCS bin, used for the length of the corresponding array.
86  // We will have the indexes to this array the same as the vbins numbers.
87  // (I.e. value at index 0 will not be used.)
88  const static int MAX_DCS_VBINS = 25;
89 
90  const static int VBIN_PHYSICS_DECLARED = 26;
91  const static int VBIN_MOMENTUM = 27;
92  const static int VBIN_STABLE_BEAM = 28;
93  const static int VBIN_VALID = 29;
94 
95  const static int MAX_VBINS = 29;
96 
97  // Beam momentum at flat top, used to determine if collisions are
98  // occurring with the beams at the energy allowed for physics production.
99  const static int MAX_MOMENTUM = 6500;
100 
101  // Beam momentum allowed offset: it is a momentum value subtracted to
102  // maximum momentum in order to decrease the threshold for beams going to
103  // collisions for physics production. This happens because BST sends from
104  // time to time a value of the beam momentum slightly below the nominal values,
105  // even during stable collisions: in this way, we provide a correct information
106  // at the cost of not requiring the exact momentum being measured by BST.
107  const static int MOMENTUM_OFFSET = 1;
108 
109  // Process parameters
112 
116 
117  // MonitorElements for LhcInfo and corresponding variables
125  int lhcFill_;
128 
129  // MonitorElements for EventInfo and corresponding variables
135  bool dcsBits_[MAX_DCS_VBINS + 1];
137 
138  // MonitorElements for ProvInfo and corresponding variables
149  MonitorElement* processId_; // The PID associated with this job
151 };
152 
153 #endif
void fillDcsBitsFromDcsStatusCollection(const edm::Handle< DcsStatusCollection > &)
Definition: DQMProvInfo.cc:338
void endLuminosityBlockEventInfo(const int currentLSNumber)
Definition: DQMProvInfo.cc:433
MonitorElement * hBeamMode_
Definition: DQMProvInfo.h:118
int previousLSNumber_
Definition: DQMProvInfo.h:132
MonitorElement * hIntensity2_
Definition: DQMProvInfo.h:122
void beginLuminosityBlock(const edm::LuminosityBlock &l, const edm::EventSetup &c) override
Definition: DQMProvInfo.cc:224
MonitorElement * reportSummary_
Definition: DQMProvInfo.h:130
void analyzeEventInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:268
MonitorElement * hMomentum_
Definition: DQMProvInfo.h:126
static const int VBIN_EE_P
Definition: DQMProvInfo.h:66
MonitorElement * workingDir_
Definition: DQMProvInfo.h:150
edm::EDGetTokenT< DcsStatusCollection > dcsStatusCollection_
Definition: DQMProvInfo.h:113
bool foundFirstDcsBits_
Definition: DQMProvInfo.h:136
edm::EDGetTokenT< DCSRecord > dcsRecordToken_
Definition: DQMProvInfo.h:115
static const int VBIN_VALID
Definition: DQMProvInfo.h:93
Class to contain DCS information from soft FED 1022.
Definition: DCSRecord.h:20
MonitorElement * processId_
Definition: DQMProvInfo.h:149
MonitorElement * hHltKey_
Definition: DQMProvInfo.h:145
void blankAllLumiSections()
Definition: DQMProvInfo.cc:495
MonitorElement * versGlobaltag_
Definition: DQMProvInfo.h:140
static const int VBIN_CASTOR
Definition: DQMProvInfo.h:82
static const int VBIN_HBHE_B
Definition: DQMProvInfo.h:71
static const int VBIN_EE_M
Definition: DQMProvInfo.h:67
static const int VBIN_HBHE_C
Definition: DQMProvInfo.h:72
bool globalTagRetrieved_
Definition: DQMProvInfo.h:142
static const int VBIN_HO
Definition: DQMProvInfo.h:74
std::string globalTag_
Definition: DQMProvInfo.h:141
static const int VBIN_DT_0
Definition: DQMProvInfo.h:61
static const int VBIN_TEC_P
Definition: DQMProvInfo.h:80
void bookHistogramsEventInfo(DQMStore::IBooker &)
Definition: DQMProvInfo.cc:144
static const int VBIN_CSC_M
Definition: DQMProvInfo.h:60
MonitorElement * versRuntype_
Definition: DQMProvInfo.h:143
static const int VBIN_TOB
Definition: DQMProvInfo.h:79
static const int VBIN_FPIX
Definition: DQMProvInfo.h:76
void fillDcsBitsFromDCSRecord(const DCSRecord &)
Definition: DQMProvInfo.cc:304
static const int MAX_LUMIS
Definition: DQMProvInfo.h:56
static const int VBIN_DT_M
Definition: DQMProvInfo.h:63
bool isPhysicsDeclared()
Definition: DQMProvInfo.cc:395
static const int VBIN_MOMENTUM
Definition: DQMProvInfo.h:91
void bookHistogramsProvInfo(DQMStore::IBooker &)
Definition: DQMProvInfo.cc:193
void bookHistogramsLhcInfo(DQMStore::IBooker &)
Definition: DQMProvInfo.cc:88
bool foundFirstPhysicsDeclared_
Definition: DQMProvInfo.h:134
void analyzeProvInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:287
static const int MAX_MOMENTUM
Definition: DQMProvInfo.h:99
void dqmBeginRun(const edm::Run &r, const edm::EventSetup &c) override
Definition: DQMProvInfo.cc:52
static const int MAX_VBINS
Definition: DQMProvInfo.h:95
std::string subsystemname_
Definition: DQMProvInfo.h:110
MonitorElement * hLhcFill_
Definition: DQMProvInfo.h:124
static const int VBIN_STABLE_BEAM
Definition: DQMProvInfo.h:92
void blankPreviousLumiSections(const int currentLSNumber)
Definition: DQMProvInfo.cc:480
static const int VBIN_TIBTID
Definition: DQMProvInfo.h:78
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Definition: DQMProvInfo.cc:240
static const int VBIN_EB_P
Definition: DQMProvInfo.h:64
static const int VBIN_BPIX
Definition: DQMProvInfo.h:75
void analyzeLhcInfo(const edm::Event &e)
Definition: DQMProvInfo.cc:252
MonitorElement * hIntensity1_
Definition: DQMProvInfo.h:120
static const int VBIN_TE_M
Definition: DQMProvInfo.h:81
static const int VBIN_RPC
Definition: DQMProvInfo.h:77
MonitorElement * versCMSSW_
Definition: DQMProvInfo.h:139
MonitorElement * hIsCollisionsRun_
Definition: DQMProvInfo.h:148
std::string runType_
Definition: DQMProvInfo.h:144
edm::EDGetTokenT< TCDSRecord > tcdsrecord_
Definition: DQMProvInfo.h:114
static const int MAX_DCS_VBINS
Definition: DQMProvInfo.h:88
static const int VBIN_ZDC
Definition: DQMProvInfo.h:83
DQMProvInfo(const edm::ParameterSet &ps)
Definition: DQMProvInfo.cc:23
static const int VBIN_ES_P
Definition: DQMProvInfo.h:68
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: DQMProvInfo.cc:70
std::string hltKey_
Definition: DQMProvInfo.h:146
static const int VBIN_CSC_P
Definition: DQMProvInfo.h:59
static const int VBIN_DT_P
Definition: DQMProvInfo.h:62
static const int VBIN_ES_M
Definition: DQMProvInfo.h:69
std::string provinfofolder_
Definition: DQMProvInfo.h:111
static const int MOMENTUM_OFFSET
Definition: DQMProvInfo.h:107
bool physicsDeclared_
Definition: DQMProvInfo.h:133
static const int VBIN_HF
Definition: DQMProvInfo.h:73
void endLuminosityBlockLhcInfo(const int currentLSNumber)
Definition: DQMProvInfo.cc:424
MonitorElement * hostName_
Definition: DQMProvInfo.h:147
void endLuminosityBlock(const edm::LuminosityBlock &l, const edm::EventSetup &c) override
Definition: DQMProvInfo.cc:410
static const int VBIN_HBHE_A
Definition: DQMProvInfo.h:70
~DQMProvInfo() override
static const int VBIN_EB_M
Definition: DQMProvInfo.h:65
bool dcsBits_[MAX_DCS_VBINS+1]
Definition: DQMProvInfo.h:135
Definition: Run.h:45
MonitorElement * reportSummaryMap_
Definition: DQMProvInfo.h:131
static const int VBIN_PHYSICS_DECLARED
Definition: DQMProvInfo.h:90