CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SectorProcessorShower.h
Go to the documentation of this file.
1 #ifndef L1Trigger_L1TMuonEndCap_SectorProcessorShower_h
2 #define L1Trigger_L1TMuonEndCap_SectorProcessorShower_h
3 
4 /*
5  This class executes the trigger logic for the EMTF shower trigger.
6  In the basic mode, the EMTF shower sector processor will find any valid
7  CSC shower and send a trigger to the uGMT. In a possible extension, the
8  EMTF shower sector processor can also trigger on two loose showers - to
9  enhance the sensitivity to long-lived particles that produce multiple
10  smaller showers, instead of a single large shower.
11  */
12 
17 
19 
20 #include <vector>
21 
23 public:
24  explicit SectorProcessorShower() {}
26 
27  void configure(const edm::ParameterSet&, int endcap, int sector);
28 
29  void process(const CSCShowerDigiCollection& showers, l1t::RegionalMuonShowerBxCollection& out_showers) const;
30 
31 private:
32  int select_shower(const CSCDetId&, const CSCShowerDigi&) const;
33  int get_index_shower(int tp_endcap, int tp_sector, int tp_subsector, int tp_station, int tp_csc_ID) const;
34  bool is_in_sector_csc(int tp_endcap, int tp_sector) const;
35 
37  // nominal trigger for physics
39  // backup trigger
41  // trigger to extend the physics reach
43  unsigned nNominalShowers_;
44  unsigned nTightShowers_;
45  unsigned nLooseShowers_;
46 };
47 
48 #endif
int get_index_shower(int tp_endcap, int tp_sector, int tp_subsector, int tp_station, int tp_csc_ID) const
int select_shower(const CSCDetId &, const CSCShowerDigi &) const
void process(const CSCShowerDigiCollection &showers, l1t::RegionalMuonShowerBxCollection &out_showers) const
void configure(const edm::ParameterSet &, int endcap, int sector)
bool is_in_sector_csc(int tp_endcap, int tp_sector) const
A container for a generic type of digis indexed by some index, implemented with a map&lt;IndexType...