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,
12  int verbose,
13  int endcap,
14  int sector,
15  int bx,
16  int bxShiftCSC,
17  int bxShiftRPC,
18  int bxShiftGEM,
19  int bxShiftME0,
20  const std::vector<int>& zoneBoundaries,
21  int zoneOverlap,
22  bool duplicateTheta,
23  bool fixZonePhi,
24  bool useNewZones,
25  bool fixME11Edges,
26  bool bugME11Dupes);
27 
28  void process(const std::map<int, TriggerPrimitiveCollection>& selected_prim_map, EMTFHitCollection& conv_hits) const;
29 
30  const SectorProcessorLUT& pc_lut() const { return *pc_lut_; }
31 
32  // CSC functions
33  void convert_csc(int pc_sector,
34  int pc_station,
35  int pc_chamber,
36  int pc_segment,
37  const TriggerPrimitive& muon_primitive,
38  EMTFHit& conv_hit) const;
39 
40  void convert_csc_details(EMTFHit& conv_hit) const; // with specific firmware impl
41 
42  // RPC functions
43  void convert_rpc(int pc_sector,
44  int pc_station,
45  int pc_chamber,
46  int pc_segment,
47  const TriggerPrimitive& muon_primitive,
48  EMTFHit& conv_hit) const;
49 
50  void convert_rpc_details(EMTFHit& conv_hit, bool isCPPF) const; // with specific firmware impl
51 
52  // GEM functions
53  void convert_gem(int pc_sector,
54  int pc_station,
55  int pc_chamber,
56  int pc_segment,
57  const TriggerPrimitive& muon_primitive,
58  EMTFHit& conv_hit) const;
59 
60  void convert_other_details(EMTFHit& conv_hit) const; // no firmware impl
61 
62  // ME0 functions
63  void convert_me0(int pc_sector,
64  int pc_station,
65  int pc_chamber,
66  int pc_segment,
67  const TriggerPrimitive& muon_primitive,
68  EMTFHit& conv_hit) const;
69 
70  // DT functions
71  void convert_dt(int pc_sector,
72  int pc_station,
73  int pc_chamber,
74  int pc_segment,
75  const TriggerPrimitive& muon_primitive,
76  EMTFHit& conv_hit) const;
77 
78  // Aux functions
79  int get_zone_code(const EMTFHit& conv_hit, int th) const;
80 
81  int get_phzvl(const EMTFHit& conv_hit, int zone_code) const;
82 
83  int get_fs_zone_code(const EMTFHit& conv_hit) const;
84 
85  int get_fs_segment(const EMTFHit& conv_hit, int fw_station, int fw_cscid, int pc_segment) const;
86 
87  int get_bt_station(const EMTFHit& conv_hit, int fw_station, int fw_cscid, int pc_segment) const;
88 
89  int get_bt_segment(const EMTFHit& conv_hit, int fw_station, int fw_cscid, int pc_segment) const;
90 
91  bool is_valid_for_run2(const EMTFHit& conv_hit) const;
92 
93 private:
95 
97 
99 
101 
102  std::vector<int> zoneBoundaries_;
106 };
107 
108 #endif
PrimitiveConversion::endcap_
int endcap_
Definition: PrimitiveConversion.h:98
PrimitiveConversion::zoneOverlap_
int zoneOverlap_
Definition: PrimitiveConversion.h:103
PrimitiveConversion::get_fs_zone_code
int get_fs_zone_code(const EMTFHit &conv_hit) const
Definition: PrimitiveConversion.cc:1181
PrimitiveConversion::get_fs_segment
int get_fs_segment(const EMTFHit &conv_hit, int fw_station, int fw_cscid, int pc_segment) const
Definition: PrimitiveConversion.cc:1205
PrimitiveConversion::get_bt_segment
int get_bt_segment(const EMTFHit &conv_hit, int fw_station, int fw_cscid, int pc_segment) const
Definition: PrimitiveConversion.cc:1241
PrimitiveConversion::fixZonePhi_
bool fixZonePhi_
Definition: PrimitiveConversion.h:104
PrimitiveConversion::process
void process(const std::map< int, TriggerPrimitiveCollection > &selected_prim_map, EMTFHitCollection &conv_hits) const
Definition: PrimitiveConversion.cc:49
PrimitiveConversion
Definition: PrimitiveConversion.h:8
makeMuonMisalignmentScenario.endcap
endcap
Definition: makeMuonMisalignmentScenario.py:320
PrimitiveConversion::useNewZones_
bool useNewZones_
Definition: PrimitiveConversion.h:104
PrimitiveConversion::sector_
int sector_
Definition: PrimitiveConversion.h:98
PrimitiveConversion::convert_rpc
void convert_rpc(int pc_sector, int pc_station, int pc_chamber, int pc_segment, const TriggerPrimitive &muon_primitive, EMTFHit &conv_hit) const
Definition: PrimitiveConversion.cc:450
simKBmtfDigis_cfi.bx
bx
Definition: simKBmtfDigis_cfi.py:55
PrimitiveConversion::convert_gem
void convert_gem(int pc_sector, int pc_station, int pc_chamber, int pc_segment, const TriggerPrimitive &muon_primitive, EMTFHit &conv_hit) const
Definition: PrimitiveConversion.cc:701
PrimitiveConversion::is_valid_for_run2
bool is_valid_for_run2(const EMTFHit &conv_hit) const
Definition: PrimitiveConversion.cc:1268
PrimitiveConversion::pc_lut_
const SectorProcessorLUT * pc_lut_
Definition: PrimitiveConversion.h:96
EMTFHitCollection
l1t::EMTFHitCollection EMTFHitCollection
Definition: Common.h:23
verbose
static constexpr int verbose
Definition: HLTExoticaSubAnalysis.cc:25
L1TMuon::TriggerPrimitive
Definition: MuonTriggerPrimitive.h:56
PrimitiveConversion::bugME11Dupes_
bool bugME11Dupes_
Definition: PrimitiveConversion.h:105
PrimitiveConversion::fixME11Edges_
bool fixME11Edges_
Definition: PrimitiveConversion.h:104
PrimitiveConversion::bx_
int bx_
Definition: PrimitiveConversion.h:98
PrimitiveConversion::verbose_
int verbose_
Definition: PrimitiveConversion.h:98
PrimitiveConversion::convert_rpc_details
void convert_rpc_details(EMTFHit &conv_hit, bool isCPPF) const
Definition: PrimitiveConversion.cc:607
PrimitiveConversion::duplicateTheta_
bool duplicateTheta_
Definition: PrimitiveConversion.h:104
PrimitiveConversion::convert_csc_details
void convert_csc_details(EMTFHit &conv_hit) const
Definition: PrimitiveConversion.cc:184
l1t::EMTFHit
Definition: EMTFHit.h:22
PrimitiveConversion::bxShiftGEM_
int bxShiftGEM_
Definition: PrimitiveConversion.h:100
PrimitiveConversion::get_phzvl
int get_phzvl(const EMTFHit &conv_hit, int zone_code) const
Definition: PrimitiveConversion.cc:1162
PrimitiveConversion::convert_me0
void convert_me0(int pc_sector, int pc_station, int pc_chamber, int pc_segment, const TriggerPrimitive &muon_primitive, EMTFHit &conv_hit) const
Definition: PrimitiveConversion.cc:878
PrimitiveConversion::tp_geom_
const GeometryTranslator * tp_geom_
Definition: PrimitiveConversion.h:94
PrimitiveConversion::convert_other_details
void convert_other_details(EMTFHit &conv_hit) const
Definition: PrimitiveConversion.cc:818
PrimitiveConversion::bxShiftME0_
int bxShiftME0_
Definition: PrimitiveConversion.h:100
Common.h
PrimitiveConversion::get_bt_station
int get_bt_station(const EMTFHit &conv_hit, int fw_station, int fw_cscid, int pc_segment) const
Definition: PrimitiveConversion.cc:1236
SectorProcessorLUT
Definition: SectorProcessorLUT.h:8
L1TMuon::GeometryTranslator
Definition: GeometryTranslator.h:41
PrimitiveConversion::convert_dt
void convert_dt(int pc_sector, int pc_station, int pc_chamber, int pc_segment, const TriggerPrimitive &muon_primitive, EMTFHit &conv_hit) const
Definition: PrimitiveConversion.cc:998
PrimitiveConversion::pc_lut
const SectorProcessorLUT & pc_lut() const
Definition: PrimitiveConversion.h:30
PrimitiveConversion::get_zone_code
int get_zone_code(const EMTFHit &conv_hit, int th) const
Definition: PrimitiveConversion.cc:1132
PrimitiveConversion::bxShiftCSC_
int bxShiftCSC_
Definition: PrimitiveConversion.h:100
PrimitiveConversion::configure
void configure(const GeometryTranslator *tp_geom, const SectorProcessorLUT *pc_lut, int verbose, int endcap, int sector, int bx, int bxShiftCSC, int bxShiftRPC, int bxShiftGEM, int bxShiftME0, const std::vector< int > &zoneBoundaries, int zoneOverlap, bool duplicateTheta, bool fixZonePhi, bool useNewZones, bool fixME11Edges, bool bugME11Dupes)
Definition: PrimitiveConversion.cc:7
PrimitiveConversion::zoneBoundaries_
std::vector< int > zoneBoundaries_
Definition: PrimitiveConversion.h:102
PrimitiveConversion::bxShiftRPC_
int bxShiftRPC_
Definition: PrimitiveConversion.h:100
PrimitiveConversion::convert_csc
void convert_csc(int pc_sector, int pc_station, int pc_chamber, int pc_segment, const TriggerPrimitive &muon_primitive, EMTFHit &conv_hit) const
Definition: PrimitiveConversion.cc:89