CMS 3D CMS Logo

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

Implements RPC trigger emulation. More...

#include <RPCTrigger.h>

Inheritance diagram for RPCTrigger:
edm::one::EDProducer< edm::one::SharedResources > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void produce (edm::Event &, const edm::EventSetup &) override
 
 RPCTrigger (const edm::ParameterSet &)
 
- Public Member Functions inherited from edm::one::EDProducer< edm::one::SharedResources >
 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
 
std::vector< bool > const & recordProvenanceList () 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)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
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
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
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)
 

Private Member Functions

std::vector< L1MuRegionalCandgiveFinallCandindates (const L1RpcTBMuonsVec &finalMuons, int type, int bx, edm::Handle< RPCDigiCollection > rpcDigis, std::vector< RPCDigiL1Link > &retRPCDigiLink)
 Returns vector of L1MuRegionalCand (input of L1GMT) More...
 

Private Attributes

const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_brlCandPutToken
 
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_brlLinksPutToken
 
unsigned long long m_cacheID
 
const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_fwdCandPutToken
 
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_fwdLinksPutToken
 
const std::string m_label
 
RPCPacManager< RPCPacDatam_pacManager
 
std::unique_ptr< RPCPacTriggerm_pacTrigger
 
const edm::EDGetTokenT< RPCDigiCollectionm_rpcDigiToken
 
RPCConeBuilderFromES m_theLinksystemFromES
 
std::unique_ptr< RPCBasicTrigConfigm_trigConfig
 
const int m_triggerDebug
 

Additional Inherited Members

- 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 Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (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)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Implements RPC trigger emulation.

Author
Tomasz Fruboes

Definition at line 46 of file RPCTrigger.h.

Constructor & Destructor Documentation

◆ RPCTrigger()

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

Definition at line 20 of file RPCTrigger.cc.

21  : m_trigConfig(),
22  m_pacTrigger(),
23  // 0 - no debug
24  // 1 - dump to xml
25  m_triggerDebug{iConfig.getUntrackedParameter<int>("RPCTriggerDebug", 0) == 1 ? 1 : 0},
26  m_cacheID{0},
27  m_label{iConfig.getParameter<std::string>("label")},
28  m_rpcDigiToken{consumes<RPCDigiCollection>(m_label)},
29 
30  m_brlCandPutToken{produces<std::vector<L1MuRegionalCand> >("RPCb")},
31  m_fwdCandPutToken{produces<std::vector<L1MuRegionalCand> >("RPCf")},
32 
33  m_brlLinksPutToken{produces<std::vector<RPCDigiL1Link> >("RPCb")},
34  m_fwdLinksPutToken{produces<std::vector<RPCDigiL1Link> >("RPCf")} {
35  //MuonsGrabber is a singleton
36  usesResource("MuonsGrabber");
37 }

References edm::ParameterSet::getUntrackedParameter().

Member Function Documentation

◆ giveFinallCandindates()

std::vector< L1MuRegionalCand > RPCTrigger::giveFinallCandindates ( const L1RpcTBMuonsVec finalMuons,
int  type,
int  bx,
edm::Handle< RPCDigiCollection rpcDigis,
std::vector< RPCDigiL1Link > &  retRPCDigiLink 
)
private

Returns vector of L1MuRegionalCand (input of L1GMT)

Note
- type is defined in L1MuRegionalCand 1 - barell, 3 - forward

Definition at line 155 of file RPCTrigger.cc.

159  {
160  std::vector<L1MuRegionalCand> RPCCand;
161 
162  for (unsigned int iMu = 0; iMu < finalMuons.size(); iMu++) {
163  if (finalMuons[iMu].getPtCode() == 0) {
164  continue;
165  }
166 
167  RPCDigiL1Link newDigiLink;
168 
169  //std::cout << "######################################## " << std::endl;
170  //std::cout << finalMuons[iMu].getPhiAddr() << " " << finalMuons[iMu].getEtaAddr() << std::endl;
171  RPCMuon::TDigiLinkVec digiIVec = finalMuons[iMu].getDigiIdxVec();
172  // Here the iteration has to be the same as in
173  short int digiIndex = 0;
175  for (detUnitIt = rpcDigis->begin(); detUnitIt != rpcDigis->end(); ++detUnitIt) {
176  const RPCDetId& id = (*detUnitIt).first;
177  uint32_t rawId = id.rawId();
178  const RPCDigiCollection::Range& range = (*detUnitIt).second;
179 
180  for (RPCDigiCollection::const_iterator digiIt = range.first; digiIt != range.second; ++digiIt) {
181  ++digiIndex;
182 
183  RPCMuon::TDigiLinkVec::iterator it = digiIVec.begin();
184  for (; it != digiIVec.end(); ++it) {
185  if (digiIndex == it->m_digiIdx) {
186  newDigiLink.setLink(it->m_layer + 1, rawId, digiIt->strip(), digiIt->bx());
187  //std::cout << type << " " << iMu << " layer: " << it->m_layer << " index " << it->m_digiIdx << std::endl;
188  //std::cout << " " << id << " " << " |bx " << digiIt->bx() << " strip " << digiIt->strip() << std::endl;
189  }
190  }
191  }
192  }
193  retRPCDigiLink.push_back(newDigiLink);
194 
195  L1MuRegionalCand l1Cand;
196 
197  l1Cand.setBx(bx);
198 
199  l1Cand.setQualityPacked(finalMuons[iMu].getQuality());
200  l1Cand.setPtPacked(finalMuons[iMu].getPtCode());
201 
202  l1Cand.setType(type);
203 
204  int charge = finalMuons[iMu].getSign();
205 
206  if (charge == 0) // negative
207  l1Cand.setChargePacked(1);
208  else
209  l1Cand.setChargePacked(0);
210 
211  //RPCConst::l1RpcConeCrdnts cone = finalMuons[iMu].getConeCrdnts();
212 
213  /*
214  int pac = cone.m_LogSector*12+cone.m_LogSegment;
215  const float pi = 3.14159265;
216  const float offset = 5*(2*pi/360); // redefinition! Defined also in RPCRingFromRolls::phiMapCompare
217  float phi = 2*pi*pac/144-offset;
218  if (phi<0)
219  phi+=2*pi;
220 
221  l1Cand.setPhiValue(phi);
222  */
223 
224  //Note: pac numbering begins at 5 deg and goes from 1 to 144.
225  // we want phi values from 0 to 2.5 deg to be phiPacked=0
226  // max phiPacked value is 143 (see CMS IN 2004-022)
227  //int phiPacked = (finalMuons[iMu].getPhiAddr()+2)%144;
228  int phiPacked = finalMuons[iMu].getPhiAddr();
229  l1Cand.setPhiPacked(phiPacked);
230  /*
231  float eta = RPCConst::etaFromTowerNum(cone.m_Tower);
232  l1Cand.setEtaValue(eta);
233 */
234  //Note: etaAddr is packed in special way: see CMS IN 2004-022
235  signed short etaAddr = finalMuons[iMu].getEtaAddr(); //
236  // signed short etaAddr = finalMuons[iMu].getEtaAddr()-16; // -16..16
237  // bool etaNegative = false;
238  // if (etaAddr < 0){
239  // etaNegative = true;
240  // etaAddr = ~(-etaAddr)+1; // convert to negative :)
241  // }
242 
243  // etaAddr &= 63; // 6 bits only
244 
245  l1Cand.setEtaPacked(etaAddr);
246  l1Cand.setChargeValid(true);
247 
248  /*
249  std::cout<< std::endl << "RBMuon::" << finalMuons[iMu].getEtaAddr() << " "
250  << finalMuons[iMu].getPhiAddr() << std::endl ;
251  std::cout<< "cand " << l1Cand.eta_packed() << " "
252  << l1Cand.phi_packed() << std::endl ;
253  */
254 
255  RPCCand.push_back(l1Cand);
256 
257  LogDebug("RPCTrigger") << "Found muonf of pt " << finalMuons[iMu].getPtCode() << " bx " << l1Cand.bx()
258  << " L1Charge " << l1Cand.charge_packed() << " ql " << l1Cand.quality() << " fp "
259  << finalMuons[iMu].getFiredPlanes() << " b/f " << l1Cand.type_idx() << " phi "
260  << l1Cand.phi_packed() << " eta "
261  << l1Cand.eta_packed()
262  //<< " eta l1 " << l1Cand.etaValue() // will drop out soon
263  << " killed " << finalMuons[iMu].wasKilled();
264  }
265 
266  return RPCCand;
267 }

Referenced by produce().

◆ produce()

void RPCTrigger::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Implements edm::one::EDProducerBase.

Definition at line 39 of file RPCTrigger.cc.

39  {
40  //static int ev=1;
41  //std::cout << "----------------------------------- " << ev++ << std::endl;
42  if (m_triggerDebug == 1)
43  MuonsGrabber::Instance().startNewEvent(iEvent.id().event(), iEvent.bunchCrossing());
44 
45  if (m_cacheID != iSetup.get<L1RPCConfigRcd>().cacheIdentifier()) {
46  //std::cout << " New pats: " << iSetup.get<L1RPCConfigRcd>().cacheIdentifier() << std::endl ;
47  m_cacheID = iSetup.get<L1RPCConfigRcd>().cacheIdentifier();
48 
50  iSetup.get<L1RPCConfigRcd>().get(conf);
51  const L1RPCConfig* rpcconf = conf.product();
52 
54  m_trigConfig = std::make_unique<RPCBasicTrigConfig>(&m_pacManager);
55  m_trigConfig->setDebugLevel(m_triggerDebug);
56 
57  m_pacTrigger = std::make_unique<RPCPacTrigger>(m_trigConfig.get());
58 
59  if (m_triggerDebug == 1)
61  }
62 
64  iEvent.getByToken(m_rpcDigiToken, rpcDigis);
65 
66  std::vector<L1MuRegionalCand> candBarell;
67  std::vector<L1MuRegionalCand> candForward;
68  if (!rpcDigis.isValid()) {
69  LogDebug("RPCTrigger")
70  << "\nWarning: RPCDigiCollection with input tag " << m_label
71  << "\nrequested in configuration, but not found in the event. Emulator will produce empty collection \n ";
72 
73  iEvent.emplace(m_brlCandPutToken, std::move(candBarell));
74  iEvent.emplace(m_fwdCandPutToken, std::move(candForward));
75 
76  return;
77  }
78 
79  if (rpcDigis->begin() == rpcDigis->end()) {
80  LogDebug("RPCTrigger") << "\nWarning: RPCDigiCollection with input tag " << m_label
81  << "\n seems to be empty for this event. Emulator will run on empty collection ";
82  }
83 
84  std::vector<RPCDigiL1Link> brlLinks;
85  std::vector<RPCDigiL1Link> fwdLinks;
86 
88  iSetup.get<L1RPCConeBuilderRcd>().get(coneBuilder);
89 
90  edm::ESHandle<L1RPCConeDefinition> l1RPCConeDefinition;
91  iSetup.get<L1RPCConeDefinitionRcd>().get(l1RPCConeDefinition);
92 
94  iSetup.get<L1RPCHwConfigRcd>().get(hwConfig);
95 
97  iSetup.get<L1RPCBxOrConfigRcd>().get(bxOrConfig);
98 
100  iSetup.get<L1RPCHsbConfigRcd>().get(hsbConfig);
101 
102  for (int iBx = -1; iBx < 2; ++iBx) {
103  L1RpcLogConesVec ActiveCones =
104  m_theLinksystemFromES.getConesFromES(rpcDigis, coneBuilder, l1RPCConeDefinition, bxOrConfig, hwConfig, iBx);
105 
106  L1RpcTBMuonsVec2 finalMuons = m_pacTrigger->runEvent(ActiveCones, hsbConfig);
107 
108  //int maxFiredPlanes = 0;
109 
110  /*
111  for (unsigned int i=0;i<ActiveCones.size();i++){
112  int fpCnt = ActiveCones[i].getFiredPlanesCnt();
113  if (fpCnt > maxFiredPlanes)
114  maxFiredPlanes = fpCnt;
115  }
116 
117  // Fill out the products
118  // finalMuons[0]=barell, finalMuons[1]=endcap
119  LogDebug("RPCTrigger") << "---Filling candindates in new event--- "
120  << maxFiredPlanes << std::endl;
121 <<<<<<< RPCTrigger.cc
122  */
123 
124  // std::vector<L1MuRegionalCand> RPCb = giveFinallCandindates(finalMuons[0],1, iBx);
125  // std::vector<L1MuRegionalCand> RPCf = giveFinallCandindates(finalMuons[1],3, iBx);
126  std::vector<RPCDigiL1Link> dlBrl;
127  std::vector<RPCDigiL1Link> dlFwd;
128  std::vector<L1MuRegionalCand> RPCb = giveFinallCandindates(finalMuons[0], 1, iBx, rpcDigis, dlBrl);
129  std::vector<L1MuRegionalCand> RPCf = giveFinallCandindates(finalMuons[1], 3, iBx, rpcDigis, dlFwd);
130 
131  brlLinks.insert(brlLinks.end(), dlBrl.begin(), dlBrl.end());
132  fwdLinks.insert(fwdLinks.end(), dlFwd.begin(), dlFwd.end());
133 
134  candBarell.insert(candBarell.end(), RPCb.begin(), RPCb.end());
135  candForward.insert(candForward.end(), RPCf.begin(), RPCf.end());
136 
137  if (m_triggerDebug == 1)
139  }
140 
141  iEvent.emplace(m_fwdLinksPutToken, std::move(fwdLinks));
142  iEvent.emplace(m_brlLinksPutToken, std::move(brlLinks));
143  iEvent.emplace(m_brlCandPutToken, std::move(candBarell));
144  iEvent.emplace(m_fwdCandPutToken, std::move(candForward));
145 }

References edm::eventsetup::EventSetupRecord::cacheIdentifier(), muons_cff::finalMuons, edm::EventSetup::get(), get, RPCConeBuilderFromES::getConesFromES(), giveFinallCandindates(), iEvent, RPCPacManager< TPacType >::init(), MuonsGrabber::Instance(), edm::HandleBase::isValid(), LogDebug, m_brlCandPutToken, m_brlLinksPutToken, m_cacheID, m_fwdCandPutToken, m_fwdLinksPutToken, m_label, m_pacManager, m_pacTrigger, m_rpcDigiToken, m_theLinksystemFromES, m_trigConfig, m_triggerDebug, eostools::move(), edm::ESHandle< T >::product(), L1RPCConfig_cff::rpcconf, MuonsGrabber::setRPCBasicTrigConfig(), MuonsGrabber::startNewEvent(), and MuonsGrabber::writeDataForRelativeBX().

Member Data Documentation

◆ m_brlCandPutToken

const edm::EDPutTokenT<std::vector<L1MuRegionalCand> > RPCTrigger::m_brlCandPutToken
private

Definition at line 75 of file RPCTrigger.h.

Referenced by produce().

◆ m_brlLinksPutToken

const edm::EDPutTokenT<std::vector<RPCDigiL1Link> > RPCTrigger::m_brlLinksPutToken
private

Definition at line 78 of file RPCTrigger.h.

Referenced by produce().

◆ m_cacheID

unsigned long long RPCTrigger::m_cacheID
private

Definition at line 64 of file RPCTrigger.h.

Referenced by produce().

◆ m_fwdCandPutToken

const edm::EDPutTokenT<std::vector<L1MuRegionalCand> > RPCTrigger::m_fwdCandPutToken
private

Definition at line 76 of file RPCTrigger.h.

Referenced by produce().

◆ m_fwdLinksPutToken

const edm::EDPutTokenT<std::vector<RPCDigiL1Link> > RPCTrigger::m_fwdLinksPutToken
private

Definition at line 79 of file RPCTrigger.h.

Referenced by produce().

◆ m_label

const std::string RPCTrigger::m_label
private

Definition at line 72 of file RPCTrigger.h.

Referenced by produce().

◆ m_pacManager

RPCPacManager<RPCPacData> RPCTrigger::m_pacManager
private

Definition at line 57 of file RPCTrigger.h.

Referenced by produce().

◆ m_pacTrigger

std::unique_ptr<RPCPacTrigger> RPCTrigger::m_pacTrigger
private

Definition at line 61 of file RPCTrigger.h.

Referenced by produce().

◆ m_rpcDigiToken

const edm::EDGetTokenT<RPCDigiCollection> RPCTrigger::m_rpcDigiToken
private

Definition at line 73 of file RPCTrigger.h.

Referenced by produce().

◆ m_theLinksystemFromES

RPCConeBuilderFromES RPCTrigger::m_theLinksystemFromES
private

Definition at line 55 of file RPCTrigger.h.

Referenced by produce().

◆ m_trigConfig

std::unique_ptr<RPCBasicTrigConfig> RPCTrigger::m_trigConfig
private

Definition at line 59 of file RPCTrigger.h.

Referenced by produce().

◆ m_triggerDebug

const int RPCTrigger::m_triggerDebug
private

Definition at line 63 of file RPCTrigger.h.

Referenced by produce().

L1MuRegionalCand::bx
int bx() const
return bunch crossing identifier
Definition: L1MuRegionalCand.h:79
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
L1MuRegionalCand::setPhiPacked
void setPhiPacked(unsigned phi)
Set Phi: 0..143.
Definition: L1MuRegionalCand.h:120
L1RPCHsbConfigRcd
Definition: L1RPCHsbConfigRcd.h:23
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
L1RPCConfig_cff.rpcconf
rpcconf
Definition: L1RPCConfig_cff.py:3
L1MuRegionalCand::setEtaPacked
void setEtaPacked(unsigned eta)
Set Eta: 6-bit code.
Definition: L1MuRegionalCand.h:135
L1RPCHwConfigRcd
Definition: L1RPCHwConfigRcd.h:5
L1MuRegionalCand::phi_packed
unsigned phi_packed() const
return phi packed as in hardware
Definition: L1MuRegionalCand.h:86
RPCDetId
Definition: RPCDetId.h:16
RPCTrigger::m_theLinksystemFromES
RPCConeBuilderFromES m_theLinksystemFromES
Definition: RPCTrigger.h:55
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
L1RPCConfigRcd
Definition: L1RPCConfigRcd.h:30
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
MuonsGrabber::Instance
static MuonsGrabber & Instance()
Definition: MuonsGrabber.cc:48
edm::Handle< RPCDigiCollection >
RPCTrigger::m_trigConfig
std::unique_ptr< RPCBasicTrigConfig > m_trigConfig
Definition: RPCTrigger.h:59
MuonsGrabber::startNewEvent
void startNewEvent(int event, int bx)
Definition: MuonsGrabber.cc:107
MuonDigiCollection< RPCDetId, RPCDigi >::const_iterator
std::vector< RPCDigi >::const_iterator const_iterator
Definition: MuonDigiCollection.h:94
L1MuRegionalCand::setType
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
Definition: L1MuRegionalCand.h:114
L1RPCConfig
Definition: L1RPCConfig.h:29
L1MuRegionalCand::setBx
void setBx(int bx)
Set Bunch Crossing.
Definition: L1MuRegionalCand.h:117
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
edm::ESHandle
Definition: DTSurvey.h:22
RPCConeBuilderFromES::getConesFromES
L1RpcLogConesVec getConesFromES(edm::Handle< RPCDigiCollection > rpcDigis, edm::ESHandle< L1RPCConeBuilder > coneBuilder, edm::ESHandle< L1RPCConeDefinition > coneDef, edm::ESHandle< L1RPCBxOrConfig > bxOrDef, edm::ESHandle< L1RPCHwConfig > hwConfig, int bx)
Definition: RPCConeBuilderFromES.cc:38
L1MuRegionalCand
Definition: L1MuRegionalCand.h:26
MuonsGrabber::writeDataForRelativeBX
void writeDataForRelativeBX(int bx)
Definition: MuonsGrabber.cc:123
RPCTrigger::m_fwdLinksPutToken
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_fwdLinksPutToken
Definition: RPCTrigger.h:79
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
RPCTrigger::m_triggerDebug
const int m_triggerDebug
Definition: RPCTrigger.h:63
RPCPacManager::init
void init(std::string patFilesDirectory, L1RpcPACsCntEnum _PACsCnt)
Definition: RPCPacManager.h:58
muons_cff.finalMuons
finalMuons
Definition: muons_cff.py:52
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
L1RPCBxOrConfigRcd
Definition: L1RPCBxOrConfigRcd.h:23
L1MuRegionalCand::setPtPacked
void setPtPacked(unsigned pt)
Set Pt: 0..31.
Definition: L1MuRegionalCand.h:123
L1RPCConeBuilderRcd
Definition: L1RPCConeBuilderRcd.h:31
iEvent
int iEvent
Definition: GenABIO.cc:224
RPCTrigger::m_rpcDigiToken
const edm::EDGetTokenT< RPCDigiCollection > m_rpcDigiToken
Definition: RPCTrigger.h:73
get
#define get
L1RpcTBMuonsVec2
std::vector< L1RpcTBMuonsVec > L1RpcTBMuonsVec2
Definition: RPCTBMuon.h:219
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
L1RpcLogConesVec
std::vector< RPCLogCone > L1RpcLogConesVec
Definition: RPCLogCone.h:119
L1RPCConeDefinitionRcd
Definition: L1RPCConeDefinitionRcd.h:16
RPCTrigger::m_label
const std::string m_label
Definition: RPCTrigger.h:72
type
type
Definition: HCALResponse.h:21
eostools.move
def move(src, dest)
Definition: eostools.py:511
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
RPCTrigger::m_fwdCandPutToken
const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_fwdCandPutToken
Definition: RPCTrigger.h:76
RPCTrigger::m_cacheID
unsigned long long m_cacheID
Definition: RPCTrigger.h:64
L1MuRegionalCand::eta_packed
unsigned eta_packed() const
return eta packed as in hardware
Definition: L1MuRegionalCand.h:95
RPCTrigger::m_pacManager
RPCPacManager< RPCPacData > m_pacManager
Definition: RPCTrigger.h:57
L1MuRegionalCand::setChargePacked
void setChargePacked(unsigned ch)
Set Charge (0=pos, 1=neg)
Definition: L1MuRegionalCand.h:129
MuonDigiCollection< RPCDetId, RPCDigi >::Range
std::pair< const_iterator, const_iterator > Range
Definition: MuonDigiCollection.h:95
RPCTrigger::giveFinallCandindates
std::vector< L1MuRegionalCand > giveFinallCandindates(const L1RpcTBMuonsVec &finalMuons, int type, int bx, edm::Handle< RPCDigiCollection > rpcDigis, std::vector< RPCDigiL1Link > &retRPCDigiLink)
Returns vector of L1MuRegionalCand (input of L1GMT)
Definition: RPCTrigger.cc:155
MuonsGrabber::setRPCBasicTrigConfig
void setRPCBasicTrigConfig(RPCBasicTrigConfig *c)
Definition: MuonsGrabber.h:57
RPCMuon::TDigiLinkVec
std::vector< TDigiLink > TDigiLinkVec
Definition: RPCMuon.h:80
RPCTrigger::m_pacTrigger
std::unique_ptr< RPCPacTrigger > m_pacTrigger
Definition: RPCTrigger.h:61
edm::eventsetup::EventSetupRecord::cacheIdentifier
unsigned long long cacheIdentifier() const
Definition: EventSetupRecord.h:185
L1MuRegionalCand::setChargeValid
void setChargeValid(bool valid)
Set Charge Valid.
Definition: L1MuRegionalCand.h:157
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
RPCTrigger::m_brlCandPutToken
const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_brlCandPutToken
Definition: RPCTrigger.h:75
DigiContainerIterator
Definition: MuonDigiCollection.h:30
RPCTrigger::m_brlLinksPutToken
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_brlLinksPutToken
Definition: RPCTrigger.h:78
L1MuRegionalCand::type_idx
unsigned type_idx() const
return type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC
Definition: L1MuRegionalCand.h:76
L1MuRegionalCand::setQualityPacked
void setQualityPacked(unsigned qual)
Set Quality: 0..7.
Definition: L1MuRegionalCand.h:126
L1MuRegionalCand::quality
unsigned int quality() const
return quality
Definition: L1MuRegionalCand.h:73
L1MuRegionalCand::charge_packed
unsigned charge_packed() const
return charge packed as in hardware (0=pos, 1=neg)
Definition: L1MuRegionalCand.h:101