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