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>();
52 desc.
add<
double>(
"L1MinPt",-1.);
53 desc.
add<
double>(
"L1MaxEta",5.0);
54 desc.
add<
unsigned int>(
"L1MinQuality",0);
55 desc.
add<
bool>(
"CentralBxOnly",
true);
56 descriptions.
add(
"hltL1TMuonSelector",desc);
68 LogTrace(metname) <<
"Number of muons " << muColl->size() << endl;
70 for (
int ibx = muColl->getFirstBX(); ibx <= muColl->getLastBX(); ++ibx) {
72 for (
auto it = muColl->begin(ibx); it != muColl->end(ibx); it++){
74 unsigned int quality = it->hwQual();
75 int valid_charge = it->hwChargeValid();
78 float eta = it->eta();
80 float phi = it->phi();
83 if (!valid_charge) charge = 0;
87 LogTrace(metname) <<
"L1 Muon Found";
88 LogTrace(metname) <<
"Pt = " << pt <<
" GeV/c";
90 LogTrace(metname) <<
"theta = " << theta <<
" rad";
91 LogTrace(metname) <<
"phi = " << phi <<
" rad";
97 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
Geom::Theta< T > theta() const
const unsigned theL1MinQuality
edm::EDGetTokenT< l1t::MuonBxCollection > muCollToken_
~HLTL1TMuonSelector()
Destructor.
ParameterDescriptionBase * add(U const &iLabel, T const &value)
BXVector< Muon > MuonBxCollection
virtual void produce(edm::StreamID, edm::Event &, const edm::EventSetup &) const override
void add(std::string const &label, ParameterSetDescription const &psetDescription)
bool centralBxOnly_
use central bx only muons