|
|
#include <RPCIntegrator.h>
|
L1Phase2MuDTPhDigi | createL1Phase2MuDTPhDigi (RPCDetId rpcDetId, int rpc_bx, double rpc_time, double rpc_global_phi, double phiB, int rpc_flag) |
|
void | finish () |
|
bool | hasPosRF_rpc (int wh, int sec) const |
|
void | initialise (const edm::EventSetup &iEventSetup, double shift_back_fromDT) |
|
void | makeRPCOnlySegments () |
|
RPCMetaprimitive * | matchDTwithRPC (cmsdt::metaPrimitive *dt_metaprimitive) |
|
void | matchWithDTAndUseRPCTime (std::vector< cmsdt::metaPrimitive > &dt_metaprimitives) |
|
double | phi_DT_MP_conv (double rpc_global_phi, int rpcSector) |
|
double | phiBending (RPCMetaprimitive *rpc_hit_1, RPCMetaprimitive *rpc_hit_2) |
|
int | phiInDTTPFormat (double rpc_global_phi, int rpcSector) |
|
void | prepareMetaPrimitives (edm::Handle< RPCRecHitCollection > rpcRecHits) |
|
void | removeRPCHitsUsed () |
|
GlobalPoint | RPCGlobalPosition (RPCDetId rpcId, const RPCRecHit &rpcIt) const |
|
| RPCIntegrator (const edm::ParameterSet &pset, edm::ConsumesCollector &iC) |
|
void | storeRPCSingleHits () |
|
| ~RPCIntegrator () |
|
Definition at line 54 of file RPCIntegrator.h.
◆ RPCIntegrator()
◆ ~RPCIntegrator()
RPCIntegrator::~RPCIntegrator |
( |
| ) |
|
◆ createL1Phase2MuDTPhDigi()
L1Phase2MuDTPhDigi RPCIntegrator::createL1Phase2MuDTPhDigi |
( |
RPCDetId |
rpcDetId, |
|
|
int |
rpc_bx, |
|
|
double |
rpc_time, |
|
|
double |
rpc_global_phi, |
|
|
double |
phiB, |
|
|
int |
rpc_flag |
|
) |
| |
◆ finish()
void RPCIntegrator::finish |
( |
| ) |
|
◆ hasPosRF_rpc()
bool RPCIntegrator::hasPosRF_rpc |
( |
int |
wh, |
|
|
int |
sec |
|
) |
| const |
◆ initialise()
void RPCIntegrator::initialise |
( |
const edm::EventSetup & |
iEventSetup, |
|
|
double |
shift_back_fromDT |
|
) |
| |
◆ makeRPCOnlySegments()
void RPCIntegrator::makeRPCOnlySegments |
( |
| ) |
|
Definition at line 76 of file RPCIntegrator.cc.
77 std::vector<L1Phase2MuDTPhDigi> rpc_only_segments;
79 RPCDetId rpc_id_l1 = rpc_mp_it_layer1.rpc_id;
80 const RPCRecHit* rpc_cluster_l1 = rpc_mp_it_layer1.rpc_cluster;
81 GlobalPoint rpc_gp_l1 = rpc_mp_it_layer1.global_position;
91 RPCDetId rpc_id_l2 = rpc_mp_it_layer2.rpc_id;
92 const RPCRecHit* rpc_cluster_l2 = rpc_mp_it_layer2.rpc_cluster;
93 GlobalPoint rpc_gp_l2 = rpc_mp_it_layer2.global_position;
100 float tmp_dPhi = rpc_gp_l1.
phi() - rpc_gp_l2.
phi();
103 bestMatch_rpc_mp_layer2 = &rpc_mp_it_layer2;
107 if (bestMatch_rpc_mp_layer2) {
111 bestMatch_rpc_mp_layer2->
rpcFlag = 6;
112 double phiB =
phiBending(&rpc_mp_it_layer1, &*bestMatch_rpc_mp_layer2);
114 double global_phi = rpc_mp_it_layer1.global_position.phi();
115 double t0 = (rpc_mp_it_layer1.rpc_t0 + bestMatch_rpc_mp_layer2->
rpc_t0) / 2;
119 rpc_only_segments.push_back(rpc_only_segment);
References funct::abs(), RPCRecHit::BunchX(), RPCDetId::layer(), SiStripPI::max, PV3DBase< T, PVType, FrameType >::phi(), RPCDetId::ring(), cmsdt::RPC_ASSOCIATE, RPCMetaprimitive::rpc_t0, RPCMetaprimitive::rpcFlag, RPCDetId::sector(), RPCDetId::station(), and FrontierCondition_GT_autoExpress_cfi::t0.
◆ matchDTwithRPC()
Definition at line 153 of file RPCIntegrator.cc.
159 int dt_sector = dt_chId.
sector();
167 RPCDetId rpc_det_id = rpc_mp_it->rpc_id;
179 bestMatch_rpcRecHit = &*rpc_mp_it;
183 if (bestMatch_rpcRecHit) {
186 return bestMatch_rpcRecHit;
References funct::abs(), HLT_2018_cff::delta_phi, createfilelist::int, SiStripPI::max, cmsdt::metaPrimitive::phi, cmsdt::metaPrimitive::rawId, RPCDetId::ring(), cmsdt::RPC_ASSOCIATE, RPCMetaprimitive::rpcFlag, DTChamberId::sector(), RPCDetId::sector(), DTChamberId::station(), RPCDetId::station(), cmsdt::metaPrimitive::t0, and DTChamberId::wheel().
◆ matchWithDTAndUseRPCTime()
void RPCIntegrator::matchWithDTAndUseRPCTime |
( |
std::vector< cmsdt::metaPrimitive > & |
dt_metaprimitives | ) |
|
◆ phi_DT_MP_conv()
double RPCIntegrator::phi_DT_MP_conv |
( |
double |
rpc_global_phi, |
|
|
int |
rpcSector |
|
) |
| |
◆ phiBending()
Definition at line 215 of file RPCIntegrator.cc.
220 double average_x = (lp_rpc_hit_1_dtconv.x() + lp_rpc_hit_2_dtconv.
x()) / 2;
References RPCMetaprimitive::global_position, PV3DBase< T, PVType, FrameType >::phi(), RPCDetId::ring(), RPCMetaprimitive::rpc_id, RPCDetId::sector(), slope, RPCDetId::station(), and PV3DBase< T, PVType, FrameType >::x().
◆ phiInDTTPFormat()
int RPCIntegrator::phiInDTTPFormat |
( |
double |
rpc_global_phi, |
|
|
int |
rpcSector |
|
) |
| |
Definition at line 229 of file RPCIntegrator.cc.
230 double rpc_localDT_phi;
232 return (
int)round(rpc_localDT_phi);
◆ prepareMetaPrimitives()
◆ removeRPCHitsUsed()
void RPCIntegrator::removeRPCHitsUsed |
( |
| ) |
|
◆ RPCGlobalPosition()
◆ storeRPCSingleHits()
void RPCIntegrator::storeRPCSingleHits |
( |
| ) |
|
Definition at line 125 of file RPCIntegrator.cc.
127 RPCDetId rpcDetId = rpc_mp_it->rpc_id;
128 if (rpc_mp_it->rpcFlag == 6)
131 rpcDetId, rpc_mp_it->rpc_bx, rpc_mp_it->rpc_t0, rpc_mp_it->global_position.phi(), -10000, rpc_mp_it->rpcFlag);
References cmsdt::RPC_ASSOCIATE.
◆ distance_between_two_rpc_layers_
constexpr double RPCIntegrator::distance_between_two_rpc_layers_ = 35 |
|
staticconstexprprivate |
◆ dtGeo_
◆ dtGeomH_
◆ m_bx_window_
int RPCIntegrator::m_bx_window_ |
|
private |
◆ m_debug_
bool RPCIntegrator::m_debug_ |
|
private |
◆ m_dt_phi_granularity_
constexpr double RPCIntegrator::m_dt_phi_granularity_ = (65536. / 0.8) |
|
staticconstexprprivate |
◆ m_dt_phiB_granularity_
constexpr double RPCIntegrator::m_dt_phiB_granularity_ = (2048. / 1.4) |
|
staticconstexprprivate |
◆ m_max_quality_to_overwrite_t0_
int RPCIntegrator::m_max_quality_to_overwrite_t0_ |
|
private |
◆ m_phi_window_
double RPCIntegrator::m_phi_window_ |
|
private |
◆ m_storeAllRPCHits_
bool RPCIntegrator::m_storeAllRPCHits_ |
|
private |
◆ R_
constexpr double RPCIntegrator::R_[2][2] = {{410.0, 444.8}, {492.7, 527.3}} |
|
staticconstexprprivate |
◆ rpcGeo_
◆ rpcGeomH_
◆ RPCMetaprimitives_
◆ rpcRecHits_translated_
◆ shift_back_
double RPCIntegrator::shift_back_ |
|
private |
int m_max_quality_to_overwrite_t0_
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
L1Phase2MuDTPhDigi createL1Phase2MuDTPhDigi(RPCDetId rpcDetId, int rpc_bx, double rpc_time, double rpc_global_phi, double phiB, int rpc_flag)
void conversion(EventAux const &from, EventAuxiliary &to)
double phi_DT_MP_conv(double rpc_global_phi, int rpcSector)
double phiBending(RPCMetaprimitive *rpc_hit_1, RPCMetaprimitive *rpc_hit_2)
std::vector< RPCMetaprimitive > RPCMetaprimitives_
GlobalPoint RPCGlobalPosition(RPCDetId rpcId, const RPCRecHit &rpcIt) const
static constexpr double distance_between_two_rpc_layers_
Point3DBase< Scalar, LocalTag > LocalPoint
const DTChamber * chamber(const DTChamberId &id) const
Return a DTChamber given its id.
const Plane & surface() const
The nominal surface of the GeomDet.
std::vector< L1Phase2MuDTPhDigi > rpcRecHits_translated_
RPCMetaprimitive * matchDTwithRPC(cmsdt::metaPrimitive *dt_metaprimitive)
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
constexpr int LHC_CLK_FREQ
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
edm::ESGetToken< DTGeometry, MuonGeometryRecord > dtGeomH_
LocalPoint localPosition() const override
Return the 3-dimensional local position.
bool hasPosRF_rpc(int wh, int sec) const
edm::ESGetToken< RPCGeometry, MuonGeometryRecord > rpcGeomH_
DTGeometry const * dtGeo_
RPCGeometry const * rpcGeo_
int phiInDTTPFormat(double rpc_global_phi, int rpcSector)
static constexpr double m_dt_phiB_granularity_
std::map< std::string, int, std::less< std::string > > psi
static constexpr double m_dt_phi_granularity_
int sector() const
Sector id: the group of chambers at same phi (and increasing r)
const GeomDet * idToDet(DetId) const override
Abs< T >::type abs(const T &t)
static const double slope[3]
int wheel() const
Return the wheel number.
Geom::Phi< T > phi() const
int station() const
Return the station number.