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 
19 
23 
24 //DT geometry
30 
32 
37  int rpcFlag;
38  int rpc_bx;
39  double rpc_t0;
40  RPCMetaprimitive(RPCDetId rpc_id_construct,
41  const RPCRecHit* rpc_cluster_construct,
42  GlobalPoint global_position_construct,
43  int rpcFlag_construct,
44  int rpc_bx_construct,
45  double rpc_t0_construct)
46  : rpc_id(rpc_id_construct),
47  rpc_cluster(rpc_cluster_construct),
48  global_position(global_position_construct),
49  rpcFlag(rpcFlag_construct),
50  rpc_bx(rpc_bx_construct),
51  rpc_t0(rpc_t0_construct) {}
52 };
53 
55 public:
58 
59  void initialise(const edm::EventSetup& iEventSetup, double shift_back_fromDT);
60  void finish();
61 
63  void matchWithDTAndUseRPCTime(std::vector<cmsdt::metaPrimitive>& dt_metaprimitives);
64  void makeRPCOnlySegments();
65  void storeRPCSingleHits();
66  void removeRPCHitsUsed();
67 
70  RPCDetId rpcDetId, int rpc_bx, double rpc_time, double rpc_global_phi, double phiB, int rpc_flag);
71 
72  double phiBending(RPCMetaprimitive* rpc_hit_1, RPCMetaprimitive* rpc_hit_2);
73  int phiInDTTPFormat(double rpc_global_phi, int rpcSector);
74  GlobalPoint RPCGlobalPosition(RPCDetId rpcId, const RPCRecHit& rpcIt) const;
75  double phi_DT_MP_conv(double rpc_global_phi, int rpcSector);
76  bool hasPosRF_rpc(int wh, int sec) const;
77 
78  std::vector<L1Phase2MuDTPhDigi> rpcRecHits_translated_;
79  std::vector<RPCMetaprimitive> RPCMetaprimitives_;
80 
81 private:
82  //RPCRecHitCollection m_rpcRecHits;
83  bool m_debug_;
86  double m_phi_window_;
88 
93 
94  static constexpr double m_dt_phi_granularity_ = (65536. / 0.8); // 65536 different values per 0.8 radian
95  static constexpr double m_dt_phiB_granularity_ = (2048. / 1.4); // 2048. different values per 1.4 radian
96  // Constant geometry values
97  //R[stat][layer] - radius of rpc station/layer from center of CMS
98  static constexpr double R_[2][2] = {{410.0, 444.8}, {492.7, 527.3}};
99  static constexpr double distance_between_two_rpc_layers_ = 35; // in cm
100 
101  double shift_back_;
102 };
103 #endif
DTGeometry
Definition: DTGeometry.h:28
cmsdt::metaPrimitive
Definition: constants.h:48
RPCIntegrator::m_max_quality_to_overwrite_t0_
int m_max_quality_to_overwrite_t0_
Definition: RPCIntegrator.h:84
RPCIntegrator::makeRPCOnlySegments
void makeRPCOnlySegments()
Definition: RPCIntegrator.cc:76
DTTrigGeomUtils.h
RPCMetaprimitive::rpc_id
RPCDetId rpc_id
Definition: RPCIntegrator.h:34
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:79
RPCIntegrator
Definition: RPCIntegrator.h:54
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:85
RPCIntegrator::distance_between_two_rpc_layers_
static constexpr double distance_between_two_rpc_layers_
Definition: RPCIntegrator.h:99
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:36
RPCIntegrator::~RPCIntegrator
~RPCIntegrator()
Definition: RPCIntegrator.cc:26
constants.h
RPCIntegrator::rpcRecHits_translated_
std::vector< L1Phase2MuDTPhDigi > rpcRecHits_translated_
Definition: RPCIntegrator.h:78
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
RPCMetaprimitive
Definition: RPCIntegrator.h:33
Point3DBase< float, GlobalTag >
DTChamberId.h
DTLayer.h
RPCIntegrator::m_phi_window_
double m_phi_window_
Definition: RPCIntegrator.h:86
DTGeometry.h
RPCDetId.h
RPCRecHitCollection.h
RPCMetaprimitive::rpcFlag
int rpcFlag
Definition: RPCIntegrator.h:37
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:91
RPCMetaprimitive::rpc_bx
int rpc_bx
Definition: RPCIntegrator.h:38
RPCIntegrator::finish
void finish()
Definition: RPCIntegrator.cc:44
RPCIntegrator::R_
static constexpr double R_[2][2]
Definition: RPCIntegrator.h:98
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:92
L1Phase2MuDTPhContainer.h
edm::EventSetup
Definition: EventSetup.h:57
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:40
RPCIntegrator::dtGeo_
DTGeometry const * dtGeo_
Definition: RPCIntegrator.h:89
edm::ESGetToken< DTGeometry, MuonGeometryRecord >
RPCMetaprimitive::rpc_cluster
const RPCRecHit * rpc_cluster
Definition: RPCIntegrator.h:35
RPCIntegrator::matchWithDTAndUseRPCTime
void matchWithDTAndUseRPCTime(std::vector< cmsdt::metaPrimitive > &dt_metaprimitives)
Definition: RPCIntegrator.cc:62
fileinputsource_cfi.sec
sec
Definition: fileinputsource_cfi.py:87
RPCIntegrator::rpcGeo_
RPCGeometry const * rpcGeo_
Definition: RPCIntegrator.h:90
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:95
DTWireId.h
dtTriggerPhase2PrimitiveDigis_cfi.rpcRecHits
rpcRecHits
Definition: dtTriggerPhase2PrimitiveDigis_cfi.py:39
Frameworkfwd.h
L1Phase2MuDTPhDigi
Definition: L1Phase2MuDTPhDigi.h:32
RPCIntegrator::m_dt_phi_granularity_
static constexpr double m_dt_phi_granularity_
Definition: RPCIntegrator.h:94
RPCIntegrator::shift_back_
double shift_back_
Definition: RPCIntegrator.h:101
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:39
RPCIntegrator::m_debug_
bool m_debug_
Definition: RPCIntegrator.h:83
RPCGeometry.h
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
RPCIntegrator::m_storeAllRPCHits_
bool m_storeAllRPCHits_
Definition: RPCIntegrator.h:87
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27