CMS 3D CMS Logo

DTDataIntegrityROSOffline.h
Go to the documentation of this file.
1 #ifndef DTDataIntegrityROSOffline_H
2 #define DTDataIntegrityROSOffline_H
3 
14 
18 
21 
23 
24 #include <fstream>
25 #include <map>
26 #include <string>
27 #include <vector>
28 #include <list>
29 
30 class DTROS25Data;
31 class DTDDUData;
32 
34 public:
36 
37  ~DTDataIntegrityROSOffline() override;
38 
39  void processROS25(DTROS25Data& data, int dduID, int ros);
40  void processFED(DTDDUData& dduData, const std::vector<DTROS25Data>& rosData, int dduID);
41 
42  // log number of times the payload of each fed is unpacked
43  void fedEntry(int dduID);
44  // log number of times the payload of each fed is skipped (no ROS inside)
45  void fedFatal(int dduID);
46  // log number of times the payload of each fed is partially skipped (some ROS skipped)
47  void fedNonFatal(int dduID);
48 
49  void analyze(const edm::Event& e, const edm::EventSetup& c) override;
50 
51 protected:
52  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
53 
54 private:
55  void bookHistos(DQMStore::IBooker&, const int fedMin, const int fedMax);
58 
59  void channelsInCEROS(int cerosId, int chMask, std::vector<int>& channels);
60  void channelsInROS(int cerosMask, std::vector<int>& channels);
61 
62  std::string topFolder(bool isFEDIntegrity) const;
63 
64  // Plot quantities about SC
65  bool getSCInfo;
66 
67  int nevents;
68 
69  // Monitor Elements
71  // <histoType, <index , histo> >
72  std::map<std::string, std::map<int, MonitorElement*> > fedHistos;
73  // <histoType, histo> >
74  std::map<std::string, std::map<int, MonitorElement*> > summaryHistos;
75  // <histoType, <index , histo> >
76  std::map<std::string, std::map<int, MonitorElement*> > rosHistos;
77 
78  // standard ME for monitoring of FED integrity
83 
84  // one for all FEDS
86 
89 
90  // Number of ROS per FED
91  const int nROS = 12;
92 
93  int FEDIDmin;
94  int FEDIDmax;
95 
96  // event error flag: true when errors are detected
97  // can be used for the selection of the debug stream
99 
100  std::map<int, std::set<int> > rosBxIdsPerFED;
101  std::set<int> fedBXIds;
102  std::map<int, std::set<int> > rosL1AIdsPerFED;
103 
105 
106  // The label to retrieve the digis
108 
110 };
111 
112 #endif
113 
114 /* Local Variables: */
115 /* show-trailing-whitespace: t */
116 /* truncate-lines: t */
117 /* End: */
DTDataIntegrityROSOffline::topFolder
std::string topFolder(bool isFEDIntegrity) const
Definition: DTDataIntegrityROSOffline.cc:687
DTDataIntegrityROSOffline::processROS25
void processROS25(DTROS25Data &data, int dduID, int ros)
Definition: DTDataIntegrityROSOffline.cc:309
DTDataIntegrityROSOffline::channelsInROS
void channelsInROS(int cerosMask, std::vector< int > &channels)
Definition: DTDataIntegrityROSOffline.cc:702
DTDataIntegrityROSOffline::nROS
const int nROS
Definition: DTDataIntegrityROSOffline.h:91
edm::Run
Definition: Run.h:45
DTDataIntegrityROSOffline::rosHistos
std::map< std::string, std::map< int, MonitorElement * > > rosHistos
Definition: DTDataIntegrityROSOffline.h:76
printsummarytable.folder
folder
Definition: printsummarytable.py:7
edm::EDGetTokenT< DTDDUCollection >
DTROChainCoding.h
DTDataIntegrityROSOffline::bookHistos
void bookHistos(DQMStore::IBooker &, const int fedMin, const int fedMax)
Definition: DTDataIntegrityROSOffline.cc:97
DTDataIntegrityROSOffline::fedIntegrityFolder
std::string fedIntegrityFolder
Definition: DTDataIntegrityROSOffline.h:104
DQMStore.h
dqm::legacy::MonitorElement
Definition: MonitorElement.h:462
DTDataIntegrityROSOffline::hFEDFatal
MonitorElement * hFEDFatal
Definition: DTDataIntegrityROSOffline.h:80
DTDataIntegrityROSOffline::analyze
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Definition: DTDataIntegrityROSOffline.cc:713
DTDataIntegrityROSOffline::fedFatal
void fedFatal(int dduID)
Definition: DTDataIntegrityROSOffline.cc:682
DTDataIntegrityROSOffline::DTDataIntegrityROSOffline
DTDataIntegrityROSOffline(const edm::ParameterSet &ps)
Definition: DTDataIntegrityROSOffline.cc:29
DTDataIntegrityROSOffline::hFEDEntry
MonitorElement * hFEDEntry
Definition: DTDataIntegrityROSOffline.h:79
DTDataIntegrityROSOffline::~DTDataIntegrityROSOffline
~DTDataIntegrityROSOffline() override
Definition: DTDataIntegrityROSOffline.cc:46
DTControlData.h
DTDataIntegrityROSOffline::rosBxIdsPerFED
std::map< int, std::set< int > > rosBxIdsPerFED
Definition: DTDataIntegrityROSOffline.h:100
DTDataIntegrityROSOffline::neventsROS
int neventsROS
Definition: DTDataIntegrityROSOffline.h:88
DTDataIntegrityROSOffline::ros25Token
edm::EDGetTokenT< DTROS25Collection > ros25Token
Definition: DTDataIntegrityROSOffline.h:109
DTDataIntegrityROSOffline::getSCInfo
bool getSCInfo
Definition: DTDataIntegrityROSOffline.h:65
DTDataIntegrityROSOffline::nEventMonitor
MonitorElement * nEventMonitor
Definition: DTDataIntegrityROSOffline.h:70
DTDataIntegrityROSOffline::fedHistos
std::map< std::string, std::map< int, MonitorElement * > > fedHistos
Definition: DTDataIntegrityROSOffline.h:72
DQMEDAnalyzer.h
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
DTDataIntegrityROSOffline::hTTSSummary
MonitorElement * hTTSSummary
Definition: DTDataIntegrityROSOffline.h:85
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
DTDataIntegrityROSOffline::neventsFED
int neventsFED
Definition: DTDataIntegrityROSOffline.h:87
DTDataIntegrityROSOffline::fedBXIds
std::set< int > fedBXIds
Definition: DTDataIntegrityROSOffline.h:101
edm::EventSetup
Definition: EventSetup.h:58
DTDataIntegrityROSOffline::summaryHistos
std::map< std::string, std::map< int, MonitorElement * > > summaryHistos
Definition: DTDataIntegrityROSOffline.h:74
DTDataIntegrityROSOffline::hCorruptionSummary
MonitorElement * hCorruptionSummary
Definition: DTDataIntegrityROSOffline.h:82
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DTDataIntegrityROSOffline::bookHistograms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: DTDataIntegrityROSOffline.cc:62
DTROChainCoding
FIXEME:
Definition: DTROChainCoding.h:28
DTDataIntegrityROSOffline::eventErrorFlag
bool eventErrorFlag
Definition: DTDataIntegrityROSOffline.h:98
DTDataIntegrityROSOffline::FEDIDmin
int FEDIDmin
Definition: DTDataIntegrityROSOffline.h:93
DTDDUData
Definition: DTControlData.h:104
DTDataIntegrityROSOffline::rosL1AIdsPerFED
std::map< int, std::set< int > > rosL1AIdsPerFED
Definition: DTDataIntegrityROSOffline.h:102
DTDataIntegrityROSOffline::hFEDNonFatal
MonitorElement * hFEDNonFatal
Definition: DTDataIntegrityROSOffline.h:81
Frameworkfwd.h
DTDataIntegrityROSOffline::bookHistosROS25
void bookHistosROS25(DQMStore::IBooker &, DTROChainCoding code)
Definition: DTDataIntegrityROSOffline.cc:305
ewkTauDQM_cfi.channels
channels
Definition: ewkTauDQM_cfi.py:14
DTDataIntegrityROSOffline::fedNonFatal
void fedNonFatal(int dduID)
Definition: DTDataIntegrityROSOffline.cc:685
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
dqm::implementation::IBooker
Definition: DQMStore.h:43
DTDataIntegrityROSOffline
Definition: DTDataIntegrityROSOffline.h:33
DTROS25Data
Definition: DTControlData.h:22
ParameterSet.h
DTDataIntegrityROSOffline::processFED
void processFED(DTDDUData &dduData, const std::vector< DTROS25Data > &rosData, int dduID)
Definition: DTDataIntegrityROSOffline.cc:543
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
edm::Event
Definition: Event.h:73
DTDataIntegrityROSOffline::dduToken
edm::EDGetTokenT< DTDDUCollection > dduToken
Definition: DTDataIntegrityROSOffline.h:107
DTDataIntegrityROSOffline::fedEntry
void fedEntry(int dduID)
Definition: DTDataIntegrityROSOffline.cc:679
DTDataIntegrityROSOffline::channelsInCEROS
void channelsInCEROS(int cerosId, int chMask, std::vector< int > &channels)
Definition: DTDataIntegrityROSOffline.cc:693
DTDataIntegrityROSOffline::FEDIDmax
int FEDIDmax
Definition: DTDataIntegrityROSOffline.h:94
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
DTDataIntegrityROSOffline::nevents
int nevents
Definition: DTDataIntegrityROSOffline.h:67