CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Attributes
RPCTTUMonitor Class Reference

#include <RPCTTUMonitor.h>

Inheritance diagram for RPCTTUMonitor:
DQMEDAnalyzer edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void discriminateDecision (bool, bool, int)
 
int discriminateGMT (const edm::Event &iEvent, const edm::EventSetup &iSetup)
 
 RPCTTUMonitor (const edm::ParameterSet &)
 
 ~RPCTTUMonitor () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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 Attributes

MonitorElementm_bxDistDiffDt [8]
 
MonitorElementm_bxDistDiffPac [8]
 
MonitorElementm_dataVsemulator [8]
 
std::vector< int > m_DTcandidatesBx
 
bool m_dtTrigger
 
std::vector< int > m_GMTcandidatesBx
 
edm::EDGetTokenT< L1MuGMTReadoutCollectionm_gmtReadoutLabel
 
edm::EDGetTokenT< L1GlobalTriggerReadoutRecordm_gtReadoutLabel
 
int m_maxttBits
 
std::vector< int > m_RPCcandidatesBx
 
edm::EDGetTokenT< L1GtTechnicalTriggerRecordm_rpcTechTrigEmu
 
bool m_rpcTrigger
 
std::vector< unsigned > m_ttBits
 
MonitorElementm_ttBitsDecisionData
 
MonitorElementm_ttBitsDecisionEmulator
 
std::string outputFile
 
std::string ttuFolder
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 47 of file RPCTTUMonitor.h.

Constructor & Destructor Documentation

RPCTTUMonitor::RPCTTUMonitor ( const edm::ParameterSet iConfig)
explicit

Definition at line 6 of file RPCTTUMonitor.cc.

References edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), m_gmtReadoutLabel, m_gtReadoutLabel, m_maxttBits, m_rpcTechTrigEmu, m_ttBits, outputFile, AlCaHLTBitMon_QueryRunRegistry::string, and ttuFolder.

6  {
7  ttuFolder = iConfig.getUntrackedParameter<std::string>("TTUFolder", "RPC/TTU");
8  outputFile = iConfig.getUntrackedParameter<std::string>("OutPutFile", "");
9 
10  m_gtReadoutLabel = consumes<L1GlobalTriggerReadoutRecord>(iConfig.getParameter<edm::InputTag>("GTReadoutRcd"));
11  m_gmtReadoutLabel = consumes<L1MuGMTReadoutCollection>(iConfig.getParameter<edm::InputTag>("GMTReadoutRcd"));
12  m_rpcTechTrigEmu = consumes<L1GtTechnicalTriggerRecord>(iConfig.getParameter<edm::InputTag>("L1TTEmuBitsLabel"));
13 
14  m_ttBits = iConfig.getParameter<std::vector<unsigned> >("BitNumbers");
15  m_maxttBits = m_ttBits.size();
16 }
T getParameter(std::string const &) const
std::string ttuFolder
Definition: RPCTTUMonitor.h:67
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_gtReadoutLabel
Definition: RPCTTUMonitor.h:82
edm::EDGetTokenT< L1MuGMTReadoutCollection > m_gmtReadoutLabel
Definition: RPCTTUMonitor.h:83
std::vector< unsigned > m_ttBits
Definition: RPCTTUMonitor.h:71
std::string outputFile
Definition: RPCTTUMonitor.h:68
edm::EDGetTokenT< L1GtTechnicalTriggerRecord > m_rpcTechTrigEmu
Definition: RPCTTUMonitor.h:84
RPCTTUMonitor::~RPCTTUMonitor ( )
override

Definition at line 18 of file RPCTTUMonitor.cc.

18 {}

Member Function Documentation

void RPCTTUMonitor::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprotected

Definition at line 21 of file RPCTTUMonitor.cc.

References edm::EventBase::bunchCrossing(), discriminateDecision(), discriminateGMT(), dqm::impl::MonitorElement::Fill(), edm::Event::getByToken(), L1GtTechnicalTriggerRecord::gtTechnicalTrigger(), edm::HandleBase::isValid(), dqmdumpme::k, m_bxDistDiffDt, m_bxDistDiffPac, m_DTcandidatesBx, m_dtTrigger, m_GMTcandidatesBx, m_gtReadoutLabel, m_maxttBits, m_rpcTechTrigEmu, m_rpcTrigger, m_ttBits, m_ttBitsDecisionData, m_ttBitsDecisionEmulator, and L1GlobalTriggerReadoutRecord::technicalTriggerWord().

21  {
22  //..............................................................................................
23  // Data .
25  iEvent.getByToken(m_gtReadoutLabel, gtRecord);
26 
27  if (!gtRecord.isValid()) {
28  edm::LogError("RPCTTUMonitor") << "can nout find L1GlobalTriggerRecord \n";
29  return;
30  }
31 
32  // Emulator .
34  iEvent.getByToken(m_rpcTechTrigEmu, emuTTRecord);
35 
36  if (!emuTTRecord.isValid()) {
37  edm::LogError("RPCTTUMonitor") << "can not find L1GtTechnicalTriggerRecord (emulator) \n";
38  return;
39  }
40 
41  //..............................................................................................
42  //
43  //Timing difference between RPC-PAT and DT
44 
45  int dGMT(0);
46  dGMT = discriminateGMT(iEvent, iSetup);
47  if (dGMT < 0)
48  return;
49 
50  std::map<int, bool> ttuDec;
51  std::map<int, bool>::iterator decItr;
52 
53  int bxX = iEvent.bunchCrossing(); // ... 1 to 3564
54 
55  for (int k = 0; k < m_maxttBits; ++k) {
56  for (int iebx = 0; iebx <= 2; iebx++) {
57  const TechnicalTriggerWord gtTTWord = gtRecord->technicalTriggerWord(iebx - 1);
58  ttuDec[iebx - 1] = gtTTWord[24 + k];
59  }
60 
61  //. RPC
62  if (m_rpcTrigger) {
63  int ndec(0);
64  int bx1 = (bxX - m_GMTcandidatesBx[0]);
65  for (decItr = ttuDec.begin(); decItr != ttuDec.end(); ++decItr) {
66  if ((*decItr).second) {
67  int bx2 = (*decItr).first;
68  float bxdiffPacTT = 1.0 * (bx1 - bx2);
69  m_bxDistDiffPac[k]->Fill(bxdiffPacTT);
70  ++ndec;
71  }
72  }
73  }
74 
75  //.. DT
76  if (m_dtTrigger) {
77  int ndec(0);
78  int bx1 = (bxX - m_DTcandidatesBx[0]);
79  for (decItr = ttuDec.begin(); decItr != ttuDec.end(); ++decItr) {
80  if ((*decItr).second) {
81  int bx2 = (*decItr).first;
82  float bxdiffDtTT = 1.0 * (bx1 - bx2);
83  m_bxDistDiffDt[k]->Fill(bxdiffDtTT);
84  ++ndec;
85  }
86  }
87  }
88  ttuDec.clear();
89  }
90 
91  m_GMTcandidatesBx.clear();
92  m_DTcandidatesBx.clear();
93 
94  //..............................................................................................
95  //
96  //... For Data Emulator comparison
97 
98  const TechnicalTriggerWord gtTTWord = gtRecord->technicalTriggerWord();
99 
100  std::vector<L1GtTechnicalTrigger> ttVec = emuTTRecord->gtTechnicalTrigger();
101 
102  std::vector<unsigned>::iterator bitsItr;
103  int k = 0;
104  //int m_BxWindow = 0;
105  bool hasDataTrigger = false;
106  bool hasEmulatorTrigger = false;
107 
108  if (ttVec.empty())
109  return;
110 
111  for (bitsItr = m_ttBits.begin(); bitsItr != m_ttBits.end(); ++bitsItr) {
112  hasDataTrigger = gtTTWord.at((*bitsItr));
113  m_ttBitsDecisionData->Fill((*bitsItr), (int)hasDataTrigger);
114 
115  hasEmulatorTrigger = ttVec[k].gtTechnicalTriggerResult();
116  m_ttBitsDecisionEmulator->Fill(ttVec[k].gtTechnicalTriggerBitNumber(), (int)hasEmulatorTrigger);
117 
118  discriminateDecision(hasDataTrigger, hasEmulatorTrigger, k);
119 
120  ++k;
121  }
122 }
std::vector< int > m_DTcandidatesBx
Definition: RPCTTUMonitor.h:77
const TechnicalTriggerWord & technicalTriggerWord(int bxInEventValue) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
edm::EDGetTokenT< L1GlobalTriggerReadoutRecord > m_gtReadoutLabel
Definition: RPCTTUMonitor.h:82
int bunchCrossing() const
Definition: EventBase.h:64
std::vector< unsigned > m_ttBits
Definition: RPCTTUMonitor.h:71
void Fill(long long x)
MonitorElement * m_ttBitsDecisionEmulator
Definition: RPCTTUMonitor.h:62
MonitorElement * m_bxDistDiffDt[8]
Definition: RPCTTUMonitor.h:64
std::vector< bool > TechnicalTriggerWord
technical trigger bits (64 bits)
bool isValid() const
Definition: HandleBase.h:70
int discriminateGMT(const edm::Event &iEvent, const edm::EventSetup &iSetup)
MonitorElement * m_bxDistDiffPac[8]
Definition: RPCTTUMonitor.h:63
std::vector< int > m_GMTcandidatesBx
Definition: RPCTTUMonitor.h:76
const std::vector< L1GtTechnicalTrigger > & gtTechnicalTrigger() const
get / set the vector of technical triggers
void discriminateDecision(bool, bool, int)
MonitorElement * m_ttBitsDecisionData
Definition: RPCTTUMonitor.h:61
edm::EDGetTokenT< L1GtTechnicalTriggerRecord > m_rpcTechTrigEmu
Definition: RPCTTUMonitor.h:84
void RPCTTUMonitor::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  r,
edm::EventSetup const &  iSetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 214 of file RPCTTUMonitor.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqmdumpme::k, m_bxDistDiffDt, m_bxDistDiffPac, m_dataVsemulator, m_maxttBits, m_ttBits, m_ttBitsDecisionData, m_ttBitsDecisionEmulator, dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), and ttuFolder.

214  {
215  ibooker.setCurrentFolder(ttuFolder);
216 
217  m_ttBitsDecisionData = ibooker.book1D("TechTrigger.Bits.Data", "Technical Trigger bits : Summary", 10, 23, 33);
218 
220  ibooker.book1D("TechTrigger.Bits.Emulator", "Technical Trigger bits : Summary", 10, 23, 33);
221  for (int k = 0; k < m_maxttBits; ++k) {
222  std::ostringstream hname;
223 
224  hname << "BX.diff.PAC-TTU.bit." << m_ttBits[k];
225 
226  m_bxDistDiffPac[k] = ibooker.book1D(hname.str().c_str(), "Timing difference between PAC and TTU", 7, -3, 3);
227 
228  hname.str("");
229 
230  hname << "BX.diff.DT-TTU.bit." << m_ttBits[k];
231 
232  m_bxDistDiffDt[k] = ibooker.book1D(hname.str().c_str(), "Timing difference between DT and TTU", 7, -3, 3);
233 
234  hname.str("");
235 
236  hname << "Emu.Ttu.Compare.bit." << m_ttBits[k];
237 
239  ibooker.book1D(hname.str().c_str(), "Comparison between emulator and TT decisions", 10, 0, 10);
240 
241  hname.str("");
242  }
243 }
std::string ttuFolder
Definition: RPCTTUMonitor.h:67
std::vector< unsigned > m_ttBits
Definition: RPCTTUMonitor.h:71
MonitorElement * m_dataVsemulator[8]
Definition: RPCTTUMonitor.h:65
MonitorElement * m_ttBitsDecisionEmulator
Definition: RPCTTUMonitor.h:62
MonitorElement * m_bxDistDiffDt[8]
Definition: RPCTTUMonitor.h:64
MonitorElement * m_bxDistDiffPac[8]
Definition: RPCTTUMonitor.h:63
MonitorElement * m_ttBitsDecisionData
Definition: RPCTTUMonitor.h:61
void RPCTTUMonitor::discriminateDecision ( bool  data,
bool  emu,
int  indx 
)

Definition at line 202 of file RPCTTUMonitor.cc.

References dqm::impl::MonitorElement::Fill(), and m_dataVsemulator.

Referenced by analyze().

202  {
203  if (data == 1 && emu == 1) {
204  m_dataVsemulator[indx]->Fill(1);
205  } else if (data == 1 && emu == 0) {
206  m_dataVsemulator[indx]->Fill(3);
207  } else if (data == 0 && emu == 1) {
208  m_dataVsemulator[indx]->Fill(5);
209  } else if (data == 0 && emu == 0) {
210  m_dataVsemulator[indx]->Fill(7);
211  }
212 }
MonitorElement * m_dataVsemulator[8]
Definition: RPCTTUMonitor.h:65
void Fill(long long x)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
int RPCTTUMonitor::discriminateGMT ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)

Definition at line 124 of file RPCTTUMonitor.cc.

References edm::Event::getByToken(), L1MuGMTReadoutCollection::getRecords(), edm::HandleBase::isValid(), m_DTcandidatesBx, m_dtTrigger, m_GMTcandidatesBx, m_gmtReadoutLabel, m_rpcTrigger, and edm::Handle< T >::product().

Referenced by analyze().

124  {
125  //.............................................................................................
126 
128  iEvent.getByToken(m_gmtReadoutLabel, pCollection);
129 
130  if (!pCollection.isValid()) {
131  edm::LogError("discriminateGMT") << "can't find L1MuGMTReadoutCollection with label \n";
132 
133  return -1;
134  }
135 
136  //.............................................................................................
137 
138  int gmtDec(0);
139 
140  bool rpcBar_l1a = false;
141  bool dtBar_l1a = false;
142 
143  m_dtTrigger = false;
144  m_rpcTrigger = false;
145 
146  // get GMT readout collection
147  const L1MuGMTReadoutCollection* gmtRC = pCollection.product();
148 
149  // get record vector
150  std::vector<L1MuGMTReadoutRecord>::const_iterator RRItr;
151  std::vector<L1MuGMTReadoutRecord> gmt_records = gmtRC->getRecords();
152 
153  edm::LogInfo("DiscriminateGMT") << "nRecords: " << gmt_records.size() << '\n';
154 
155  for (RRItr = gmt_records.begin(); RRItr != gmt_records.end(); ++RRItr) {
156  int BxInEvent = RRItr->getBxInEvent();
157  int BxInEventNew = RRItr->getBxNr();
158 
159  // RPC barrel muon candidates
160  int nrpcB = 0;
161  int ndtB = 0;
162 
163  std::vector<L1MuRegionalCand> BrlRpcCands = RRItr->getBrlRPCCands();
164  std::vector<L1MuRegionalCand> BrlDtCands = RRItr->getDTBXCands();
165 
166  std::vector<L1MuRegionalCand>::const_iterator RCItr;
167 
168  for (RCItr = BrlRpcCands.begin(); RCItr != BrlRpcCands.end(); ++RCItr) {
169  if (!(*RCItr).empty()) {
170  m_GMTcandidatesBx.push_back(BxInEventNew);
171 
172  nrpcB++;
173  }
174  }
175 
176  for (RCItr = BrlDtCands.begin(); RCItr != BrlDtCands.end(); ++RCItr) {
177  if (!(*RCItr).empty()) {
178  m_DTcandidatesBx.push_back(BxInEventNew);
179  ndtB++;
180  }
181  }
182 
183  if (BxInEvent == 0 && nrpcB > 0)
184  rpcBar_l1a = true;
185  if (BxInEvent == 0 && ndtB > 0)
186  dtBar_l1a = true;
187  }
188 
189  if (rpcBar_l1a) {
190  gmtDec = 1;
191  m_rpcTrigger = true;
192  }
193 
194  if (dtBar_l1a) {
195  gmtDec = 2;
196  m_dtTrigger = true;
197  }
198 
199  return gmtDec;
200 }
std::vector< int > m_DTcandidatesBx
Definition: RPCTTUMonitor.h:77
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
edm::EDGetTokenT< L1MuGMTReadoutCollection > m_gmtReadoutLabel
Definition: RPCTTUMonitor.h:83
bool isValid() const
Definition: HandleBase.h:70
T const * product() const
Definition: Handle.h:69
std::vector< int > m_GMTcandidatesBx
Definition: RPCTTUMonitor.h:76
std::vector< L1MuGMTReadoutRecord > const & getRecords() const

Member Data Documentation

MonitorElement* RPCTTUMonitor::m_bxDistDiffDt[8]
private

Definition at line 64 of file RPCTTUMonitor.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* RPCTTUMonitor::m_bxDistDiffPac[8]
private

Definition at line 63 of file RPCTTUMonitor.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* RPCTTUMonitor::m_dataVsemulator[8]
private

Definition at line 65 of file RPCTTUMonitor.h.

Referenced by bookHistograms(), and discriminateDecision().

std::vector<int> RPCTTUMonitor::m_DTcandidatesBx
private

Definition at line 77 of file RPCTTUMonitor.h.

Referenced by analyze(), and discriminateGMT().

bool RPCTTUMonitor::m_dtTrigger
private

Definition at line 73 of file RPCTTUMonitor.h.

Referenced by analyze(), and discriminateGMT().

std::vector<int> RPCTTUMonitor::m_GMTcandidatesBx
private

Definition at line 76 of file RPCTTUMonitor.h.

Referenced by analyze(), and discriminateGMT().

edm::EDGetTokenT<L1MuGMTReadoutCollection> RPCTTUMonitor::m_gmtReadoutLabel
private

Definition at line 83 of file RPCTTUMonitor.h.

Referenced by discriminateGMT(), and RPCTTUMonitor().

edm::EDGetTokenT<L1GlobalTriggerReadoutRecord> RPCTTUMonitor::m_gtReadoutLabel
private

Definition at line 82 of file RPCTTUMonitor.h.

Referenced by analyze(), and RPCTTUMonitor().

int RPCTTUMonitor::m_maxttBits
private

Definition at line 70 of file RPCTTUMonitor.h.

Referenced by analyze(), bookHistograms(), and RPCTTUMonitor().

std::vector<int> RPCTTUMonitor::m_RPCcandidatesBx
private

Definition at line 78 of file RPCTTUMonitor.h.

edm::EDGetTokenT<L1GtTechnicalTriggerRecord> RPCTTUMonitor::m_rpcTechTrigEmu
private

Definition at line 84 of file RPCTTUMonitor.h.

Referenced by analyze(), and RPCTTUMonitor().

bool RPCTTUMonitor::m_rpcTrigger
private

Definition at line 74 of file RPCTTUMonitor.h.

Referenced by analyze(), and discriminateGMT().

std::vector<unsigned> RPCTTUMonitor::m_ttBits
private

Definition at line 71 of file RPCTTUMonitor.h.

Referenced by analyze(), bookHistograms(), and RPCTTUMonitor().

MonitorElement* RPCTTUMonitor::m_ttBitsDecisionData
private

Definition at line 61 of file RPCTTUMonitor.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* RPCTTUMonitor::m_ttBitsDecisionEmulator
private

Definition at line 62 of file RPCTTUMonitor.h.

Referenced by analyze(), and bookHistograms().

std::string RPCTTUMonitor::outputFile
private
std::string RPCTTUMonitor::ttuFolder
private

Definition at line 67 of file RPCTTUMonitor.h.

Referenced by bookHistograms(), and RPCTTUMonitor().