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
 
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)
 

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
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)
 

Detailed Description

Implements RPC trigger emulation.

Author
Tomasz Fruboes

Definition at line 46 of file RPCTrigger.h.

Constructor & Destructor Documentation

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

Definition at line 20 of file RPCTrigger.cc.

References edm::ParameterSet::getUntrackedParameter(), m_brlCandPutToken, m_brlLinksPutToken, m_cacheID, m_fwdCandPutToken, m_fwdLinksPutToken, m_label, m_rpcDigiToken, and AlCaHLTBitMon_QueryRunRegistry::string.

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 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_fwdCandPutToken
Definition: RPCTrigger.h:76
std::unique_ptr< RPCBasicTrigConfig > m_trigConfig
Definition: RPCTrigger.h:59
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_brlLinksPutToken
Definition: RPCTrigger.h:78
const std::string m_label
Definition: RPCTrigger.h:72
const int m_triggerDebug
Definition: RPCTrigger.h:63
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_fwdLinksPutToken
Definition: RPCTrigger.h:79
const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_brlCandPutToken
Definition: RPCTrigger.h:75
std::unique_ptr< RPCPacTrigger > m_pacTrigger
Definition: RPCTrigger.h:61
const edm::EDGetTokenT< RPCDigiCollection > m_rpcDigiToken
Definition: RPCTrigger.h:73
unsigned long long m_cacheID
Definition: RPCTrigger.h:64

Member Function Documentation

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.

Referenced by produce().

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 }
#define LogDebug(id)
type
Definition: HCALResponse.h:21
unsigned charge_packed() const
return charge packed as in hardware (0=pos, 1=neg)
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
void setBx(int bx)
Set Bunch Crossing.
unsigned eta_packed() const
return eta packed as in hardware
void setType(unsigned type)
Set Type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC.
std::vector< TDigiLink > TDigiLinkVec
Definition: RPCMuon.h:80
void setChargePacked(unsigned ch)
Set Charge (0=pos, 1=neg)
void setPtPacked(unsigned pt)
Set Pt: 0..31.
std::pair< const_iterator, const_iterator > Range
std::vector< RPCDigi >::const_iterator const_iterator
unsigned int quality() const
return quality
void setPhiPacked(unsigned phi)
Set Phi: 0..143.
int bx() const
return bunch crossing identifier
void setQualityPacked(unsigned qual)
Set Quality: 0..7.
void setEtaPacked(unsigned eta)
Set Eta: 6-bit code.
void setChargeValid(bool valid)
Set Charge Valid.
unsigned type_idx() const
return type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC
unsigned phi_packed() const
return phi packed as in hardware
void RPCTrigger::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 39 of file RPCTrigger.cc.

References edm::EventBase::bunchCrossing(), l1GtPatternGenerator_cfi::bx, L1MuRegionalCand::bx(), edm::eventsetup::EventSetupRecord::cacheIdentifier(), ALCARECOTkAlJpsiMuMu_cff::charge, L1MuRegionalCand::charge_packed(), edm::Event::emplace(), L1MuRegionalCand::eta_packed(), edm::EventID::event(), muons_cff::finalMuons, edm::EventSetup::get(), edm::Event::getByToken(), RPCConeBuilderFromES::getConesFromES(), giveFinallCandindates(), edm::EventBase::id(), 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(), L1MuRegionalCand::phi_packed(), edm::ESHandle< T >::product(), L1MuRegionalCand::quality(), FastTimerService_cff::range, DetId::rawId(), L1RPCConfig_cff::rpcconf, L1MuRegionalCand::setBx(), L1MuRegionalCand::setChargePacked(), L1MuRegionalCand::setChargeValid(), L1MuRegionalCand::setEtaPacked(), RPCDigiL1Link::setLink(), L1MuRegionalCand::setPhiPacked(), L1MuRegionalCand::setPtPacked(), L1MuRegionalCand::setQualityPacked(), MuonsGrabber::setRPCBasicTrigConfig(), L1MuRegionalCand::setType(), MuonsGrabber::startNewEvent(), L1MuRegionalCand::type_idx(), and MuonsGrabber::writeDataForRelativeBX().

39  {
40  //static int ev=1;
41  //std::cout << "----------------------------------- " << ev++ << std::endl;
42  if (m_triggerDebug == 1)
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 
53  m_pacManager.init(rpcconf);
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 }
#define LogDebug(id)
EventNumber_t event() const
Definition: EventID.h:40
unsigned long long cacheIdentifier() const
const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_fwdCandPutToken
Definition: RPCTrigger.h:76
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
std::unique_ptr< RPCBasicTrigConfig > m_trigConfig
Definition: RPCTrigger.h:59
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_brlLinksPutToken
Definition: RPCTrigger.h:78
L1RpcLogConesVec getConesFromES(edm::Handle< RPCDigiCollection > rpcDigis, edm::ESHandle< L1RPCConeBuilder > coneBuilder, edm::ESHandle< L1RPCConeDefinition > coneDef, edm::ESHandle< L1RPCBxOrConfig > bxOrDef, edm::ESHandle< L1RPCHwConfig > hwConfig, int bx)
int bunchCrossing() const
Definition: EventBase.h:64
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
const std::string m_label
Definition: RPCTrigger.h:72
static MuonsGrabber & Instance()
Definition: MuonsGrabber.cc:48
void setRPCBasicTrigConfig(RPCBasicTrigConfig *c)
Definition: MuonsGrabber.h:57
void startNewEvent(int event, int bx)
const int m_triggerDebug
Definition: RPCTrigger.h:63
RPCPacManager< RPCPacData > m_pacManager
Definition: RPCTrigger.h:57
std::vector< L1RpcTBMuonsVec > L1RpcTBMuonsVec2
Definition: RPCTBMuon.h:219
bool isValid() const
Definition: HandleBase.h:70
RPCConeBuilderFromES m_theLinksystemFromES
Definition: RPCTrigger.h:55
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_fwdLinksPutToken
Definition: RPCTrigger.h:79
OrphanHandle< PROD > emplace(EDPutTokenT< PROD > token, Args &&...args)
puts a new product
Definition: Event.h:421
const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_brlCandPutToken
Definition: RPCTrigger.h:75
void init(std::string patFilesDirectory, L1RpcPACsCntEnum _PACsCnt)
Definition: RPCPacManager.h:58
edm::EventID id() const
Definition: EventBase.h:59
T get() const
Definition: EventSetup.h:73
std::unique_ptr< RPCPacTrigger > m_pacTrigger
Definition: RPCTrigger.h:61
const edm::EDGetTokenT< RPCDigiCollection > m_rpcDigiToken
Definition: RPCTrigger.h:73
T const * product() const
Definition: ESHandle.h:86
void writeDataForRelativeBX(int bx)
def move(src, dest)
Definition: eostools.py:511
std::vector< RPCLogCone > L1RpcLogConesVec
Definition: RPCLogCone.h:119
unsigned long long m_cacheID
Definition: RPCTrigger.h:64

Member Data Documentation

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

Definition at line 75 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

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

Definition at line 78 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

unsigned long long RPCTrigger::m_cacheID
private

Definition at line 64 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

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

Definition at line 76 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

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

Definition at line 79 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

const std::string RPCTrigger::m_label
private

Definition at line 72 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

RPCPacManager<RPCPacData> RPCTrigger::m_pacManager
private

Definition at line 57 of file RPCTrigger.h.

Referenced by produce().

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

Definition at line 61 of file RPCTrigger.h.

Referenced by produce().

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

Definition at line 73 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

RPCConeBuilderFromES RPCTrigger::m_theLinksystemFromES
private

Definition at line 55 of file RPCTrigger.h.

Referenced by produce().

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

Definition at line 59 of file RPCTrigger.h.

Referenced by produce().

const int RPCTrigger::m_triggerDebug
private

Definition at line 63 of file RPCTrigger.h.

Referenced by produce().