CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DTDataIntegrityTask.h
Go to the documentation of this file.
1 #ifndef DTDataIntegrityTask_H
2 #define DTDataIntegrityTask_H
3 
15 
20 
22 
25 
26 #include <fstream>
27 #include <map>
28 #include <string>
29 #include <vector>
30 #include <list>
31 
32 class DTROS25Data;
33 class DTDDUData;
35 
36 
38 
39 public:
40 
42 
43  virtual ~DTDataIntegrityTask();
44 
45  void TimeHistos(std::string histoType);
46 
47  void processROS25(DTROS25Data & data, int dduID, int ros);
48  void processFED(DTDDUData & dduData, const std::vector<DTROS25Data> & rosData, int dduID);
49 
50  // log number of times the payload of each fed is unpacked
51  void fedEntry(int dduID);
52  // log number of times the payload of each fed is skipped (no ROS inside)
53  void fedFatal(int dduID);
54  // log number of times the payload of each fed is partially skipped (some ROS skipped)
55  void fedNonFatal(int dduID);
56 
57  bool eventHasErrors() const;
58  void postBeginJob();
59  void postEndJob();
60  void preProcessEvent(const edm::EventID& iEvtid, const edm::Timestamp& iTime);
61 
62  void preBeginLumi(const edm::LuminosityBlockID& ls, const edm::Timestamp& iTime);
63  void preEndLumi(const edm::LuminosityBlockID& ls, const edm::Timestamp& iTime);
64 
65 private:
66 
67  void bookHistos(const int fedMin, const int fedMax);
68  void bookHistos(std::string folder, DTROChainCoding code);
70 
71  void channelsInCEROS(int cerosId, int chMask, std::vector<int>& channels);
72  void channelsInROS(int cerosMask, std::vector<int>& channels);
73 
74  std::string topFolder(bool isFEDIntegrity) const;
75 
76  std::multimap<std::string, std::string> names;
77  std::multimap<std::string, std::string>::iterator it;
78 
80 
81  //If you want info VS time histos
83  // Plot quantities about SC
84  bool getSCInfo;
85 
86  int nevents;
87 
88  // back-end interface
90 
92 
93  // Monitor Elements
95  // <histoType, <index , histo> >
96  std::map<std::string, std::map<int, MonitorElement*> > dduHistos;
97  // <histoType, histo> >
98  std::map<std::string, std::map<int, MonitorElement*> > rosSHistos;
99  // <histoType, <index , histo> >
100  std::map<std::string, std::map<int, MonitorElement*> > rosHistos;
101  // <histoType, <tdcID, histo> >
102  std::map<std::string, std::map<int, MonitorElement*> > robHistos;
103 
104  // standard ME for monitoring of FED integrity
109 
110  // one for all FEDS
112 
113  //time histos for DDU/ROS
114  std::map<std::string, std::map<int, DTTimeEvolutionHisto*> > dduTimeHistos;
115  std::map<std::string, std::map<int, DTTimeEvolutionHisto*> > rosTimeHistos;
116 
118 
123  double rob_max[25];
124 
125  //Event counter for the graphs VS time
126  int myPrevEv;
127 
128  //Monitor TTS,ROS,FIFO VS time
132 
133  // event error flag: true when errors are detected
134  // can be used for the selection of the debug stream
136 
137  std::map<int, std::set<int> > rosBxIdsPerFED;
138  std::set<int> fedBXIds;
139  std::map<int, std::set<int> > rosL1AIdsPerFED;
140 
141  // flag to toggle the creation of only the summaries (for HLT running)
142  int mode;
144 
145 };
146 
147 
148 #endif
149 
150 
151 /* Local Variables: */
152 /* show-trailing-whitespace: t */
153 /* truncate-lines: t */
154 /* End: */
std::map< int, std::set< int > > rosBxIdsPerFED
std::multimap< std::string, std::string > names
std::map< int, std::set< int > > rosL1AIdsPerFED
void preProcessEvent(const edm::EventID &iEvtid, const edm::Timestamp &iTime)
std::map< std::string, std::map< int, MonitorElement * > > dduHistos
std::multimap< std::string, std::string >::iterator it
void processFED(DTDDUData &dduData, const std::vector< DTROS25Data > &rosData, int dduID)
void preBeginLumi(const edm::LuminosityBlockID &ls, const edm::Timestamp &iTime)
MonitorElement * hFEDNonFatal
std::map< std::string, std::map< int, DTTimeEvolutionHisto * > > dduTimeHistos
void channelsInROS(int cerosMask, std::vector< int > &channels)
MonitorElement * hFEDFatal
DTROChainCoding coding
void processROS25(DTROS25Data &data, int dduID, int ros)
void bookHistosROS25(DTROChainCoding code)
void preEndLumi(const edm::LuminosityBlockID &ls, const edm::Timestamp &iTime)
std::map< std::string, std::map< int, MonitorElement * > > rosSHistos
std::map< std::string, std::map< int, MonitorElement * > > robHistos
void TimeHistos(std::string histoType)
MonitorElement * nEventMonitor
std::string topFolder(bool isFEDIntegrity) const
MonitorElement * hFEDEntry
std::map< std::string, std::map< int, MonitorElement * > > rosHistos
void bookHistos(const int fedMin, const int fedMax)
edm::ParameterSet parameters
DTDataIntegrityTask(const edm::ParameterSet &ps, edm::ActivityRegistry &reg)
void channelsInCEROS(int cerosId, int chMask, std::vector< int > &channels)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
MonitorElement * hTTSSummary
std::map< std::string, std::map< int, DTTimeEvolutionHisto * > > rosTimeHistos
std::set< int > fedBXIds
MonitorElement * hCorruptionSummary