23 const auto& tp_hit_id = tp_info.
hit_id;
24 const auto& tp_segment_id = tp_info.
segment_id;
28 const auto& tp_data =
tp.getGEMData();
33 const int tp_raw_id = tp_det_id.rawId();
35 const int tp_endcap_pm = tp_info.
endcap_pm;
36 const int tp_subsector = tp_info.
subsector;
37 const int tp_station = tp_info.
station;
38 const int tp_ring = tp_info.
ring;
39 const int tp_roll = tp_info.
roll;
40 const int tp_layer = tp_info.
layer;
41 const int tp_chamber = tp_info.
chamber;
44 const int tp_csc_id = tp_info.
csc_id;
47 const int tp_pad_lo = tp_data.pad_low;
48 const int tp_pad_hi = tp_data.pad_hi;
49 const int tp_pad = (tp_pad_lo + tp_pad_hi) / 2;
50 const int tp_clus_width = (tp_pad_hi - tp_pad_lo + 1);
52 const int tp_bend = 0;
54 const int tp_bx = tp_info.
bx;
55 const int tp_subbx = 0;
56 const float tp_time = 0;
58 const auto tp_selection = tp_info.
selection;
61 const int tp_quality = tp_clus_width;
64 const int tp_ilink = tp_info.
ilink;
70 const float glob_theta =
tp::radToDeg(gp.theta().value());
71 const double glob_rho = gp.perp();
72 const double glob_z = gp.z();
76 const int emtf_bend = 0;
78 const int emtf_qual = 0;
84 emtf_assert((1 <= emtf_theta) and (emtf_theta < 128));
89 const bool tp_flag_valid =
true;
94 hit.setRawDetId(tp_raw_id);
96 hit.setEndcap(tp_endcap_pm);
98 hit.setSubsector(tp_subsector);
99 hit.setStation(tp_station);
100 hit.setRing(tp_ring);
101 hit.setLayer(tp_layer);
102 hit.setChamber(tp_chamber);
104 hit.setCscId(tp_csc_id);
107 hit.setStrip(tp_pad);
108 hit.setStripLo(tp_pad_lo);
109 hit.setStripHi(tp_pad_hi);
111 hit.setWire1(tp_roll);
114 hit.setBend(tp_bend);
117 hit.setSubbx(tp_subbx);
119 hit.setQuality(tp_quality);
122 hit.setGlobPhi(glob_phi);
123 hit.setGlobTheta(glob_theta);
124 hit.setGlobPerp(glob_rho);
125 hit.setGlobZ(glob_z);
126 hit.setGlobTime(tp_time);
128 hit.setEmtfChamber(tp_ilink);
129 hit.setEmtfSegment(tp_segment_id);
130 hit.setEmtfPhi(emtf_phi);
131 hit.setEmtfBend(emtf_bend);
132 hit.setEmtfTheta1(emtf_theta);
133 hit.setEmtfTheta2(0);
134 hit.setEmtfQual1(emtf_qual);
136 hit.setEmtfSite(emtf_site);
137 hit.setEmtfHost(emtf_host);
138 hit.setEmtfZones(emtf_zones);
140 hit.setFlagNeighbor(tp_flag_neighbor);
141 hit.setFlagSubstitute(tp_flag_substitute);
142 hit.setFlagValid(tp_flag_valid);
const EMTFContext & context_
GlobalPoint getGlobalPoint(const TriggerPrimitive &) const
const int & lookup(const std::tuple< int, int, int > &) const
int calcThetaInt(int, float)
int calcPhiInt(int, float)
GEMTPConverter(const EMTFContext &, const int &, const int &)
int getZones(const int &, const int &) const
float radToDeg(float rad)
const int & lookup(const std::tuple< int, int, int > &) const
void convert(const TriggerPrimitive &, const TPInfo &, EMTFHit &) const final
GeometryTranslator geometry_translator_