CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
L1TLayer1 Class Reference

#include <L1TLayer1.h>

Inheritance diagram for L1TLayer1:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Classes

class  SimpleTower
 

Public Member Functions

 L1TLayer1 (const edm::ParameterSet &ps)
 
virtual ~L1TLayer1 ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 
void beginLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &)
 
virtual void bookHistograms (DQMStore::IBooker &ibooker, const edm::Run &, const edm::EventSetup &) override
 
virtual void dqmBeginRun (const edm::Run &, const edm::EventSetup &)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Types

typedef std::set< SimpleTowerSimpleTowerSet
 

Private Member Functions

void updateMismatch (const edm::Event &e, int mismatchType)
 

Private Attributes

MonitorElementecalOccMaskedRecdNotSent_
 
MonitorElementecalOccMaskedSentAndRecd_
 
MonitorElementecalOccMaskedSentNotRecd_
 
MonitorElementecalOccRecd_
 
MonitorElementecalOccRecd_isECALLinkInError_
 
MonitorElementecalOccRecd_isECALLinkMasked_
 
MonitorElementecalOccRecd_isECALTowerMasked_
 
MonitorElementecalOccRecd_isFineGrainVB_
 
MonitorElementecalOccRecdNotSent_
 
MonitorElementecalOccSent_
 
MonitorElementecalOccSent_isFineGrainVB_
 
MonitorElementecalOccSentAndRecd_
 
MonitorElementecalOccSentNotRecd_
 
MonitorElementecalTPRawEtRecd_
 
MonitorElementecalTPRawEtRecdNotSent_
 
MonitorElementecalTPRawEtSent_
 
MonitorElementecalTPRawEtSentAndRecd_
 
MonitorElementecalTPRawEtSentNotRecd_
 
edm::EDGetTokenT
< EcalTrigPrimDigiCollection
ecalTPSourceRecd_
 
std::string ecalTPSourceRecdLabel_
 
edm::EDGetTokenT
< EcalTrigPrimDigiCollection
ecalTPSourceSent_
 
std::string ecalTPSourceSentLabel_
 
MonitorElementhcalOccMaskedRecdNotSent_
 
MonitorElementhcalOccMaskedSentAndRecd_
 
MonitorElementhcalOccMaskedSentNotRecd_
 
MonitorElementhcalOccRecd_
 
MonitorElementhcalOccRecd_hasFeatureBits_
 
MonitorElementhcalOccRecd_isHCALLinkInError_
 
MonitorElementhcalOccRecd_isHCALLinkMasked_
 
MonitorElementhcalOccRecd_isHCALTowerMasked_
 
MonitorElementhcalOccRecdNotSent_
 
MonitorElementhcalOccSent_
 
MonitorElementhcalOccSent_hasFeatureBits_
 
MonitorElementhcalOccSentAndRecd_
 
MonitorElementhcalOccSentNotRecd_
 
MonitorElementhcalTPRawEtRecd_
 
MonitorElementhcalTPRawEtRecdNotSent_
 
MonitorElementhcalTPRawEtSent_
 
MonitorElementhcalTPRawEtSentAndRecd_
 
MonitorElementhcalTPRawEtSentNotRecd_
 
edm::EDGetTokenT
< HcalTrigPrimDigiCollection
hcalTPSourceRecd_
 
std::string hcalTPSourceRecdLabel_
 
edm::EDGetTokenT
< HcalTrigPrimDigiCollection
hcalTPSourceSent_
 
std::string hcalTPSourceSentLabel_
 
std::string histFolder_
 
std::array< std::pair
< std::string, int >, 20 > 
last20MismatchArray_
 
MonitorElementlast20Mismatches_
 
size_t lastMismatchIndex_ {0}
 
int tpFillThreshold_
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 27 of file L1TLayer1.h.

Member Typedef Documentation

typedef std::set<SimpleTower> L1TLayer1::SimpleTowerSet
private

Definition at line 72 of file L1TLayer1.h.

Constructor & Destructor Documentation

L1TLayer1::L1TLayer1 ( const edm::ParameterSet ps)

Definition at line 40 of file L1TLayer1.cc.

40  :
41  ecalTPSourceRecd_(consumes<EcalTrigPrimDigiCollection>(ps.getParameter<edm::InputTag>("ecalTPSourceRecd"))),
42  ecalTPSourceRecdLabel_(ps.getParameter<edm::InputTag>("ecalTPSourceRecd").label()),
43  hcalTPSourceRecd_(consumes<HcalTrigPrimDigiCollection>(ps.getParameter<edm::InputTag>("hcalTPSourceRecd"))),
44  hcalTPSourceRecdLabel_(ps.getParameter<edm::InputTag>("hcalTPSourceRecd").label()),
45  ecalTPSourceSent_(consumes<EcalTrigPrimDigiCollection>(ps.getParameter<edm::InputTag>("ecalTPSourceSent"))),
46  ecalTPSourceSentLabel_(ps.getParameter<edm::InputTag>("ecalTPSourceSent").label()),
47  hcalTPSourceSent_(consumes<HcalTrigPrimDigiCollection>(ps.getParameter<edm::InputTag>("hcalTPSourceSent"))),
48  hcalTPSourceSentLabel_(ps.getParameter<edm::InputTag>("hcalTPSourceSent").label()),
49  histFolder_(ps.getParameter<std::string>("histFolder")),
50  tpFillThreshold_(ps.getUntrackedParameter<int>("etDistributionsFillThreshold", 0))
51 {
52 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
int tpFillThreshold_
Definition: L1TLayer1.h:50
edm::EDGetTokenT< HcalTrigPrimDigiCollection > hcalTPSourceSent_
Definition: L1TLayer1.h:47
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTPSourceRecd_
Definition: L1TLayer1.h:41
std::string ecalTPSourceSentLabel_
Definition: L1TLayer1.h:46
std::string ecalTPSourceRecdLabel_
Definition: L1TLayer1.h:42
std::string histFolder_
Definition: L1TLayer1.h:49
std::string hcalTPSourceSentLabel_
Definition: L1TLayer1.h:48
edm::EDGetTokenT< HcalTrigPrimDigiCollection > hcalTPSourceRecd_
Definition: L1TLayer1.h:43
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTPSourceSent_
Definition: L1TLayer1.h:45
std::string const & label() const
Definition: InputTag.h:36
std::string hcalTPSourceRecdLabel_
Definition: L1TLayer1.h:44
L1TLayer1::~L1TLayer1 ( )
virtual

Definition at line 54 of file L1TLayer1.cc.

55 {
56 }

Member Function Documentation

void L1TLayer1::analyze ( const edm::Event e,
const edm::EventSetup c 
)
protectedvirtual

Implements edm::stream::EDAnalyzerBase.

Definition at line 62 of file L1TLayer1.cc.

References ecalOccMaskedRecdNotSent_, ecalOccMaskedSentNotRecd_, ecalOccRecd_, ecalOccRecd_isECALLinkInError_, ecalOccRecd_isECALLinkMasked_, ecalOccRecd_isECALTowerMasked_, ecalOccRecd_isFineGrainVB_, ecalOccRecdNotSent_, ecalOccSent_, ecalOccSent_isFineGrainVB_, ecalOccSentAndRecd_, ecalOccSentNotRecd_, ecalTPRawEtRecd_, ecalTPRawEtRecdNotSent_, ecalTPRawEtSent_, ecalTPRawEtSentAndRecd_, ecalTPRawEtSentNotRecd_, ecalTPSourceRecd_, ecalTPSourceSent_, MonitorElement::Fill(), hcalOccMaskedRecdNotSent_, hcalOccMaskedSentNotRecd_, hcalOccRecd_, hcalOccRecd_hasFeatureBits_, hcalOccRecd_isHCALLinkInError_, hcalOccRecd_isHCALLinkMasked_, hcalOccRecd_isHCALTowerMasked_, hcalOccRecdNotSent_, hcalOccSent_, hcalOccSent_hasFeatureBits_, hcalOccSentAndRecd_, hcalOccSentNotRecd_, hcalTPRawEtRecd_, hcalTPRawEtRecdNotSent_, hcalTPRawEtSent_, hcalTPRawEtSentAndRecd_, hcalTPRawEtSentNotRecd_, hcalTPSourceRecd_, hcalTPSourceSent_, tpFillThreshold_, and updateMismatch().

63 {
65  event.getByToken(ecalTPSourceSent_, ecalTPsSent);
67  event.getByToken(ecalTPSourceRecd_, ecalTPsRecd);
68 
69  SimpleTowerSet ecalSentSet;
70  for ( const auto& tp : *ecalTPsSent ) {
71  // Zero-suppress (if not already done before collection was saved)
72  if ( tp.compressedEt() > 0 ) {
73  ecalSentSet.emplace(tp.id().ieta(), tp.id().iphi(), tp.compressedEt());
74  }
75  }
76  SimpleTowerSet ecalRecdSet;
77  SimpleTowerSet ecalMasked;
78  // Store link flags from received TPs (bits 13-15)
79  // Shift so we access using bits 1-3
80  // See EventFilter/L1TXRawToDigi/plugins/L1TCaloLayer1RawToDigi.cc L218
81  for ( const auto& tp : *ecalTPsRecd ) {
82  // Zero-suppress (if not already done before collection was saved)
83  if ( tp.compressedEt() > 0 ) {
84  ecalRecdSet.emplace(tp.id().ieta(), tp.id().iphi(), tp.compressedEt(), tp.sample(0).raw()>>13);
85  }
86  if ( ((tp.sample(0).raw()>>13) & 0b11) > 0 ) {
87  // We will use this later to check if a mismatch is from masked link/tower
88  // Sets are nice for this since find is O(log(n))
89  ecalMasked.emplace(tp.id().ieta(), tp.id().iphi(), 0);
90  }
91  }
92 
93  SimpleTowerSet ecalSentNotRecdSet;
94  std::set_difference(ecalSentSet.begin(), ecalSentSet.end(), ecalRecdSet.begin(), ecalRecdSet.end(), std::inserter(ecalSentNotRecdSet, ecalSentNotRecdSet.begin()));
95  for ( const auto& tp : ecalSentNotRecdSet ) {
96  ecalOccSentNotRecd_->Fill(tp.ieta_, tp.iphi_);
97  ecalTPRawEtSentNotRecd_->Fill(tp.data_);
98 
99  SimpleTower tpNoEt(tp.ieta_, tp.iphi_, 0);
100  if ( ecalMasked.find(tpNoEt) == ecalMasked.end() ) {
101  ecalOccMaskedSentNotRecd_->Fill(tp.ieta_, tp.iphi_);
102  updateMismatch(event, 0);
103  }
104  }
105 
106  SimpleTowerSet ecalRecdNotSentSet;
107  std::set_difference(ecalRecdSet.begin(), ecalRecdSet.end(), ecalSentSet.begin(), ecalSentSet.end(), std::inserter(ecalRecdNotSentSet, ecalRecdNotSentSet.begin()));
108  for ( const auto& tp : ecalRecdNotSentSet ) {
109  ecalOccRecdNotSent_->Fill(tp.ieta_, tp.iphi_);
110  ecalTPRawEtRecdNotSent_->Fill(tp.data_);
111 
112  SimpleTower tpNoEt(tp.ieta_, tp.iphi_, 0);
113  if ( ecalMasked.find(tpNoEt) == ecalMasked.end() ) {
114  ecalOccMaskedRecdNotSent_->Fill(tp.ieta_, tp.iphi_);
115  updateMismatch(event, 1);
116  }
117  }
118 
119  SimpleTowerSet ecalSentAndRecdSet;
120  std::set_intersection(ecalRecdSet.begin(), ecalRecdSet.end(), ecalSentSet.begin(), ecalSentSet.end(), std::inserter(ecalSentAndRecdSet, ecalSentAndRecdSet.begin()));
121  for ( const auto& tp : ecalSentAndRecdSet ) {
122  ecalOccSentAndRecd_->Fill(tp.ieta_, tp.iphi_);
123  ecalTPRawEtSentAndRecd_->Fill(tp.data_);
124  }
125 
126  for ( const auto& ecalTp : *ecalTPsRecd ) {
127  if ( ecalTp.compressedEt() > tpFillThreshold_ ) {
128  ecalTPRawEtRecd_->Fill(ecalTp.compressedEt());
129  ecalOccRecd_->Fill(ecalTp.id().ieta(), ecalTp.id().iphi());
130  }
131 
132  if(ecalTp.fineGrain()==1){
133  ecalOccRecd_isFineGrainVB_->Fill(ecalTp.id().ieta(), ecalTp.id().iphi());
134  }
135 
136  if(((ecalTp.sample(0).raw()>>13)&1)==1){
137  ecalOccRecd_isECALTowerMasked_->Fill(ecalTp.id().ieta(), ecalTp.id().iphi());
138  }
139 
140  if(((ecalTp.sample(0).raw()>>14)&1)==1){
141  ecalOccRecd_isECALLinkMasked_->Fill(ecalTp.id().ieta(), ecalTp.id().iphi());
142  }
143 
144  if(((ecalTp.sample(0).raw()>>15)&1)==1){
145  ecalOccRecd_isECALLinkInError_->Fill(ecalTp.id().ieta(), ecalTp.id().iphi());
146  }
147  }
148 
149  for ( const auto& ecalTp : *ecalTPsSent ) {
150  if ( ecalTp.compressedEt() > tpFillThreshold_ ) {
151  ecalTPRawEtSent_->Fill(ecalTp.compressedEt());
152  ecalOccSent_->Fill(ecalTp.id().ieta(), ecalTp.id().iphi());
153  }
154  if(ecalTp.fineGrain()==1){
155  ecalOccSent_isFineGrainVB_->Fill(ecalTp.id().ieta(), ecalTp.id().iphi());
156  }
157  }
158 
159 
160 
162  event.getByToken(hcalTPSourceSent_, hcalTPsSent);
164  event.getByToken(hcalTPSourceRecd_, hcalTPsRecd);
165 
166  SimpleTowerSet hcalSentSet;
167  for ( const auto& tp : *hcalTPsSent ) {
168  // Zero-suppress (if not already done before collection was saved)
169  if ( tp.SOI_compressedEt() > 0 ) {
170  hcalSentSet.emplace(tp.id().ieta(), tp.id().iphi(), tp.SOI_compressedEt());
171  }
172  }
173  SimpleTowerSet hcalRecdSet;
174  SimpleTowerSet hcalMasked;
175  // Store link flags from received TPs (bits 13-15, also bits 9-11 are misaligned, inerror, down, resp.)
176  // See EventFilter/L1TXRawToDigi/plugins/L1TCaloLayer1RawToDigi.cc L261
177  for ( const auto& tp : *hcalTPsRecd ) {
178  // Zero-suppress (if not already done before collection was saved)
179  if ( tp.SOI_compressedEt() > 0 ) {
180  hcalRecdSet.emplace(tp.id().ieta(), tp.id().iphi(), tp.SOI_compressedEt(), tp.sample(0).raw()>>13);
181  }
182  }
183 
184  SimpleTowerSet hcalSentNotRecdSet;
185  std::set_difference(hcalSentSet.begin(), hcalSentSet.end(), hcalRecdSet.begin(), hcalRecdSet.end(), std::inserter(hcalSentNotRecdSet, hcalSentNotRecdSet.begin()));
186  for ( const auto& tp : hcalSentNotRecdSet ) {
187  hcalOccSentNotRecd_->Fill(tp.ieta_, tp.iphi_);
188  hcalTPRawEtSentNotRecd_->Fill(tp.data_);
189 
190  SimpleTower tpNoEt(tp.ieta_, tp.iphi_, 0);
191  if ( hcalMasked.find(tpNoEt) == hcalMasked.end() ) {
192  hcalOccMaskedSentNotRecd_->Fill(tp.ieta_, tp.iphi_);
193  updateMismatch(event, 2);
194  }
195  }
196 
197  SimpleTowerSet hcalRecdNotSentSet;
198  std::set_difference(hcalRecdSet.begin(), hcalRecdSet.end(), hcalSentSet.begin(), hcalSentSet.end(), std::inserter(hcalRecdNotSentSet, hcalRecdNotSentSet.begin()));
199  for ( const auto& tp : hcalRecdNotSentSet ) {
200  hcalOccRecdNotSent_->Fill(tp.ieta_, tp.iphi_);
201  hcalTPRawEtRecdNotSent_->Fill(tp.data_);
202 
203  SimpleTower tpNoEt(tp.ieta_, tp.iphi_, 0);
204  if ( hcalMasked.find(tpNoEt) == hcalMasked.end() ) {
205  hcalOccMaskedRecdNotSent_->Fill(tp.ieta_, tp.iphi_);
206  updateMismatch(event, 3);
207  }
208  }
209 
210  SimpleTowerSet hcalSentAndRecdSet;
211  std::set_intersection(hcalRecdSet.begin(), hcalRecdSet.end(), hcalSentSet.begin(), hcalSentSet.end(), std::inserter(hcalSentAndRecdSet, hcalSentAndRecdSet.begin()));
212  for ( const auto& tp : hcalSentAndRecdSet ) {
213  hcalOccSentAndRecd_->Fill(tp.ieta_, tp.iphi_);
214  hcalTPRawEtSentAndRecd_->Fill(tp.data_);
215  }
216 
217 
218  for ( const auto& hcalTp : *hcalTPsRecd ) {
219  if ( hcalTp.SOI_compressedEt() > tpFillThreshold_ ) {
220  hcalTPRawEtRecd_->Fill(hcalTp.SOI_compressedEt());
221  hcalOccRecd_->Fill(hcalTp.id().ieta(), hcalTp.id().iphi());
222  }
223  if(hcalTp.SOI_fineGrain()){
224  hcalOccRecd_hasFeatureBits_->Fill(hcalTp.id().ieta(), hcalTp.id().iphi());
225  }
226 
227  if(((hcalTp.sample(0).raw()>>13)&1)==1){
228  hcalOccRecd_isHCALTowerMasked_->Fill(hcalTp.id().ieta(), hcalTp.id().iphi());
229  }
230 
231  if(((hcalTp.sample(0).raw()>>14)&1)==1){
232  hcalOccRecd_isHCALLinkMasked_->Fill(hcalTp.id().ieta(), hcalTp.id().iphi());
233  }
234 
235  if(((hcalTp.sample(0).raw()>>15)&1)==1){
236  hcalOccRecd_isHCALLinkInError_->Fill(hcalTp.id().ieta(), hcalTp.id().iphi());
237  }
238  }
239 
240  for ( const auto& hcalTp : *hcalTPsSent ) {
241  if ( hcalTp.SOI_compressedEt() > tpFillThreshold_ ) {
242  hcalTPRawEtSent_->Fill(hcalTp.SOI_compressedEt());
243  hcalOccSent_->Fill(hcalTp.id().ieta(), hcalTp.id().iphi());
244  }
245  if(hcalTp.SOI_fineGrain()==1){
246  hcalOccSent_hasFeatureBits_->Fill(hcalTp.id().ieta(), hcalTp.id().iphi());
247  }
248  }
249 }
MonitorElement * hcalTPRawEtSent_
Definition: L1TLayer1.h:115
MonitorElement * hcalTPRawEtRecdNotSent_
Definition: L1TLayer1.h:116
MonitorElement * ecalOccRecdNotSent_
Definition: L1TLayer1.h:85
int tpFillThreshold_
Definition: L1TLayer1.h:50
MonitorElement * ecalOccSentNotRecd_
Definition: L1TLayer1.h:84
edm::EDGetTokenT< HcalTrigPrimDigiCollection > hcalTPSourceSent_
Definition: L1TLayer1.h:47
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
MonitorElement * ecalOccRecd_isECALLinkInError_
Definition: L1TLayer1.h:81
std::set< SimpleTower > SimpleTowerSet
Definition: L1TLayer1.h:72
MonitorElement * hcalOccRecd_
Definition: L1TLayer1.h:100
void Fill(long long x)
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 * hcalOccMaskedRecdNotSent_
Definition: L1TLayer1.h:112
MonitorElement * hcalOccSentAndRecd_
Definition: L1TLayer1.h:106
MonitorElement * hcalTPRawEtSentAndRecd_
Definition: L1TLayer1.h:118
MonitorElement * ecalOccSentAndRecd_
Definition: L1TLayer1.h:83
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
MonitorElement * ecalOccSent_isFineGrainVB_
Definition: L1TLayer1.h:75
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
MonitorElement * hcalTPRawEtRecd_
Definition: L1TLayer1.h:114
edm::EDGetTokenT< EcalTrigPrimDigiCollection > ecalTPSourceSent_
Definition: L1TLayer1.h:45
MonitorElement * ecalOccRecd_isFineGrainVB_
Definition: L1TLayer1.h:78
MonitorElement * ecalTPRawEtSentAndRecd_
Definition: L1TLayer1.h:95
MonitorElement * ecalTPRawEtRecdNotSent_
Definition: L1TLayer1.h:93
MonitorElement * hcalOccRecdNotSent_
Definition: L1TLayer1.h:108
void L1TLayer1::beginLuminosityBlock ( const edm::LuminosityBlock ls,
const edm::EventSetup es 
)
protectedvirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 450 of file L1TLayer1.cc.

451 {
452 }
void L1TLayer1::bookHistograms ( DQMStore::IBooker ibooker,
const edm::Run run,
const edm::EventSetup es 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 270 of file L1TLayer1.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), ecalOccMaskedRecdNotSent_, ecalOccMaskedSentAndRecd_, ecalOccMaskedSentNotRecd_, ecalOccRecd_, ecalOccRecd_isECALLinkInError_, ecalOccRecd_isECALLinkMasked_, ecalOccRecd_isECALTowerMasked_, ecalOccRecd_isFineGrainVB_, ecalOccRecdNotSent_, ecalOccSent_, ecalOccSent_isFineGrainVB_, ecalOccSentAndRecd_, ecalOccSentNotRecd_, ecalTPRawEtRecd_, ecalTPRawEtRecdNotSent_, ecalTPRawEtSent_, ecalTPRawEtSentAndRecd_, ecalTPRawEtSentNotRecd_, ecalTPSourceRecdLabel_, ecalTPSourceSentLabel_, MonitorElement::getTH2F(), hcalOccMaskedRecdNotSent_, hcalOccMaskedSentAndRecd_, hcalOccMaskedSentNotRecd_, hcalOccRecd_, hcalOccRecd_hasFeatureBits_, hcalOccRecd_isHCALLinkInError_, hcalOccRecd_isHCALLinkMasked_, hcalOccRecd_isHCALTowerMasked_, hcalOccRecdNotSent_, hcalOccSent_, hcalOccSent_hasFeatureBits_, hcalOccSentAndRecd_, hcalOccSentNotRecd_, hcalTPRawEtRecd_, hcalTPRawEtRecdNotSent_, hcalTPRawEtSent_, hcalTPRawEtSentAndRecd_, hcalTPRawEtSentNotRecd_, hcalTPSourceRecdLabel_, hcalTPSourceSentLabel_, histFolder_, i, diffTwoXMLs::label, last20MismatchArray_, last20Mismatches_, DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, TPGETABINS, TPGETAMAX, TPGETAMIN, TPGPHIBINS, TPGPHIMAX, and TPGPHIMIN.

271 {
272  auto sourceString = [](std::string label){return " (source: "+label+")";};
273 
274  ibooker.setCurrentFolder(histFolder_+"/ECalEtDistributions");
275 
276  ecalTPRawEtSent_ = ibooker.book1D("ecalTPRawEtSent",
277  "ECal Raw Et sent"+sourceString(ecalTPSourceSentLabel_),
278  TPGEtbins, TPGEtMIN, TPGEtMAX);
279 
280  ecalTPRawEtRecd_ = ibooker.book1D("ecalTPRawEtRecd",
281  "ECal Raw Et received"+sourceString(ecalTPSourceRecdLabel_),
282  TPGEtbins, TPGEtMIN, TPGEtMAX);
283 
284  ecalTPRawEtRecdNotSent_ = ibooker.book1D("ecalTPRawEtRecdNotSent",
285  "ECal Raw Et Received NOT Sent",
286  TPGEtbins, TPGEtMIN, TPGEtMAX);
287 
288  ecalTPRawEtSentNotRecd_ = ibooker.book1D("ecalTPRawEtSentNotRecd",
289  "ECal Raw Et Sent NOT Received",
290  TPGEtbins, TPGEtMIN, TPGEtMAX);
291 
292  ecalTPRawEtSentAndRecd_ = ibooker.book1D("ecalTPRawEtSentAndRecd",
293  "ECal Raw Et Sent AND Recd",
294  TPGEtbins, TPGEtMIN, TPGEtMAX);
295 
296 
297  ibooker.setCurrentFolder(histFolder_+"/ECalOccupancies");
298 
299  ecalOccRecd_isECALTowerMasked_ = ibooker.book2D("ecalOccRecd_isECALTowerMasked",
300  "ECal TP Occupancy received for the ECAL Masked towers"+sourceString(ecalTPSourceRecdLabel_),
302 
303  ecalOccRecd_isFineGrainVB_ = ibooker.book2D("ecalOccRecd_isFineGrainVB",
304  "ECal TP Occupancy received for the fine grain veto"+sourceString(ecalTPSourceRecdLabel_),
306 
307  ecalOccSent_isFineGrainVB_ = ibooker.book2D("ecalOccSent_isFineGrainVB",
308  "ECal TP Occupancy sent for the fine grain veto"+sourceString(ecalTPSourceSentLabel_),
310 
311  ecalOccRecd_isECALLinkMasked_ = ibooker.book2D("ecalOccRecd_isECALLinkMasked",
312  "ECal TP Occupancy received for the ECAL Masked Links"+sourceString(ecalTPSourceRecdLabel_),
314 
315  ecalOccRecd_isECALLinkInError_ = ibooker.book2D("ecalOccRecd_isECALLinkInError",
316  "ECal TP Occupancy received for the ECAL Misaligned, Inerror and Down Links"+sourceString(ecalTPSourceRecdLabel_),
318 
319  ecalOccRecd_ = ibooker.book2D("ecalOccRecd",
320  "ECal TP Occupancy received"+sourceString(ecalTPSourceRecdLabel_),
322 
323  ecalOccSent_ = ibooker.book2D("ecalOccSent",
324  "ECal TP Occupancy sent"+sourceString(ecalTPSourceSentLabel_),
326 
327  ecalOccRecdNotSent_ = ibooker.book2D("ecalOccRecdNotSent",
328  "ECal TP Occupancy Received NOT Sent",
330 
331  ecalOccSentNotRecd_ = ibooker.book2D("ecalOccSentNotRecd",
332  "ECal TP Occupancy Sent NOT Received",
334 
335  ecalOccSentAndRecd_ = ibooker.book2D("ecalOccSentAndRecd",
336  "ECal TP Occupancy Sent AND Received",
338 
339 
340  ibooker.setCurrentFolder(histFolder_+"/ECalOccupancies/Masked");
341 
342  ecalOccMaskedRecdNotSent_ = ibooker.book2D("ecalOccMaskedRecdNotSent",
343  "ECal Masked TP Occupancy Received NOT Sent",
345 
346  ecalOccMaskedSentNotRecd_ = ibooker.book2D("ecalOccMaskedSentNotRecd",
347  "ECal Masked TP Occupancy Sent NOT Received",
349 
350  ecalOccMaskedSentAndRecd_ = ibooker.book2D("ecalOccMaskedSentAndRecd",
351  "ECal Masked TP Occupancy Sent AND Received",
353 
354 
355  ibooker.setCurrentFolder(histFolder_+"/HCalEtDistributions");
356 
357  hcalTPRawEtSent_ = ibooker.book1D("hcalTPRawEtSent",
358  "Hcal Raw Et sent"+sourceString(hcalTPSourceSentLabel_),
359  TPGEtbins, TPGEtMIN, TPGEtMAX);
360 
361  hcalTPRawEtRecd_ = ibooker.book1D("hcalTPRawEtRecd",
362  "Hcal Raw Et received"+sourceString(hcalTPSourceRecdLabel_),
363  TPGEtbins, TPGEtMIN, TPGEtMAX);
364 
365  hcalTPRawEtRecdNotSent_ = ibooker.book1D("hcalTPRawEtRecdNotSent",
366  "Hcal Raw Et Received NOT Sent",
367  TPGEtbins, TPGEtMIN, TPGEtMAX);
368 
369  hcalTPRawEtSentNotRecd_ = ibooker.book1D("hcalTPRawEtSentNotRecd",
370  "Hcal Raw Et Sent NOT Received",
371  TPGEtbins, TPGEtMIN, TPGEtMAX);
372 
373  hcalTPRawEtSentAndRecd_ = ibooker.book1D("hcalTPRawEtSentAndRecd",
374  "Hcal Raw Et Sent AND Received",
375  TPGEtbins, TPGEtMIN, TPGEtMAX);
376 
377 
378  ibooker.setCurrentFolder(histFolder_+"/HCalOccupancies");
379 
380  hcalOccRecd_isHCALTowerMasked_ = ibooker.book2D("hcalOccRecd_isHCALTowerMasked",
381  "Hcal TP Occupancy received for the HCAL Masked towers"+sourceString(hcalTPSourceRecdLabel_),
382  TPETABINSHCAL, TPETAMINHCAL, TPETAMAXHCAL, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
383 
384  hcalOccRecd_hasFeatureBits_ = ibooker.book2D("hcalOccRecd_hasFeatureBits",
385  "Hcal TP Occupancy received for the feature bits"+sourceString(hcalTPSourceRecdLabel_),
386  TPETABINSHCAL, TPETAMINHCAL, TPETAMAXHCAL, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
387 
388  hcalOccSent_hasFeatureBits_ = ibooker.book2D("hcalOccSent_hasFeatureBits",
389  "Hcal TP Occupancy sent for the feature bits"+sourceString(hcalTPSourceSentLabel_),
390  TPETABINSHCAL, TPETAMINHCAL, TPETAMAXHCAL, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
391 
392 
393  hcalOccRecd_isHCALLinkMasked_ = ibooker.book2D("hcalOccRecd_isHCALLinkMasked",
394  "Hcal TP Occupancy received for the HCAL Masked Links"+sourceString(hcalTPSourceRecdLabel_),
395  TPETABINSHCAL, TPETAMINHCAL, TPETAMAXHCAL, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
396 
397  hcalOccRecd_isHCALLinkInError_ = ibooker.book2D("hcalOccRecd_isHCALLinkInError",
398  "Hcal TP Occupancy received for the HCAL Misaligned, Inerror and Down Links"+sourceString(hcalTPSourceRecdLabel_),
399  TPETABINSHCAL, TPETAMINHCAL, TPETAMAXHCAL, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
400 
401  hcalOccRecd_ = ibooker.book2D("hcalOccRecd",
402  "Hcal TP Occupancy received"+sourceString(hcalTPSourceRecdLabel_),
403  TPETABINSHCAL, TPETAMINHCAL, TPETAMAXHCAL, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
404 
405  hcalOccSent_ = ibooker.book2D("hcalOccSent",
406  "Hcal TP Occupancy sent"+sourceString(hcalTPSourceSentLabel_),
407  TPETABINSHCAL, TPETAMINHCAL, TPETAMAXHCAL, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
408 
409  hcalOccRecdNotSent_ = ibooker.book2D("hcalOccRecdNotSent",
410  "HCal TP Occupancy Received NOT Sent",
411  TPETABINSHCAL, TPETAMINHCAL, TPETAMAXHCAL, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
412 
413  hcalOccSentNotRecd_ = ibooker.book2D("hcalOccSentNotRecd",
414  "HCal TP Occupancy Sent NOT Received",
415  TPETABINSHCAL, TPETAMINHCAL, TPETAMAXHCAL, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
416 
417  hcalOccSentAndRecd_ = ibooker.book2D("hcalOccSentAndRecd",
418  "HCal TP Occupancy Sent AND Received",
419  TPETABINSHCAL, TPETAMINHCAL, TPETAMAXHCAL, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
420 
421 
422  ibooker.setCurrentFolder(histFolder_+"/HCalOccupancies/Masked");
423 
424  hcalOccMaskedRecdNotSent_ = ibooker.book2D("hcalOccMaskedRecdNotSent",
425  "HCal Masked TP Occupancy Received NOT Sent",
426  TPETABINSHCAL, TPETAMINHCAL, TPETAMAXHCAL, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
427 
428  hcalOccMaskedSentNotRecd_ = ibooker.book2D("hcalOccMaskedSentNotRecd",
429  "HCal Masked TP Occupancy Sent NOT Received",
430  TPETABINSHCAL, TPETAMINHCAL, TPETAMAXHCAL, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
431 
432  hcalOccMaskedSentAndRecd_ = ibooker.book2D("hcalOccMaskedSentAndRecd",
433  "HCal Masked TP Occupancy Sent AND Received",
434  TPETABINSHCAL, TPETAMINHCAL, TPETAMAXHCAL, TPGPHIBINS, TPGPHIMIN, TPGPHIMAX);
435 
436 
437  ibooker.setCurrentFolder(histFolder_+"/Mismatch");
438 
439  last20Mismatches_ = ibooker.book2D("last20Mismatches",
440  "Log of last 20 mismatches (use json tool to copy/paste)",
441  4, 0, 4, 20, 0, 20);
442  last20Mismatches_->getTH2F()->GetXaxis()->SetBinLabel(1, "Ecal TP Sent Not Received");
443  last20Mismatches_->getTH2F()->GetXaxis()->SetBinLabel(2, "Ecal TP Received Not Sent");
444  last20Mismatches_->getTH2F()->GetXaxis()->SetBinLabel(3, "Hcal TP Sent Not Received");
445  last20Mismatches_->getTH2F()->GetXaxis()->SetBinLabel(4, "Hcal TP Received Not Sent");
446  for (size_t i=0; i<20; ++i) last20MismatchArray_.at(i) = {"-", -1};
447  for (size_t i=1; i<=20; ++i) last20Mismatches_->getTH2F()->GetYaxis()->SetBinLabel(i, "-");
448 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * hcalTPRawEtSent_
Definition: L1TLayer1.h:115
MonitorElement * hcalTPRawEtRecdNotSent_
Definition: L1TLayer1.h:116
MonitorElement * ecalOccRecdNotSent_
Definition: L1TLayer1.h:85
const unsigned int TPGETABINS
Definition: L1TdeRCT.cc:54
MonitorElement * last20Mismatches_
Definition: L1TLayer1.h:120
MonitorElement * ecalOccSentNotRecd_
Definition: L1TLayer1.h:84
MonitorElement * hcalOccMaskedSentNotRecd_
Definition: L1TLayer1.h:111
MonitorElement * ecalOccMaskedRecdNotSent_
Definition: L1TLayer1.h:89
const float TPGETAMAX
Definition: L1TdeRCT.cc:56
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
MonitorElement * hcalOccRecd_
Definition: L1TLayer1.h:100
const float TPGPHIMIN
Definition: L1TdeRCT.cc:51
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
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
MonitorElement * hcalTPRawEtSentAndRecd_
Definition: L1TLayer1.h:118
MonitorElement * ecalOccSentAndRecd_
Definition: L1TLayer1.h:83
MonitorElement * ecalOccSent_isFineGrainVB_
Definition: L1TLayer1.h:75
std::string hcalTPSourceSentLabel_
Definition: L1TLayer1.h:48
MonitorElement * ecalOccSent_
Definition: L1TLayer1.h:74
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:276
MonitorElement * ecalOccRecd_isECALLinkMasked_
Definition: L1TLayer1.h:80
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
MonitorElement * hcalOccRecd_isHCALLinkMasked_
Definition: L1TLayer1.h:103
MonitorElement * hcalOccRecd_hasFeatureBits_
Definition: L1TLayer1.h:101
MonitorElement * hcalOccSent_hasFeatureBits_
Definition: L1TLayer1.h:98
MonitorElement * hcalTPRawEtRecd_
Definition: L1TLayer1.h:114
MonitorElement * ecalOccRecd_isFineGrainVB_
Definition: L1TLayer1.h:78
MonitorElement * ecalTPRawEtSentAndRecd_
Definition: L1TLayer1.h:95
const unsigned int TPGPHIBINS
Definition: L1TdeRCT.cc:50
MonitorElement * ecalOccMaskedSentAndRecd_
Definition: L1TLayer1.h:87
std::string hcalTPSourceRecdLabel_
Definition: L1TLayer1.h:44
MonitorElement * ecalTPRawEtRecdNotSent_
Definition: L1TLayer1.h:93
MonitorElement * hcalOccRecdNotSent_
Definition: L1TLayer1.h:108
TH2F * getTH2F(void) const
const float TPGETAMIN
Definition: L1TdeRCT.cc:55
const float TPGPHIMAX
Definition: L1TdeRCT.cc:52
void L1TLayer1::dqmBeginRun ( const edm::Run ,
const edm::EventSetup  
)
protectedvirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 58 of file L1TLayer1.cc.

59 {
60 }
void L1TLayer1::updateMismatch ( const edm::Event e,
int  mismatchType 
)
private

Definition at line 252 of file L1TLayer1.cc.

References event(), MonitorElement::getTH2F(), edm::EventBase::id(), last20MismatchArray_, last20Mismatches_, lastMismatchIndex_, DTTTrigCorrFirst::run, MonitorElement::setBinContent(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by analyze().

252  {
253  auto id = e.id();
254  std::string eventString{std::to_string(id.run()) + ":" + std::to_string(id.luminosityBlock()) + ":" + std::to_string(id.event())};
255  last20MismatchArray_.at(lastMismatchIndex_) = {eventString, mismatchType};
256 
257  // Ugly way to loop backwards through the last 20 mismatches
258  for (size_t ibin=1, imatch=lastMismatchIndex_; ibin<=20; ibin++, imatch=(imatch+19)%20) {
259  last20Mismatches_->getTH2F()->GetYaxis()->SetBinLabel(ibin, last20MismatchArray_.at(imatch).first.c_str());
260  for(int itype=0; itype<4; ++itype) {
261  int binContent = itype==last20MismatchArray_.at(imatch).second;
262  last20Mismatches_->setBinContent(itype+1, ibin, binContent);
263  }
264  }
265 
267 }
size_t lastMismatchIndex_
Definition: L1TLayer1.h:122
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * last20Mismatches_
Definition: L1TLayer1.h:120
std::array< std::pair< std::string, int >, 20 > last20MismatchArray_
Definition: L1TLayer1.h:121
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
edm::EventID id() const
Definition: EventBase.h:59
TH2F * getTH2F(void) const

Member Data Documentation

MonitorElement* L1TLayer1::ecalOccMaskedRecdNotSent_
private

Definition at line 89 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalOccMaskedSentAndRecd_
private

Definition at line 87 of file L1TLayer1.h.

Referenced by bookHistograms().

MonitorElement* L1TLayer1::ecalOccMaskedSentNotRecd_
private

Definition at line 88 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalOccRecd_
private

Definition at line 77 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalOccRecd_isECALLinkInError_
private

Definition at line 81 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalOccRecd_isECALLinkMasked_
private

Definition at line 80 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalOccRecd_isECALTowerMasked_
private

Definition at line 79 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalOccRecd_isFineGrainVB_
private

Definition at line 78 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalOccRecdNotSent_
private

Definition at line 85 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalOccSent_
private

Definition at line 74 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalOccSent_isFineGrainVB_
private

Definition at line 75 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalOccSentAndRecd_
private

Definition at line 83 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalOccSentNotRecd_
private

Definition at line 84 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalTPRawEtRecd_
private

Definition at line 91 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalTPRawEtRecdNotSent_
private

Definition at line 93 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalTPRawEtSent_
private

Definition at line 92 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalTPRawEtSentAndRecd_
private

Definition at line 95 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::ecalTPRawEtSentNotRecd_
private

Definition at line 94 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<EcalTrigPrimDigiCollection> L1TLayer1::ecalTPSourceRecd_
private

Definition at line 41 of file L1TLayer1.h.

Referenced by analyze().

std::string L1TLayer1::ecalTPSourceRecdLabel_
private

Definition at line 42 of file L1TLayer1.h.

Referenced by bookHistograms().

edm::EDGetTokenT<EcalTrigPrimDigiCollection> L1TLayer1::ecalTPSourceSent_
private

Definition at line 45 of file L1TLayer1.h.

Referenced by analyze().

std::string L1TLayer1::ecalTPSourceSentLabel_
private

Definition at line 46 of file L1TLayer1.h.

Referenced by bookHistograms().

MonitorElement* L1TLayer1::hcalOccMaskedRecdNotSent_
private

Definition at line 112 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalOccMaskedSentAndRecd_
private

Definition at line 110 of file L1TLayer1.h.

Referenced by bookHistograms().

MonitorElement* L1TLayer1::hcalOccMaskedSentNotRecd_
private

Definition at line 111 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalOccRecd_
private

Definition at line 100 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalOccRecd_hasFeatureBits_
private

Definition at line 101 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalOccRecd_isHCALLinkInError_
private

Definition at line 104 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalOccRecd_isHCALLinkMasked_
private

Definition at line 103 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalOccRecd_isHCALTowerMasked_
private

Definition at line 102 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalOccRecdNotSent_
private

Definition at line 108 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalOccSent_
private

Definition at line 97 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalOccSent_hasFeatureBits_
private

Definition at line 98 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalOccSentAndRecd_
private

Definition at line 106 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalOccSentNotRecd_
private

Definition at line 107 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalTPRawEtRecd_
private

Definition at line 114 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalTPRawEtRecdNotSent_
private

Definition at line 116 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalTPRawEtSent_
private

Definition at line 115 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalTPRawEtSentAndRecd_
private

Definition at line 118 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* L1TLayer1::hcalTPRawEtSentNotRecd_
private

Definition at line 117 of file L1TLayer1.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<HcalTrigPrimDigiCollection> L1TLayer1::hcalTPSourceRecd_
private

Definition at line 43 of file L1TLayer1.h.

Referenced by analyze().

std::string L1TLayer1::hcalTPSourceRecdLabel_
private

Definition at line 44 of file L1TLayer1.h.

Referenced by bookHistograms().

edm::EDGetTokenT<HcalTrigPrimDigiCollection> L1TLayer1::hcalTPSourceSent_
private

Definition at line 47 of file L1TLayer1.h.

Referenced by analyze().

std::string L1TLayer1::hcalTPSourceSentLabel_
private

Definition at line 48 of file L1TLayer1.h.

Referenced by bookHistograms().

std::string L1TLayer1::histFolder_
private

Definition at line 49 of file L1TLayer1.h.

Referenced by bookHistograms().

std::array<std::pair<std::string, int>, 20> L1TLayer1::last20MismatchArray_
private

Definition at line 121 of file L1TLayer1.h.

Referenced by bookHistograms(), and updateMismatch().

MonitorElement* L1TLayer1::last20Mismatches_
private

Definition at line 120 of file L1TLayer1.h.

Referenced by bookHistograms(), and updateMismatch().

size_t L1TLayer1::lastMismatchIndex_ {0}
private

Definition at line 122 of file L1TLayer1.h.

Referenced by updateMismatch().

int L1TLayer1::tpFillThreshold_
private

Definition at line 50 of file L1TLayer1.h.

Referenced by analyze().