CMS 3D CMS Logo

PrimitiveConversion.h
Go to the documentation of this file.
1 #ifndef L1TMuonEndCap_PrimitiveConversion_h
2 #define L1TMuonEndCap_PrimitiveConversion_h
3 
5 
7 
9 public:
10  void configure(const GeometryTranslator* tp_geom,
11  const SectorProcessorLUT* lut,
12  int verbose,
13  int endcap,
14  int sector,
15  int bx,
16  int bxShiftCSC,
17  int bxShiftRPC,
18  int bxShiftGEM,
19  const std::vector<int>& zoneBoundaries,
20  int zoneOverlap,
21  bool duplicateTheta,
22  bool fixZonePhi,
23  bool useNewZones,
24  bool fixME11Edges,
25  bool bugME11Dupes);
26 
27  void process(const std::map<int, TriggerPrimitiveCollection>& selected_prim_map, EMTFHitCollection& conv_hits) const;
28 
29  const SectorProcessorLUT& lut() const { return *lut_; }
30 
31  // CSC functions
32  void convert_csc(int pc_sector,
33  int pc_station,
34  int pc_chamber,
35  int pc_segment,
36  const TriggerPrimitive& muon_primitive,
37  EMTFHit& conv_hit) const;
38 
39  void convert_csc_details(EMTFHit& conv_hit) const;
40 
41  // RPC functions
42  void convert_rpc(int pc_sector,
43  int pc_station,
44  int pc_chamber,
45  int pc_segment,
46  const TriggerPrimitive& muon_primitive,
47  EMTFHit& conv_hit) const;
48 
49  void convert_rpc_details(EMTFHit& conv_hit, const bool use_cppf_lut) const;
50 
51  // GEM functions
52  void convert_gem(int pc_sector,
53  int pc_station,
54  int pc_chamber,
55  int pc_segment,
56  const TriggerPrimitive& muon_primitive,
57  EMTFHit& conv_hit) const;
58 
59  void convert_gem_details(EMTFHit& conv_hit) const;
60 
61  // Aux functions
62  int get_zone_code(const EMTFHit& conv_hit, int th) const;
63 
64  int get_phzvl(const EMTFHit& conv_hit, int zone_code) const;
65 
66  int get_fs_zone_code(const EMTFHit& conv_hit) const;
67 
68  int get_fs_segment(const EMTFHit& conv_hit, int fw_station, int fw_cscid, int pc_segment) const;
69 
70  int get_bt_station(const EMTFHit& conv_hit, int fw_station, int fw_cscid, int pc_segment) const;
71 
72  int get_bt_segment(const EMTFHit& conv_hit, int fw_station, int fw_cscid, int pc_segment) const;
73 
74  bool is_valid_for_run2(const EMTFHit& conv_hit) const;
75 
76 private:
78 
80 
82 
84 
85  std::vector<int> zoneBoundaries_;
89 };
90 
91 #endif
int get_bt_station(const EMTFHit &conv_hit, int fw_station, int fw_cscid, int pc_segment) const
int get_zone_code(const EMTFHit &conv_hit, int th) const
void convert_gem_details(EMTFHit &conv_hit) const
void configure(const GeometryTranslator *tp_geom, const SectorProcessorLUT *lut, int verbose, int endcap, int sector, int bx, int bxShiftCSC, int bxShiftRPC, int bxShiftGEM, const std::vector< int > &zoneBoundaries, int zoneOverlap, bool duplicateTheta, bool fixZonePhi, bool useNewZones, bool fixME11Edges, bool bugME11Dupes)
const SectorProcessorLUT * lut_
void convert_gem(int pc_sector, int pc_station, int pc_chamber, int pc_segment, const TriggerPrimitive &muon_primitive, EMTFHit &conv_hit) const
void convert_rpc(int pc_sector, int pc_station, int pc_chamber, int pc_segment, const TriggerPrimitive &muon_primitive, EMTFHit &conv_hit) const
l1t::EMTFHitCollection EMTFHitCollection
Definition: Common.h:25
int get_bt_segment(const EMTFHit &conv_hit, int fw_station, int fw_cscid, int pc_segment) const
int get_fs_segment(const EMTFHit &conv_hit, int fw_station, int fw_cscid, int pc_segment) const
void convert_csc_details(EMTFHit &conv_hit) const
std::vector< int > zoneBoundaries_
void process(const std::map< int, TriggerPrimitiveCollection > &selected_prim_map, EMTFHitCollection &conv_hits) const
bool is_valid_for_run2(const EMTFHit &conv_hit) const
int get_phzvl(const EMTFHit &conv_hit, int zone_code) const
const SectorProcessorLUT & lut() const
int get_fs_zone_code(const EMTFHit &conv_hit) const
void convert_rpc_details(EMTFHit &conv_hit, const bool use_cppf_lut) const
const GeometryTranslator * tp_geom_
void convert_csc(int pc_sector, int pc_station, int pc_chamber, int pc_segment, const TriggerPrimitive &muon_primitive, EMTFHit &conv_hit) const