CMS 3D CMS Logo

TriggerRefsCollections.h
Go to the documentation of this file.
1 #ifndef HLTReco_TriggerRefsCollections_h
2 #define HLTReco_TriggerRefsCollections_h
3 
21 
24 
34 
40 
57 
60 
61 #include <cassert>
62 #include <vector>
63 
64 #include <typeinfo>
65 
66 namespace trigger {
67 
68  typedef std::vector<reco::RecoEcalCandidateRef> VRphoton;
69  typedef std::vector<reco::ElectronRef> VRelectron;
70  typedef std::vector<reco::RecoChargedCandidateRef> VRmuon;
71  typedef std::vector<reco::CaloJetRef> VRjet;
72  typedef std::vector<reco::CompositeCandidateRef> VRcomposite;
73  typedef std::vector<reco::METRef> VRbasemet;
74  typedef std::vector<reco::CaloMETRef> VRcalomet;
75  typedef std::vector<reco::IsolatedPixelTrackCandidateRef> VRpixtrack;
76 
77  typedef std::vector<l1extra::L1EmParticleRef> VRl1em; //deprecate
78  typedef std::vector<l1extra::L1MuonParticleRef> VRl1muon; //deprecate
79  typedef std::vector<l1extra::L1JetParticleRef> VRl1jet; //deprecate
80  typedef std::vector<l1extra::L1EtMissParticleRef> VRl1etmiss; //deprecate
81  typedef std::vector<l1extra::L1HFRingsRef> VRl1hfrings; //deprecate
82 
89 
90  /* Phase-2 */
91  // This is a std::vector<TrackerMuonRef>,
92  // and should be called TrackerMuonVectorRef upstream.
93  // The L1T group should be made aware of that
102 
103  typedef std::vector<reco::PFJetRef> VRpfjet;
104  typedef std::vector<reco::PFTauRef> VRpftau;
105  typedef std::vector<reco::PFMETRef> VRpfmet;
106 
108 
111  private:
129 
140 
153 
154  /* Phase-2 */
171 
178 
181 
183  public:
186  : photonIds_(),
187  photonRefs_(),
188  electronIds_(),
189  electronRefs_(),
190  muonIds_(),
191  muonRefs_(),
192  jetIds_(),
193  jetRefs_(),
194  compositeIds_(),
195  compositeRefs_(),
196  basemetIds_(),
197  basemetRefs_(),
198  calometIds_(),
199  calometRefs_(),
200  pixtrackIds_(),
201  pixtrackRefs_(),
202 
203  l1emIds_(),
204  l1emRefs_(),
205  l1muonIds_(),
206  l1muonRefs_(),
207  l1jetIds_(),
208  l1jetRefs_(),
209  l1etmissIds_(),
210  l1etmissRefs_(),
211  l1hfringsIds_(),
212  l1hfringsRefs_(),
213 
214  l1tmuonIds_(),
215  l1tmuonRefs_(),
218  l1tegammaIds_(),
219  l1tegammaRefs_(),
220  l1tjetIds_(),
221  l1tjetRefs_(),
222  l1ttauIds_(),
223  l1ttauRefs_(),
224  l1tetsumIds_(),
225  l1tetsumRefs_(),
226 
227  /* Phase-2 */
228  l1ttkmuonIds_(),
229  l1ttkmuonRefs_(),
230  l1ttkeleIds_(),
231  l1ttkeleRefs_(),
232  l1ttkemIds_(),
233  l1ttkemRefs_(),
234  l1tpfjetIds_(),
235  l1tpfjetRefs_(),
236  l1tpftauIds_(),
237  l1tpftauRefs_(),
238  l1thpspftauIds_(),
240  l1tpftrackIds_(),
241  l1tpftrackRefs_(),
242  l1tp2etsumIds_(),
243  l1tp2etsumRefs_(),
244 
245  pfjetIds_(),
246  pfjetRefs_(),
247  pftauIds_(),
248  pftauRefs_(),
249  pfmetIds_(),
250  pfmetRefs_(),
251 
252  l1tp2gtcandIds_(),
253  l1tp2gtcandRefs_() {}
254 
257  std::swap(photonIds_, other.photonIds_);
258  std::swap(photonRefs_, other.photonRefs_);
259  std::swap(electronIds_, other.electronIds_);
260  std::swap(electronRefs_, other.electronRefs_);
261  std::swap(muonIds_, other.muonIds_);
262  std::swap(muonRefs_, other.muonRefs_);
263  std::swap(jetIds_, other.jetIds_);
264  std::swap(jetRefs_, other.jetRefs_);
265  std::swap(compositeIds_, other.compositeIds_);
266  std::swap(compositeRefs_, other.compositeRefs_);
267  std::swap(basemetIds_, other.basemetIds_);
268  std::swap(basemetRefs_, other.basemetRefs_);
269  std::swap(calometIds_, other.calometIds_);
270  std::swap(calometRefs_, other.calometRefs_);
271  std::swap(pixtrackIds_, other.pixtrackIds_);
272  std::swap(pixtrackRefs_, other.pixtrackRefs_);
273 
274  std::swap(l1emIds_, other.l1emIds_);
275  std::swap(l1emRefs_, other.l1emRefs_);
276  std::swap(l1muonIds_, other.l1muonIds_);
277  std::swap(l1muonRefs_, other.l1muonRefs_);
278  std::swap(l1jetIds_, other.l1jetIds_);
279  std::swap(l1jetRefs_, other.l1jetRefs_);
280  std::swap(l1etmissIds_, other.l1etmissIds_);
281  std::swap(l1etmissRefs_, other.l1etmissRefs_);
282  std::swap(l1hfringsIds_, other.l1hfringsIds_);
283  std::swap(l1hfringsRefs_, other.l1hfringsRefs_);
284 
285  std::swap(l1tmuonIds_, other.l1tmuonIds_);
286  std::swap(l1tmuonRefs_, other.l1tmuonRefs_);
287  std::swap(l1tmuonShowerIds_, other.l1tmuonShowerIds_);
288  std::swap(l1tmuonShowerRefs_, other.l1tmuonShowerRefs_);
289  std::swap(l1tegammaIds_, other.l1tegammaIds_);
290  std::swap(l1tegammaRefs_, other.l1tegammaRefs_);
291  std::swap(l1tjetIds_, other.l1tjetIds_);
292  std::swap(l1tjetRefs_, other.l1tjetRefs_);
293  std::swap(l1ttauIds_, other.l1ttauIds_);
294  std::swap(l1ttauRefs_, other.l1ttauRefs_);
295  std::swap(l1tetsumIds_, other.l1tetsumIds_);
296  std::swap(l1tetsumRefs_, other.l1tetsumRefs_);
297 
298  /* Phase-2 */
299  std::swap(l1ttkmuonIds_, other.l1ttkmuonIds_);
300  std::swap(l1ttkmuonRefs_, other.l1ttkmuonRefs_);
301  std::swap(l1ttkeleIds_, other.l1ttkeleIds_);
302  std::swap(l1ttkeleRefs_, other.l1ttkeleRefs_);
303  std::swap(l1ttkemIds_, other.l1ttkemIds_);
304  std::swap(l1ttkemRefs_, other.l1ttkemRefs_);
305  std::swap(l1tpfjetIds_, other.l1tpfjetIds_);
306  std::swap(l1tpfjetRefs_, other.l1tpfjetRefs_);
307  std::swap(l1tpftauIds_, other.l1tpftauIds_);
308  std::swap(l1tpftauRefs_, other.l1tpftauRefs_);
309  std::swap(l1thpspftauIds_, other.l1thpspftauIds_);
310  std::swap(l1thpspftauRefs_, other.l1thpspftauRefs_);
311  std::swap(l1tpftrackIds_, other.l1tpftrackIds_);
312  std::swap(l1tpftrackRefs_, other.l1tpftrackRefs_);
313  std::swap(l1tp2etsumIds_, other.l1tp2etsumIds_);
314  std::swap(l1tp2etsumRefs_, other.l1tp2etsumRefs_);
315 
316  std::swap(pfjetIds_, other.pfjetIds_);
317  std::swap(pfjetRefs_, other.pfjetRefs_);
318  std::swap(pftauIds_, other.pftauIds_);
319  std::swap(pftauRefs_, other.pftauRefs_);
320  std::swap(pfmetIds_, other.pfmetIds_);
321  std::swap(pfmetRefs_, other.pfmetRefs_);
322 
323  std::swap(l1tp2gtcandIds_, other.l1tp2gtcandIds_);
324  std::swap(l1tp2gtcandRefs_, other.l1tp2gtcandRefs_);
325  }
326 
328  void addObject(int id, const reco::RecoEcalCandidateRef& ref) {
329  photonIds_.push_back(id);
330  photonRefs_.push_back(ref);
331  }
332  void addObject(int id, const reco::ElectronRef& ref) {
333  electronIds_.push_back(id);
334  electronRefs_.push_back(ref);
335  }
336  void addObject(int id, const reco::RecoChargedCandidateRef& ref) {
337  muonIds_.push_back(id);
338  muonRefs_.push_back(ref);
339  }
340  void addObject(int id, const reco::CaloJetRef& ref) {
341  jetIds_.push_back(id);
342  jetRefs_.push_back(ref);
343  }
344  void addObject(int id, const reco::CompositeCandidateRef& ref) {
345  compositeIds_.push_back(id);
346  compositeRefs_.push_back(ref);
347  }
348  void addObject(int id, const reco::METRef& ref) {
349  basemetIds_.push_back(id);
350  basemetRefs_.push_back(ref);
351  }
352  void addObject(int id, const reco::CaloMETRef& ref) {
353  calometIds_.push_back(id);
354  calometRefs_.push_back(ref);
355  }
357  pixtrackIds_.push_back(id);
358  pixtrackRefs_.push_back(ref);
359  }
360 
361  void addObject(int id, const l1extra::L1EmParticleRef& ref) {
362  l1emIds_.push_back(id);
363  l1emRefs_.push_back(ref);
364  }
365  void addObject(int id, const l1extra::L1MuonParticleRef& ref) {
366  l1muonIds_.push_back(id);
367  l1muonRefs_.push_back(ref);
368  }
369  void addObject(int id, const l1extra::L1JetParticleRef& ref) {
370  l1jetIds_.push_back(id);
371  l1jetRefs_.push_back(ref);
372  }
373  void addObject(int id, const l1extra::L1EtMissParticleRef& ref) {
374  l1etmissIds_.push_back(id);
375  l1etmissRefs_.push_back(ref);
376  }
377  void addObject(int id, const l1extra::L1HFRingsRef& ref) {
378  l1hfringsIds_.push_back(id);
379  l1hfringsRefs_.push_back(ref);
380  }
381  void addObject(int id, const l1t::MuonRef& ref) {
382  l1tmuonIds_.push_back(id);
383  l1tmuonRefs_.push_back(ref);
384  }
385  void addObject(int id, const l1t::MuonShowerRef& ref) {
386  l1tmuonShowerIds_.push_back(id);
387  l1tmuonShowerRefs_.push_back(ref);
388  }
389  void addObject(int id, const l1t::EGammaRef& ref) {
390  l1tegammaIds_.push_back(id);
391  l1tegammaRefs_.push_back(ref);
392  }
393  void addObject(int id, const l1t::JetRef& ref) {
394  l1tjetIds_.push_back(id);
395  l1tjetRefs_.push_back(ref);
396  }
397  void addObject(int id, const l1t::TauRef& ref) {
398  l1ttauIds_.push_back(id);
399  l1ttauRefs_.push_back(ref);
400  }
401  void addObject(int id, const l1t::EtSumRef& ref) {
402  l1tetsumIds_.push_back(id);
403  l1tetsumRefs_.push_back(ref);
404  }
405 
406  /* Phase-2 */
407  void addObject(int id, const l1t::TrackerMuonRef& ref) {
408  l1ttkmuonIds_.push_back(id);
409  l1ttkmuonRefs_.push_back(ref);
410  }
411  void addObject(int id, const l1t::TkElectronRef& ref) {
412  l1ttkeleIds_.push_back(id);
413  l1ttkeleRefs_.push_back(ref);
414  }
415  void addObject(int id, const l1t::TkEmRef& ref) {
416  l1ttkemIds_.push_back(id);
417  l1ttkemRefs_.push_back(ref);
418  }
419  void addObject(int id, const l1t::PFJetRef& ref) {
420  l1tpfjetIds_.push_back(id);
421  l1tpfjetRefs_.push_back(ref);
422  }
423  void addObject(int id, const l1t::PFTauRef& ref) {
424  l1tpftauIds_.push_back(id);
425  l1tpftauRefs_.push_back(ref);
426  }
427  void addObject(int id, const l1t::HPSPFTauRef& ref) {
428  l1thpspftauIds_.push_back(id);
429  l1thpspftauRefs_.push_back(ref);
430  }
431  void addObject(int id, const l1t::PFTrackRef& ref) {
432  l1tpftrackIds_.push_back(id);
433  l1tpftrackRefs_.push_back(ref);
434  }
435  void addObject(int id, const l1t::EtSumP2Ref& ref) {
436  l1tp2etsumIds_.push_back(id);
437  l1tp2etsumRefs_.push_back(ref);
438  }
439  void addObject(int id, const reco::PFJetRef& ref) {
440  pfjetIds_.push_back(id);
441  pfjetRefs_.push_back(ref);
442  }
443  void addObject(int id, const reco::PFTauRef& ref) {
444  pftauIds_.push_back(id);
445  pftauRefs_.push_back(ref);
446  }
447  void addObject(int id, const reco::PFMETRef& ref) {
448  pfmetIds_.push_back(id);
449  pfmetRefs_.push_back(ref);
450  }
451  void addObject(int id, const l1t::P2GTCandidateRef& ref) {
452  l1tp2gtcandIds_.push_back(id);
453  l1tp2gtcandRefs_.push_back(ref);
454  }
455 
457  size_type addObjects(const Vids& ids, const VRphoton& refs) {
458  assert(ids.size() == refs.size());
459  photonIds_.insert(photonIds_.end(), ids.begin(), ids.end());
460  photonRefs_.insert(photonRefs_.end(), refs.begin(), refs.end());
461  return photonIds_.size();
462  }
463  size_type addObjects(const Vids& ids, const VRelectron& refs) {
464  assert(ids.size() == refs.size());
465  electronIds_.insert(electronIds_.end(), ids.begin(), ids.end());
466  electronRefs_.insert(electronRefs_.end(), refs.begin(), refs.end());
467  return electronIds_.size();
468  }
469  size_type addObjects(const Vids& ids, const VRmuon& refs) {
470  assert(ids.size() == refs.size());
471  muonIds_.insert(muonIds_.end(), ids.begin(), ids.end());
472  muonRefs_.insert(muonRefs_.end(), refs.begin(), refs.end());
473  return muonIds_.size();
474  }
475  size_type addObjects(const Vids& ids, const VRjet& refs) {
476  assert(ids.size() == refs.size());
477  jetIds_.insert(jetIds_.end(), ids.begin(), ids.end());
478  jetRefs_.insert(jetRefs_.end(), refs.begin(), refs.end());
479  return jetIds_.size();
480  }
481  size_type addObjects(const Vids& ids, const VRcomposite& refs) {
482  assert(ids.size() == refs.size());
483  compositeIds_.insert(compositeIds_.end(), ids.begin(), ids.end());
484  compositeRefs_.insert(compositeRefs_.end(), refs.begin(), refs.end());
485  return compositeIds_.size();
486  }
487  size_type addObjects(const Vids& ids, const VRbasemet& refs) {
488  assert(ids.size() == refs.size());
489  basemetIds_.insert(basemetIds_.end(), ids.begin(), ids.end());
490  basemetRefs_.insert(basemetRefs_.end(), refs.begin(), refs.end());
491  return basemetIds_.size();
492  }
493  size_type addObjects(const Vids& ids, const VRcalomet& refs) {
494  assert(ids.size() == refs.size());
495  calometIds_.insert(calometIds_.end(), ids.begin(), ids.end());
496  calometRefs_.insert(calometRefs_.end(), refs.begin(), refs.end());
497  return calometIds_.size();
498  }
499  size_type addObjects(const Vids& ids, const VRpixtrack& refs) {
500  assert(ids.size() == refs.size());
501  pixtrackIds_.insert(pixtrackIds_.end(), ids.begin(), ids.end());
502  pixtrackRefs_.insert(pixtrackRefs_.end(), refs.begin(), refs.end());
503  return pixtrackIds_.size();
504  }
505 
506  size_type addObjects(const Vids& ids, const VRl1em& refs) {
507  assert(ids.size() == refs.size());
508  l1emIds_.insert(l1emIds_.end(), ids.begin(), ids.end());
509  l1emRefs_.insert(l1emRefs_.end(), refs.begin(), refs.end());
510  return l1emIds_.size();
511  }
512  size_type addObjects(const Vids& ids, const VRl1muon& refs) {
513  assert(ids.size() == refs.size());
514  l1muonIds_.insert(l1muonIds_.end(), ids.begin(), ids.end());
515  l1muonRefs_.insert(l1muonRefs_.end(), refs.begin(), refs.end());
516  return l1muonIds_.size();
517  }
518  size_type addObjects(const Vids& ids, const VRl1jet& refs) {
519  assert(ids.size() == refs.size());
520  l1jetIds_.insert(l1jetIds_.end(), ids.begin(), ids.end());
521  l1jetRefs_.insert(l1jetRefs_.end(), refs.begin(), refs.end());
522  return l1jetIds_.size();
523  }
524  size_type addObjects(const Vids& ids, const VRl1etmiss& refs) {
525  assert(ids.size() == refs.size());
526  l1etmissIds_.insert(l1etmissIds_.end(), ids.begin(), ids.end());
527  l1etmissRefs_.insert(l1etmissRefs_.end(), refs.begin(), refs.end());
528  return l1etmissIds_.size();
529  }
530  size_type addObjects(const Vids& ids, const VRl1tmuon& refs) {
531  assert(ids.size() == refs.size());
532  l1tmuonIds_.insert(l1tmuonIds_.end(), ids.begin(), ids.end());
533  l1tmuonRefs_.insert(l1tmuonRefs_.end(), refs.begin(), refs.end());
534  return l1tmuonIds_.size();
535  }
536  size_type addObjects(const Vids& ids, const VRl1tmuonShower& refs) {
537  assert(ids.size() == refs.size());
538  l1tmuonShowerIds_.insert(l1tmuonShowerIds_.end(), ids.begin(), ids.end());
539  l1tmuonShowerRefs_.insert(l1tmuonShowerRefs_.end(), refs.begin(), refs.end());
540  return l1tmuonShowerIds_.size();
541  }
542  size_type addObjects(const Vids& ids, const VRl1tegamma& refs) {
543  assert(ids.size() == refs.size());
544  l1tegammaIds_.insert(l1tegammaIds_.end(), ids.begin(), ids.end());
545  l1tegammaRefs_.insert(l1tegammaRefs_.end(), refs.begin(), refs.end());
546  return l1tegammaIds_.size();
547  }
548  size_type addObjects(const Vids& ids, const VRl1tjet& refs) {
549  assert(ids.size() == refs.size());
550  l1tjetIds_.insert(l1tjetIds_.end(), ids.begin(), ids.end());
551  l1tjetRefs_.insert(l1tjetRefs_.end(), refs.begin(), refs.end());
552  return l1tjetIds_.size();
553  }
554  size_type addObjects(const Vids& ids, const VRl1ttau& refs) {
555  assert(ids.size() == refs.size());
556  l1ttauIds_.insert(l1ttauIds_.end(), ids.begin(), ids.end());
557  l1ttauRefs_.insert(l1ttauRefs_.end(), refs.begin(), refs.end());
558  return l1ttauIds_.size();
559  }
560  size_type addObjects(const Vids& ids, const VRl1tetsum& refs) {
561  assert(ids.size() == refs.size());
562  l1tetsumIds_.insert(l1tetsumIds_.end(), ids.begin(), ids.end());
563  l1tetsumRefs_.insert(l1tetsumRefs_.end(), refs.begin(), refs.end());
564  return l1tetsumIds_.size();
565  }
566  size_type addObjects(const Vids& ids, const VRl1hfrings& refs) {
567  assert(ids.size() == refs.size());
568  l1hfringsIds_.insert(l1hfringsIds_.end(), ids.begin(), ids.end());
569  l1hfringsRefs_.insert(l1hfringsRefs_.end(), refs.begin(), refs.end());
570  return l1hfringsIds_.size();
571  }
572 
573  /* Phase-2 */
574  size_type addObjects(const Vids& ids, const VRl1ttkmuon& refs) {
575  assert(ids.size() == refs.size());
576  l1ttkmuonIds_.insert(l1ttkmuonIds_.end(), ids.begin(), ids.end());
577  l1ttkmuonRefs_.insert(l1ttkmuonRefs_.end(), refs.begin(), refs.end());
578  return l1ttkmuonIds_.size();
579  }
580  size_type addObjects(const Vids& ids, const VRl1ttkele& refs) {
581  assert(ids.size() == refs.size());
582  l1ttkeleIds_.insert(l1ttkeleIds_.end(), ids.begin(), ids.end());
583  l1ttkeleRefs_.insert(l1ttkeleRefs_.end(), refs.begin(), refs.end());
584  return l1ttkeleIds_.size();
585  }
586  size_type addObjects(const Vids& ids, const VRl1ttkem& refs) {
587  assert(ids.size() == refs.size());
588  l1ttkemIds_.insert(l1ttkemIds_.end(), ids.begin(), ids.end());
589  l1ttkemRefs_.insert(l1ttkemRefs_.end(), refs.begin(), refs.end());
590  return l1ttkemIds_.size();
591  }
592  size_type addObjects(const Vids& ids, const VRl1tpfjet& refs) {
593  assert(ids.size() == refs.size());
594  l1tpfjetIds_.insert(l1tpfjetIds_.end(), ids.begin(), ids.end());
595  l1tpfjetRefs_.insert(l1tpfjetRefs_.end(), refs.begin(), refs.end());
596  return l1tpfjetIds_.size();
597  }
598  size_type addObjects(const Vids& ids, const VRl1tpftau& refs) {
599  assert(ids.size() == refs.size());
600  l1tpftauIds_.insert(l1tpftauIds_.end(), ids.begin(), ids.end());
601  l1tpftauRefs_.insert(l1tpftauRefs_.end(), refs.begin(), refs.end());
602  return l1tpftauIds_.size();
603  }
604  size_type addObjects(const Vids& ids, const VRl1thpspftau& refs) {
605  assert(ids.size() == refs.size());
606  l1thpspftauIds_.insert(l1thpspftauIds_.end(), ids.begin(), ids.end());
607  l1thpspftauRefs_.insert(l1thpspftauRefs_.end(), refs.begin(), refs.end());
608  return l1thpspftauIds_.size();
609  }
610  size_type addObjects(const Vids& ids, const VRl1tpftrack& refs) {
611  assert(ids.size() == refs.size());
612  l1tpftrackIds_.insert(l1tpftrackIds_.end(), ids.begin(), ids.end());
613  l1tpftrackRefs_.insert(l1tpftrackRefs_.end(), refs.begin(), refs.end());
614  return l1tpftrackIds_.size();
615  }
616  size_type addObjects(const Vids& ids, const VRl1tp2etsum& refs) {
617  assert(ids.size() == refs.size());
618  l1tp2etsumIds_.insert(l1tp2etsumIds_.end(), ids.begin(), ids.end());
619  l1tp2etsumRefs_.insert(l1tp2etsumRefs_.end(), refs.begin(), refs.end());
620  return l1tp2etsumIds_.size();
621  }
622 
623  size_type addObjects(const Vids& ids, const VRpfjet& refs) {
624  assert(ids.size() == refs.size());
625  pfjetIds_.insert(pfjetIds_.end(), ids.begin(), ids.end());
626  pfjetRefs_.insert(pfjetRefs_.end(), refs.begin(), refs.end());
627  return pfjetIds_.size();
628  }
629  size_type addObjects(const Vids& ids, const VRpftau& refs) {
630  assert(ids.size() == refs.size());
631  pftauIds_.insert(pftauIds_.end(), ids.begin(), ids.end());
632  pftauRefs_.insert(pftauRefs_.end(), refs.begin(), refs.end());
633  return pftauIds_.size();
634  }
635  size_type addObjects(const Vids& ids, const VRpfmet& refs) {
636  assert(ids.size() == refs.size());
637  pfmetIds_.insert(pfmetIds_.end(), ids.begin(), ids.end());
638  pfmetRefs_.insert(pfmetRefs_.end(), refs.begin(), refs.end());
639  return pfmetIds_.size();
640  }
641  size_type addObjects(const Vids& ids, const VRl1tp2gtcand& refs) {
642  assert(ids.size() == refs.size());
643  l1tp2gtcandIds_.insert(l1tp2gtcandIds_.end(), ids.begin(), ids.end());
644  l1tp2gtcandRefs_.insert(l1tp2gtcandRefs_.end(), refs.begin(), refs.end());
645  return l1tp2gtcandIds_.size();
646  }
647 
649  void getObjects(Vids& ids, VRphoton& refs) const { getObjects(ids, refs, 0, photonIds_.size()); }
650  void getObjects(Vids& ids, VRphoton& refs, size_type begin, size_type end) const {
651  assert(begin <= end);
652  assert(end <= photonIds_.size());
653  const size_type n(end - begin);
654  ids.resize(n);
655  refs.resize(n);
656  size_type j(0);
657  for (size_type i = begin; i != end; ++i) {
658  ids[j] = photonIds_[i];
659  refs[j] = photonRefs_[i];
660  ++j;
661  }
662  }
663  void getObjects(int id, VRphoton& refs) const { getObjects(id, refs, 0, photonIds_.size()); }
664  void getObjects(int id, VRphoton& refs, size_type begin, size_type end) const {
665  assert(begin <= end);
666  assert(end <= photonIds_.size());
667  size_type n(0);
668  for (size_type i = begin; i != end; ++i) {
669  if (id == photonIds_[i]) {
670  ++n;
671  }
672  }
673  refs.resize(n);
674  size_type j(0);
675  for (size_type i = begin; i != end; ++i) {
676  if (id == photonIds_[i]) {
677  refs[j] = photonRefs_[i];
678  ++j;
679  }
680  }
681  return;
682  }
683 
684  void getObjects(Vids& ids, VRelectron& refs) const { getObjects(ids, refs, 0, electronIds_.size()); }
685  void getObjects(Vids& ids, VRelectron& refs, size_type begin, size_type end) const {
686  assert(begin <= end);
687  assert(end <= electronIds_.size());
688  const size_type n(end - begin);
689  ids.resize(n);
690  refs.resize(n);
691  size_type j(0);
692  for (size_type i = begin; i != end; ++i) {
693  ids[j] = electronIds_[i];
694  refs[j] = electronRefs_[i];
695  ++j;
696  }
697  }
698  void getObjects(int id, VRelectron& refs) const { getObjects(id, refs, 0, electronIds_.size()); }
699  void getObjects(int id, VRelectron& refs, size_type begin, size_type end) const {
700  assert(begin <= end);
701  assert(end <= electronIds_.size());
702  size_type n(0);
703  for (size_type i = begin; i != end; ++i) {
704  if (id == electronIds_[i]) {
705  ++n;
706  }
707  }
708  refs.resize(n);
709  size_type j(0);
710  for (size_type i = begin; i != end; ++i) {
711  if (id == electronIds_[i]) {
712  refs[j] = electronRefs_[i];
713  ++j;
714  }
715  }
716  return;
717  }
718 
719  void getObjects(Vids& ids, VRmuon& refs) const { getObjects(ids, refs, 0, muonIds_.size()); }
720  void getObjects(Vids& ids, VRmuon& refs, size_type begin, size_type end) const {
721  assert(begin <= end);
722  assert(end <= muonIds_.size());
723  const size_type n(end - begin);
724  ids.resize(n);
725  refs.resize(n);
726  size_type j(0);
727  for (size_type i = begin; i != end; ++i) {
728  ids[j] = muonIds_[i];
729  refs[j] = muonRefs_[i];
730  ++j;
731  }
732  }
733  void getObjects(int id, VRmuon& refs) const { getObjects(id, refs, 0, muonIds_.size()); }
734  void getObjects(int id, VRmuon& refs, size_type begin, size_type end) const {
735  assert(begin <= end);
736  assert(end <= muonIds_.size());
737  size_type n(0);
738  for (size_type i = begin; i != end; ++i) {
739  if (id == muonIds_[i]) {
740  ++n;
741  }
742  }
743  refs.resize(n);
744  size_type j(0);
745  for (size_type i = begin; i != end; ++i) {
746  if (id == muonIds_[i]) {
747  refs[j] = muonRefs_[i];
748  ++j;
749  }
750  }
751  return;
752  }
753 
754  void getObjects(Vids& ids, VRjet& refs) const { getObjects(ids, refs, 0, jetIds_.size()); }
755  void getObjects(Vids& ids, VRjet& refs, size_type begin, size_type end) const {
756  assert(begin <= end);
757  assert(end <= jetIds_.size());
758  const size_type n(end - begin);
759  ids.resize(n);
760  refs.resize(n);
761  size_type j(0);
762  for (size_type i = begin; i != end; ++i) {
763  ids[j] = jetIds_[i];
764  refs[j] = jetRefs_[i];
765  ++j;
766  }
767  }
768  void getObjects(int id, VRjet& refs) const { getObjects(id, refs, 0, jetIds_.size()); }
769  void getObjects(int id, VRjet& refs, size_type begin, size_type end) const {
770  assert(begin <= end);
771  assert(end <= jetIds_.size());
772  size_type n(0);
773  for (size_type i = begin; i != end; ++i) {
774  if (id == jetIds_[i]) {
775  ++n;
776  }
777  }
778  refs.resize(n);
779  size_type j(0);
780  for (size_type i = begin; i != end; ++i) {
781  if (id == jetIds_[i]) {
782  refs[j] = jetRefs_[i];
783  ++j;
784  }
785  }
786  return;
787  }
788 
789  void getObjects(Vids& ids, VRcomposite& refs) const { getObjects(ids, refs, 0, compositeIds_.size()); }
790  void getObjects(Vids& ids, VRcomposite& refs, size_type begin, size_type end) const {
791  assert(begin <= end);
792  assert(end <= compositeIds_.size());
793  const size_type n(end - begin);
794  ids.resize(n);
795  refs.resize(n);
796  size_type j(0);
797  for (size_type i = begin; i != end; ++i) {
798  ids[j] = compositeIds_[i];
799  refs[j] = compositeRefs_[i];
800  ++j;
801  }
802  }
803  void getObjects(int id, VRcomposite& refs) const { getObjects(id, refs, 0, compositeIds_.size()); }
804  void getObjects(int id, VRcomposite& refs, size_type begin, size_type end) const {
805  assert(begin <= end);
806  assert(end <= compositeIds_.size());
807  size_type n(0);
808  for (size_type i = begin; i != end; ++i) {
809  if (id == compositeIds_[i]) {
810  ++n;
811  }
812  }
813  refs.resize(n);
814  size_type j(0);
815  for (size_type i = begin; i != end; ++i) {
816  if (id == compositeIds_[i]) {
817  refs[j] = compositeRefs_[i];
818  ++j;
819  }
820  }
821  return;
822  }
823 
824  void getObjects(Vids& ids, VRbasemet& refs) const { getObjects(ids, refs, 0, basemetIds_.size()); }
825  void getObjects(Vids& ids, VRbasemet& refs, size_type begin, size_type end) const {
826  assert(begin <= end);
827  assert(end <= basemetIds_.size());
828  const size_type n(end - begin);
829  ids.resize(n);
830  refs.resize(n);
831  size_type j(0);
832  for (size_type i = begin; i != end; ++i) {
833  ids[j] = basemetIds_[i];
834  refs[j] = basemetRefs_[i];
835  ++j;
836  }
837  }
838  void getObjects(int id, VRbasemet& refs) const { getObjects(id, refs, 0, basemetIds_.size()); }
839  void getObjects(int id, VRbasemet& refs, size_type begin, size_type end) const {
840  assert(begin <= end);
841  assert(end <= basemetIds_.size());
842  size_type n(0);
843  for (size_type i = begin; i != end; ++i) {
844  if (id == basemetIds_[i]) {
845  ++n;
846  }
847  }
848  refs.resize(n);
849  size_type j(0);
850  for (size_type i = begin; i != end; ++i) {
851  if (id == basemetIds_[i]) {
852  refs[j] = basemetRefs_[i];
853  ++j;
854  }
855  }
856  return;
857  }
858 
859  void getObjects(Vids& ids, VRcalomet& refs) const { getObjects(ids, refs, 0, calometIds_.size()); }
860  void getObjects(Vids& ids, VRcalomet& refs, size_type begin, size_type end) const {
861  assert(begin <= end);
862  assert(end <= calometIds_.size());
863  const size_type n(end - begin);
864  ids.resize(n);
865  refs.resize(n);
866  size_type j(0);
867  for (size_type i = begin; i != end; ++i) {
868  ids[j] = calometIds_[i];
869  refs[j] = calometRefs_[i];
870  ++j;
871  }
872  }
873  void getObjects(int id, VRcalomet& refs) const { getObjects(id, refs, 0, calometIds_.size()); }
874  void getObjects(int id, VRcalomet& refs, size_type begin, size_type end) const {
875  assert(begin <= end);
876  assert(end <= calometIds_.size());
877  size_type n(0);
878  for (size_type i = begin; i != end; ++i) {
879  if (id == calometIds_[i]) {
880  ++n;
881  }
882  }
883  refs.resize(n);
884  size_type j(0);
885  for (size_type i = begin; i != end; ++i) {
886  if (id == calometIds_[i]) {
887  refs[j] = calometRefs_[i];
888  ++j;
889  }
890  }
891  return;
892  }
893 
894  void getObjects(Vids& ids, VRpixtrack& refs) const { getObjects(ids, refs, 0, pixtrackIds_.size()); }
895  void getObjects(Vids& ids, VRpixtrack& refs, size_type begin, size_type end) const {
896  assert(begin <= end);
897  assert(end <= pixtrackIds_.size());
898  const size_type n(end - begin);
899  ids.resize(n);
900  refs.resize(n);
901  size_type j(0);
902  for (size_type i = begin; i != end; ++i) {
903  ids[j] = pixtrackIds_[i];
904  refs[j] = pixtrackRefs_[i];
905  ++j;
906  }
907  }
908  void getObjects(int id, VRpixtrack& refs) const { getObjects(id, refs, 0, pixtrackIds_.size()); }
909  void getObjects(int id, VRpixtrack& refs, size_type begin, size_type end) const {
910  assert(begin <= end);
911  assert(end <= pixtrackIds_.size());
912  size_type n(0);
913  for (size_type i = begin; i != end; ++i) {
914  if (id == pixtrackIds_[i]) {
915  ++n;
916  }
917  }
918  refs.resize(n);
919  size_type j(0);
920  for (size_type i = begin; i != end; ++i) {
921  if (id == pixtrackIds_[i]) {
922  refs[j] = pixtrackRefs_[i];
923  ++j;
924  }
925  }
926  return;
927  }
928 
929  void getObjects(Vids& ids, VRl1em& refs) const { getObjects(ids, refs, 0, l1emIds_.size()); }
930  void getObjects(Vids& ids, VRl1em& refs, size_type begin, size_type end) const {
931  assert(begin <= end);
932  assert(end <= l1emIds_.size());
933  const size_type n(end - begin);
934  ids.resize(n);
935  refs.resize(n);
936  size_type j(0);
937  for (size_type i = begin; i != end; ++i) {
938  ids[j] = l1emIds_[i];
939  refs[j] = l1emRefs_[i];
940  ++j;
941  }
942  }
943  void getObjects(int id, VRl1em& refs) const { getObjects(id, refs, 0, l1emIds_.size()); }
944  void getObjects(int id, VRl1em& refs, size_type begin, size_type end) const {
945  assert(begin <= end);
946  assert(end <= l1emIds_.size());
947  size_type n(0);
948  for (size_type i = begin; i != end; ++i) {
949  if (id == l1emIds_[i]) {
950  ++n;
951  }
952  }
953  refs.resize(n);
954  size_type j(0);
955  for (size_type i = begin; i != end; ++i) {
956  if (id == l1emIds_[i]) {
957  refs[j] = l1emRefs_[i];
958  ++j;
959  }
960  }
961  return;
962  }
963 
964  void getObjects(Vids& ids, VRl1muon& refs) const { getObjects(ids, refs, 0, l1muonIds_.size()); }
965  void getObjects(Vids& ids, VRl1muon& refs, size_type begin, size_type end) const {
966  assert(begin <= end);
967  assert(end <= l1muonIds_.size());
968  const size_type n(end - begin);
969  ids.resize(n);
970  refs.resize(n);
971  size_type j(0);
972  for (size_type i = begin; i != end; ++i) {
973  ids[j] = l1muonIds_[i];
974  refs[j] = l1muonRefs_[i];
975  ++j;
976  }
977  }
978  void getObjects(int id, VRl1muon& refs) const { getObjects(id, refs, 0, l1muonIds_.size()); }
979  void getObjects(int id, VRl1muon& refs, size_type begin, size_type end) const {
980  assert(begin <= end);
981  assert(end <= l1muonIds_.size());
982  size_type n(0);
983  for (size_type i = begin; i != end; ++i) {
984  if (id == l1muonIds_[i]) {
985  ++n;
986  }
987  }
988  refs.resize(n);
989  size_type j(0);
990  for (size_type i = begin; i != end; ++i) {
991  if (id == l1muonIds_[i]) {
992  refs[j] = l1muonRefs_[i];
993  ++j;
994  }
995  }
996  return;
997  }
998 
999  void getObjects(Vids& ids, VRl1jet& refs) const { getObjects(ids, refs, 0, l1jetIds_.size()); }
1000  void getObjects(Vids& ids, VRl1jet& refs, size_type begin, size_type end) const {
1001  assert(begin <= end);
1002  assert(end <= l1jetIds_.size());
1003  const size_type n(end - begin);
1004  ids.resize(n);
1005  refs.resize(n);
1006  size_type j(0);
1007  for (size_type i = begin; i != end; ++i) {
1008  ids[j] = l1jetIds_[i];
1009  refs[j] = l1jetRefs_[i];
1010  ++j;
1011  }
1012  }
1013  void getObjects(int id, VRl1jet& refs) const { getObjects(id, refs, 0, l1jetIds_.size()); }
1014  void getObjects(int id, VRl1jet& refs, size_type begin, size_type end) const {
1015  assert(begin <= end);
1016  assert(end <= l1jetIds_.size());
1017  size_type n(0);
1018  for (size_type i = begin; i != end; ++i) {
1019  if (id == l1jetIds_[i]) {
1020  ++n;
1021  }
1022  }
1023  refs.resize(n);
1024  size_type j(0);
1025  for (size_type i = begin; i != end; ++i) {
1026  if (id == l1jetIds_[i]) {
1027  refs[j] = l1jetRefs_[i];
1028  ++j;
1029  }
1030  }
1031  return;
1032  }
1033 
1034  void getObjects(Vids& ids, VRl1etmiss& refs) const { getObjects(ids, refs, 0, l1etmissIds_.size()); }
1035  void getObjects(Vids& ids, VRl1etmiss& refs, size_type begin, size_type end) const {
1036  assert(begin <= end);
1037  assert(end <= l1etmissIds_.size());
1038  const size_type n(end - begin);
1039  ids.resize(n);
1040  refs.resize(n);
1041  size_type j(0);
1042  for (size_type i = begin; i != end; ++i) {
1043  ids[j] = l1etmissIds_[i];
1044  refs[j] = l1etmissRefs_[i];
1045  ++j;
1046  }
1047  }
1048  void getObjects(int id, VRl1etmiss& refs) const { getObjects(id, refs, 0, l1etmissIds_.size()); }
1049  void getObjects(int id, VRl1etmiss& refs, size_type begin, size_type end) const {
1050  assert(begin <= end);
1051  assert(end <= l1etmissIds_.size());
1052  size_type n(0);
1053  for (size_type i = begin; i != end; ++i) {
1054  if (id == l1etmissIds_[i]) {
1055  ++n;
1056  }
1057  }
1058  refs.resize(n);
1059  size_type j(0);
1060  for (size_type i = begin; i != end; ++i) {
1061  if (id == l1etmissIds_[i]) {
1062  refs[j] = l1etmissRefs_[i];
1063  ++j;
1064  }
1065  }
1066  return;
1067  }
1068 
1069  void getObjects(Vids& ids, VRl1hfrings& refs) const { getObjects(ids, refs, 0, l1hfringsIds_.size()); }
1070  void getObjects(Vids& ids, VRl1hfrings& refs, size_type begin, size_type end) const {
1071  assert(begin <= end);
1072  assert(end <= l1hfringsIds_.size());
1073  const size_type n(end - begin);
1074  ids.resize(n);
1075  refs.resize(n);
1076  size_type j(0);
1077  for (size_type i = begin; i != end; ++i) {
1078  ids[j] = l1hfringsIds_[i];
1079  refs[j] = l1hfringsRefs_[i];
1080  ++j;
1081  }
1082  }
1083  void getObjects(int id, VRl1hfrings& refs) const { getObjects(id, refs, 0, l1hfringsIds_.size()); }
1084  void getObjects(int id, VRl1hfrings& refs, size_type begin, size_type end) const {
1085  assert(begin <= end);
1086  assert(end <= l1hfringsIds_.size());
1087  size_type n(0);
1088  for (size_type i = begin; i != end; ++i) {
1089  if (id == l1hfringsIds_[i]) {
1090  ++n;
1091  }
1092  }
1093  refs.resize(n);
1094  size_type j(0);
1095  for (size_type i = begin; i != end; ++i) {
1096  if (id == l1hfringsIds_[i]) {
1097  refs[j] = l1hfringsRefs_[i];
1098  ++j;
1099  }
1100  }
1101  return;
1102  }
1103 
1104  void getObjects(Vids& ids, VRl1tmuon& refs) const { getObjects(ids, refs, 0, l1tmuonIds_.size()); }
1105  void getObjects(Vids& ids, VRl1tmuon& refs, size_type begin, size_type end) const {
1106  assert(begin <= end);
1107  assert(end <= l1tmuonIds_.size());
1108  const size_type n(end - begin);
1109  ids.resize(n);
1110  refs.resize(n);
1111  size_type j(0);
1112  for (size_type i = begin; i != end; ++i) {
1113  ids[j] = l1tmuonIds_[i];
1114  refs[j] = l1tmuonRefs_[i];
1115  ++j;
1116  }
1117  }
1118  void getObjects(int id, VRl1tmuon& refs) const { getObjects(id, refs, 0, l1tmuonIds_.size()); }
1119  void getObjects(int id, VRl1tmuon& refs, size_type begin, size_type end) const {
1120  assert(begin <= end);
1121  assert(end <= l1tmuonIds_.size());
1122  size_type n(0);
1123  for (size_type i = begin; i != end; ++i) {
1124  if (id == l1tmuonIds_[i]) {
1125  ++n;
1126  }
1127  }
1128  refs.resize(n);
1129  size_type j(0);
1130  for (size_type i = begin; i != end; ++i) {
1131  if (id == l1tmuonIds_[i]) {
1132  refs[j] = l1tmuonRefs_[i];
1133  ++j;
1134  }
1135  }
1136  return;
1137  }
1138 
1139  void getObjects(Vids& ids, VRl1tmuonShower& refs) const { getObjects(ids, refs, 0, l1tmuonShowerIds_.size()); }
1140  void getObjects(Vids& ids, VRl1tmuonShower& refs, size_type begin, size_type end) const {
1141  assert(begin <= end);
1142  assert(end <= l1tmuonShowerIds_.size());
1143  const size_type n(end - begin);
1144  ids.resize(n);
1145  refs.resize(n);
1146  size_type j(0);
1147  for (size_type i = begin; i != end; ++i) {
1148  ids[j] = l1tmuonShowerIds_[i];
1149  refs[j] = l1tmuonShowerRefs_[i];
1150  ++j;
1151  }
1152  }
1153  void getObjects(int id, VRl1tmuonShower& refs) const { getObjects(id, refs, 0, l1tmuonShowerIds_.size()); }
1154  void getObjects(int id, VRl1tmuonShower& refs, size_type begin, size_type end) const {
1155  assert(begin <= end);
1156  assert(end <= l1tmuonShowerIds_.size());
1157  size_type n(0);
1158  for (size_type i = begin; i != end; ++i) {
1159  if (id == l1tmuonShowerIds_[i]) {
1160  ++n;
1161  }
1162  }
1163  refs.resize(n);
1164  size_type j(0);
1165  for (size_type i = begin; i != end; ++i) {
1166  if (id == l1tmuonShowerIds_[i]) {
1167  refs[j] = l1tmuonShowerRefs_[i];
1168  ++j;
1169  }
1170  }
1171  return;
1172  }
1173 
1174  void getObjects(Vids& ids, VRl1tegamma& refs) const { getObjects(ids, refs, 0, l1tegammaIds_.size()); }
1175  void getObjects(Vids& ids, VRl1tegamma& refs, size_type begin, size_type end) const {
1176  assert(begin <= end);
1177  assert(end <= l1tegammaIds_.size());
1178  const size_type n(end - begin);
1179  ids.resize(n);
1180  refs.resize(n);
1181  size_type j(0);
1182  for (size_type i = begin; i != end; ++i) {
1183  ids[j] = l1tegammaIds_[i];
1184  refs[j] = l1tegammaRefs_[i];
1185  ++j;
1186  }
1187  }
1188  void getObjects(int id, VRl1tegamma& refs) const { getObjects(id, refs, 0, l1tegammaIds_.size()); }
1189  void getObjects(int id, VRl1tegamma& refs, size_type begin, size_type end) const {
1190  assert(begin <= end);
1191  assert(end <= l1tegammaIds_.size());
1192  size_type n(0);
1193  for (size_type i = begin; i != end; ++i) {
1194  if (id == l1tegammaIds_[i]) {
1195  ++n;
1196  }
1197  }
1198  refs.resize(n);
1199  size_type j(0);
1200  for (size_type i = begin; i != end; ++i) {
1201  if (id == l1tegammaIds_[i]) {
1202  refs[j] = l1tegammaRefs_[i];
1203  ++j;
1204  }
1205  }
1206  return;
1207  }
1208 
1209  void getObjects(Vids& ids, VRl1tjet& refs) const { getObjects(ids, refs, 0, l1tjetIds_.size()); }
1210  void getObjects(Vids& ids, VRl1tjet& refs, size_type begin, size_type end) const {
1211  assert(begin <= end);
1212  assert(end <= l1tjetIds_.size());
1213  const size_type n(end - begin);
1214  ids.resize(n);
1215  refs.resize(n);
1216  size_type j(0);
1217  for (size_type i = begin; i != end; ++i) {
1218  ids[j] = l1tjetIds_[i];
1219  refs[j] = l1tjetRefs_[i];
1220  ++j;
1221  }
1222  }
1223  void getObjects(int id, VRl1tjet& refs) const { getObjects(id, refs, 0, l1tjetIds_.size()); }
1224  void getObjects(int id, VRl1tjet& refs, size_type begin, size_type end) const {
1225  assert(begin <= end);
1226  assert(end <= l1tjetIds_.size());
1227  size_type n(0);
1228  for (size_type i = begin; i != end; ++i) {
1229  if (id == l1tjetIds_[i]) {
1230  ++n;
1231  }
1232  }
1233  refs.resize(n);
1234  size_type j(0);
1235  for (size_type i = begin; i != end; ++i) {
1236  if (id == l1tjetIds_[i]) {
1237  refs[j] = l1tjetRefs_[i];
1238  ++j;
1239  }
1240  }
1241  return;
1242  }
1243 
1244  void getObjects(Vids& ids, VRl1ttau& refs) const { getObjects(ids, refs, 0, l1ttauIds_.size()); }
1245  void getObjects(Vids& ids, VRl1ttau& refs, size_type begin, size_type end) const {
1246  assert(begin <= end);
1247  assert(end <= l1ttauIds_.size());
1248  const size_type n(end - begin);
1249  ids.resize(n);
1250  refs.resize(n);
1251  size_type j(0);
1252  for (size_type i = begin; i != end; ++i) {
1253  ids[j] = l1ttauIds_[i];
1254  refs[j] = l1ttauRefs_[i];
1255  ++j;
1256  }
1257  }
1258  void getObjects(int id, VRl1ttau& refs) const { getObjects(id, refs, 0, l1ttauIds_.size()); }
1259  void getObjects(int id, VRl1ttau& refs, size_type begin, size_type end) const {
1260  assert(begin <= end);
1261  assert(end <= l1ttauIds_.size());
1262  size_type n(0);
1263  for (size_type i = begin; i != end; ++i) {
1264  if (id == l1ttauIds_[i]) {
1265  ++n;
1266  }
1267  }
1268  refs.resize(n);
1269  size_type j(0);
1270  for (size_type i = begin; i != end; ++i) {
1271  if (id == l1ttauIds_[i]) {
1272  refs[j] = l1ttauRefs_[i];
1273  ++j;
1274  }
1275  }
1276  return;
1277  }
1278 
1279  void getObjects(Vids& ids, VRl1tetsum& refs) const { getObjects(ids, refs, 0, l1tetsumIds_.size()); }
1280  void getObjects(Vids& ids, VRl1tetsum& refs, size_type begin, size_type end) const {
1281  assert(begin <= end);
1282  assert(end <= l1tetsumIds_.size());
1283  const size_type n(end - begin);
1284  ids.resize(n);
1285  refs.resize(n);
1286  size_type j(0);
1287  for (size_type i = begin; i != end; ++i) {
1288  ids[j] = l1tetsumIds_[i];
1289  refs[j] = l1tetsumRefs_[i];
1290  ++j;
1291  }
1292  }
1293  void getObjects(int id, VRl1tetsum& refs) const { getObjects(id, refs, 0, l1tetsumIds_.size()); }
1294  void getObjects(int id, VRl1tetsum& refs, size_type begin, size_type end) const {
1295  assert(begin <= end);
1296  assert(end <= l1tetsumIds_.size());
1297  size_type n(0);
1298  for (size_type i = begin; i != end; ++i) {
1299  if (id == l1tetsumIds_[i]) {
1300  ++n;
1301  }
1302  }
1303  refs.resize(n);
1304  size_type j(0);
1305  for (size_type i = begin; i != end; ++i) {
1306  if (id == l1tetsumIds_[i]) {
1307  refs[j] = l1tetsumRefs_[i];
1308  ++j;
1309  }
1310  }
1311  return;
1312  }
1313 
1314  /* Phase-2 */
1315  void getObjects(Vids& ids, VRl1ttkmuon& refs) const { getObjects(ids, refs, 0, l1ttkmuonIds_.size()); }
1316  void getObjects(Vids& ids, VRl1ttkmuon& refs, size_type begin, size_type end) const {
1317  assert(begin <= end);
1318  assert(end <= l1ttkmuonIds_.size());
1319  const size_type n(end - begin);
1320  ids.resize(n);
1321  refs.resize(n);
1322  size_type j(0);
1323  for (size_type i = begin; i != end; ++i) {
1324  ids[j] = l1ttkmuonIds_[i];
1325  refs[j] = l1ttkmuonRefs_[i];
1326  ++j;
1327  }
1328  }
1329  void getObjects(int id, VRl1ttkmuon& refs) const { getObjects(id, refs, 0, l1ttkmuonIds_.size()); }
1330  void getObjects(int id, VRl1ttkmuon& refs, size_type begin, size_type end) const {
1331  assert(begin <= end);
1332  assert(end <= l1ttkmuonIds_.size());
1333  size_type n(0);
1334  for (size_type i = begin; i != end; ++i) {
1335  if (id == l1ttkmuonIds_[i]) {
1336  ++n;
1337  }
1338  }
1339  refs.resize(n);
1340  size_type j(0);
1341  for (size_type i = begin; i != end; ++i) {
1342  if (id == l1ttkmuonIds_[i]) {
1343  refs[j] = l1ttkmuonRefs_[i];
1344  ++j;
1345  }
1346  }
1347  return;
1348  }
1349 
1350  void getObjects(Vids& ids, VRl1ttkele& refs) const { getObjects(ids, refs, 0, l1ttkeleIds_.size()); }
1351  void getObjects(Vids& ids, VRl1ttkele& refs, size_type begin, size_type end) const {
1352  assert(begin <= end);
1353  assert(end <= l1ttkeleIds_.size());
1354  const size_type n(end - begin);
1355  ids.resize(n);
1356  refs.resize(n);
1357  size_type j(0);
1358  for (size_type i = begin; i != end; ++i) {
1359  ids[j] = l1ttkeleIds_[i];
1360  refs[j] = l1ttkeleRefs_[i];
1361  ++j;
1362  }
1363  }
1364  void getObjects(int id, VRl1ttkele& refs) const { getObjects(id, refs, 0, l1ttkeleIds_.size()); }
1365  void getObjects(int id, VRl1ttkele& refs, size_type begin, size_type end) const {
1366  assert(begin <= end);
1367  assert(end <= l1ttkeleIds_.size());
1368  size_type n(0);
1369  for (size_type i = begin; i != end; ++i) {
1370  if (id == l1ttkeleIds_[i]) {
1371  ++n;
1372  }
1373  }
1374  refs.resize(n);
1375  size_type j(0);
1376  for (size_type i = begin; i != end; ++i) {
1377  if (id == l1ttkeleIds_[i]) {
1378  refs[j] = l1ttkeleRefs_[i];
1379  ++j;
1380  }
1381  }
1382  return;
1383  }
1384 
1385  void getObjects(Vids& ids, VRl1ttkem& refs) const { getObjects(ids, refs, 0, l1ttkemIds_.size()); }
1386  void getObjects(Vids& ids, VRl1ttkem& refs, size_type begin, size_type end) const {
1387  assert(begin <= end);
1388  assert(end <= l1ttkemIds_.size());
1389  const size_type n(end - begin);
1390  ids.resize(n);
1391  refs.resize(n);
1392  size_type j(0);
1393  for (size_type i = begin; i != end; ++i) {
1394  ids[j] = l1ttkemIds_[i];
1395  refs[j] = l1ttkemRefs_[i];
1396  ++j;
1397  }
1398  }
1399  void getObjects(int id, VRl1ttkem& refs) const { getObjects(id, refs, 0, l1ttkemIds_.size()); }
1400  void getObjects(int id, VRl1ttkem& refs, size_type begin, size_type end) const {
1401  assert(begin <= end);
1402  assert(end <= l1ttkemIds_.size());
1403  size_type n(0);
1404  for (size_type i = begin; i != end; ++i) {
1405  if (id == l1ttkemIds_[i]) {
1406  ++n;
1407  }
1408  }
1409  refs.resize(n);
1410  size_type j(0);
1411  for (size_type i = begin; i != end; ++i) {
1412  if (id == l1ttkemIds_[i]) {
1413  refs[j] = l1ttkemRefs_[i];
1414  ++j;
1415  }
1416  }
1417  return;
1418  }
1419 
1420  void getObjects(Vids& ids, VRl1tpfjet& refs) const { getObjects(ids, refs, 0, l1tpfjetIds_.size()); }
1421  void getObjects(Vids& ids, VRl1tpfjet& refs, size_type begin, size_type end) const {
1422  assert(begin <= end);
1423  assert(end <= l1tpfjetIds_.size());
1424  const size_type n(end - begin);
1425  ids.resize(n);
1426  refs.resize(n);
1427  size_type j(0);
1428  for (size_type i = begin; i != end; ++i) {
1429  ids[j] = l1tpfjetIds_[i];
1430  refs[j] = l1tpfjetRefs_[i];
1431  ++j;
1432  }
1433  }
1434  void getObjects(int id, VRl1tpfjet& refs) const { getObjects(id, refs, 0, l1tpfjetIds_.size()); }
1435  void getObjects(int id, VRl1tpfjet& refs, size_type begin, size_type end) const {
1436  assert(begin <= end);
1437  assert(end <= l1tpfjetIds_.size());
1438  size_type n(0);
1439  for (size_type i = begin; i != end; ++i) {
1440  if (id == l1tpfjetIds_[i]) {
1441  ++n;
1442  }
1443  }
1444  refs.resize(n);
1445  size_type j(0);
1446  for (size_type i = begin; i != end; ++i) {
1447  if (id == l1tpfjetIds_[i]) {
1448  refs[j] = l1tpfjetRefs_[i];
1449  ++j;
1450  }
1451  }
1452  return;
1453  }
1454 
1455  void getObjects(Vids& ids, VRl1tpftau& refs) const { getObjects(ids, refs, 0, l1tpftauIds_.size()); }
1456  void getObjects(Vids& ids, VRl1tpftau& refs, size_type begin, size_type end) const {
1457  assert(begin <= end);
1458  assert(end <= l1tpftauIds_.size());
1459  const size_type n(end - begin);
1460  ids.resize(n);
1461  refs.resize(n);
1462  size_type j(0);
1463  for (size_type i = begin; i != end; ++i) {
1464  ids[j] = l1tpftauIds_[i];
1465  refs[j] = l1tpftauRefs_[i];
1466  ++j;
1467  }
1468  }
1469  void getObjects(int id, VRl1tpftau& refs) const { getObjects(id, refs, 0, l1tpftauIds_.size()); }
1470  void getObjects(int id, VRl1tpftau& refs, size_type begin, size_type end) const {
1471  assert(begin <= end);
1472  assert(end <= l1tpftauIds_.size());
1473  size_type n(0);
1474  for (size_type i = begin; i != end; ++i) {
1475  if (id == l1tpftauIds_[i]) {
1476  ++n;
1477  }
1478  }
1479  refs.resize(n);
1480  size_type j(0);
1481  for (size_type i = begin; i != end; ++i) {
1482  if (id == l1tpftauIds_[i]) {
1483  refs[j] = l1tpftauRefs_[i];
1484  ++j;
1485  }
1486  }
1487  return;
1488  }
1489 
1490  void getObjects(Vids& ids, VRl1thpspftau& refs) const { getObjects(ids, refs, 0, l1thpspftauIds_.size()); }
1491  void getObjects(Vids& ids, VRl1thpspftau& refs, size_type begin, size_type end) const {
1492  assert(begin <= end);
1493  assert(end <= l1thpspftauIds_.size());
1494  const size_type n(end - begin);
1495  ids.resize(n);
1496  refs.resize(n);
1497  size_type j(0);
1498  for (size_type i = begin; i != end; ++i) {
1499  ids[j] = l1thpspftauIds_[i];
1500  refs[j] = l1thpspftauRefs_[i];
1501  ++j;
1502  }
1503  }
1504  void getObjects(int id, VRl1thpspftau& refs) const { getObjects(id, refs, 0, l1thpspftauIds_.size()); }
1505  void getObjects(int id, VRl1thpspftau& refs, size_type begin, size_type end) const {
1506  assert(begin <= end);
1507  assert(end <= l1thpspftauIds_.size());
1508  size_type n(0);
1509  for (size_type i = begin; i != end; ++i) {
1510  if (id == l1thpspftauIds_[i]) {
1511  ++n;
1512  }
1513  }
1514  refs.resize(n);
1515  size_type j(0);
1516  for (size_type i = begin; i != end; ++i) {
1517  if (id == l1thpspftauIds_[i]) {
1518  refs[j] = l1thpspftauRefs_[i];
1519  ++j;
1520  }
1521  }
1522  return;
1523  }
1524 
1525  void getObjects(Vids& ids, VRl1tpftrack& refs) const { getObjects(ids, refs, 0, l1tpftrackIds_.size()); }
1526  void getObjects(Vids& ids, VRl1tpftrack& refs, size_type begin, size_type end) const {
1527  assert(begin <= end);
1528  assert(end <= l1tpftrackIds_.size());
1529  const size_type n(end - begin);
1530  ids.resize(n);
1531  refs.resize(n);
1532  size_type j(0);
1533  for (size_type i = begin; i != end; ++i) {
1534  ids[j] = l1tpftrackIds_[i];
1535  refs[j] = l1tpftrackRefs_[i];
1536  ++j;
1537  }
1538  }
1539  void getObjects(int id, VRl1tpftrack& refs) const { getObjects(id, refs, 0, l1tpftrackIds_.size()); }
1540  void getObjects(int id, VRl1tpftrack& refs, size_type begin, size_type end) const {
1541  assert(begin <= end);
1542  assert(end <= l1tpftrackIds_.size());
1543  size_type n(0);
1544  for (size_type i = begin; i != end; ++i) {
1545  if (id == l1tpftrackIds_[i]) {
1546  ++n;
1547  }
1548  }
1549  refs.resize(n);
1550  size_type j(0);
1551  for (size_type i = begin; i != end; ++i) {
1552  if (id == l1tpftrackIds_[i]) {
1553  refs[j] = l1tpftrackRefs_[i];
1554  ++j;
1555  }
1556  }
1557  return;
1558  }
1559 
1560  void getObjects(Vids& ids, VRl1tp2etsum& refs) const { getObjects(ids, refs, 0, l1tp2etsumIds_.size()); }
1561  void getObjects(Vids& ids, VRl1tp2etsum& refs, size_type begin, size_type end) const {
1562  assert(begin <= end);
1563  assert(end <= l1tp2etsumIds_.size());
1564  const size_type n(end - begin);
1565  ids.resize(n);
1566  refs.resize(n);
1567  size_type j(0);
1568  for (size_type i = begin; i != end; ++i) {
1569  ids[j] = l1tp2etsumIds_[i];
1570  refs[j] = l1tp2etsumRefs_[i];
1571  ++j;
1572  }
1573  }
1574  void getObjects(int id, VRl1tp2etsum& refs) const { getObjects(id, refs, 0, l1tp2etsumIds_.size()); }
1575  void getObjects(int id, VRl1tp2etsum& refs, size_type begin, size_type end) const {
1576  assert(begin <= end);
1577  assert(end <= l1tp2etsumIds_.size());
1578  size_type n(0);
1579  for (size_type i = begin; i != end; ++i) {
1580  if (id == l1tp2etsumIds_[i]) {
1581  ++n;
1582  }
1583  }
1584  refs.resize(n);
1585  size_type j(0);
1586  for (size_type i = begin; i != end; ++i) {
1587  if (id == l1tp2etsumIds_[i]) {
1588  refs[j] = l1tp2etsumRefs_[i];
1589  ++j;
1590  }
1591  }
1592  return;
1593  }
1594 
1595  void getObjects(Vids& ids, VRpfjet& refs) const { getObjects(ids, refs, 0, pfjetIds_.size()); }
1596  void getObjects(Vids& ids, VRpfjet& refs, size_type begin, size_type end) const {
1597  assert(begin <= end);
1598  assert(end <= pfjetIds_.size());
1599  const size_type n(end - begin);
1600  ids.resize(n);
1601  refs.resize(n);
1602  size_type j(0);
1603  for (size_type i = begin; i != end; ++i) {
1604  ids[j] = pfjetIds_[i];
1605  refs[j] = pfjetRefs_[i];
1606  ++j;
1607  }
1608  }
1609  void getObjects(int id, VRpfjet& refs) const { getObjects(id, refs, 0, pfjetIds_.size()); }
1610  void getObjects(int id, VRpfjet& refs, size_type begin, size_type end) const {
1611  assert(begin <= end);
1612  assert(end <= pfjetIds_.size());
1613  size_type n(0);
1614  for (size_type i = begin; i != end; ++i) {
1615  if (id == pfjetIds_[i]) {
1616  ++n;
1617  }
1618  }
1619  refs.resize(n);
1620  size_type j(0);
1621  for (size_type i = begin; i != end; ++i) {
1622  if (id == pfjetIds_[i]) {
1623  refs[j] = pfjetRefs_[i];
1624  ++j;
1625  }
1626  }
1627  return;
1628  }
1629 
1630  void getObjects(Vids& ids, VRpftau& refs) const { getObjects(ids, refs, 0, pftauIds_.size()); }
1631  void getObjects(Vids& ids, VRpftau& refs, size_type begin, size_type end) const {
1632  assert(begin <= end);
1633  assert(end <= pftauIds_.size());
1634  const size_type n(end - begin);
1635  ids.resize(n);
1636  refs.resize(n);
1637  size_type j(0);
1638  for (size_type i = begin; i != end; ++i) {
1639  ids[j] = pftauIds_[i];
1640  refs[j] = pftauRefs_[i];
1641  ++j;
1642  }
1643  }
1644  void getObjects(int id, VRpftau& refs) const { getObjects(id, refs, 0, pftauIds_.size()); }
1645  void getObjects(int id, VRpftau& refs, size_type begin, size_type end) const {
1646  assert(begin <= end);
1647  assert(end <= pftauIds_.size());
1648  size_type n(0);
1649  for (size_type i = begin; i != end; ++i) {
1650  if (id == pftauIds_[i]) {
1651  ++n;
1652  }
1653  }
1654  refs.resize(n);
1655  size_type j(0);
1656  for (size_type i = begin; i != end; ++i) {
1657  if (id == pftauIds_[i]) {
1658  refs[j] = pftauRefs_[i];
1659  ++j;
1660  }
1661  }
1662  return;
1663  }
1664 
1665  void getObjects(Vids& ids, VRpfmet& refs) const { getObjects(ids, refs, 0, pfmetIds_.size()); }
1666  void getObjects(Vids& ids, VRpfmet& refs, size_type begin, size_type end) const {
1667  assert(begin <= end);
1668  assert(end <= pfmetIds_.size());
1669  const size_type n(end - begin);
1670  ids.resize(n);
1671  refs.resize(n);
1672  size_type j(0);
1673  for (size_type i = begin; i != end; ++i) {
1674  ids[j] = pfmetIds_[i];
1675  refs[j] = pfmetRefs_[i];
1676  ++j;
1677  }
1678  }
1679  void getObjects(int id, VRpfmet& refs) const { getObjects(id, refs, 0, pfmetIds_.size()); }
1680  void getObjects(int id, VRpfmet& refs, size_type begin, size_type end) const {
1681  assert(begin <= end);
1682  assert(end <= pfmetIds_.size());
1683  size_type n(0);
1684  for (size_type i = begin; i != end; ++i) {
1685  if (id == pfmetIds_[i]) {
1686  ++n;
1687  }
1688  }
1689  refs.resize(n);
1690  size_type j(0);
1691  for (size_type i = begin; i != end; ++i) {
1692  if (id == pfmetIds_[i]) {
1693  refs[j] = pfmetRefs_[i];
1694  ++j;
1695  }
1696  }
1697  return;
1698  }
1699 
1700  void getObjects(Vids& ids, VRl1tp2gtcand& refs) const { getObjects(ids, refs, 0, l1tp2gtcandIds_.size()); }
1701  void getObjects(Vids& ids, VRl1tp2gtcand& refs, size_type begin, size_type end) const {
1702  assert(begin <= end);
1703  assert(end <= l1tp2gtcandIds_.size());
1704  const size_type n(end - begin);
1705  ids.resize(n);
1706  refs.resize(n);
1707  size_type j(0);
1708  for (size_type i = begin; i != end; ++i) {
1709  ids[j] = l1tp2gtcandIds_[i];
1710  refs[j] = l1tp2gtcandRefs_[i];
1711  ++j;
1712  }
1713  }
1714  void getObjects(int id, VRl1tp2gtcand& refs) const { getObjects(id, refs, 0, l1tp2gtcandIds_.size()); }
1715  void getObjects(int id, VRl1tp2gtcand& refs, size_type begin, size_type end) const {
1716  assert(begin <= end);
1717  assert(end <= l1tp2gtcandIds_.size());
1718  size_type n(0);
1719  for (size_type i = begin; i != end; ++i) {
1720  if (id == l1tp2gtcandIds_[i]) {
1721  ++n;
1722  }
1723  }
1724  refs.resize(n);
1725  size_type j(0);
1726  for (size_type i = begin; i != end; ++i) {
1727  if (id == l1tp2gtcandIds_[i]) {
1728  refs[j] = l1tp2gtcandRefs_[i];
1729  ++j;
1730  }
1731  }
1732  return;
1733  }
1734 
1736  size_type photonSize() const { return photonIds_.size(); }
1737  const Vids& photonIds() const { return photonIds_; }
1738  const VRphoton& photonRefs() const { return photonRefs_; }
1739 
1740  size_type electronSize() const { return electronIds_.size(); }
1741  const Vids& electronIds() const { return electronIds_; }
1742  const VRelectron& electronRefs() const { return electronRefs_; }
1743 
1744  size_type muonSize() const { return muonIds_.size(); }
1745  const Vids& muonIds() const { return muonIds_; }
1746  const VRmuon& muonRefs() const { return muonRefs_; }
1747 
1748  size_type jetSize() const { return jetIds_.size(); }
1749  const Vids& jetIds() const { return jetIds_; }
1750  const VRjet& jetRefs() const { return jetRefs_; }
1751 
1752  size_type compositeSize() const { return compositeIds_.size(); }
1753  const Vids& compositeIds() const { return compositeIds_; }
1754  const VRcomposite& compositeRefs() const { return compositeRefs_; }
1755 
1756  size_type basemetSize() const { return basemetIds_.size(); }
1757  const Vids& basemetIds() const { return basemetIds_; }
1758  const VRbasemet& basemetRefs() const { return basemetRefs_; }
1759 
1760  size_type calometSize() const { return calometIds_.size(); }
1761  const Vids& calometIds() const { return calometIds_; }
1762  const VRcalomet& calometRefs() const { return calometRefs_; }
1763 
1764  size_type pixtrackSize() const { return pixtrackIds_.size(); }
1765  const Vids& pixtrackIds() const { return pixtrackIds_; }
1766  const VRpixtrack& pixtrackRefs() const { return pixtrackRefs_; }
1767 
1768  size_type l1emSize() const { return l1emIds_.size(); }
1769  const Vids& l1emIds() const { return l1emIds_; }
1770  const VRl1em& l1emRefs() const { return l1emRefs_; }
1771 
1772  size_type l1muonSize() const { return l1muonIds_.size(); }
1773  const Vids& l1muonIds() const { return l1muonIds_; }
1774  const VRl1muon& l1muonRefs() const { return l1muonRefs_; }
1775 
1776  size_type l1jetSize() const { return l1jetIds_.size(); }
1777  const Vids& l1jetIds() const { return l1jetIds_; }
1778  const VRl1jet& l1jetRefs() const { return l1jetRefs_; }
1779 
1780  size_type l1etmissSize() const { return l1etmissIds_.size(); }
1781  const Vids& l1etmissIds() const { return l1etmissIds_; }
1782  const VRl1etmiss& l1etmissRefs() const { return l1etmissRefs_; }
1783 
1784  size_type l1hfringsSize() const { return l1hfringsIds_.size(); }
1785  const Vids& l1hfringsIds() const { return l1hfringsIds_; }
1786  const VRl1hfrings& l1hfringsRefs() const { return l1hfringsRefs_; }
1787 
1788  size_type pfjetSize() const { return pfjetIds_.size(); }
1789  const Vids& pfjetIds() const { return pfjetIds_; }
1790  const VRpfjet& pfjetRefs() const { return pfjetRefs_; }
1791 
1792  size_type pftauSize() const { return pftauIds_.size(); }
1793  const Vids& pftauIds() const { return pftauIds_; }
1794  const VRpftau& pftauRefs() const { return pftauRefs_; }
1795 
1796  size_type pfmetSize() const { return pfmetIds_.size(); }
1797  const Vids& pfmetIds() const { return pfmetIds_; }
1798  const VRpfmet& pfmetRefs() const { return pfmetRefs_; }
1799 
1800  size_type l1tmuonSize() const { return l1tmuonIds_.size(); }
1801  const Vids& l1tmuonIds() const { return l1tmuonIds_; }
1802  const VRl1tmuon& l1tmuonRefs() const { return l1tmuonRefs_; }
1803 
1804  size_type l1tmuonShowerSize() const { return l1tmuonShowerIds_.size(); }
1805  const Vids& l1tmuonShowerIds() const { return l1tmuonShowerIds_; }
1807 
1808  size_type l1tegammaSize() const { return l1tegammaIds_.size(); }
1809  const Vids& l1tegammaIds() const { return l1tegammaIds_; }
1810  const VRl1tegamma& l1tegammaRefs() const { return l1tegammaRefs_; }
1811 
1812  size_type l1tjetSize() const { return l1tjetIds_.size(); }
1813  const Vids& l1tjetIds() const { return l1tjetIds_; }
1814  const VRl1tjet& l1tjetRefs() const { return l1tjetRefs_; }
1815 
1816  /* Phase-2 */
1817 
1818  size_type l1ttkmuonSize() const { return l1ttkmuonIds_.size(); }
1819  const Vids& l1ttkmuonIds() const { return l1ttkmuonIds_; }
1820  const VRl1ttkmuon& l1ttkmuonRefs() const { return l1ttkmuonRefs_; }
1821 
1822  size_type l1ttkeleSize() const { return l1ttkeleIds_.size(); }
1823  const Vids& l1ttkeleIds() const { return l1ttkeleIds_; }
1824  const VRl1ttkele& l1ttkeleRefs() const { return l1ttkeleRefs_; }
1825 
1826  size_type l1ttkemSize() const { return l1ttkemIds_.size(); }
1827  const Vids& l1ttkemIds() const { return l1ttkemIds_; }
1828  const VRl1ttkem& l1ttkemRefs() const { return l1ttkemRefs_; }
1829 
1830  size_type l1tpfjetSize() const { return l1tpfjetIds_.size(); }
1831  const Vids& l1tpfjetIds() const { return l1tpfjetIds_; }
1832  const VRl1tpfjet& l1tpfjetRefs() const { return l1tpfjetRefs_; }
1833 
1834  size_type l1tpftauSize() const { return l1tpftauIds_.size(); }
1835  const Vids& l1tpftauIds() const { return l1tpftauIds_; }
1836  const VRl1tpftau& l1tpftauRefs() const { return l1tpftauRefs_; }
1837 
1838  size_type l1thpspftauSize() const { return l1thpspftauIds_.size(); }
1839  const Vids& l1thpspftauIds() const { return l1thpspftauIds_; }
1841 
1842  size_type l1tpftrackSize() const { return l1tpftrackIds_.size(); }
1843  const Vids& l1tpftrackIds() const { return l1tpftrackIds_; }
1844  const VRl1tpftrack& l1tpftrackRefs() const { return l1tpftrackRefs_; }
1845 
1846  size_type l1tp2etsumSize() const { return l1tp2etsumIds_.size(); }
1847  const Vids& l1tp2etsumIds() const { return l1tp2etsumIds_; }
1848  const VRl1tp2etsum& l1tp2etsumRefs() const { return l1tp2etsumRefs_; }
1849 
1850  size_type l1ttauSize() const { return l1ttauIds_.size(); }
1851  const Vids& l1ttauIds() const { return l1ttauIds_; }
1852  const VRl1ttau& l1ttauRefs() const { return l1ttauRefs_; }
1853 
1854  size_type l1tetsumSize() const { return l1tetsumIds_.size(); }
1855  const Vids& l1tetsumIds() const { return l1tetsumIds_; }
1856  const VRl1tetsum& l1tetsumRefs() const { return l1tetsumRefs_; }
1857 
1858  size_type l1tp2gtcandSize() const { return l1tp2gtcandIds_.size(); }
1859  const Vids& l1tp2gtcandIds() const { return l1tp2gtcandIds_; }
1861  };
1862 
1863  // picked up via argument dependent lookup, e-g- by boost::swap()
1865 
1866 } // namespace trigger
1867 
1868 #endif
const VRcomposite & compositeRefs() const
size_type addObjects(const Vids &ids, const VRl1ttau &refs)
void getObjects(Vids &ids, VRpftau &refs) const
const VRl1tpftrack & l1tpftrackRefs() const
void getObjects(int id, VRl1thpspftau &refs) const
void getObjects(Vids &ids, VRl1hfrings &refs) const
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
void getObjects(int id, VRbasemet &refs) const
void getObjects(int id, VRl1tjet &refs) const
void getObjects(int id, VRl1ttkmuon &refs) const
size_type addObjects(const Vids &ids, const VRphoton &refs)
const VRl1tp2gtcand & l1tp2gtcandRefs() const
void getObjects(Vids &ids, VRphoton &refs, size_type begin, size_type end) const
const VRpixtrack & pixtrackRefs() const
size_type addObjects(const Vids &ids, const VRbasemet &refs)
size_type photonSize() const
low-level getters for data members
std::vector< l1t::PFTauRef > PFTauVectorRef
Definition: PFTau.h:94
void getObjects(Vids &ids, VRl1ttau &refs) const
void getObjects(int id, VRcalomet &refs, size_type begin, size_type end) const
const VRl1tmuon & l1tmuonRefs() const
void getObjects(Vids &ids, VRl1em &refs) const
void addObject(int id, const l1t::MuonShowerRef &ref)
void getObjects(int id, VRjet &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRl1muon &refs)
void getObjects(int id, VRl1tmuon &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRcalomet &refs, size_type begin, size_type end) const
void getObjects(int id, VRpfjet &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRpftau &refs, size_type begin, size_type end) const
void swap(TriggerRefsCollections &first, TriggerRefsCollections &second)
void getObjects(int id, VRl1etmiss &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1tp2gtcand &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRl1tegamma &refs)
l1t::P2GTCandidateVectorRef VRl1tp2gtcand
void addObject(int id, const reco::CompositeCandidateRef &ref)
void addObject(int id, const reco::METRef &ref)
l1t::EGammaVectorRef VRl1tegamma
size_type addObjects(const Vids &ids, const VRl1ttkmuon &refs)
void addObject(int id, const l1t::EtSumRef &ref)
void getObjects(Vids &ids, VRl1tmuonShower &refs) const
void getObjects(int id, VRl1em &refs, size_type begin, size_type end) const
void getObjects(int id, VRpixtrack &refs) const
void addObject(int id, const l1t::PFTauRef &ref)
void swap(TriggerRefsCollections &other)
utility
std::vector< reco::METRef > VRbasemet
void getObjects(Vids &ids, VRl1tegamma &refs) const
void getObjects(int id, VRl1tjet &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRl1tjet &refs)
void getObjects(Vids &ids, VRcalomet &refs) const
void getObjects(int id, VRcomposite &refs) const
void addObject(int id, const reco::RecoChargedCandidateRef &ref)
size_type addObjects(const Vids &ids, const VRl1tpfjet &refs)
void getObjects(Vids &ids, VRl1thpspftau &refs) const
void getObjects(int id, VRphoton &refs) const
void getObjects(Vids &ids, VRl1tpfjet &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRpixtrack &refs, size_type begin, size_type end) const
void addObject(int id, const reco::PFJetRef &ref)
std::vector< EtSumRef > EtSumVectorRef
Definition: EtSum.h:14
l1t::JetVectorRef VRl1tjet
void getObjects(int id, VRphoton &refs, size_type begin, size_type end) const
void addObject(int id, const l1t::P2GTCandidateRef &ref)
void addObject(int id, const l1t::PFJetRef &ref)
void getObjects(int id, VRl1muon &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1tp2etsum &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1muon &refs) const
size_type addObjects(const Vids &ids, const VRl1ttkem &refs)
void getObjects(Vids &ids, VRl1etmiss &refs) const
size_type addObjects(const Vids &ids, const VRpfmet &refs)
assert(be >=bs)
uint16_t size_type
size_type addObjects(const Vids &ids, const VRl1tmuonShower &refs)
void getObjects(Vids &ids, VRbasemet &refs) const
void getObjects(Vids &ids, VRpfmet &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRjet &refs)
void getObjects(Vids &ids, VRl1tetsum &refs, size_type begin, size_type end) const
void addObject(int id, const l1t::TrackerMuonRef &ref)
std::vector< l1extra::L1MuonParticleRef > VRl1muon
const VRelectron & electronRefs() const
void getObjects(int id, VRl1em &refs) const
std::vector< HPSPFTauRef > HPSPFTauVectorRef
Definition: HPSPFTauFwd.h:11
void getObjects(int id, VRl1jet &refs) const
void addObject(int id, const reco::PFTauRef &ref)
std::vector< MuonRef > MuonVectorRef
Definition: Muon.h:15
const VRl1ttkmuon & l1ttkmuonRefs() const
void getObjects(Vids &ids, VRelectron &refs) const
size_type addObjects(const Vids &ids, const VRl1tpftau &refs)
void getObjects(int id, VRl1ttkem &refs, size_type begin, size_type end) 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<C>)
std::vector< TkElectronRef > TkElectronVectorRef
Definition: TkElectronFwd.h:22
U second(std::pair< T, U > const &p)
void getObjects(int id, VRl1muon &refs) const
void getObjects(int id, VRl1tegamma &refs, size_type begin, size_type end) const
std::vector< l1extra::L1HFRingsRef > VRl1hfrings
void getObjects(Vids &ids, VRl1tpftau &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRl1tp2etsum &refs)
size_type addObjects(const Vids &ids, const VRl1hfrings &refs)
void getObjects(int id, VRpftau &refs) const
std::vector< reco::IsolatedPixelTrackCandidateRef > VRpixtrack
size_type addObjects(const Vids &ids, const VRl1em &refs)
void addObject(int id, const l1t::TauRef &ref)
void getObjects(Vids &ids, VRl1tetsum &refs) const
void getObjects(Vids &ids, VRl1tjet &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRpfjet &refs) const
void addObject(int id, const l1t::TkEmRef &ref)
size_type addObjects(const Vids &ids, const VRpfjet &refs)
size_type addObjects(const Vids &ids, const VRcalomet &refs)
void getObjects(int id, VRl1tpftrack &refs) const
void getObjects(int id, VRbasemet &refs, size_type begin, size_type end) const
std::vector< l1extra::L1EtMissParticleRef > VRl1etmiss
size_type addObjects(const Vids &ids, const VRelectron &refs)
void getObjects(int id, VRl1tpftau &refs, size_type begin, size_type end) const
const VRl1tpfjet & l1tpfjetRefs() const
void getObjects(Vids &ids, VRpixtrack &refs) const
void getObjects(Vids &ids, VRl1tp2gtcand &refs) const
size_type addObjects(const Vids &ids, const VRl1thpspftau &refs)
l1t::PFTrackVectorRef VRl1tpftrack
void getObjects(int id, VRl1tp2gtcand &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1tegamma &refs) const
void getObjects(Vids &ids, VRl1tpftau &refs) const
void getObjects(int id, VRcalomet &refs) const
void getObjects(int id, VRl1tp2etsum &refs) const
void getObjects(Vids &ids, VRjet &refs, size_type begin, size_type end) const
l1t::PFTauVectorRef VRl1tpftau
size_type addObjects(const Vids &ids, const VRl1tpftrack &refs)
void getObjects(Vids &ids, VRl1tjet &refs) const
const VRl1etmiss & l1etmissRefs() const
void getObjects(int id, VRl1ttau &refs) const
void getObjects(Vids &ids, VRl1tmuon &refs) const
void getObjects(int id, VRl1tetsum &refs) const
void getObjects(Vids &ids, VRl1ttkele &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRl1etmiss &refs)
size_type addObjects(const Vids &ids, const VRl1tetsum &refs)
void addObject(int id, const l1extra::L1EmParticleRef &ref)
void addObject(int id, const l1t::PFTrackRef &ref)
void getObjects(int id, VRl1ttau &refs, size_type begin, size_type end) const
void addObject(int id, const l1t::HPSPFTauRef &ref)
l1t::TkEmVectorRef VRl1ttkem
void getObjects(int id, VRpfjet &refs) const
const VRl1tegamma & l1tegammaRefs() const
const VRbasemet & basemetRefs() const
void getObjects(int id, VRl1tpftrack &refs, size_type begin, size_type end) const
std::vector< TauRef > TauVectorRef
Definition: Tau.h:14
void getObjects(Vids &ids, VRl1jet &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1tpftrack &refs, size_type begin, size_type end) const
void getObjects(int id, VRmuon &refs) const
void getObjects(Vids &ids, VRl1ttkem &refs) const
l1t::TrackerMuonRefVector VRl1ttkmuon
void getObjects(Vids &ids, VRl1tmuonShower &refs, size_type begin, size_type end) const
const VRl1tmuonShower & l1tmuonShowerRefs() const
std::vector< l1extra::L1EmParticleRef > VRl1em
void getObjects(Vids &ids, VRl1tpfjet &refs) const
void addObject(int id, const l1extra::L1EtMissParticleRef &ref)
void addObject(int id, const reco::ElectronRef &ref)
void getObjects(Vids &ids, VRpfmet &refs) const
size_type addObjects(const Vids &ids, const VRl1tmuon &refs)
void getObjects(int id, VRl1hfrings &refs, size_type begin, size_type end) const
void addObject(int id, const reco::IsolatedPixelTrackCandidateRef &ref)
void getObjects(int id, VRelectron &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1muon &refs, size_type begin, size_type end) const
void addObject(int id, const l1t::EGammaRef &ref)
void addObject(int id, const l1extra::L1MuonParticleRef &ref)
void getObjects(Vids &ids, VRl1tp2etsum &refs, size_type begin, size_type end) const
const VRl1tp2etsum & l1tp2etsumRefs() const
l1t::HPSPFTauVectorRef VRl1thpspftau
std::vector< TkEmRef > TkEmVectorRef
Definition: TkEmFwd.h:23
void addObject(int id, const l1t::MuonRef &ref)
void getObjects(Vids &ids, VRl1tmuon &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1tpfjet &refs, size_type begin, size_type end) const
void getObjects(int id, VRpixtrack &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1jet &refs) const
void getObjects(int id, VRl1tetsum &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1tegamma &refs, size_type begin, size_type end) const
void getObjects(int id, VRmuon &refs, size_type begin, size_type end) const
const VRl1hfrings & l1hfringsRefs() const
std::vector< l1t::PFTrackRef > PFTrackVectorRef
Definition: PFTrack.h:92
void getObjects(int id, VRl1tmuonShower &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1ttkele &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1ttkmuon &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1ttkmuon &refs) const
void getObjects(int id, VRl1tmuonShower &refs) const
void swap(TriggerFilterObjectWithRefs &first, TriggerFilterObjectWithRefs &second)
void addObject(int id, const l1t::EtSumP2Ref &ref)
void getObjects(int id, VRl1hfrings &refs) const
std::vector< reco::CaloJetRef > VRjet
void getObjects(int id, VRl1tpfjet &refs) const
void getObjects(Vids &ids, VRjet &refs) const
void getObjects(Vids &ids, VRl1hfrings &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRmuon &refs)
void getObjects(Vids &ids, VRl1ttkem &refs, size_type begin, size_type end) const
std::vector< reco::PFJetRef > VRpfjet
void getObjects(int id, VRl1thpspftau &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRbasemet &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1tpftrack &refs) const
void getObjects(int id, VRelectron &refs) const
void addObject(int id, const reco::CaloMETRef &ref)
const VRl1ttkele & l1ttkeleRefs() const
std::vector< l1t::PFJetRef > PFJetVectorRef
Definition: PFJet.h:63
l1t::EtSumVectorP2Ref VRl1tp2etsum
void addObject(int id, const l1t::JetRef &ref)
void addObject(int id, const reco::PFMETRef &ref)
std::vector< reco::CompositeCandidateRef > VRcomposite
l1t::MuonVectorRef VRl1tmuon
void getObjects(Vids &ids, VRl1etmiss &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1ttkem &refs) const
void getObjects(Vids &ids, VRl1thpspftau &refs, size_type begin, size_type end) const
std::vector< EGammaRef > EGammaVectorRef
Definition: TkEGTau.h:36
std::vector< reco::RecoChargedCandidateRef > VRmuon
void addObject(int id, const l1extra::L1HFRingsRef &ref)
std::vector< P2GTCandidateRef > P2GTCandidateVectorRef
Definition: P2GTCandidate.h:20
void getObjects(Vids &ids, VRl1ttkele &refs) const
size_type addObjects(const Vids &ids, const VRcomposite &refs)
size_type addObjects(const Vids &ids, const VRpftau &refs)
size_type addObjects(const Vids &ids, const VRl1tp2gtcand &refs)
const VRcalomet & calometRefs() const
void getObjects(Vids &ids, VRl1em &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1ttkele &refs) const
size_type addObjects(const Vids &ids, const VRl1ttkele &refs)
void getObjects(Vids &ids, VRcomposite &refs) const
void getObjects(Vids &ids, VRmuon &refs) const
size_type addObjects(const Vids &ids, const VRl1jet &refs)
void getObjects(Vids &ids, VRl1ttau &refs, size_type begin, size_type end) const
std::vector< JetRef > JetVectorRef
Definition: Jet.h:14
void getObjects(Vids &ids, VRelectron &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1etmiss &refs) const
void getObjects(Vids &ids, VRpfjet &refs, size_type begin, size_type end) const
const VRl1tetsum & l1tetsumRefs() const
void getObjects(int id, VRpftau &refs, size_type begin, size_type end) const
l1t::TauVectorRef VRl1ttau
std::vector< reco::ElectronRef > VRelectron
void getObjects(Vids &ids, VRl1tp2etsum &refs) const
void getObjects(int id, VRl1tmuon &refs) const
std::vector< reco::PFMETRef > VRpfmet
const VRl1thpspftau & l1thpspftauRefs() const
void getObjects(int id, VRpfmet &refs) const
void addObject(int id, const l1extra::L1JetParticleRef &ref)
void getObjects(int id, VRcomposite &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRcomposite &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1tp2gtcand &refs) const
void getObjects(int id, VRpfmet &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1jet &refs, size_type begin, size_type end) const
std::vector< reco::CaloMETRef > VRcalomet
l1t::MuonShowerVectorRef VRl1tmuonShower
std::vector< EtSumP2Ref > EtSumVectorP2Ref
Definition: EtSum.h:19
const VRl1tpftau & l1tpftauRefs() const
const VRl1ttkem & l1ttkemRefs() const
l1t::EtSumVectorRef VRl1tetsum
std::vector< reco::RecoEcalCandidateRef > VRphoton
l1t::PFJetVectorRef VRl1tpfjet
std::vector< l1extra::L1JetParticleRef > VRl1jet
std::vector< MuonShowerRef > MuonShowerVectorRef
Definition: MuonShower.h:22
std::vector< int > Vids
std::vector< reco::PFTauRef > VRpftau
std::vector< edm::Ref< TrackerMuonCollection > > TrackerMuonRefVector
Definition: TrackerMuon.h:21
void getObjects(Vids &ids, VRmuon &refs, size_type begin, size_type end) const
void getObjects(int id, VRjet &refs) const
void getObjects(int id, VRl1tpftau &refs) const
void addObject(int id, const reco::CaloJetRef &ref)
void addObject(int id, const l1t::TkElectronRef &ref)
l1t::TkElectronVectorRef VRl1ttkele
void getObjects(Vids &ids, VRl1ttkmuon &refs, size_type begin, size_type end) const