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") )
41 produces<MuonBxCollection>();
51 desc.
add<
double>(
"L1MinPt",-1.);
52 desc.
add<
double>(
"L1MaxEta",5.0);
53 desc.
add<
unsigned int>(
"L1MinQuality",0);
54 desc.
add<
bool>(
"CentralBxOnly",
true);
55 descriptions.
add(
"hltL1TMuonSelector",desc);
67 LogTrace(metname) <<
"Number of muons " << muColl->
size() << endl;
71 for (
auto it = muColl->
begin(ibx); it != muColl->
end(ibx); it++){
73 unsigned int quality = it->hwQual();
74 int valid_charge = it->hwChargeValid();
77 float eta = it->eta();
79 float phi = it->phi();
82 if (!valid_charge) charge = 0;
86 LogTrace(metname) <<
"L1 Muon Found";
87 LogTrace(metname) <<
"Pt = " << pt <<
" GeV/c";
89 LogTrace(metname) <<
"theta = " << theta <<
" rad";
90 LogTrace(metname) <<
"phi = " << phi <<
" rad";
96 output->push_back( ibx, *it);
const_iterator end(int bx) const
HLTL1TMuonSelector(const edm::ParameterSet &)
Constructor.
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
unsigned size(int bx) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const std::string metname
Geom::Theta< T > theta() const
const unsigned theL1MinQuality
edm::EDGetTokenT< l1t::MuonBxCollection > muCollToken_
#define DEFINE_FWK_MODULE(type)
void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
ParameterDescriptionBase * add(U const &iLabel, T const &value)
BXVector< Muon > MuonBxCollection
void add(std::string const &label, ParameterSetDescription const &psetDescription)
~HLTL1TMuonSelector() override
Destructor.
bool centralBxOnly_
use central bx only muons
const_iterator begin(int bx) const