25 const auto& tp_hit_id = tp_info.
hit_id;
26 const auto& tp_segment_id = tp_info.
segment_id;
30 const auto& tp_data =
tp.getRPCData();
35 const int tp_raw_id = tp_det_id.rawId();
37 const int tp_endcap_pm = tp_info.
endcap_pm;
38 const int tp_subsector = tp_info.
subsector;
39 const int tp_station = tp_info.
station;
40 const int tp_ring = tp_info.
ring;
41 const int tp_roll = tp_info.
roll;
42 const int tp_layer = tp_info.
layer;
43 const int tp_chamber = tp_info.
chamber;
46 const int tp_csc_id = tp_info.
csc_id;
47 const auto tp_rpc_type = tp_info.
rpc_type;
50 const int tp_strip = (tp_data.strip_low + tp_data.strip_hi) / 2;
51 const int tp_strip_lo = tp_data.strip_low;
52 const int tp_strip_hi = tp_data.strip_hi;
53 const int tp_clus_width = (tp_strip_hi - tp_strip_lo + 1);
57 const int tp_bx = tp_info.
bx;
58 const float tp_time = tp_data.time;
59 float tp_subbx_f32 = tp_time - (std::round(tp_time / 25.) * 25.);
60 int tp_subbx =
static_cast<int>(std::round(tp_subbx_f32 * 16. / 25.));
61 tp_subbx = std::clamp(tp_subbx, -8, 7);
62 int tp_bx_check =
static_cast<int>(std::round(tp_time / 25.));
67 const auto tp_selection = tp_info.
selection;
73 tp_quality = tp_clus_width;
75 tp_quality = tp_clus_width * 3 / 2;
79 const int tp_ilink = tp_info.
ilink;
95 glob_rho = irpc_gp.
perp();
102 glob_rho = gp.perp();
108 const int emtf_bend = 0;
110 const int emtf_qual = 0;
115 emtf_assert((0 <= emtf_phi) and (emtf_phi < 5040));
116 emtf_assert((1 <= emtf_theta) and (emtf_theta < 128));
121 const bool tp_flag_valid = tp_data.valid;
124 hit.setId(tp_hit_id);
126 hit.setRawDetId(tp_raw_id);
127 hit.setSubsystem(tp_subsystem);
128 hit.setEndcap(tp_endcap_pm);
130 hit.setSubsector(tp_subsector);
131 hit.setStation(tp_station);
132 hit.setRing(tp_ring);
133 hit.setLayer(tp_layer);
134 hit.setChamber(tp_chamber);
136 hit.setCscId(tp_csc_id);
139 hit.setStrip(tp_strip);
140 hit.setStripLo(tp_strip_lo);
141 hit.setStripHi(tp_strip_hi);
143 hit.setWire1(tp_roll);
146 hit.setBend(tp_bend);
149 hit.setSubbx(tp_subbx);
151 hit.setQuality(tp_quality);
154 hit.setGlobPhi(glob_phi);
155 hit.setGlobTheta(glob_theta);
156 hit.setGlobPerp(glob_rho);
157 hit.setGlobZ(glob_z);
158 hit.setGlobTime(tp_time);
160 hit.setEmtfChamber(tp_ilink);
161 hit.setEmtfSegment(tp_segment_id);
162 hit.setEmtfPhi(emtf_phi);
163 hit.setEmtfBend(emtf_bend);
164 hit.setEmtfTheta1(emtf_theta);
165 hit.setEmtfTheta2(0);
166 hit.setEmtfQual1(emtf_qual);
168 hit.setEmtfSite(emtf_site);
169 hit.setEmtfHost(emtf_host);
170 hit.setEmtfZones(emtf_zones);
172 hit.setFlagNeighbor(tp_flag_neighbor);
173 hit.setFlagSubstitute(tp_flag_substitute);
174 hit.setFlagValid(tp_flag_valid);
Point3DBase< Scalar, LocalTag > LocalPoint
GlobalPoint getGlobalPoint(const TriggerPrimitive &) const
Geom::Phi< T > phi() const
const EMTFContext & context_
const int & lookup(const std::tuple< int, int, int > &) const
const RPCRoll * roll(RPCDetId id) const
Return a roll given its id.
int calcThetaInt(int, float)
int calcPhiInt(int, float)
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Abs< T >::type abs(const T &t)
int getZones(const int &, const int &) const
const RPCGeometry & getRPCGeometry() const
RPCTPConverter(const EMTFContext &, const int &, const int &)
float radToDeg(float rad)
const int & lookup(const std::tuple< int, int, int > &) const
GeometryTranslator geometry_translator_
T1 value() const
Explicit access to value in case implicit conversion not OK.
Geom::Theta< T > theta() const
void convert(const TriggerPrimitive &, const TPInfo &, EMTFHit &) const final