CMS 3D CMS Logo

RPCIntegrator.h
Go to the documentation of this file.
1 #ifndef Phase2L1Trigger_DTTrigger_RPCIntegrator_h
2 #define Phase2L1Trigger_DTTrigger_RPCIntegrator_h
3 
11 
21 
25 
26 //DT geometry
32 
34 
39  int rpcFlag;
40  int rpc_bx;
41  double rpc_t0;
42  RPCMetaprimitive(RPCDetId rpc_id_construct,
43  const RPCRecHit* rpc_cluster_construct,
44  GlobalPoint global_position_construct,
45  int rpcFlag_construct,
46  int rpc_bx_construct,
47  double rpc_t0_construct)
48  : rpc_id(rpc_id_construct),
49  rpc_cluster(rpc_cluster_construct),
50  global_position(global_position_construct),
51  rpcFlag(rpcFlag_construct),
52  rpc_bx(rpc_bx_construct),
53  rpc_t0(rpc_t0_construct) {}
54 };
55 
57 public:
60 
61  void initialise(const edm::EventSetup& iEventSetup, double shift_back_fromDT);
62  void finish();
63 
65  void matchWithDTAndUseRPCTime(std::vector<cmsdt::metaPrimitive>& dt_metaprimitives);
66  void makeRPCOnlySegments();
67  void storeRPCSingleHits();
68  void removeRPCHitsUsed();
69 
72  RPCDetId rpcDetId, int rpc_bx, double rpc_time, double rpc_global_phi, double phiB, int rpc_flag);
73 
74  double phiBending(RPCMetaprimitive* rpc_hit_1, RPCMetaprimitive* rpc_hit_2);
75  int phiInDTTPFormat(double rpc_global_phi, int rpcSector);
76  GlobalPoint RPCGlobalPosition(RPCDetId rpcId, const RPCRecHit& rpcIt) const;
77  double phi_DT_MP_conv(double rpc_global_phi, int rpcSector);
78  bool hasPosRF_rpc(int wh, int sec) const;
79 
80  std::vector<L1Phase2MuDTPhDigi> rpcRecHits_translated_;
81  std::vector<RPCMetaprimitive> RPCMetaprimitives_;
82 
83 private:
84  //RPCRecHitCollection m_rpcRecHits;
85  bool m_debug_;
88  double m_phi_window_;
90 
95 
96  static constexpr double m_dt_phi_granularity_ = (65536. / 0.8); // 65536 different values per 0.8 radian
97  static constexpr double m_dt_phiB_granularity_ = (2048. / 1.4); // 2048. different values per 1.4 radian
98  // Constant geometry values
99  //R[stat][layer] - radius of rpc station/layer from center of CMS
100  static constexpr double R_[2][2] = {{410.0, 444.8}, {492.7, 527.3}};
101  static constexpr double distance_between_two_rpc_layers_ = 35; // in cm
102 
103  double shift_back_;
104 };
105 #endif
DTGeometry
Definition: DTGeometry.h:28
cmsdt::metaPrimitive
Definition: constants.h:49
RPCIntegrator::m_max_quality_to_overwrite_t0_
int m_max_quality_to_overwrite_t0_
Definition: RPCIntegrator.h:86
RPCIntegrator::makeRPCOnlySegments
void makeRPCOnlySegments()
Definition: RPCIntegrator.cc:76
DTTrigGeomUtils.h
RPCMetaprimitive::rpc_id
RPCDetId rpc_id
Definition: RPCIntegrator.h:36
RPCIntegrator::RPCIntegrator
RPCIntegrator(const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
Definition: RPCIntegrator.cc:13
RPCIntegrator::createL1Phase2MuDTPhDigi
L1Phase2MuDTPhDigi createL1Phase2MuDTPhDigi(RPCDetId rpcDetId, int rpc_bx, double rpc_time, double rpc_global_phi, double phiB, int rpc_flag)
Definition: RPCIntegrator.cc:189
RPCIntegrator::removeRPCHitsUsed
void removeRPCHitsUsed()
Definition: RPCIntegrator.cc:136
RPCIntegrator::phi_DT_MP_conv
double phi_DT_MP_conv(double rpc_global_phi, int rpcSector)
Definition: RPCIntegrator.cc:235
RPCIntegrator::phiBending
double phiBending(RPCMetaprimitive *rpc_hit_1, RPCMetaprimitive *rpc_hit_2)
Definition: RPCIntegrator.cc:215
ESHandle.h
DTLayerId.h
RPCIntegrator::RPCMetaprimitives_
std::vector< RPCMetaprimitive > RPCMetaprimitives_
Definition: RPCIntegrator.h:81
RPCIntegrator
Definition: RPCIntegrator.h:56
RPCDetId
Definition: RPCDetId.h:16
RPCIntegrator::RPCGlobalPosition
GlobalPoint RPCGlobalPosition(RPCDetId rpcId, const RPCRecHit &rpcIt) const
Definition: RPCIntegrator.cc:249
RPCIntegrator::m_bx_window_
int m_bx_window_
Definition: RPCIntegrator.h:87
RPCIntegrator::distance_between_two_rpc_layers_
static constexpr double distance_between_two_rpc_layers_
Definition: RPCIntegrator.h:101
RPCIntegrator::initialise
void initialise(const edm::EventSetup &iEventSetup, double shift_back_fromDT)
Definition: RPCIntegrator.cc:31
edm::Handle< RPCRecHitCollection >
RPCMetaprimitive::global_position
GlobalPoint global_position
Definition: RPCIntegrator.h:38
RPCIntegrator::~RPCIntegrator
~RPCIntegrator()
Definition: RPCIntegrator.cc:26
constants.h
RPCIntegrator::rpcRecHits_translated_
std::vector< L1Phase2MuDTPhDigi > rpcRecHits_translated_
Definition: RPCIntegrator.h:80
RPCRecHit
Definition: RPCRecHit.h:14
RPCIntegrator::matchDTwithRPC
RPCMetaprimitive * matchDTwithRPC(cmsdt::metaPrimitive *dt_metaprimitive)
Definition: RPCIntegrator.cc:153
Run.h
RPCIntegrator::prepareMetaPrimitives
void prepareMetaPrimitives(edm::Handle< RPCRecHitCollection > rpcRecHits)
Definition: RPCIntegrator.cc:46
L1Phase2MuDTThContainer.h
RPCMetaprimitive
Definition: RPCIntegrator.h:35
Point3DBase< float, GlobalTag >
DTChamberId.h
DTLayer.h
RPCIntegrator::m_phi_window_
double m_phi_window_
Definition: RPCIntegrator.h:88
DTGeometry.h
RPCDetId.h
RPCRecHitCollection.h
RPCMetaprimitive::rpcFlag
int rpcFlag
Definition: RPCIntegrator.h:39
edm::ParameterSet
Definition: ParameterSet.h:47
RPCIntegrator::storeRPCSingleHits
void storeRPCSingleHits()
Definition: RPCIntegrator.cc:125
Event.h
RPCIntegrator::dtGeomH_
edm::ESGetToken< DTGeometry, MuonGeometryRecord > dtGeomH_
Definition: RPCIntegrator.h:93
RPCMetaprimitive::rpc_bx
int rpc_bx
Definition: RPCIntegrator.h:40
RPCIntegrator::finish
void finish()
Definition: RPCIntegrator.cc:44
RPCIntegrator::R_
static constexpr double R_[2][2]
Definition: RPCIntegrator.h:100
RPCIntegrator::hasPosRF_rpc
bool hasPosRF_rpc(int wh, int sec) const
Definition: RPCIntegrator.cc:257
RPCIntegrator::rpcGeomH_
edm::ESGetToken< RPCGeometry, MuonGeometryRecord > rpcGeomH_
Definition: RPCIntegrator.h:94
L1Phase2MuDTPhContainer.h
edm::EventSetup
Definition: EventSetup.h:58
RPCMetaprimitive::RPCMetaprimitive
RPCMetaprimitive(RPCDetId rpc_id_construct, const RPCRecHit *rpc_cluster_construct, GlobalPoint global_position_construct, int rpcFlag_construct, int rpc_bx_construct, double rpc_t0_construct)
Definition: RPCIntegrator.h:42
RPCIntegrator::dtGeo_
DTGeometry const * dtGeo_
Definition: RPCIntegrator.h:91
edm::ESGetToken< DTGeometry, MuonGeometryRecord >
RPCMetaprimitive::rpc_cluster
const RPCRecHit * rpc_cluster
Definition: RPCIntegrator.h:37
RPCIntegrator::matchWithDTAndUseRPCTime
void matchWithDTAndUseRPCTime(std::vector< cmsdt::metaPrimitive > &dt_metaprimitives)
Definition: RPCIntegrator.cc:62
fileinputsource_cfi.sec
sec
Definition: fileinputsource_cfi.py:94
RPCIntegrator::rpcGeo_
RPCGeometry const * rpcGeo_
Definition: RPCIntegrator.h:92
L1Phase2MuDTPhDigi.h
RPCIntegrator::phiInDTTPFormat
int phiInDTTPFormat(double rpc_global_phi, int rpcSector)
Definition: RPCIntegrator.cc:229
RPCIntegrator::m_dt_phiB_granularity_
static constexpr double m_dt_phiB_granularity_
Definition: RPCIntegrator.h:97
L1Phase2MuDTThDigi.h
DTWireId.h
dtTriggerPhase2PrimitiveDigis_cfi.rpcRecHits
rpcRecHits
Definition: dtTriggerPhase2PrimitiveDigis_cfi.py:45
Frameworkfwd.h
L1Phase2MuDTPhDigi
Definition: L1Phase2MuDTPhDigi.h:32
RPCIntegrator::m_dt_phi_granularity_
static constexpr double m_dt_phi_granularity_
Definition: RPCIntegrator.h:96
RPCIntegrator::shift_back_
double shift_back_
Definition: RPCIntegrator.h:103
EventSetup.h
RPCGeometry
Definition: RPCGeometry.h:20
ConsumesCollector.h
DTDigiCollection.h
ParameterSet.h
DTSuperLayerId.h
MuonGeometryRecord.h
RPCMetaprimitive::rpc_t0
double rpc_t0
Definition: RPCIntegrator.h:41
RPCIntegrator::m_debug_
bool m_debug_
Definition: RPCIntegrator.h:85
RPCGeometry.h
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
RPCIntegrator::m_storeAllRPCHits_
bool m_storeAllRPCHits_
Definition: RPCIntegrator.h:89
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27