CMS 3D CMS Logo

L1EmulBias.h
Go to the documentation of this file.
1 #ifndef L1_EMUL_BIAS_H
2 #define L1_EMUL_BIAS_H
3 
4 /*\class L1EmulBias
5  *\description produces modified emulator data to mimmic hw problems
6  *\usage l1 monitoring software validation
7  *\author Nuno Leonardo (CERN)
8  *\date 07.07
9  */
10 
11 // system includes
12 #include <memory>
13 #include <string>
14 #include <iostream>
15 #include <fstream>
16 #include <iomanip>
17 #include <vector>
18 #include <algorithm>
19 
20 // common includes
27 
28 // l1 dataformats, d|e record includes
32 
33 // random generation
34 #include "CLHEP/Random/RandomEngine.h"
35 #include "CLHEP/Random/RandGaussQ.h"
36 
37 class L1EmulBias : public edm::EDProducer {
38 public:
39  explicit L1EmulBias(const edm::ParameterSet&);
40  ~L1EmulBias() override;
41 
42 protected:
43  void beginJob(void) override{};
44  //virtual void beginRun(edm::Run&, const edm::EventSetup&);
45  void produce(edm::Event&, const edm::EventSetup&) override;
46  void endJob(void) override{};
47 
48 public:
49  template <class T>
50  void ModifyCollection(std::unique_ptr<T>& data, const edm::Handle<T> emul, CLHEP::HepRandomEngine*);
51 
52 private:
53  int verbose_;
54  int verbose() { return verbose_; }
58 };
59 
60 /* Notes:
61  .by default data is make identical to emul
62  .biasing is to be implemented via specialization
63  .bias may be defined for each data type, eg data word bit-shifting
64  .keep template function specialization in header file
65 */
66 
67 template <class T>
68 void L1EmulBias::ModifyCollection(std::unique_ptr<T>& data, const edm::Handle<T> emul, CLHEP::HepRandomEngine*) {
69  data = (std::unique_ptr<T>)(const_cast<T*>(emul.product()));
70 }
71 
72 template <>
73 inline void L1EmulBias::ModifyCollection(std::unique_ptr<EcalTrigPrimDigiCollection>& data,
75  CLHEP::HepRandomEngine*) {
77  for (col_cit it = emul->begin(); it != emul->end(); it++) {
79  int iphi = it->id().iphi();
80  bool reset = (iphi > 18 && iphi < 39); //remove few supermodules
81  for (int s = 0; s < 5; s++) {
82  uint16_t sample = it->sample(s).raw();
83  if (sample == 0)
84  continue;
85  uint16_t tmp = reset ? 0 : sample;
86  if (reset)
87  tmp = sample >> 1;
88  col.setSampleValue(s, tmp);
89  if (verbose() && sample != 0)
90  std::cout << "[emulbias] etp " << *it << "\t sample: " << s << " " << std::hex << sample << " -> "
91  << col.sample(s).raw() << std::dec << std::endl;
92  }
93  data->push_back(col);
94  }
95 }
96 
97 template <>
98 inline void L1EmulBias::ModifyCollection(std::unique_ptr<HcalTrigPrimDigiCollection>& data,
100  CLHEP::HepRandomEngine*) {
102  for (col_cit it = emul->begin(); it != emul->end(); it++) {
104  int iphi = it->id().iphi();
105  bool reset = (iphi > 18 && iphi < 27); //remove few supermodules
106  for (int s = 0; s < 5; s++) {
107  uint16_t sample = it->sample(s).raw();
108  if (sample == 0)
109  continue;
110  uint16_t tmp = reset ? 0 : sample;
111  if (reset)
112  tmp = sample >> 1;
113  col.setSample(s, tmp);
114  }
115  data->push_back(col);
116  }
117 }
118 
119 template <>
120 inline void L1EmulBias::ModifyCollection(std::unique_ptr<L1CaloEmCollection>& data,
122  CLHEP::HepRandomEngine* engine) {
123  typedef L1CaloEmCollection::const_iterator col_cit;
124  for (col_cit it = emul->begin(); it != emul->end(); it++) {
125  unsigned crate = it->rctCrate();
126  unsigned raw = it->raw();
127  bool iso = it->isolated();
128  unsigned rdata = raw;
129  if (crate < 4 * engine->flat())
130  rdata = raw >> 1;
131  L1CaloEmCand cand(rdata, crate, iso, it->index(), it->bx(), false);
132  data->push_back(cand);
133  }
134  //L1CaloEmCand(uint16_t data, unsigned crate, bool iso);
135  //L1CaloEmCand(uint16_t data, unsigned crate, bool iso, uint16_t index, int16_t bx, bool dummy);
136 }
137 
138 template <>
139 inline void L1EmulBias::ModifyCollection(std::unique_ptr<L1CaloRegionCollection>& data,
141  CLHEP::HepRandomEngine* engine) {
142  typedef L1CaloRegionCollection::const_iterator col_cit;
143  for (col_cit it = emul->begin(); it != emul->end(); it++) {
144  unsigned crate = it->rctCrate();
145  unsigned raw = it->et();
146  uint16_t rdata = raw;
147  if (crate < 4 * engine->flat())
148  rdata = raw >> 1;
149  L1CaloRegion cand(rdata, it->gctEta(), it->gctPhi(), it->bx());
150  data->push_back(cand);
151  }
152  //L1CaloRegion(uint16_t data, unsigned ieta, unsigned iphi, int16_t bx);
153  //Note: raw data accessor missing in dataformats!
154 }
155 
156 template <>
157 inline void L1EmulBias::ModifyCollection(std::unique_ptr<L1GctEmCandCollection>& data,
159  CLHEP::HepRandomEngine* engine) {
160  typedef L1GctEmCandCollection::const_iterator col_cit;
161  for (col_cit it = emul->begin(); it != emul->end(); it++) {
162  unsigned raw = it->raw();
163  uint16_t rdata = raw;
164  if (it->phiIndex() < 4 * engine->flat()) //0-17
165  rdata = raw >> 1;
166  L1GctEmCand cand(rdata, it->isolated());
167  data->push_back(cand);
168  }
169  //etaIndex(), etaSign() : -6 to -0, +0 to +6
170  //L1GctEmCand(uint16_t data, bool iso);
171 }
172 
173 template <>
174 inline void L1EmulBias::ModifyCollection(std::unique_ptr<L1GctJetCandCollection>& data,
176  CLHEP::HepRandomEngine* engine) {
177  typedef L1GctJetCandCollection::const_iterator col_cit;
178  for (col_cit it = emul->begin(); it != emul->end(); it++) {
179  unsigned raw = it->raw();
180  uint16_t rdata = raw;
181  if (it->phiIndex() < 4 * engine->flat()) //0-17
182  rdata = raw >> 1;
183  L1GctJetCand cand(rdata, it->isTau(), it->isForward());
184  data->push_back(cand);
185  }
186  //L1GctJetCand(uint16_t data, bool isTau, bool isFor);
187 }
188 
189 template <>
190 inline void L1EmulBias::ModifyCollection(std::unique_ptr<L1MuRegionalCandCollection>& data,
192  CLHEP::HepRandomEngine* engine) {
193  typedef L1MuRegionalCandCollection::const_iterator col_cit;
194  for (col_cit it = emul->begin(); it != emul->end(); it++) {
195  L1MuRegionalCand cand(*it);
196  //unsigned raw = it->getDataWord();
197  unsigned phi = it->phi_packed();
198  if (phi > 90 && phi < 110)
199  cand.setPtPacked((it->pt_packed()) >> 1);
200  //raw = (raw>>2);
201  //L1MuRegionalCand cand(raw);
202  //cand.setType(it->type_idx());
203  data->push_back(cand);
204  }
205  /* few alternatives...
206  unsigned pt= it->pt_packed(); //0..31
207  unsigned int qua = it->quality(); //0..7
208  if(qua<4){cand.setPtPacked((pt>>2)&0x1f);cand.setQualityPacked((qua<<1)&0x07);}
209  double rnd = CLHEP::RandGaussQ::shoot(engine);
210  if(rnd>0.7) {
211  raw_=(raw>>1);
212  cand.setDataWord(raw_);
213  } else if (rnd>0.3) {
214  pt_ *= (int)(1+0.3*engine->flat());
215  cand.setPtPacked(pt_);
216  } else
217  cand.reset();
218  unsigned raw = it->getDataWord();
219  if(2.5<fabs(it->phiValue())<3.0)
220  rdata = raw>>1;
221  L1MuRegionalCand cand(rdata,it->bx());
222  */
223  //L1MuRegionalCand(unsigned dataword = 0, int bx = 0);
224  //L1MuRegionalCand(unsigned type_idx, unsigned phi, unsigned eta, unsigned pt, unsigned charge, unsigned ch_valid, unsigned finehalo, unsigned quality, int bx);
225 }
226 
227 template <>
228 inline void L1EmulBias::ModifyCollection(std::unique_ptr<L1MuDTTrackContainer>& data,
230  CLHEP::HepRandomEngine* engine) {
231  typedef std::vector<L1MuDTTrackCand> TrackContainer;
232  typedef TrackContainer::const_iterator col_cit;
233  TrackContainer const* tracks_in = emul->getContainer();
235  for (col_cit it = tracks_in->begin(); it != tracks_in->end(); it++) {
236  L1MuDTTrackCand cand(*it);
237  cand.setType(it->type_idx());
238  unsigned pt = it->pt_packed(); //0..31
239  unsigned qua = it->quality(); //0..7
240  if (qua < 4) {
241  cand.setPtPacked((pt >> 2) & 0x1f);
242  cand.setQualityPacked((qua << 1) & 0x07);
243  }
244  tracks.push_back(cand);
245  }
246  data->setContainer(tracks);
247  /* few alternatives...
248  unsigned phip = it->phi_packed();
249  unsigned raw = it->getDataWord();
250  uint16_t rdata = raw;
251  if(2.5<fabs(it->phiValue())<3.0)
252  rdata = raw>>1;
253  L1MuRegionalCand cand(rdata,it->bx());
254  double rnd = engine->flat();
255  */
256 }
257 
258 template <>
259 inline void L1EmulBias::ModifyCollection(std::unique_ptr<L1MuDTChambPhContainer>& data,
261  CLHEP::HepRandomEngine* engine) {
262  typedef std::vector<L1MuDTChambPhDigi> Phi_Container;
263  typedef Phi_Container::const_iterator col_it;
264  Phi_Container const* tracks_in = emul->getContainer();
265  Phi_Container tracks(tracks_in->size());
266  int uqua;
267  for (col_it it = tracks_in->begin(); it != tracks_in->end(); it++) {
268  uqua = it->code(); // (int)(10*engine->flat());
269  uqua = (uqua < 2 ? uqua + 1 : uqua);
271  it->bxNum(), it->whNum(), it->scNum(), it->stNum(), it->phi(), it->phiB(), uqua, it->Ts2Tag(), it->BxCnt());
272  tracks.push_back(cand);
273  }
274  data->setContainer(tracks);
275 }
276 
277 template <>
278 inline void L1EmulBias::ModifyCollection(std::unique_ptr<L1MuDTChambThContainer>& data,
280  CLHEP::HepRandomEngine*) {
281  typedef std::vector<L1MuDTChambThDigi> Thi_Container;
282  typedef Thi_Container::const_iterator col_cit;
283  Thi_Container const* tracks_in = emul->getContainer();
284  Thi_Container tracks(tracks_in->size());
285  int uos[7], uqa[7];
286  for (col_cit it = tracks_in->begin(); it != tracks_in->end(); it++) {
287  for (int j = 0; j < 7; j++) {
288  uos[j] = (it->position(j) ? 0 : 1);
289  uqa[j] = (it->quality(j) ? 0 : 1);
290  }
291  int stnum = it->stNum();
292  stnum = (stnum > 2 ? stnum - 1 : stnum);
293  L1MuDTChambThDigi cand(it->bxNum(), it->whNum(), it->scNum(), stnum, uos, uqa);
294  tracks.push_back(cand);
295  }
296  data->setContainer(tracks);
297 }
298 
299 template <>
300 inline void L1EmulBias::ModifyCollection(std::unique_ptr<LTCDigiCollection>& data,
302  CLHEP::HepRandomEngine*) {
303  typedef std::vector<LTCDigi>::const_iterator col_cit;
304  for (col_cit it = emul->begin(); it != emul->end(); it++) {
305  data->push_back(*it);
306  //note: raw data accessor missing in dataformats!
307  //data->push_back(LTCDigi(it->data()>>1));
308  }
309 }
310 
311 template <>
312 inline void L1EmulBias::ModifyCollection(std::unique_ptr<L1MuGMTCandCollection>& data,
314  CLHEP::HepRandomEngine*) {
315  //typedef std::vector<L1MuGMTCand> L1MuGMTCandCollection;
316  typedef std::vector<L1MuGMTCand>::const_iterator col_cit;
317  for (col_cit it = emul->begin(); it != emul->end(); it++) {
318  float phiv = it->phiValue();
319  unsigned dword = it->getDataWord();
320  if (phiv > 2. && phiv < 4.)
321  dword = dword >> 2;
322  L1MuGMTCand cand(dword, it->bx());
323  data->push_back(cand);
324  //cand.setPtPacked(cand.ptIndex()>>1);
325  //data->push_back(L1MuGMTCand((it->getDataWord()>>1),it->bx()));
326  }
327 }
328 
329 template <>
330 inline void L1EmulBias::ModifyCollection(std::unique_ptr<L1MuGMTReadoutCollection>& data,
332  CLHEP::HepRandomEngine*) {
333  typedef std::vector<L1MuGMTReadoutRecord>::const_iterator col_cit;
334  std::vector<L1MuGMTReadoutRecord> col = emul->getRecords();
335  for (col_cit it = col.begin(); it != col.end(); it++) {
336  L1MuGMTReadoutRecord rec(it->getBxInEvent());
337  rec.setBxNr(it->getBxNr());
338  rec.setEvNr(it->getEvNr());
339  rec.setBCERR(it->getBCERR());
340 
341  std::unique_ptr<L1MuRegionalCandCollection> new_dttf(new L1MuRegionalCandCollection);
342  std::unique_ptr<L1MuRegionalCandCollection> new_rpcb(new L1MuRegionalCandCollection);
343  std::unique_ptr<L1MuRegionalCandCollection> new_csc(new L1MuRegionalCandCollection);
344  std::unique_ptr<L1MuRegionalCandCollection> new_rpcf(new L1MuRegionalCandCollection);
345 
346  L1MuRegionalCandCollection old_dttf = it->getDTBXCands();
347  L1MuRegionalCandCollection old_rpcb = it->getBrlRPCCands();
348  L1MuRegionalCandCollection old_csc = it->getCSCCands();
349  L1MuRegionalCandCollection old_rpcf = it->getFwdRPCCands();
350 
351  typedef L1MuRegionalCandCollection::const_iterator ait;
352  for (ait it = old_dttf.begin(); it != old_dttf.end(); it++) {
353  L1MuRegionalCand cand(*it);
354  if (it->quality() < 4)
355  cand.setPtPacked((it->pt_packed() >> 2) & 0x1f);
356  cand.setType(it->type_idx());
357  new_dttf->push_back(cand);
358  }
359  for (ait it = old_rpcb.begin(); it != old_rpcb.end(); it++) {
360  L1MuRegionalCand cand(*it);
361  if (it->quality() < 4)
362  cand.setPtPacked((it->pt_packed() >> 2) & 0x1f);
363  cand.setType(it->type_idx());
364  new_rpcb->push_back(cand);
365  }
366  for (ait it = old_csc.begin(); it != old_csc.end(); it++) {
367  L1MuRegionalCand cand(*it);
368  if (it->quality() < 4)
369  cand.setPtPacked((it->pt_packed() >> 2) & 0x1f);
370  cand.setType(it->type_idx());
371  new_csc->push_back(cand);
372  }
373  for (ait it = old_rpcf.begin(); it != old_rpcf.end(); it++) {
374  L1MuRegionalCand cand(*it);
375  if (it->quality() < 4)
376  cand.setPtPacked((it->pt_packed() >> 2) & 0x1f);
377  cand.setType(it->type_idx());
378  new_rpcf->push_back(cand);
379  }
380 
381  for (unsigned i = 0; i < old_dttf.size(); i++)
382  rec.setInputCand(i, new_dttf->at(i)); //dt : 0..3
383  for (unsigned i = 0; i < old_rpcb.size(); i++)
384  rec.setInputCand(i + 4, new_rpcb->at(i)); //rpcb: 4..7
385  for (unsigned i = 0; i < old_csc.size(); i++)
386  rec.setInputCand(i + 8, new_csc->at(i)); //csc : 8..11
387  for (unsigned i = 0; i < old_rpcf.size(); i++)
388  rec.setInputCand(i + 12, new_rpcf->at(i)); //rpcf:12..15
389 
390  data->addRecord(rec);
391  }
392  //void addRecord(L1MuGMTReadoutRecord const& rec) {
393 }
394 
395 template <>
396 inline void L1EmulBias::ModifyCollection(std::unique_ptr<CSCCorrelatedLCTDigiCollection>& data,
398  CLHEP::HepRandomEngine*) {
399  //typedef MuonDigiCollection<CSCDetId,CSCCorrelatedLCTDigi> CSCCorrelatedLCTDigiCollection;
400  typedef CSCCorrelatedLCTDigiCollection::DigiRangeIterator mapIt; //map iterator
401  typedef CSCCorrelatedLCTDigiCollection::const_iterator vecIt; //vec iterator
402  //loop over data (map<idx,vec_digi>)
403  for (mapIt mit = emul->begin(); mit != emul->end(); mit++) {
404  //get detector index
405  CSCDetId did = (*mit).first;
406  //get vec_digi range(pair) corresponding to idx of map
407  //CSCCorrelatedLCTDigiCollection::Range ctpRange = emul->get(did)
408  //loop over digi vector (ie between begin and end pointers in range)
409  //for (vecIt vit = ctpRange.first; vit != ctpRange.second; vit++) {
410  for (vecIt vit = emul->get((*mit).first).first; vit != emul->get((*mit).first).second; vit++) {
412  CSCCorrelatedLCTDigi dg = *vit;
413  //dg.clear;
414  uint16_t tn = dg.getTrknmb();
415  if (tn == 2)
416  tn--;
417  dg.setTrknmb(tn);
418  //dg.setTrknmb (dg.getTrknmb ());
419  //dg.setMPCLink (dg.getMPCLink ());
420  //dg.setWireGroup(dg.getWireGroup());
422  data->insertDigi(did, dg);
423  }
424  }
425 }
426 
427 template <>
428 inline void L1EmulBias::ModifyCollection(std::unique_ptr<L1CSCTrackCollection>& data,
430  CLHEP::HepRandomEngine*) {
431  typedef L1CSCTrackCollection::const_iterator col_cit;
432  //typedef std::vector<L1CSCTrack> L1CSCTrackCollection;
433  //typedef std::pair<csc::L1Track,CSCCorrelatedLCTDigiCollection> L1CSCTrack;
434  //typedef MuonDigiCollection<CSCDetId,CSCCorrelatedLCTDigi> CSCCorrelatedLCTDigiCollection;
435  typedef CSCCorrelatedLCTDigiCollection::DigiRangeIterator mapIt; //map iterator
436  typedef CSCCorrelatedLCTDigiCollection::const_iterator vecIt; //vec iterator
437  CSCCorrelatedLCTDigiCollection_ ctf_trk_data_v, ctf_trk_emul_v; //vector
438  //loop over csc-tracks (ie pairs<l1track,digi_vec>)
439  for (col_cit tcit = emul->begin(); tcit != emul->end(); tcit++) {
440  csc::L1Track l1trk = tcit->first;
441  if (l1trk.quality() < 4)
442  l1trk.setPtPacked((l1trk.pt_packed() >> 2) & 0x1f);
443  l1trk.setType(l1trk.type_idx());
444  //L1MuRegionalCand reg(tcit->first.getDataWord(), tcit->first.bx());
445  std::unique_ptr<CSCCorrelatedLCTDigiCollection> dgcoll(new CSCCorrelatedLCTDigiCollection);
446  CSCCorrelatedLCTDigiCollection ldc = tcit->second; //muondigicollection=map
447  //get the lct-digi-collection (ie muon-digi-collection)
448  //loop over data (map<idx,vec_digi>)
449  for (mapIt mit = ldc.begin(); mit != ldc.end(); mit++) {
450  //get vec_digi range(pair) corresponding to idx of map
451  //loop over digi vector (ie between begin and end pointers in range)
452  //CSCCorrelatedLCTDigiCollection::Range ctpRange = ctp_lct_data_->get((*mit).first)
453  CSCDetId did = (*mit).first;
454  //for (vecIt vit = ctpRange.first; vit != ctpRange.second; vit++) {
455  for (vecIt vit = ldc.get((*mit).first).first; vit != ldc.get((*mit).first).second; vit++) {
456  CSCCorrelatedLCTDigi dg = *vit;
457  uint16_t tn = dg.getTrknmb();
458  if (tn == 2)
459  tn--;
460  dg.setTrknmb(tn);
461  dgcoll->insertDigi(did, dg);
462  }
463  }
464  L1CSCTrack l1csctrk = std::make_pair(l1trk, *dgcoll);
465  data->push_back(l1csctrk);
466  }
467 }
468 
469 #endif
L1EmulBias::L1EmulBias
L1EmulBias(const edm::ParameterSet &)
Definition: L1EmulBias.cc:9
mps_fire.i
i
Definition: mps_fire.py:428
edm::SortedCollection::const_iterator
std::vector< T >::const_iterator const_iterator
Definition: SortedCollection.h:80
L1GctJetCand
Level-1 Trigger jet candidate.
Definition: L1GctJetCand.h:17
MessageLogger.h
L1CSCTrack
std::pair< csc::L1Track, CSCCorrelatedLCTDigiCollection > L1CSCTrack
Definition: L1CSCTrackCollection.h:7
EDProducer.h
CSCCorrelatedLCTDigi::getTrknmb
uint16_t getTrknmb() const
return track number
Definition: CSCCorrelatedLCTDigi.h:64
L1CaloRegion
A calorimeter trigger region (sum of 4x4 trigger towers)
Definition: L1CaloRegion.h:21
simplePhotonAnalyzer_cfi.sample
sample
Definition: simplePhotonAnalyzer_cfi.py:12
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
L1EmulBias::verbose_
int verbose_
Definition: L1EmulBias.h:53
cuy.col
col
Definition: cuy.py:1009
gather_cfg.cout
cout
Definition: gather_cfg.py:144
L1EmulBias::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: L1EmulBias.cc:142
L1GctEmCand
Level-1 Trigger EM candidate at output of GCT.
Definition: L1GctEmCand.h:21
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
edm::Handle
Definition: AssociativeIterator.h:50
L1EmulBias::beginJob
void beginJob(void) override
Definition: L1EmulBias.h:43
L1MuGMTCand
Definition: L1MuGMTCand.h:39
MuonDigiCollection::const_iterator
std::vector< DigiType >::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
HcalTriggerPrimitiveDigi.h
L1MuDTTrackCand
Definition: L1MuDTTrackCand.h:33
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
MakerMacros.h
alignCSCRings.s
s
Definition: alignCSCRings.py:92
L1EmulBias::~L1EmulBias
~L1EmulBias() override
Definition: L1EmulBias.cc:139
L1MuGMTReadoutRecord
Definition: L1MuGMTReadoutRecord.h:44
L1EmulBias::m_DEsource
edm::InputTag m_DEsource[dedefs::DEnsys][2]
Definition: L1EmulBias.h:55
CSCCorrelatedLCTDigiCollection_
std::vector< CSCCorrelatedLCTDigi > CSCCorrelatedLCTDigiCollection_
Definition: DEtrait.h:97
L1MuRegionalCand
Definition: L1MuRegionalCand.h:26
HcalTriggerPrimitiveDigi
Definition: HcalTriggerPrimitiveDigi.h:13
L1EmulBias::m_doSys
bool m_doSys[dedefs::DEnsys]
Definition: L1EmulBias.h:56
CSCCorrelatedLCTDigi::setTrknmb
void setTrknmb(const uint16_t number)
Set track number (1,2) after sorting LCTs.
Definition: CSCCorrelatedLCTDigi.h:155
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:176
CSCDetId
Definition: CSCDetId.h:26
L1MuRegionalCand::setPtPacked
void setPtPacked(unsigned pt)
Set Pt: 0..31.
Definition: L1MuRegionalCand.h:123
cand
Definition: decayParser.h:32
DEtrait.h
edm::EventSetup
Definition: EventSetup.h:58
CSCCorrelatedLCTDigiCollection
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
dedefs::DEnsys
const int DEnsys
Definition: DEtrait.h:38
DDAxes::phi
TrackContainer
std::vector< TrackWithHistory * > TrackContainer
Definition: TrackContainer.h:8
L1MuDTChambThDigi
Definition: L1MuDTChambThDigi.h:33
L1TdeGEMTPG_cfi.emul
emul
Definition: L1TdeGEMTPG_cfi.py:21
Frameworkfwd.h
EcalTriggerPrimitiveDigi
Definition: EcalTriggerPrimitiveDigi.h:16
L1EmulBias::instName
std::string instName[dedefs::DEnsys][5]
Definition: L1EmulBias.h:57
L1EmulBias::endJob
void endJob(void) override
Definition: L1EmulBias.h:46
L1EmulBias::ModifyCollection
void ModifyCollection(std::unique_ptr< T > &data, const edm::Handle< T > emul, CLHEP::HepRandomEngine *)
Definition: L1EmulBias.h:68
edm::EDProducer
Definition: EDProducer.h:35
csc::L1Track
Definition: L1Track.h:21
L1MuRegionalCandCollection
std::vector< L1MuRegionalCand > L1MuRegionalCandCollection
Definition: RPCRecHitFilter.cc:53
L1MuRegionalCand::pt_packed
unsigned pt_packed() const
return pt packed as in hardware
Definition: L1MuRegionalCand.h:89
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
reset
void reset(double vett[256])
Definition: TPedValues.cc:11
L1EmulBias
Definition: L1EmulBias.h:37
ParameterSet.h
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
DigiContainerIterator
Definition: MuonDigiCollection.h:30
edm::Event
Definition: Event.h:73
L1CaloEmCand
Level-1 Region Calorimeter Trigger EM candidate.
Definition: L1CaloEmCand.h:17
TauDecayModes.dec
dec
Definition: TauDecayModes.py:142
edm::InputTag
Definition: InputTag.h:15
L1MuRegionalCand::type_idx
unsigned type_idx() const
return type: 0 DT, 1 bRPC, 2 CSC, 3 fRPC
Definition: L1MuRegionalCand.h:76
CSCCorrelatedLCTDigi
Definition: CSCCorrelatedLCTDigi.h:19
L1MuDTChambPhDigi
Definition: L1MuDTChambPhDigi.h:31
L1MuRegionalCand::quality
unsigned int quality() const
return quality
Definition: L1MuRegionalCand.h:73
L1Track.h
L1MuGMTReadoutRecord::setBxNr
void setBxNr(int bxnr)
set counters
Definition: L1MuGMTReadoutRecord.h:103
L1EmulBias::verbose
int verbose()
Definition: L1EmulBias.h:54