33 theL1Source_(iConfig.getParameter<
InputTag>(
"InputObjects")),
34 theL1MinPt_(iConfig.getParameter<double>(
"L1MinPt")),
35 theL1MaxEta_(iConfig.getParameter<double>(
"L1MaxEta")),
36 theL1MinQuality_(iConfig.getParameter<unsigned
int>(
"L1MinQuality")),
37 theL2CandTag_ (iConfig.getParameter<
edm::
InputTag > (
"L2CandTag")),
39 theL1CandTag_ (iConfig.getParameter<
InputTag > (
"L1CandTag")),
40 theL1CandToken_ (consumes<
trigger::TriggerFilterObjectWithRefs>(theL1CandTag_)),
41 seedMapTag_( iConfig.getParameter<
InputTag >(
"SeedMapTag") ),
42 seedMapToken_(consumes<
SeedMap>(seedMapTag_))
46 produces<MuonBxCollection>();
59 desc.
add<
double>(
"L1MinPt",-1.);
60 desc.
add<
double>(
"L1MaxEta",5.0);
61 desc.
add<
unsigned int>(
"L1MinQuality",0);
62 descriptions.
add(
"hltL1MuonNoL2Selector",desc);
85 LogTrace(metname) <<
"Number of muons " << muColl->
size() << endl;
90 std::vector<l1t::MuonRef> firedL1Muons_;
96 if (ibx != 0)
continue;
97 for (
auto it = muColl->
begin(ibx); it != muColl->
end(ibx); it++){
101 if(
find(firedL1Muons_.begin(), firedL1Muons_.end(), l1muon) == firedL1Muons_.end())
continue;
104 bool isTriggeredByL1=
false;
105 for (
auto const &
cand : *L2cands) {
108 for(
auto const &
seed : seeds){
110 if(
find(firedL1Muons_.begin(), firedL1Muons_.end(),
seed->l1tParticle()) != firedL1Muons_.end()){
111 isTriggeredByL1 =
true;
115 if (!isTriggeredByL1) {
const_iterator end(int bx) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
unsigned size(int bx) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
enum start value shifted to 81 so as to avoid clashes with PDG codes
const std::string metname
HLTL1MuonNoL2Selector(const edm::ParameterSet &)
Constructor.
virtual void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::EDGetTokenT< l1t::MuonBxCollection > muCollToken_
edm::EDGetTokenT< reco::RecoChargedCandidateCollection > theL2CandToken_
edm::InputTag theL1Source_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
BXVector< Muon > MuonBxCollection
std::vector< RecoChargedCandidate > RecoChargedCandidateCollection
collectin of RecoChargedCandidate objects
edm::EDGetTokenT< SeedMap > seedMapToken_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
~HLTL1MuonNoL2Selector()
Destructor.
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > theL1CandToken_
void push_back(value_type const &ref)
Add a Ref<C, T> to the RefVector.
const_iterator begin(int bx) const