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  bool useRun3CCLUT);
28 
29  void process(const std::map<int, TriggerPrimitiveCollection>& selected_prim_map, EMTFHitCollection& conv_hits) const;
30 
31  const SectorProcessorLUT& pc_lut() const { return *pc_lut_; }
32 
33  // CSC functions
34  void convert_csc(int pc_sector,
35  int pc_station,
36  int pc_chamber,
37  int pc_segment,
38  const TriggerPrimitive& muon_primitive,
39  EMTFHit& conv_hit) const;
40 
41  void convert_csc_details(EMTFHit& conv_hit) const; // with specific firmware impl
42 
43  // RPC functions
44  void convert_rpc(int pc_sector,
45  int pc_station,
46  int pc_chamber,
47  int pc_segment,
48  const TriggerPrimitive& muon_primitive,
49  EMTFHit& conv_hit) const;
50 
51  void convert_rpc_details(EMTFHit& conv_hit, bool isCPPF) const; // with specific firmware impl
52 
53  // GEM functions
54  void convert_gem(int pc_sector,
55  int pc_station,
56  int pc_chamber,
57  int pc_segment,
58  const TriggerPrimitive& muon_primitive,
59  EMTFHit& conv_hit) const;
60 
61  void convert_other_details(EMTFHit& conv_hit) const; // no firmware impl
62 
63  // ME0 functions
64  void convert_me0(int pc_sector,
65  int pc_station,
66  int pc_chamber,
67  int pc_segment,
68  const TriggerPrimitive& muon_primitive,
69  EMTFHit& conv_hit) const;
70 
71  // DT functions
72  void convert_dt(int pc_sector,
73  int pc_station,
74  int pc_chamber,
75  int pc_segment,
76  const TriggerPrimitive& muon_primitive,
77  EMTFHit& conv_hit) const;
78 
79  // Aux functions
80  int get_zone_code(const EMTFHit& conv_hit, int th) const;
81 
82  int get_phzvl(const EMTFHit& conv_hit, int zone_code) const;
83 
84  int get_fs_zone_code(const EMTFHit& conv_hit) const;
85 
86  int get_fs_segment(const EMTFHit& conv_hit, int fw_station, int fw_cscid, int pc_segment) const;
87 
88  int get_bt_station(const EMTFHit& conv_hit, int fw_station, int fw_cscid, int pc_segment) const;
89 
90  int get_bt_segment(const EMTFHit& conv_hit, int fw_station, int fw_cscid, int pc_segment) const;
91 
92  bool is_valid_for_run2(const EMTFHit& conv_hit) const;
93 
94 private:
96 
98 
100 
102 
103  std::vector<int> zoneBoundaries_;
107  // Run 3 CCLUT algorithm
109 };
110 
111 #endif
PrimitiveConversion::endcap_
int endcap_
Definition: PrimitiveConversion.h:99
PrimitiveConversion::zoneOverlap_
int zoneOverlap_
Definition: PrimitiveConversion.h:104
PrimitiveConversion::get_fs_zone_code
int get_fs_zone_code(const EMTFHit &conv_hit) const
Definition: PrimitiveConversion.cc:1200
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:1224
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:1260
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
PrimitiveConversion::fixZonePhi_
bool fixZonePhi_
Definition: PrimitiveConversion.h:105
PrimitiveConversion::process
void process(const std::map< int, TriggerPrimitiveCollection > &selected_prim_map, EMTFHitCollection &conv_hits) const
Definition: PrimitiveConversion.cc:53
PrimitiveConversion
Definition: PrimitiveConversion.h:8
makeMuonMisalignmentScenario.endcap
endcap
Definition: makeMuonMisalignmentScenario.py:320
PrimitiveConversion::useNewZones_
bool useNewZones_
Definition: PrimitiveConversion.h:105
PrimitiveConversion::sector_
int sector_
Definition: PrimitiveConversion.h:99
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:469
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:720
PrimitiveConversion::is_valid_for_run2
bool is_valid_for_run2(const EMTFHit &conv_hit) const
Definition: PrimitiveConversion.cc:1287
PrimitiveConversion::pc_lut_
const SectorProcessorLUT * pc_lut_
Definition: PrimitiveConversion.h:97
EMTFHitCollection
l1t::EMTFHitCollection EMTFHitCollection
Definition: Common.h:23
verbose
static constexpr int verbose
Definition: HLTExoticaSubAnalysis.cc:25
L1TMuon::TriggerPrimitive
Definition: MuonTriggerPrimitive.h:57
PrimitiveConversion::bugME11Dupes_
bool bugME11Dupes_
Definition: PrimitiveConversion.h:106
PrimitiveConversion::fixME11Edges_
bool fixME11Edges_
Definition: PrimitiveConversion.h:105
PrimitiveConversion::bx_
int bx_
Definition: PrimitiveConversion.h:99
PrimitiveConversion::verbose_
int verbose_
Definition: PrimitiveConversion.h:99
PrimitiveConversion::convert_rpc_details
void convert_rpc_details(EMTFHit &conv_hit, bool isCPPF) const
Definition: PrimitiveConversion.cc:626
PrimitiveConversion::duplicateTheta_
bool duplicateTheta_
Definition: PrimitiveConversion.h:105
PrimitiveConversion::convert_csc_details
void convert_csc_details(EMTFHit &conv_hit) const
Definition: PrimitiveConversion.cc:195
l1t::EMTFHit
Definition: EMTFHit.h:25
PrimitiveConversion::bxShiftGEM_
int bxShiftGEM_
Definition: PrimitiveConversion.h:101
PrimitiveConversion::get_phzvl
int get_phzvl(const EMTFHit &conv_hit, int zone_code) const
Definition: PrimitiveConversion.cc:1181
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:897
PrimitiveConversion::tp_geom_
const GeometryTranslator * tp_geom_
Definition: PrimitiveConversion.h:95
PrimitiveConversion::convert_other_details
void convert_other_details(EMTFHit &conv_hit) const
Definition: PrimitiveConversion.cc:837
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, bool useRun3CCLUT)
Definition: PrimitiveConversion.cc:7
PrimitiveConversion::bxShiftME0_
int bxShiftME0_
Definition: PrimitiveConversion.h:101
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:1255
SectorProcessorLUT
Definition: SectorProcessorLUT.h:8
L1TMuon::GeometryTranslator
Definition: GeometryTranslator.h:44
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:1017
PrimitiveConversion::pc_lut
const SectorProcessorLUT & pc_lut() const
Definition: PrimitiveConversion.h:31
PrimitiveConversion::get_zone_code
int get_zone_code(const EMTFHit &conv_hit, int th) const
Definition: PrimitiveConversion.cc:1151
PrimitiveConversion::useRun3CCLUT_
bool useRun3CCLUT_
Definition: PrimitiveConversion.h:108
PrimitiveConversion::bxShiftCSC_
int bxShiftCSC_
Definition: PrimitiveConversion.h:101
PrimitiveConversion::zoneBoundaries_
std::vector< int > zoneBoundaries_
Definition: PrimitiveConversion.h:103
PrimitiveConversion::bxShiftRPC_
int bxShiftRPC_
Definition: PrimitiveConversion.h:101
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:93