17 , m_input(iConfig.getParameter<
edm::InputTag>(
"input"))
18 , m_minHits(iConfig.getParameter<unsigned
int>(
"minHits"))
19 , m_xWindow(iConfig.getParameter<double>(
"xWindow"))
20 , m_yWindow(iConfig.getParameter<double>(
"yWindow"))
32 desc.
add<
unsigned int>(
"minHits",4);
33 desc.
add<
double>(
"xWindow",2.);
34 desc.
add<
double>(
"yWindow",2.);
35 descriptions.
add(
"hltCSCRing2or3Filter",desc);
43 bool got_cscGeometry =
false;
45 std::map<int, std::vector<const CSCRecHit2D*> > chamber_tohit;
47 for (
auto const &
hit : *hits) {
51 if (
id.
ring() == 2 ||
id.
ring() == 3) {
52 std::map<int, std::vector<const CSCRecHit2D*> >::const_iterator chamber_iter = chamber_tohit.find(chamber_id);
53 if (chamber_iter == chamber_tohit.end()) {
54 std::vector<const CSCRecHit2D*> newlist;
55 newlist.push_back(&
hit);
57 chamber_tohit[chamber_id].push_back(&
hit);
62 for (
std::map<
int, std::vector<const CSCRecHit2D*> >::const_iterator chamber_iter = chamber_tohit.begin();
63 chamber_iter != chamber_tohit.end();
66 if (chamber_iter->second.size() >=
m_minHits) {
67 if (!got_cscGeometry) {
69 got_cscGeometry =
true;
72 unsigned int pairs_in_window = 0;
73 for (
auto hit1 = chamber_iter->second.begin(); hit1 != chamber_iter->second.end(); ++hit1) {
74 for (
auto hit2 = chamber_iter->second.begin(); hit2 != hit1; ++hit2) {
80 if (pairs_in_window >= minHitsAlmostSquared)
return true;
bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const GeomDet * idToDet(DetId) const override
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
constexpr uint32_t rawId() const
get the raw id
#define DEFINE_FWK_MODULE(type)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
~HLTCSCRing2or3Filter() override
edm::EDGetTokenT< CSCRecHit2DCollection > cscrechitsToken
HLTCSCRing2or3Filter(const edm::ParameterSet &)