CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TriggerRefsCollections.h
Go to the documentation of this file.
1 #ifndef HLTReco_TriggerRefsCollections_h
2 #define HLTReco_TriggerRefsCollections_h
3 
23 
26 
35 
41 
42 #include <cassert>
43 #include <vector>
44 
45 #include<typeinfo>
46 
47 namespace trigger
48 {
49 
50  typedef std::vector<reco::RecoEcalCandidateRef> VRphoton;
51  typedef std::vector<reco::ElectronRef> VRelectron;
52  typedef std::vector<reco::RecoChargedCandidateRef> VRmuon;
53  typedef std::vector<reco::CaloJetRef> VRjet;
54  typedef std::vector<reco::CompositeCandidateRef> VRcomposite;
55  typedef std::vector<reco::METRef> VRbasemet;
56  typedef std::vector<reco::CaloMETRef> VRcalomet;
57  typedef std::vector<reco::IsolatedPixelTrackCandidateRef> VRpixtrack;
58 
59  typedef std::vector<l1extra::L1EmParticleRef> VRl1em;
60  typedef std::vector<l1extra::L1MuonParticleRef> VRl1muon;
61  typedef std::vector<l1extra::L1JetParticleRef> VRl1jet;
62  typedef std::vector<l1extra::L1EtMissParticleRef> VRl1etmiss;
63  typedef std::vector<l1extra::L1HFRingsRef> VRl1hfrings;
64 
66 
68  private:
86 
97 
99  public:
102  photonIds_(), photonRefs_(),
104  muonIds_(), muonRefs_(),
105  jetIds_(), jetRefs_(),
110 
111  l1emIds_(), l1emRefs_(),
112  l1muonIds_(), l1muonRefs_(),
113  l1jetIds_(), l1jetRefs_(),
116  { }
117 
119  void swap(TriggerRefsCollections & other) {
124  std::swap(muonIds_, other.muonIds_);
125  std::swap(muonRefs_, other.muonRefs_);
126  std::swap(jetIds_, other.jetIds_);
127  std::swap(jetRefs_, other.jetRefs_);
136 
137  std::swap(l1emIds_, other.l1emIds_);
138  std::swap(l1emRefs_, other.l1emRefs_);
141  std::swap(l1jetIds_, other.l1jetIds_);
147  }
148 
150  void addObject(int id, const reco::RecoEcalCandidateRef& ref) {
151  photonIds_.push_back(id);
152  photonRefs_.push_back(ref);
153  }
154  void addObject(int id, const reco::ElectronRef& ref) {
155  electronIds_.push_back(id);
156  electronRefs_.push_back(ref);
157  }
158  void addObject(int id, const reco::RecoChargedCandidateRef& ref) {
159  muonIds_.push_back(id);
160  muonRefs_.push_back(ref);
161  }
162  void addObject(int id, const reco::CaloJetRef& ref) {
163  jetIds_.push_back(id);
164  jetRefs_.push_back(ref);
165  }
166  void addObject(int id, const reco::CompositeCandidateRef& ref) {
167  compositeIds_.push_back(id);
168  compositeRefs_.push_back(ref);
169  }
170  void addObject(int id, const reco::METRef& ref) {
171  basemetIds_.push_back(id);
172  basemetRefs_.push_back(ref);
173  }
174  void addObject(int id, const reco::CaloMETRef& ref) {
175  calometIds_.push_back(id);
176  calometRefs_.push_back(ref);
177  }
179  pixtrackIds_.push_back(id);
180  pixtrackRefs_.push_back(ref);
181  }
182 
183  void addObject(int id, const l1extra::L1EmParticleRef& ref) {
184  l1emIds_.push_back(id);
185  l1emRefs_.push_back(ref);
186  }
187  void addObject(int id, const l1extra::L1MuonParticleRef& ref) {
188  l1muonIds_.push_back(id);
189  l1muonRefs_.push_back(ref);
190  }
191  void addObject(int id, const l1extra::L1JetParticleRef& ref) {
192  l1jetIds_.push_back(id);
193  l1jetRefs_.push_back(ref);
194  }
195  void addObject(int id, const l1extra::L1EtMissParticleRef& ref) {
196  l1etmissIds_.push_back(id);
197  l1etmissRefs_.push_back(ref);
198  }
199  void addObject(int id, const l1extra::L1HFRingsRef& ref) {
200  l1hfringsIds_.push_back(id);
201  l1hfringsRefs_.push_back(ref);
202  }
203 
204 
206  size_type addObjects (const Vids& ids, const VRphoton& refs) {
207  assert(ids.size()==refs.size());
208  photonIds_.insert(photonIds_.end(),ids.begin(),ids.end());
209  photonRefs_.insert(photonRefs_.end(),refs.begin(),refs.end());
210  return photonIds_.size();
211  }
212  size_type addObjects (const Vids& ids, const VRelectron& refs) {
213  assert(ids.size()==refs.size());
214  electronIds_.insert(electronIds_.end(),ids.begin(),ids.end());
215  electronRefs_.insert(electronRefs_.end(),refs.begin(),refs.end());
216  return electronIds_.size();
217  }
218  size_type addObjects (const Vids& ids, const VRmuon& refs) {
219  assert(ids.size()==refs.size());
220  muonIds_.insert(muonIds_.end(),ids.begin(),ids.end());
221  muonRefs_.insert(muonRefs_.end(),refs.begin(),refs.end());
222  return muonIds_.size();
223  }
224  size_type addObjects (const Vids& ids, const VRjet& refs) {
225  assert(ids.size()==refs.size());
226  jetIds_.insert(jetIds_.end(),ids.begin(),ids.end());
227  jetRefs_.insert(jetRefs_.end(),refs.begin(),refs.end());
228  return jetIds_.size();
229  }
230  size_type addObjects (const Vids& ids, const VRcomposite& refs) {
231  assert(ids.size()==refs.size());
232  compositeIds_.insert(compositeIds_.end(),ids.begin(),ids.end());
233  compositeRefs_.insert(compositeRefs_.end(),refs.begin(),refs.end());
234  return compositeIds_.size();
235  }
236  size_type addObjects (const Vids& ids, const VRbasemet& refs) {
237  assert(ids.size()==refs.size());
238  basemetIds_.insert(basemetIds_.end(),ids.begin(),ids.end());
239  basemetRefs_.insert(basemetRefs_.end(),refs.begin(),refs.end());
240  return basemetIds_.size();
241  }
242  size_type addObjects (const Vids& ids, const VRcalomet& refs) {
243  assert(ids.size()==refs.size());
244  calometIds_.insert(calometIds_.end(),ids.begin(),ids.end());
245  calometRefs_.insert(calometRefs_.end(),refs.begin(),refs.end());
246  return calometIds_.size();
247  }
248  size_type addObjects (const Vids& ids, const VRpixtrack& refs) {
249  assert(ids.size()==refs.size());
250  pixtrackIds_.insert(pixtrackIds_.end(),ids.begin(),ids.end());
251  pixtrackRefs_.insert(pixtrackRefs_.end(),refs.begin(),refs.end());
252  return pixtrackIds_.size();
253  }
254 
255  size_type addObjects (const Vids& ids, const VRl1em& refs) {
256  assert(ids.size()==refs.size());
257  l1emIds_.insert(l1emIds_.end(),ids.begin(),ids.end());
258  l1emRefs_.insert(l1emRefs_.end(),refs.begin(),refs.end());
259  return l1emIds_.size();
260  }
261  size_type addObjects (const Vids& ids, const VRl1muon& refs) {
262  assert(ids.size()==refs.size());
263  l1muonIds_.insert(l1muonIds_.end(),ids.begin(),ids.end());
264  l1muonRefs_.insert(l1muonRefs_.end(),refs.begin(),refs.end());
265  return l1muonIds_.size();
266  }
267  size_type addObjects (const Vids& ids, const VRl1jet& refs) {
268  assert(ids.size()==refs.size());
269  l1jetIds_.insert(l1jetIds_.end(),ids.begin(),ids.end());
270  l1jetRefs_.insert(l1jetRefs_.end(),refs.begin(),refs.end());
271  return l1jetIds_.size();
272  }
273  size_type addObjects (const Vids& ids, const VRl1etmiss& refs) {
274  assert(ids.size()==refs.size());
275  l1etmissIds_.insert(l1etmissIds_.end(),ids.begin(),ids.end());
276  l1etmissRefs_.insert(l1etmissRefs_.end(),refs.begin(),refs.end());
277  return l1etmissIds_.size();
278  }
279  size_type addObjects (const Vids& ids, const VRl1hfrings& refs) {
280  assert(ids.size()==refs.size());
281  l1hfringsIds_.insert(l1hfringsIds_.end(),ids.begin(),ids.end());
282  l1hfringsRefs_.insert(l1hfringsRefs_.end(),refs.begin(),refs.end());
283  return l1hfringsIds_.size();
284  }
285 
286 
288  void getObjects(Vids& ids, VRphoton& refs) const {
289  getObjects(ids,refs,0,photonIds_.size());
290  }
291  void getObjects(Vids& ids, VRphoton& refs, size_type begin, size_type end) const {
292  assert (begin<=end);
293  assert (end<=photonIds_.size());
294  const size_type n(end-begin);
295  ids.resize(n);
296  refs.resize(n);
297  size_type j(0);
298  for (size_type i=begin; i!=end; ++i) {
299  ids[j]=photonIds_[i];
300  refs[j]=photonRefs_[i];
301  ++j;
302  }
303  }
304  void getObjects(int id, VRphoton& refs) const {
305  getObjects(id,refs,0,photonIds_.size());
306  }
307  void getObjects(int id, VRphoton& refs, size_type begin, size_type end) const {
308  assert (begin<=end);
309  assert (end<=photonIds_.size());
310  size_type n(0);
311  for (size_type i=begin; i!=end; ++i) {if (id==photonIds_[i]) {++n;}}
312  refs.resize(n);
313  size_type j(0);
314  for (size_type i=begin; i!=end; ++i) {
315  if (id==photonIds_[i]) {refs[j]=photonRefs_[i]; ++j;}
316  }
317  return;
318  }
319 
320  void getObjects(Vids& ids, VRelectron& refs) const {
321  getObjects(ids,refs,0,electronIds_.size());
322  }
323  void getObjects(Vids& ids, VRelectron& refs, size_type begin, size_type end) const {
324  assert (begin<=end);
325  assert (end<=electronIds_.size());
326  const size_type n(end-begin);
327  ids.resize(n);
328  refs.resize(n);
329  size_type j(0);
330  for (size_type i=begin; i!=end; ++i) {
331  ids[j]=electronIds_[i];
332  refs[j]=electronRefs_[i];
333  ++j;
334  }
335  }
336  void getObjects(int id, VRelectron& refs) const {
337  getObjects(id,refs,0,electronIds_.size());
338  }
339  void getObjects(int id, VRelectron& refs, size_type begin, size_type end) const {
340  assert (begin<=end);
341  assert (end<=electronIds_.size());
342  size_type n(0);
343  for (size_type i=begin; i!=end; ++i) {if (id==electronIds_[i]) {++n;}}
344  refs.resize(n);
345  size_type j(0);
346  for (size_type i=begin; i!=end; ++i) {
347  if (id==electronIds_[i]) {refs[j]=electronRefs_[i]; ++j;}
348  }
349  return;
350  }
351 
352  void getObjects(Vids& ids, VRmuon& refs) const {
353  getObjects(ids,refs,0,muonIds_.size());
354  }
355  void getObjects(Vids& ids, VRmuon& refs, size_type begin, size_type end) const {
356  assert (begin<=end);
357  assert (end<=muonIds_.size());
358  const size_type n(end-begin);
359  ids.resize(n);
360  refs.resize(n);
361  size_type j(0);
362  for (size_type i=begin; i!=end; ++i) {
363  ids[j]=muonIds_[i];
364  refs[j]=muonRefs_[i];
365  ++j;
366  }
367  }
368  void getObjects(int id, VRmuon& refs) const {
369  getObjects(id,refs,0,muonIds_.size());
370  }
371  void getObjects(int id, VRmuon& refs, size_type begin, size_type end) const {
372  assert (begin<=end);
373  assert (end<=muonIds_.size());
374  size_type n(0);
375  for (size_type i=begin; i!=end; ++i) {if (id==muonIds_[i]) {++n;}}
376  refs.resize(n);
377  size_type j(0);
378  for (size_type i=begin; i!=end; ++i) {
379  if (id==muonIds_[i]) {refs[j]=muonRefs_[i]; ++j;}
380  }
381  return;
382  }
383 
384  void getObjects(Vids& ids, VRjet& refs) const {
385  getObjects(ids,refs,0,jetIds_.size());
386  }
387  void getObjects(Vids& ids, VRjet& refs, size_type begin, size_type end) const {
388  assert (begin<=end);
389  assert (end<=jetIds_.size());
390  const size_type n(end-begin);
391  ids.resize(n);
392  refs.resize(n);
393  size_type j(0);
394  for (size_type i=begin; i!=end; ++i) {
395  ids[j]=jetIds_[i];
396  refs[j]=jetRefs_[i];
397  ++j;
398  }
399  }
400  void getObjects(int id, VRjet& refs) const {
401  getObjects(id,refs,0,jetIds_.size());
402  }
403  void getObjects(int id, VRjet& refs, size_type begin, size_type end) const {
404  assert (begin<=end);
405  assert (end<=jetIds_.size());
406  size_type n(0);
407  for (size_type i=begin; i!=end; ++i) {if (id==jetIds_[i]) {++n;}}
408  refs.resize(n);
409  size_type j(0);
410  for (size_type i=begin; i!=end; ++i) {
411  if (id==jetIds_[i]) {refs[j]=jetRefs_[i]; ++j;}
412  }
413  return;
414  }
415 
416  void getObjects(Vids& ids, VRcomposite& refs) const {
417  getObjects(ids,refs,0,compositeIds_.size());
418  }
419  void getObjects(Vids& ids, VRcomposite& refs, size_type begin, size_type end) const {
420  assert (begin<=end);
421  assert (end<=compositeIds_.size());
422  const size_type n(end-begin);
423  ids.resize(n);
424  refs.resize(n);
425  size_type j(0);
426  for (size_type i=begin; i!=end; ++i) {
427  ids[j]=compositeIds_[i];
428  refs[j]=compositeRefs_[i];
429  ++j;
430  }
431  }
432  void getObjects(int id, VRcomposite& refs) const {
433  getObjects(id,refs,0,compositeIds_.size());
434  }
435  void getObjects(int id, VRcomposite& refs, size_type begin, size_type end) const {
436  assert (begin<=end);
437  assert (end<=compositeIds_.size());
438  size_type n(0);
439  for (size_type i=begin; i!=end; ++i) {if (id==compositeIds_[i]) {++n;}}
440  refs.resize(n);
441  size_type j(0);
442  for (size_type i=begin; i!=end; ++i) {
443  if (id==compositeIds_[i]) {refs[j]=compositeRefs_[i]; ++j;}
444  }
445  return;
446  }
447 
448  void getObjects(Vids& ids, VRbasemet& refs) const {
449  getObjects(ids,refs,0,basemetIds_.size());
450  }
451  void getObjects(Vids& ids, VRbasemet& refs, size_type begin, size_type end) const {
452  assert (begin<=end);
453  assert (end<=basemetIds_.size());
454  const size_type n(end-begin);
455  ids.resize(n);
456  refs.resize(n);
457  size_type j(0);
458  for (size_type i=begin; i!=end; ++i) {
459  ids[j]=basemetIds_[i];
460  refs[j]=basemetRefs_[i];
461  ++j;
462  }
463  }
464  void getObjects(int id, VRbasemet& refs) const {
465  getObjects(id,refs,0,basemetIds_.size());
466  }
467  void getObjects(int id, VRbasemet& refs, size_type begin, size_type end) const {
468  assert (begin<=end);
469  assert (end<=basemetIds_.size());
470  size_type n(0);
471  for (size_type i=begin; i!=end; ++i) {if (id==basemetIds_[i]) {++n;}}
472  refs.resize(n);
473  size_type j(0);
474  for (size_type i=begin; i!=end; ++i) {
475  if (id==basemetIds_[i]) {refs[j]=basemetRefs_[i]; ++j;}
476  }
477  return;
478  }
479 
480  void getObjects(Vids& ids, VRcalomet& refs) const {
481  getObjects(ids,refs,0,calometIds_.size());
482  }
483  void getObjects(Vids& ids, VRcalomet& refs, size_type begin, size_type end) const {
484  assert (begin<=end);
485  assert (end<=calometIds_.size());
486  const size_type n(end-begin);
487  ids.resize(n);
488  refs.resize(n);
489  size_type j(0);
490  for (size_type i=begin; i!=end; ++i) {
491  ids[j]=calometIds_[i];
492  refs[j]=calometRefs_[i];
493  ++j;
494  }
495  }
496  void getObjects(int id, VRcalomet& refs) const {
497  getObjects(id,refs,0,calometIds_.size());
498  }
499  void getObjects(int id, VRcalomet& refs, size_type begin, size_type end) const {
500  assert (begin<=end);
501  assert (end<=calometIds_.size());
502  size_type n(0);
503  for (size_type i=begin; i!=end; ++i) {if (id==calometIds_[i]) {++n;}}
504  refs.resize(n);
505  size_type j(0);
506  for (size_type i=begin; i!=end; ++i) {
507  if (id==calometIds_[i]) {refs[j]=calometRefs_[i]; ++j;}
508  }
509  return;
510  }
511 
512  void getObjects(Vids& ids, VRpixtrack& refs) const {
513  getObjects(ids,refs,0,pixtrackIds_.size());
514  }
515  void getObjects(Vids& ids, VRpixtrack& refs, size_type begin, size_type end) const {
516  assert (begin<=end);
517  assert (end<=pixtrackIds_.size());
518  const size_type n(end-begin);
519  ids.resize(n);
520  refs.resize(n);
521  size_type j(0);
522  for (size_type i=begin; i!=end; ++i) {
523  ids[j]=pixtrackIds_[i];
524  refs[j]=pixtrackRefs_[i];
525  ++j;
526  }
527  }
528  void getObjects(int id, VRpixtrack& refs) const {
529  getObjects(id,refs,0,pixtrackIds_.size());
530  }
531  void getObjects(int id, VRpixtrack& refs, size_type begin, size_type end) const {
532  assert (begin<=end);
533  assert (end<=pixtrackIds_.size());
534  size_type n(0);
535  for (size_type i=begin; i!=end; ++i) {if (id==pixtrackIds_[i]) {++n;}}
536  refs.resize(n);
537  size_type j(0);
538  for (size_type i=begin; i!=end; ++i) {
539  if (id==pixtrackIds_[i]) {refs[j]=pixtrackRefs_[i]; ++j;}
540  }
541  return;
542  }
543 
544  void getObjects(Vids& ids, VRl1em& refs) const {
545  getObjects(ids,refs,0,l1emIds_.size());
546  }
547  void getObjects(Vids& ids, VRl1em& refs, size_type begin, size_type end) const {
548  assert (begin<=end);
549  assert (end<=l1emIds_.size());
550  const size_type n(end-begin);
551  ids.resize(n);
552  refs.resize(n);
553  size_type j(0);
554  for (size_type i=begin; i!=end; ++i) {
555  ids[j]=l1emIds_[i];
556  refs[j]=l1emRefs_[i];
557  ++j;
558  }
559  }
560  void getObjects(int id, VRl1em& refs) const {
561  getObjects(id,refs,0,l1emIds_.size());
562  }
563  void getObjects(int id, VRl1em& refs, size_type begin, size_type end) const {
564  assert (begin<=end);
565  assert (end<=l1emIds_.size());
566  size_type n(0);
567  for (size_type i=begin; i!=end; ++i) {if (id==l1emIds_[i]) {++n;}}
568  refs.resize(n);
569  size_type j(0);
570  for (size_type i=begin; i!=end; ++i) {
571  if (id==l1emIds_[i]) {refs[j]=l1emRefs_[i]; ++j;}
572  }
573  return;
574  }
575 
576  void getObjects(Vids& ids, VRl1muon& refs) const {
577  getObjects(ids,refs,0,l1muonIds_.size());
578  }
579  void getObjects(Vids& ids, VRl1muon& refs, size_type begin, size_type end) const {
580  assert (begin<=end);
581  assert (end<=l1muonIds_.size());
582  const size_type n(end-begin);
583  ids.resize(n);
584  refs.resize(n);
585  size_type j(0);
586  for (size_type i=begin; i!=end; ++i) {
587  ids[j]=l1muonIds_[i];
588  refs[j]=l1muonRefs_[i];
589  ++j;
590  }
591  }
592  void getObjects(int id, VRl1muon& refs) const {
593  getObjects(id,refs,0,l1muonIds_.size());
594  }
595  void getObjects(int id, VRl1muon& refs, size_type begin, size_type end) const {
596  assert (begin<=end);
597  assert (end<=l1muonIds_.size());
598  size_type n(0);
599  for (size_type i=begin; i!=end; ++i) {if (id==l1muonIds_[i]) {++n;}}
600  refs.resize(n);
601  size_type j(0);
602  for (size_type i=begin; i!=end; ++i) {
603  if (id==l1muonIds_[i]) {refs[j]=l1muonRefs_[i]; ++j;}
604  }
605  return;
606  }
607 
608  void getObjects(Vids& ids, VRl1jet& refs) const {
609  getObjects(ids,refs,0,l1jetIds_.size());
610  }
611  void getObjects(Vids& ids, VRl1jet& refs, size_type begin, size_type end) const {
612  assert (begin<=end);
613  assert (end<=l1jetIds_.size());
614  const size_type n(end-begin);
615  ids.resize(n);
616  refs.resize(n);
617  size_type j(0);
618  for (size_type i=begin; i!=end; ++i) {
619  ids[j]=l1jetIds_[i];
620  refs[j]=l1jetRefs_[i];
621  ++j;
622  }
623  }
624  void getObjects(int id, VRl1jet& refs) const {
625  getObjects(id,refs,0,l1jetIds_.size());
626  }
627  void getObjects(int id, VRl1jet& refs, size_type begin, size_type end) const {
628  assert (begin<=end);
629  assert (end<=l1jetIds_.size());
630  size_type n(0);
631  for (size_type i=begin; i!=end; ++i) {if (id==l1jetIds_[i]) {++n;}}
632  refs.resize(n);
633  size_type j(0);
634  for (size_type i=begin; i!=end; ++i) {
635  if (id==l1jetIds_[i]) {refs[j]=l1jetRefs_[i]; ++j;}
636  }
637  return;
638  }
639 
640  void getObjects(Vids& ids, VRl1etmiss& refs) const {
641  getObjects(ids,refs,0,l1etmissIds_.size());
642  }
643  void getObjects(Vids& ids, VRl1etmiss& refs, size_type begin, size_type end) const {
644  assert (begin<=end);
645  assert (end<=l1etmissIds_.size());
646  const size_type n(end-begin);
647  ids.resize(n);
648  refs.resize(n);
649  size_type j(0);
650  for (size_type i=begin; i!=end; ++i) {
651  ids[j]=l1etmissIds_[i];
652  refs[j]=l1etmissRefs_[i];
653  ++j;
654  }
655  }
656  void getObjects(int id, VRl1etmiss& refs) const {
657  getObjects(id,refs,0,l1etmissIds_.size());
658  }
659  void getObjects(int id, VRl1etmiss& refs, size_type begin, size_type end) const {
660  assert (begin<=end);
661  assert (end<=l1etmissIds_.size());
662  size_type n(0);
663  for (size_type i=begin; i!=end; ++i) {if (id==l1etmissIds_[i]) {++n;}}
664  refs.resize(n);
665  size_type j(0);
666  for (size_type i=begin; i!=end; ++i) {
667  if (id==l1etmissIds_[i]) {refs[j]=l1etmissRefs_[i]; ++j;}
668  }
669  return;
670  }
671 
672  void getObjects(Vids& ids, VRl1hfrings& refs) const {
673  getObjects(ids,refs,0,l1hfringsIds_.size());
674  }
675  void getObjects(Vids& ids, VRl1hfrings& refs, size_type begin, size_type end) const {
676  assert (begin<=end);
677  assert (end<=l1hfringsIds_.size());
678  const size_type n(end-begin);
679  ids.resize(n);
680  refs.resize(n);
681  size_type j(0);
682  for (size_type i=begin; i!=end; ++i) {
683  ids[j]=l1hfringsIds_[i];
684  refs[j]=l1hfringsRefs_[i];
685  ++j;
686  }
687  }
688  void getObjects(int id, VRl1hfrings& refs) const {
689  getObjects(id,refs,0,l1hfringsIds_.size());
690  }
691  void getObjects(int id, VRl1hfrings& refs, size_type begin, size_type end) const {
692  assert (begin<=end);
693  assert (end<=l1hfringsIds_.size());
694  size_type n(0);
695  for (size_type i=begin; i!=end; ++i) {if (id==l1hfringsIds_[i]) {++n;}}
696  refs.resize(n);
697  size_type j(0);
698  for (size_type i=begin; i!=end; ++i) {
699  if (id==l1hfringsIds_[i]) {refs[j]=l1hfringsRefs_[i]; ++j;}
700  }
701  return;
702  }
703 
705  size_type photonSize() const {return photonIds_.size();}
706  const Vids& photonIds() const {return photonIds_;}
707  const VRphoton& photonRefs() const {return photonRefs_;}
708 
709  size_type electronSize() const {return electronIds_.size();}
710  const Vids& electronIds() const {return electronIds_;}
711  const VRelectron& electronRefs() const {return electronRefs_;}
712 
713  size_type muonSize() const {return muonIds_.size();}
714  const Vids& muonIds() const {return muonIds_;}
715  const VRmuon& muonRefs() const {return muonRefs_;}
716 
717  size_type jetSize() const {return jetIds_.size();}
718  const Vids& jetIds() const {return jetIds_;}
719  const VRjet& jetRefs() const {return jetRefs_;}
720 
721  size_type compositeSize() const {return compositeIds_.size();}
722  const Vids& compositeIds() const {return compositeIds_;}
723  const VRcomposite& compositeRefs() const {return compositeRefs_;}
724 
725  size_type basemetSize() const {return basemetIds_.size();}
726  const Vids& basemetIds() const {return basemetIds_;}
727  const VRbasemet& basemetRefs() const {return basemetRefs_;}
728 
729  size_type calometSize() const {return calometIds_.size();}
730  const Vids& calometIds() const {return calometIds_;}
731  const VRcalomet& calometRefs() const {return calometRefs_;}
732 
733  size_type pixtrackSize() const {return pixtrackIds_.size();}
734  const Vids& pixtrackIds() const {return pixtrackIds_;}
735  const VRpixtrack& pixtrackRefs() const {return pixtrackRefs_;}
736 
737  size_type l1emSize() const {return l1emIds_.size();}
738  const Vids& l1emIds() const {return l1emIds_;}
739  const VRl1em& l1emRefs() const {return l1emRefs_;}
740 
741  size_type l1muonSize() const {return l1muonIds_.size();}
742  const Vids& l1muonIds() const {return l1muonIds_;}
743  const VRl1muon& l1muonRefs() const {return l1muonRefs_;}
744 
745  size_type l1jetSize() const {return l1jetIds_.size();}
746  const Vids& l1jetIds() const {return l1jetIds_;}
747  const VRl1jet& l1jetRefs() const {return l1jetRefs_;}
748 
749  size_type l1etmissSize() const {return l1etmissIds_.size();}
750  const Vids& l1etmissIds() const {return l1etmissIds_;}
751  const VRl1etmiss& l1etmissRefs() const {return l1etmissRefs_;}
752 
753  size_type l1hfringsSize() const {return l1hfringsIds_.size();}
754  const Vids& l1hfringsIds() const {return l1hfringsIds_;}
755  const VRl1hfrings& l1hfringsRefs() const {return l1hfringsRefs_;}
756 
757  };
758 
759  // picked up via argument dependent lookup, e-g- by boost::swap()
761  first.swap(second);
762  }
763 
764 }
765 
766 #endif
void getObjects(int id, VRphoton &refs, size_type begin, size_type end) const
int i
Definition: DBlmapReader.cc:9
size_type addObjects(const Vids &ids, const VRphoton &refs)
void getObjects(Vids &ids, VRl1jet &refs) const
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
void getObjects(int id, VRpixtrack &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRpixtrack &refs) const
size_type addObjects(const Vids &ids, const VRbasemet &refs)
const VRbasemet & basemetRefs() const
const VRcalomet & calometRefs() const
size_type addObjects(const Vids &ids, const VRl1muon &refs)
void getObjects(int id, VRcalomet &refs, size_type begin, size_type end) const
void addObject(int id, const reco::CompositeCandidateRef &ref)
void addObject(int id, const reco::METRef &ref)
void getObjects(int id, VRl1em &refs) const
void getObjects(int id, VRelectron &refs, size_type begin, size_type end) const
void swap(TriggerRefsCollections &other)
utility
std::vector< reco::METRef > VRbasemet
void addObject(int id, const reco::RecoChargedCandidateRef &ref)
void getObjects(int id, VRl1jet &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRbasemet &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1muon &refs, size_type begin, size_type end) const
void getObjects(int id, VRcomposite &refs, size_type begin, size_type end) const
void getObjects(int id, VRelectron &refs) const
uint16_t size_type
size_type addObjects(const Vids &ids, const VRjet &refs)
void getObjects(Vids &ids, VRpixtrack &refs, size_type begin, size_type end) const
std::vector< l1extra::L1MuonParticleRef > VRl1muon
void getObjects(Vids &ids, VRl1em &refs) const
size_type addObjects(const Vids &ids, const VRpixtrack &refs)
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref&lt;C&gt;)
U second(std::pair< T, U > const &p)
void getObjects(int id, VRpixtrack &refs) const
void getObjects(int id, VRmuon &refs, size_type begin, size_type end) const
std::vector< l1extra::L1HFRingsRef > VRl1hfrings
void getObjects(int id, VRl1hfrings &refs) const
size_type addObjects(const Vids &ids, const VRl1hfrings &refs)
std::vector< reco::IsolatedPixelTrackCandidateRef > VRpixtrack
size_type addObjects(const Vids &ids, const VRl1em &refs)
const VRl1muon & l1muonRefs() const
size_type addObjects(const Vids &ids, const VRcalomet &refs)
std::vector< l1extra::L1EtMissParticleRef > VRl1etmiss
size_type addObjects(const Vids &ids, const VRelectron &refs)
void getObjects(Vids &ids, VRcalomet &refs) const
void getObjects(Vids &ids, VRcomposite &refs) const
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
size_type addObjects(const Vids &ids, const VRl1etmiss &refs)
void getObjects(Vids &ids, VRelectron &refs, size_type begin, size_type end) const
void addObject(int id, const l1extra::L1EmParticleRef &ref)
void getObjects(int id, VRl1muon &refs) const
void getObjects(Vids &ids, VRjet &refs) const
const VRcomposite & compositeRefs() const
void getObjects(Vids &ids, VRmuon &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRcomposite &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1etmiss &refs, size_type begin, size_type end) const
void getObjects(int id, VRcomposite &refs) const
int j
Definition: DBlmapReader.cc:9
size_type photonSize() const
low-level getters for data members
void getObjects(Vids &ids, VRcalomet &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRelectron &refs) const
void getObjects(Vids &ids, VRbasemet &refs) const
void getObjects(int id, VRl1jet &refs) const
#define end
Definition: vmac.h:38
std::vector< l1extra::L1EmParticleRef > VRl1em
void addObject(int id, const l1extra::L1EtMissParticleRef &ref)
void addObject(int id, const reco::ElectronRef &ref)
void getObjects(int id, VRbasemet &refs, size_type begin, size_type end) const
const VRl1hfrings & l1hfringsRefs() const
bool first
Definition: L1TdeRCT.cc:79
void addObject(int id, const reco::IsolatedPixelTrackCandidateRef &ref)
void getObjects(int id, VRl1hfrings &refs, size_type begin, size_type end) const
void addObject(int id, const l1extra::L1MuonParticleRef &ref)
void getObjects(Vids &ids, VRl1hfrings &refs) const
void getObjects(Vids &ids, VRphoton &refs, size_type begin, size_type end) const
void getObjects(int id, VRmuon &refs) const
void getObjects(Vids &ids, VRl1em &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1etmiss &refs, size_type begin, size_type end) const
void swap(TriggerFilterObjectWithRefs &first, TriggerFilterObjectWithRefs &second)
const VRl1etmiss & l1etmissRefs() const
std::vector< reco::CaloJetRef > VRjet
size_type addObjects(const Vids &ids, const VRmuon &refs)
void getObjects(Vids &ids, VRl1muon &refs, size_type begin, size_type end) const
void addObject(int id, const reco::CaloMETRef &ref)
void getObjects(Vids &ids, VRl1hfrings &refs, size_type begin, size_type end) const
std::vector< reco::CompositeCandidateRef > VRcomposite
const VRphoton & photonRefs() const
void getObjects(int id, VRcalomet &refs) const
void getObjects(int id, VRjet &refs) const
std::vector< reco::RecoChargedCandidateRef > VRmuon
void addObject(int id, const l1extra::L1HFRingsRef &ref)
size_type addObjects(const Vids &ids, const VRcomposite &refs)
const VRelectron & electronRefs() const
void getObjects(int id, VRl1em &refs, size_type begin, size_type end) const
#define begin
Definition: vmac.h:31
size_type addObjects(const Vids &ids, const VRl1jet &refs)
void getObjects(Vids &ids, VRjet &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1muon &refs) const
const VRpixtrack & pixtrackRefs() const
std::vector< reco::ElectronRef > VRelectron
void getObjects(Vids &ids, VRmuon &refs) const
void getObjects(int id, VRphoton &refs) const
void addObject(int id, const l1extra::L1JetParticleRef &ref)
std::vector< reco::CaloMETRef > VRcalomet
void getObjects(Vids &ids, VRl1jet &refs, size_type begin, size_type end) const
void getObjects(int id, VRjet &refs, size_type begin, size_type end) const
std::vector< reco::RecoEcalCandidateRef > VRphoton
std::vector< l1extra::L1JetParticleRef > VRl1jet
std::vector< int > Vids
void getObjects(int id, VRbasemet &refs) const
void addObject(int id, const reco::CaloJetRef &ref)
void getObjects(Vids &ids, VRl1etmiss &refs) const
void getObjects(int id, VRl1etmiss &refs) const