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 hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () 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
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (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
 
const edm::ESGetToken< L1RPCBxOrConfig, L1RPCBxOrConfigRcdm_BxOrConfigToken
 
unsigned long long m_cacheID
 
const edm::ESGetToken< L1RPCConeBuilder, L1RPCConeBuilderRcdm_coneBuilderToken
 
const edm::ESGetToken< L1RPCConeDefinition, L1RPCConeDefinitionRcdm_coneDefinitionToken
 
const edm::ESGetToken< L1RPCConfig, L1RPCConfigRcdm_configToken
 
const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_fwdCandPutToken
 
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_fwdLinksPutToken
 
const edm::ESGetToken< L1RPCHsbConfig, L1RPCHsbConfigRcdm_hsbConfigToken
 
const edm::ESGetToken< L1RPCHwConfig, L1RPCHwConfigRcdm_hwConfigToken
 
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 = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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 59 of file RPCTrigger.h.

Constructor & Destructor Documentation

◆ RPCTrigger()

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

Definition at line 6 of file RPCTrigger.cc.

7  : m_trigConfig(),
8  m_pacTrigger(),
9  // 0 - no debug
10  // 1 - dump to xml
11  m_triggerDebug{iConfig.getUntrackedParameter<int>("RPCTriggerDebug", 0) == 1 ? 1 : 0},
12  m_cacheID{0},
13  m_label{iConfig.getParameter<std::string>("label")},
14  m_rpcDigiToken{consumes<RPCDigiCollection>(m_label)},
15 
16  m_brlCandPutToken{produces<std::vector<L1MuRegionalCand> >("RPCb")},
17  m_fwdCandPutToken{produces<std::vector<L1MuRegionalCand> >("RPCf")},
18 
19  m_brlLinksPutToken{produces<std::vector<RPCDigiL1Link> >("RPCb")},
20  m_fwdLinksPutToken{produces<std::vector<RPCDigiL1Link> >("RPCf")},
21  m_configToken(esConsumes<L1RPCConfig, L1RPCConfigRcd>()),
22  m_coneBuilderToken(esConsumes<L1RPCConeBuilder, L1RPCConeBuilderRcd>()),
23  m_coneDefinitionToken(esConsumes<L1RPCConeDefinition, L1RPCConeDefinitionRcd>()),
24  m_hwConfigToken(esConsumes<L1RPCHwConfig, L1RPCHwConfigRcd>()),
25  m_BxOrConfigToken(esConsumes<L1RPCBxOrConfig, L1RPCBxOrConfigRcd>()),
26  m_hsbConfigToken(esConsumes<L1RPCHsbConfig, L1RPCHsbConfigRcd>()) {
27  //MuonsGrabber is a singleton
28  usesResource("MuonsGrabber");
29 }

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 141 of file RPCTrigger.cc.

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

Referenced by produce().

◆ produce()

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

Implements edm::one::EDProducerBase.

Definition at line 31 of file RPCTrigger.cc.

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

References edm::eventsetup::EventSetupRecord::cacheIdentifier(), muons_cff::finalMuons, edm::EventSetup::get(), RPCConeBuilderFromES::getConesFromES(), edm::EventSetup::getHandle(), giveFinallCandindates(), iEvent, RPCPacManager< TPacType >::init(), MuonsGrabber::Instance(), edm::HandleBase::isValid(), LogDebug, m_brlCandPutToken, m_brlLinksPutToken, m_BxOrConfigToken, m_cacheID, m_coneBuilderToken, m_coneDefinitionToken, m_configToken, m_fwdCandPutToken, m_fwdLinksPutToken, m_hsbConfigToken, m_hwConfigToken, 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 88 of file RPCTrigger.h.

Referenced by produce().

◆ m_brlLinksPutToken

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

Definition at line 91 of file RPCTrigger.h.

Referenced by produce().

◆ m_BxOrConfigToken

const edm::ESGetToken<L1RPCBxOrConfig, L1RPCBxOrConfigRcd> RPCTrigger::m_BxOrConfigToken
private

Definition at line 97 of file RPCTrigger.h.

Referenced by produce().

◆ m_cacheID

unsigned long long RPCTrigger::m_cacheID
private

Definition at line 77 of file RPCTrigger.h.

Referenced by produce().

◆ m_coneBuilderToken

const edm::ESGetToken<L1RPCConeBuilder, L1RPCConeBuilderRcd> RPCTrigger::m_coneBuilderToken
private

Definition at line 94 of file RPCTrigger.h.

Referenced by produce().

◆ m_coneDefinitionToken

const edm::ESGetToken<L1RPCConeDefinition, L1RPCConeDefinitionRcd> RPCTrigger::m_coneDefinitionToken
private

Definition at line 95 of file RPCTrigger.h.

Referenced by produce().

◆ m_configToken

const edm::ESGetToken<L1RPCConfig, L1RPCConfigRcd> RPCTrigger::m_configToken
private

Definition at line 93 of file RPCTrigger.h.

Referenced by produce().

◆ m_fwdCandPutToken

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

Definition at line 89 of file RPCTrigger.h.

Referenced by produce().

◆ m_fwdLinksPutToken

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

Definition at line 92 of file RPCTrigger.h.

Referenced by produce().

◆ m_hsbConfigToken

const edm::ESGetToken<L1RPCHsbConfig, L1RPCHsbConfigRcd> RPCTrigger::m_hsbConfigToken
private

Definition at line 98 of file RPCTrigger.h.

Referenced by produce().

◆ m_hwConfigToken

const edm::ESGetToken<L1RPCHwConfig, L1RPCHwConfigRcd> RPCTrigger::m_hwConfigToken
private

Definition at line 96 of file RPCTrigger.h.

Referenced by produce().

◆ m_label

const std::string RPCTrigger::m_label
private

Definition at line 85 of file RPCTrigger.h.

Referenced by produce().

◆ m_pacManager

RPCPacManager<RPCPacData> RPCTrigger::m_pacManager
private

Definition at line 70 of file RPCTrigger.h.

Referenced by produce().

◆ m_pacTrigger

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

Definition at line 74 of file RPCTrigger.h.

Referenced by produce().

◆ m_rpcDigiToken

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

Definition at line 86 of file RPCTrigger.h.

Referenced by produce().

◆ m_theLinksystemFromES

RPCConeBuilderFromES RPCTrigger::m_theLinksystemFromES
private

Definition at line 68 of file RPCTrigger.h.

Referenced by produce().

◆ m_trigConfig

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

Definition at line 72 of file RPCTrigger.h.

Referenced by produce().

◆ m_triggerDebug

const int RPCTrigger::m_triggerDebug
private

Definition at line 76 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
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
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:68
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:72
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
RPCTrigger::m_hwConfigToken
const edm::ESGetToken< L1RPCHwConfig, L1RPCHwConfigRcd > m_hwConfigToken
Definition: RPCTrigger.h:96
L1MuRegionalCand::setBx
void setBx(int bx)
Set Bunch Crossing.
Definition: L1MuRegionalCand.h:117
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
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:92
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:76
RPCPacManager::init
void init(std::string patFilesDirectory, L1RpcPACsCntEnum _PACsCnt)
Definition: RPCPacManager.h:58
RPCTrigger::m_configToken
const edm::ESGetToken< L1RPCConfig, L1RPCConfigRcd > m_configToken
Definition: RPCTrigger.h:93
muons_cff.finalMuons
finalMuons
Definition: muons_cff.py:48
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
L1MuRegionalCand::setPtPacked
void setPtPacked(unsigned pt)
Set Pt: 0..31.
Definition: L1MuRegionalCand.h:123
iEvent
int iEvent
Definition: GenABIO.cc:224
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:148
RPCTrigger::m_rpcDigiToken
const edm::EDGetTokenT< RPCDigiCollection > m_rpcDigiToken
Definition: RPCTrigger.h:86
L1RpcTBMuonsVec2
std::vector< L1RpcTBMuonsVec > L1RpcTBMuonsVec2
Definition: RPCTBMuon.h:219
L1RpcLogConesVec
std::vector< RPCLogCone > L1RpcLogConesVec
Definition: RPCLogCone.h:119
RPCTrigger::m_label
const std::string m_label
Definition: RPCTrigger.h:85
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_hsbConfigToken
const edm::ESGetToken< L1RPCHsbConfig, L1RPCHsbConfigRcd > m_hsbConfigToken
Definition: RPCTrigger.h:98
RPCTrigger::m_fwdCandPutToken
const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_fwdCandPutToken
Definition: RPCTrigger.h:89
RPCTrigger::m_cacheID
unsigned long long m_cacheID
Definition: RPCTrigger.h:77
RPCTrigger::m_coneBuilderToken
const edm::ESGetToken< L1RPCConeBuilder, L1RPCConeBuilderRcd > m_coneBuilderToken
Definition: RPCTrigger.h:94
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:70
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:141
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
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:74
edm::eventsetup::EventSetupRecord::cacheIdentifier
unsigned long long cacheIdentifier() const
Definition: EventSetupRecord.h:184
RPCTrigger::m_BxOrConfigToken
const edm::ESGetToken< L1RPCBxOrConfig, L1RPCBxOrConfigRcd > m_BxOrConfigToken
Definition: RPCTrigger.h:97
L1MuRegionalCand::setChargeValid
void setChargeValid(bool valid)
Set Charge Valid.
Definition: L1MuRegionalCand.h:157
RPCTrigger::m_coneDefinitionToken
const edm::ESGetToken< L1RPCConeDefinition, L1RPCConeDefinitionRcd > m_coneDefinitionToken
Definition: RPCTrigger.h:95
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
RPCTrigger::m_brlCandPutToken
const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_brlCandPutToken
Definition: RPCTrigger.h:88
DigiContainerIterator
Definition: MuonDigiCollection.h:30
RPCTrigger::m_brlLinksPutToken
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_brlLinksPutToken
Definition: RPCTrigger.h:91
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