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 centralBxOnly_(iConfig.getParameter<bool>(
"CentralBxOnly")),
38 theL2CandTag_(iConfig.getParameter<edm::
InputTag>(
"L2CandTag")),
40 seedMapTag_(iConfig.getParameter<
InputTag>(
"SeedMapTag")),
41 seedMapToken_(consumes<
SeedMap>(seedMapTag_)) {
44 produces<MuonBxCollection>();
55 desc.
add<
double>(
"L1MinPt", -1.);
56 desc.
add<
double>(
"L1MaxEta", 5.0);
57 desc.
add<
unsigned int>(
"L1MinQuality", 0);
61 ->
setComment(
"This parameter is obsolete and will be ignored.");
62 desc.
add<
bool>(
"CentralBxOnly",
true);
63 descriptions.
add(
"hltL1MuonNoL2Selector", desc);
69 using namespace trigger;
87 for (
int ibx = muColl->getFirstBX(); ibx <= muColl->getLastBX(); ++ibx) {
90 for (
auto it = muColl->begin(ibx); it != muColl->end(ibx); it++) {
93 unsigned int quality = it->hwQual();
95 float eta = it->eta();
101 bool isTriggeredByL1 =
false;
102 for (
auto const& cand : *L2cands) {
106 for (
auto const&
seed : seeds) {
108 if (
seed->l1tParticle() == l1muon) {
109 isTriggeredByL1 =
true;
117 if (!isTriggeredByL1) {
118 output->push_back(ibx, *it);
~HLTL1MuonNoL2Selector() override
Destructor.
void setComment(std::string const &value)
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const std::string metname
#define DEFINE_FWK_MODULE(type)
uint32_t const *__restrict__ Quality * quality
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
HLTL1MuonNoL2Selector(const edm::ParameterSet &)
Constructor.
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::EDGetTokenT< l1t::MuonBxCollection > muCollToken_
edm::EDGetTokenT< reco::RecoChargedCandidateCollection > theL2CandToken_
edm::InputTag theL1Source_
Abs< T >::type abs(const T &t)
ParameterDescriptionNode * addOptionalNode(ParameterDescriptionNode const &node, bool writeToCfi)
T const * get() const
Returns C++ pointer to the item.
ParameterDescriptionBase * add(U const &iLabel, T const &value)
const double theL1MaxEta_
BXVector< Muon > MuonBxCollection
std::vector< RecoChargedCandidate > RecoChargedCandidateCollection
collectin of RecoChargedCandidate objects
edm::EDGetTokenT< SeedMap > seedMapToken_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
const unsigned theL1MinQuality_