CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
HLTMuonL2ToL1Map Class Reference

#include <HLTMuonL2ToL1Map.h>

Public Member Functions

std::string getL1Keys (reco::TrackRef &l2muon)
 returns the indices of L1 seeds More...
 
 HLTMuonL2ToL1Map (const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > &previousCandToken, const edm::EDGetTokenT< SeedMap > seedMapToken, const edm::Event &iEvent)
 construct with the Token of the L1 filter object, the Token of the L2 seed map ("hltL2Muons") and the Event More...
 
bool isTriggeredByL1 (reco::TrackRef &l2muon)
 checks if a L2 muon was seeded by a fired L1 More...
 
 ~HLTMuonL2ToL1Map ()
 

Private Attributes

std::vector< l1extra::L1MuonParticleReffiredL1Muons_
 contains the vector of references to fired L1 candidates More...
 
edm::Handle< SeedMapseedMapHandle_
 containes the map from a L2 seed to its sister seeds the track of which has been cleaned More...
 

Detailed Description

This is a helper class to check L2 to L1 links

Author
Z. Gecse

Definition at line 24 of file HLTMuonL2ToL1Map.h.

Constructor & Destructor Documentation

HLTMuonL2ToL1Map::HLTMuonL2ToL1Map ( const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > &  previousCandToken,
const edm::EDGetTokenT< SeedMap seedMapToken,
const edm::Event iEvent 
)
inlineexplicit

construct with the Token of the L1 filter object, the Token of the L2 seed map ("hltL2Muons") and the Event

Definition at line 28 of file HLTMuonL2ToL1Map.h.

References firedL1Muons_, edm::Event::getByToken(), trigger::TriggerRefsCollections::getObjects(), seedMapHandle_, and trigger::TriggerL1Mu.

28  {
29  // get hold of muons that fired the previous level
31  iEvent.getByToken(previousCandToken, previousLevelCands);
32  previousLevelCands->getObjects(trigger::TriggerL1Mu, firedL1Muons_);
33 
34  // get hold of the seed map
35  iEvent.getByToken(seedMapToken, seedMapHandle_);
36  }
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:457
enum start value shifted to 81 so as to avoid clashes with PDG codes
edm::Handle< SeedMap > seedMapHandle_
containes the map from a L2 seed to its sister seeds the track of which has been cleaned ...
std::vector< l1extra::L1MuonParticleRef > firedL1Muons_
contains the vector of references to fired L1 candidates
HLTMuonL2ToL1Map::~HLTMuonL2ToL1Map ( )
inline

Definition at line 38 of file HLTMuonL2ToL1Map.h.

38  {
39  }

Member Function Documentation

std::string HLTMuonL2ToL1Map::getL1Keys ( reco::TrackRef l2muon)
inline

returns the indices of L1 seeds

Definition at line 55 of file HLTMuonL2ToL1Map.h.

References mps_fire::i, and edm::RefVector< C, T, F >::size().

Referenced by HLTMuonL2PreFilter::hltFilter().

55  {
56  std::ostringstream ss;
57  const edm::RefVector<L2MuonTrajectorySeedCollection>& seeds = (*seedMapHandle_)[l2muon->seedRef().castTo<edm::Ref<L2MuonTrajectorySeedCollection> >()];
58  for(size_t i=0; i<seeds.size(); i++){
59  ss<<seeds[i]->l1Particle().key()<<" ";
60  }
61  return ss.str();
62  }
size_type size() const
Size of the RefVector.
Definition: RefVector.h:107
bool HLTMuonL2ToL1Map::isTriggeredByL1 ( reco::TrackRef l2muon)
inline

checks if a L2 muon was seeded by a fired L1

Definition at line 42 of file HLTMuonL2ToL1Map.h.

References spr::find(), firedL1Muons_, mps_fire::i, and edm::RefVector< C, T, F >::size().

Referenced by HLTMuonDimuonL2Filter::hltFilter(), and HLTMuonL2PreFilter::hltFilter().

42  {
43  bool isTriggered = false;
44  const edm::RefVector<L2MuonTrajectorySeedCollection>& seeds = (*seedMapHandle_)[l2muon->seedRef().castTo<edm::Ref<L2MuonTrajectorySeedCollection> >()];
45  for(size_t i=0; i<seeds.size(); i++){
46  if(find(firedL1Muons_.begin(), firedL1Muons_.end(), seeds[i]->l1Particle()) != firedL1Muons_.end()){
47  isTriggered = true;
48  break;
49  }
50  }
51  return isTriggered;
52  }
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:20
std::vector< l1extra::L1MuonParticleRef > firedL1Muons_
contains the vector of references to fired L1 candidates
size_type size() const
Size of the RefVector.
Definition: RefVector.h:107

Member Data Documentation

std::vector<l1extra::L1MuonParticleRef> HLTMuonL2ToL1Map::firedL1Muons_
private

contains the vector of references to fired L1 candidates

Definition at line 66 of file HLTMuonL2ToL1Map.h.

Referenced by HLTMuonL2ToL1Map(), and isTriggeredByL1().

edm::Handle<SeedMap> HLTMuonL2ToL1Map::seedMapHandle_
private

containes the map from a L2 seed to its sister seeds the track of which has been cleaned

Definition at line 69 of file HLTMuonL2ToL1Map.h.

Referenced by HLTMuonL2ToL1Map().