33 theL1MinPt(iConfig.getParameter<double>(
"L1MinPt")),
34 theL1MaxEta(iConfig.getParameter<double>(
"L1MaxEta")),
35 theL1MinQuality(iConfig.getParameter<unsigned int>(
"L1MinQuality")),
36 centralBxOnly_(iConfig.getParameter<bool>(
"CentralBxOnly")) {
39 produces<MuonBxCollection>();
48 desc.
add<
double>(
"L1MinPt", -1.);
49 desc.
add<
double>(
"L1MaxEta", 5.0);
50 desc.
add<
unsigned int>(
"L1MinQuality", 0);
51 desc.
add<
bool>(
"CentralBxOnly",
true);
52 descriptions.
add(
"hltL1TMuonSelector", desc);
63 LogTrace(metname) <<
"Number of muons " << muColl->size() << endl;
65 for (
int ibx = muColl->getFirstBX(); ibx <= muColl->getLastBX(); ++ibx) {
68 for (
auto it = muColl->begin(ibx); it != muColl->end(ibx); it++) {
69 unsigned int quality = it->hwQual();
70 int valid_charge = it->hwChargeValid();
73 float eta = it->eta();
75 float phi = it->phi();
84 LogTrace(metname) <<
"L1 Muon Found";
85 LogTrace(metname) <<
"Pt = " << pt <<
" GeV/c";
87 LogTrace(metname) <<
"theta = " << theta <<
" rad";
88 LogTrace(metname) <<
"phi = " << phi <<
" rad";
95 output->push_back(ibx, *it);
HLTL1TMuonSelector(const edm::ParameterSet &)
Constructor.
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const std::string metname
#define DEFINE_FWK_MODULE(type)
uint32_t const *__restrict__ Quality * quality
Geom::Theta< T > theta() const
Exp< T >::type exp(const T &t)
const unsigned theL1MinQuality
edm::EDGetTokenT< l1t::MuonBxCollection > muCollToken_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
BXVector< Muon > MuonBxCollection
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
void add(std::string const &label, ParameterSetDescription const &psetDescription)
~HLTL1TMuonSelector() override
Destructor.
bool centralBxOnly_
use central bx only muons