CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1TLayer1.h
Go to the documentation of this file.
1 #ifndef L1TLayer1_H
2 #define L1TLayer1_H
3 
4 // system include files
5 #include <memory>
6 #include <string>
7 #include <array>
8 
9 // user include files
12 
15 
17 
20 
23 
26 
27 class L1TLayer1 : public DQMEDAnalyzer {
28  public:
29  L1TLayer1(const edm::ParameterSet& ps);
30  virtual ~L1TLayer1();
31 
32  protected:
33  void analyze(const edm::Event& e, const edm::EventSetup& c);
34  virtual void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run&, const edm::EventSetup&) override;
35  virtual void dqmBeginRun(const edm::Run&, const edm::EventSetup&);
37 
38  private:
39  void updateMismatch(const edm::Event& e, int mismatchType);
40  // Input and config info
51 
52  // Some types to ease the pain of compring the sets of towers
53  class SimpleTower {
54  public:
55  int8_t ieta_;
56  int8_t iphi_;
57  // Sometimes pt, sometimes pt+feature bits
58  int32_t data_;
59  // Only available from received towers
60  int16_t linkFlags_;
61  SimpleTower(int8_t ieta, int8_t iphi, int32_t data, int16_t linkFlags=0):ieta_(ieta),iphi_(iphi), data_(data), linkFlags_(linkFlags) {};
62 
63  // Lexicographical strict weak ordering
64  // allows use of std::set_intersection, etc.
65  bool operator<(const SimpleTower& b) const {
66  if ( ieta_ < b.ieta_ ) return true;
67  if ( ieta_ == b.ieta_ && iphi_ < b.iphi_ ) return true;
68  if ( ieta_ == b.ieta_ && iphi_ == b.iphi_ && data_ < b.data_ ) return true;
69  return false;
70  };
71  };
72  typedef std::set<SimpleTower> SimpleTowerSet;
73 
76 
82 
86 
90 
96 
99 
105 
109 
113 
119 
121  std::array<std::pair<std::string, int>, 20> last20MismatchArray_;
123 };
124 
125 #endif
size_t lastMismatchIndex_
Definition: L1TLayer1.h:122
L1TLayer1(const edm::ParameterSet &ps)
Definition: L1TLayer1.cc:40
MonitorElement * hcalTPRawEtSent_
Definition: L1TLayer1.h:115
MonitorElement * hcalTPRawEtRecdNotSent_
Definition: L1TLayer1.h:116
MonitorElement * ecalOccRecdNotSent_
Definition: L1TLayer1.h:85
MonitorElement * last20Mismatches_
Definition: L1TLayer1.h:120
int tpFillThreshold_
Definition: L1TLayer1.h:50
MonitorElement * ecalOccSentNotRecd_
Definition: L1TLayer1.h:84
edm::EDGetTokenT< HcalTrigPrimDigiCollection > hcalTPSourceSent_
Definition: L1TLayer1.h:47
virtual ~L1TLayer1()
Definition: L1TLayer1.cc:54
MonitorElement * hcalOccMaskedSentNotRecd_
Definition: L1TLayer1.h:111
MonitorElement * ecalOccMaskedRecdNotSent_
Definition: L1TLayer1.h:89
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTPSourceRecd_
Definition: L1TLayer1.h:41
MonitorElement * ecalTPRawEtRecd_
Definition: L1TLayer1.h:91
MonitorElement * ecalTPRawEtSentNotRecd_
Definition: L1TLayer1.h:94
MonitorElement * hcalOccSentNotRecd_
Definition: L1TLayer1.h:107
MonitorElement * ecalOccRecd_
Definition: L1TLayer1.h:77
std::string ecalTPSourceSentLabel_
Definition: L1TLayer1.h:46
MonitorElement * ecalOccRecd_isECALLinkInError_
Definition: L1TLayer1.h:81
std::string ecalTPSourceRecdLabel_
Definition: L1TLayer1.h:42
std::set< SimpleTower > SimpleTowerSet
Definition: L1TLayer1.h:72
MonitorElement * hcalOccRecd_
Definition: L1TLayer1.h:100
bool operator<(const SimpleTower &b) const
Definition: L1TLayer1.h:65
MonitorElement * ecalOccRecd_isECALTowerMasked_
Definition: L1TLayer1.h:79
MonitorElement * ecalTPRawEtSent_
Definition: L1TLayer1.h:92
MonitorElement * hcalOccRecd_isHCALTowerMasked_
Definition: L1TLayer1.h:102
MonitorElement * hcalTPRawEtSentNotRecd_
Definition: L1TLayer1.h:117
MonitorElement * hcalOccSent_
Definition: L1TLayer1.h:97
MonitorElement * hcalOccRecd_isHCALLinkInError_
Definition: L1TLayer1.h:104
MonitorElement * ecalOccMaskedSentNotRecd_
Definition: L1TLayer1.h:88
MonitorElement * hcalOccMaskedSentAndRecd_
Definition: L1TLayer1.h:110
std::array< std::pair< std::string, int >, 20 > last20MismatchArray_
Definition: L1TLayer1.h:121
std::string histFolder_
Definition: L1TLayer1.h:49
MonitorElement * hcalOccMaskedRecdNotSent_
Definition: L1TLayer1.h:112
MonitorElement * hcalOccSentAndRecd_
Definition: L1TLayer1.h:106
virtual void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run &, const edm::EventSetup &) override
Definition: L1TLayer1.cc:270
MonitorElement * hcalTPRawEtSentAndRecd_
Definition: L1TLayer1.h:118
void analyze(const edm::Event &e, const edm::EventSetup &c)
Definition: L1TLayer1.cc:62
MonitorElement * ecalOccSentAndRecd_
Definition: L1TLayer1.h:83
SimpleTower(int8_t ieta, int8_t iphi, int32_t data, int16_t linkFlags=0)
Definition: L1TLayer1.h:61
MonitorElement * ecalOccSent_isFineGrainVB_
Definition: L1TLayer1.h:75
std::string hcalTPSourceSentLabel_
Definition: L1TLayer1.h:48
MonitorElement * ecalOccSent_
Definition: L1TLayer1.h:74
void updateMismatch(const edm::Event &e, int mismatchType)
Definition: L1TLayer1.cc:252
MonitorElement * ecalOccRecd_isECALLinkMasked_
Definition: L1TLayer1.h:80
MonitorElement * hcalOccRecd_isHCALLinkMasked_
Definition: L1TLayer1.h:103
edm::EDGetTokenT< HcalTrigPrimDigiCollection > hcalTPSourceRecd_
Definition: L1TLayer1.h:43
MonitorElement * hcalOccRecd_hasFeatureBits_
Definition: L1TLayer1.h:101
MonitorElement * hcalOccSent_hasFeatureBits_
Definition: L1TLayer1.h:98
double b
Definition: hdecay.h:120
MonitorElement * hcalTPRawEtRecd_
Definition: L1TLayer1.h:114
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTPSourceSent_
Definition: L1TLayer1.h:45
void beginLuminosityBlock(const edm::LuminosityBlock &, const edm::EventSetup &)
Definition: L1TLayer1.cc:450
MonitorElement * ecalOccRecd_isFineGrainVB_
Definition: L1TLayer1.h:78
MonitorElement * ecalTPRawEtSentAndRecd_
Definition: L1TLayer1.h:95
MonitorElement * ecalOccMaskedSentAndRecd_
Definition: L1TLayer1.h:87
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
std::string hcalTPSourceRecdLabel_
Definition: L1TLayer1.h:44
MonitorElement * ecalTPRawEtRecdNotSent_
Definition: L1TLayer1.h:93
MonitorElement * hcalOccRecdNotSent_
Definition: L1TLayer1.h:108
virtual void dqmBeginRun(const edm::Run &, const edm::EventSetup &)
Definition: L1TLayer1.cc:58
Definition: Run.h:43