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 hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () 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::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 50 of file RPCTrigger.h.

Constructor & Destructor Documentation

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

Definition at line 25 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.

25  :
27  // 0 - no debug
28  // 1 - dump to xml
29  m_triggerDebug{iConfig.getUntrackedParameter<int>("RPCTriggerDebug",0) == 1? 1 : 0},
30  m_cacheID{0},
31  m_label{iConfig.getParameter<std::string>("label")},
32  m_rpcDigiToken{consumes<RPCDigiCollection>(m_label)},
33 
34  m_brlCandPutToken{produces<std::vector<L1MuRegionalCand> >("RPCb")},
35  m_fwdCandPutToken{produces<std::vector<L1MuRegionalCand> >("RPCf")},
36 
37  m_brlLinksPutToken{produces<std::vector<RPCDigiL1Link> >("RPCb")},
38  m_fwdLinksPutToken{produces<std::vector<RPCDigiL1Link> >("RPCf")}
39 {
40  //MuonsGrabber is a singleton
41  usesResource("MuonsGrabber");
42 }
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:77
std::unique_ptr< RPCBasicTrigConfig > m_trigConfig
Definition: RPCTrigger.h:63
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_brlLinksPutToken
Definition: RPCTrigger.h:79
const std::string m_label
Definition: RPCTrigger.h:73
const int m_triggerDebug
Definition: RPCTrigger.h:67
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_fwdLinksPutToken
Definition: RPCTrigger.h:80
const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_brlCandPutToken
Definition: RPCTrigger.h:76
std::unique_ptr< RPCPacTrigger > m_pacTrigger
Definition: RPCTrigger.h:65
const edm::EDGetTokenT< RPCDigiCollection > m_rpcDigiToken
Definition: RPCTrigger.h:74
unsigned long long m_cacheID
Definition: RPCTrigger.h:68

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

Referenced by produce().

174 {
175 
176  std::vector<L1MuRegionalCand> RPCCand;
177 
178  for(unsigned int iMu = 0; iMu < finalMuons.size(); iMu++)
179  {
180 
181  if (finalMuons[iMu].getPtCode()==0){
182  continue;
183  }
184 
185  RPCDigiL1Link newDigiLink;
186 
187  //std::cout << "######################################## " << std::endl;
188  //std::cout << finalMuons[iMu].getPhiAddr() << " " << finalMuons[iMu].getEtaAddr() << std::endl;
189  RPCMuon::TDigiLinkVec digiIVec = finalMuons[iMu].getDigiIdxVec();
190  // Here the iteration has to be the same as in
191  short int digiIndex = 0;
193  for (detUnitIt=rpcDigis->begin();
194  detUnitIt!=rpcDigis->end();
195  ++detUnitIt)
196  {
197 
198  const RPCDetId& id = (*detUnitIt).first;
199  uint32_t rawId = id.rawId();
200  const RPCDigiCollection::Range& range = (*detUnitIt).second;
201 
202 
203  for (RPCDigiCollection::const_iterator digiIt = range.first;
204  digiIt!=range.second;
205  ++digiIt)
206  {
207  ++digiIndex;
208 
209  RPCMuon::TDigiLinkVec::iterator it = digiIVec.begin();
210  for(;it!=digiIVec.end();++it) {
211  if (digiIndex==it->m_digiIdx) {
212  newDigiLink.setLink(it->m_layer+1, rawId, digiIt->strip(), digiIt->bx() );
213  //std::cout << type << " " << iMu << " layer: " << it->m_layer << " index " << it->m_digiIdx << std::endl;
214  //std::cout << " " << id << " " << " |bx " << digiIt->bx() << " strip " << digiIt->strip() << std::endl;
215  }
216  }
217  }
218  }
219  retRPCDigiLink.push_back(newDigiLink);
220 
221 
222  L1MuRegionalCand l1Cand;
223 
224  l1Cand.setBx(bx);
225 
226 
227  l1Cand.setQualityPacked(finalMuons[iMu].getQuality());
228  l1Cand.setPtPacked(finalMuons[iMu].getPtCode());
229 
230  l1Cand.setType(type);
231 
232  int charge=finalMuons[iMu].getSign();
233 
234  if (charge == 0) // negative
235  l1Cand.setChargePacked(1);
236  else
237  l1Cand.setChargePacked(0);
238 
239  //RPCConst::l1RpcConeCrdnts cone = finalMuons[iMu].getConeCrdnts();
240 
241  /*
242  int pac = cone.m_LogSector*12+cone.m_LogSegment;
243  const float pi = 3.14159265;
244  const float offset = 5*(2*pi/360); // redefinition! Defined also in RPCRingFromRolls::phiMapCompare
245  float phi = 2*pi*pac/144-offset;
246  if (phi<0)
247  phi+=2*pi;
248 
249  l1Cand.setPhiValue(phi);
250  */
251 
252  //Note: pac numbering begins at 5 deg and goes from 1 to 144.
253  // we want phi values from 0 to 2.5 deg to be phiPacked=0
254  // max phiPacked value is 143 (see CMS IN 2004-022)
255  //int phiPacked = (finalMuons[iMu].getPhiAddr()+2)%144;
256  int phiPacked = finalMuons[iMu].getPhiAddr();
257  l1Cand.setPhiPacked(phiPacked);
258 /*
259  float eta = RPCConst::etaFromTowerNum(cone.m_Tower);
260  l1Cand.setEtaValue(eta);
261 */
262  //Note: etaAddr is packed in special way: see CMS IN 2004-022
263  signed short etaAddr = finalMuons[iMu].getEtaAddr(); //
264 // signed short etaAddr = finalMuons[iMu].getEtaAddr()-16; // -16..16
265 // bool etaNegative = false;
266 // if (etaAddr < 0){
267 // etaNegative = true;
268 // etaAddr = ~(-etaAddr)+1; // convert to negative :)
269 // }
270 
271 // etaAddr &= 63; // 6 bits only
272 
273  l1Cand.setEtaPacked(etaAddr);
274  l1Cand.setChargeValid(true);
275 
276  /*
277  std::cout<< std::endl << "RBMuon::" << finalMuons[iMu].getEtaAddr() << " "
278  << finalMuons[iMu].getPhiAddr() << std::endl ;
279  std::cout<< "cand " << l1Cand.eta_packed() << " "
280  << l1Cand.phi_packed() << std::endl ;
281  */
282 
283  RPCCand.push_back(l1Cand);
284 
285  LogDebug("RPCTrigger") << "Found muonf of pt "
286  << finalMuons[iMu].getPtCode()
287  << " bx " << l1Cand.bx()
288  << " L1Charge " << l1Cand.charge_packed()
289  << " ql " << l1Cand.quality()
290  << " fp " << finalMuons[iMu].getFiredPlanes()
291  << " b/f " << l1Cand.type_idx()
292  << " phi " << l1Cand.phi_packed()
293  << " eta " << l1Cand.eta_packed()
294  //<< " eta l1 " << l1Cand.etaValue() // will drop out soon
295  << " killed " << finalMuons[iMu].wasKilled();
296 
297 
298  }
299 
300  return RPCCand;
301 }
#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:50
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.
void setChargePacked(unsigned ch)
Set Charge (0=pos, 1=neg)
std::vector< TDigiLink > TDigiLinkVec
Definition: RPCMuon.h:77
void setPtPacked(unsigned pt)
Set Pt: 0..31.
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.
std::pair< const_iterator, const_iterator > Range
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 45 of file RPCTrigger.cc.

References edm::EventBase::bunchCrossing(), 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(), DetId::rawId(), 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().

46 {
47 
48  //static int ev=1;
49  //std::cout << "----------------------------------- " << ev++ << std::endl;
50  if ( m_triggerDebug == 1) MuonsGrabber::Instance().startNewEvent(iEvent.id().event(), iEvent.bunchCrossing());
51 
52  if (m_cacheID != iSetup.get<L1RPCConfigRcd>().cacheIdentifier()) {
53 
54  //std::cout << " New pats: " << iSetup.get<L1RPCConfigRcd>().cacheIdentifier() << std::endl ;
55  m_cacheID = iSetup.get<L1RPCConfigRcd>().cacheIdentifier();
56 
58  iSetup.get<L1RPCConfigRcd>().get(conf);
59  const L1RPCConfig *rpcconf = conf.product();
60 
61  m_pacManager.init(rpcconf);
62  m_trigConfig = std::make_unique<RPCBasicTrigConfig>(&m_pacManager);
63  m_trigConfig->setDebugLevel(m_triggerDebug);
64 
65  m_pacTrigger = std::make_unique<RPCPacTrigger>(m_trigConfig.get());
66 
68  }
69 
70 
72  iEvent.getByToken(m_rpcDigiToken, rpcDigis);
73 
74  std::vector<L1MuRegionalCand> candBarell;
75  std::vector<L1MuRegionalCand> candForward;
76  if (!rpcDigis.isValid())
77  {
78  LogDebug("RPCTrigger")
79  << "\nWarning: RPCDigiCollection with input tag " << m_label
80  << "\nrequested in configuration, but not found in the event. Emulator will produce empty collection \n ";
81 
82  iEvent.emplace(m_brlCandPutToken, std::move(candBarell) );
83  iEvent.emplace(m_fwdCandPutToken, std::move(candForward) );
84 
85  return;
86  }
87 
88 
89  if (rpcDigis->begin() == rpcDigis->end() )
90  {
91  LogDebug("RPCTrigger")
92  << "\nWarning: RPCDigiCollection with input tag " << m_label
93  << "\n seems to be empty for this event. Emulator will run on empty collection ";
94 
95  }
96 
97 
98 
99  std::vector<RPCDigiL1Link> brlLinks;
100  std::vector<RPCDigiL1Link> fwdLinks;
101 
103  iSetup.get<L1RPCConeBuilderRcd>().get(coneBuilder);
104 
105  edm::ESHandle<L1RPCConeDefinition> l1RPCConeDefinition;
106  iSetup.get<L1RPCConeDefinitionRcd>().get(l1RPCConeDefinition);
107 
109  iSetup.get<L1RPCHwConfigRcd>().get(hwConfig);
110 
112  iSetup.get<L1RPCBxOrConfigRcd>().get(bxOrConfig);
113 
115  iSetup.get<L1RPCHsbConfigRcd>().get(hsbConfig);
116 
117 
118  for (int iBx = -1; iBx < 2; ++ iBx) {
119 
120  L1RpcLogConesVec ActiveCones = m_theLinksystemFromES.getConesFromES(rpcDigis, coneBuilder, l1RPCConeDefinition, bxOrConfig, hwConfig, iBx);
121 
122  L1RpcTBMuonsVec2 finalMuons = m_pacTrigger->runEvent(ActiveCones, hsbConfig);
123 
124  //int maxFiredPlanes = 0;
125 
126  /*
127  for (unsigned int i=0;i<ActiveCones.size();i++){
128  int fpCnt = ActiveCones[i].getFiredPlanesCnt();
129  if (fpCnt > maxFiredPlanes)
130  maxFiredPlanes = fpCnt;
131  }
132 
133  // Fill out the products
134  // finalMuons[0]=barell, finalMuons[1]=endcap
135  LogDebug("RPCTrigger") << "---Filling candindates in new event--- "
136  << maxFiredPlanes << std::endl;
137 <<<<<<< RPCTrigger.cc
138  */
139 
140 // std::vector<L1MuRegionalCand> RPCb = giveFinallCandindates(finalMuons[0],1, iBx);
141 // std::vector<L1MuRegionalCand> RPCf = giveFinallCandindates(finalMuons[1],3, iBx);
142  std::vector<RPCDigiL1Link> dlBrl;
143  std::vector<RPCDigiL1Link> dlFwd;
144  std::vector<L1MuRegionalCand> RPCb = giveFinallCandindates(finalMuons[0],1, iBx, rpcDigis, dlBrl);
145  std::vector<L1MuRegionalCand> RPCf = giveFinallCandindates(finalMuons[1],3, iBx, rpcDigis, dlFwd);
146 
147 
148  brlLinks.insert(brlLinks.end(), dlBrl.begin(), dlBrl.end() );
149  fwdLinks.insert(fwdLinks.end(), dlFwd.begin(), dlFwd.end() );
150 
151  candBarell.insert(candBarell.end(), RPCb.begin(), RPCb.end());
152  candForward.insert(candForward.end(), RPCf.begin(), RPCf.end());
153 
155  }
156 
157  iEvent.emplace(m_fwdLinksPutToken, std::move(fwdLinks));
158  iEvent.emplace(m_brlLinksPutToken, std::move(brlLinks));
159  iEvent.emplace(m_brlCandPutToken, std::move(candBarell));
160  iEvent.emplace(m_fwdCandPutToken, std::move(candForward));
161 
162 }
#define LogDebug(id)
EventNumber_t event() const
Definition: EventID.h:41
unsigned long long cacheIdentifier() const
const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_fwdCandPutToken
Definition: RPCTrigger.h:77
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:517
std::unique_ptr< RPCBasicTrigConfig > m_trigConfig
Definition: RPCTrigger.h:63
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_brlLinksPutToken
Definition: RPCTrigger.h:79
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:172
const std::string m_label
Definition: RPCTrigger.h:73
static MuonsGrabber & Instance()
Definition: MuonsGrabber.cc:58
void setRPCBasicTrigConfig(RPCBasicTrigConfig *c)
Definition: MuonsGrabber.h:61
void startNewEvent(int event, int bx)
const int m_triggerDebug
Definition: RPCTrigger.h:67
RPCPacManager< RPCPacData > m_pacManager
Definition: RPCTrigger.h:61
std::vector< L1RpcTBMuonsVec > L1RpcTBMuonsVec2
Definition: RPCTBMuon.h:207
bool isValid() const
Definition: HandleBase.h:74
RPCConeBuilderFromES m_theLinksystemFromES
Definition: RPCTrigger.h:59
const edm::EDPutTokenT< std::vector< RPCDigiL1Link > > m_fwdLinksPutToken
Definition: RPCTrigger.h:80
OrphanHandle< PROD > emplace(EDPutTokenT< PROD > token, Args &&...args)
puts a new product
Definition: Event.h:413
const edm::EDPutTokenT< std::vector< L1MuRegionalCand > > m_brlCandPutToken
Definition: RPCTrigger.h:76
void init(std::string patFilesDirectory, L1RpcPACsCntEnum _PACsCnt)
Definition: RPCPacManager.h:60
edm::EventID id() const
Definition: EventBase.h:59
T get() const
Definition: EventSetup.h:71
std::unique_ptr< RPCPacTrigger > m_pacTrigger
Definition: RPCTrigger.h:65
const edm::EDGetTokenT< RPCDigiCollection > m_rpcDigiToken
Definition: RPCTrigger.h:74
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:126
unsigned long long m_cacheID
Definition: RPCTrigger.h:68

Member Data Documentation

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

Definition at line 76 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

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

Definition at line 79 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

unsigned long long RPCTrigger::m_cacheID
private

Definition at line 68 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

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

Definition at line 77 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

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

Definition at line 80 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

const std::string RPCTrigger::m_label
private

Definition at line 73 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

RPCPacManager<RPCPacData> RPCTrigger::m_pacManager
private

Definition at line 61 of file RPCTrigger.h.

Referenced by produce().

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

Definition at line 65 of file RPCTrigger.h.

Referenced by produce().

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

Definition at line 74 of file RPCTrigger.h.

Referenced by produce(), and RPCTrigger().

RPCConeBuilderFromES RPCTrigger::m_theLinksystemFromES
private

Definition at line 59 of file RPCTrigger.h.

Referenced by produce().

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

Definition at line 63 of file RPCTrigger.h.

Referenced by produce().

const int RPCTrigger::m_triggerDebug
private

Definition at line 67 of file RPCTrigger.h.

Referenced by produce().