CMS 3D CMS Logo

MuonDetLayerMeasurements.h
Go to the documentation of this file.
1 #ifndef MeasurementDet_MuonDetLayerMeasurements_H
2 #define MeasurementDet_MuonDetLayerMeasurements_H
3 
20 //#include "TrackingTools/ementDet/interface/TrajectoryMeasurement.h"
27 
30 
31 #include <vector>
32 
33 class DetLayer;
34 class GeomDet;
36 
37 //FIXME: these typedefs MUST GO inside the scope of MuonDetLayerMeasurements
38 typedef std::vector<TrajectoryMeasurement> MeasurementContainer;
39 typedef std::pair<const GeomDet*, TrajectoryStateOnSurface> DetWithState;
40 
42 public:
44 
46  edm::InputTag csclabel,
47  edm::InputTag rpclabel,
48  edm::InputTag gemlabel,
49  edm::InputTag me0label,
51  bool enableDT = true,
52  bool enableCSC = true,
53  bool enableRPC = true,
54  bool enableGEM = true,
55  bool enableME0 = true);
56 
57  virtual ~MuonDetLayerMeasurements();
58 
59  // for a given det and state. Not clear when the fastMeasurements below
60  // should be used, since it isn't passed a GeomDet
62  const GeomDet* det,
63  const TrajectoryStateOnSurface& stateOnDet,
64  const MeasurementEstimator& est,
65  const edm::Event& iEvent);
66 
69  const TrajectoryStateOnSurface& startingState,
70  const Propagator& prop,
71  const MeasurementEstimator& est,
72  const edm::Event& iEvent);
73 
76  const TrajectoryStateOnSurface& theStateOnDet,
77  const TrajectoryStateOnSurface& startingState,
78  const Propagator& prop,
79  const MeasurementEstimator& est,
80  const edm::Event& iEvent);
81 
84  const TrajectoryStateOnSurface& startingState,
85  const Propagator& prop,
86  const MeasurementEstimator& est);
87 
90  const TrajectoryStateOnSurface& theStateOnDet,
91  const TrajectoryStateOnSurface& startingState,
92  const Propagator& prop,
93  const MeasurementEstimator& est);
94 
95  std::vector<TrajectoryMeasurementGroup> groupedMeasurements(const DetLayer* layer,
96  const TrajectoryStateOnSurface& startingState,
97  const Propagator& prop,
98  const MeasurementEstimator& est,
99  const edm::Event& iEvent);
100 
101  std::vector<TrajectoryMeasurementGroup> groupedMeasurements(const DetLayer* layer,
102  const TrajectoryStateOnSurface& startingState,
103  const Propagator& prop,
104  const MeasurementEstimator& est);
105 
106  void setEvent(const edm::Event&);
107 
110 
113 
114 private:
117 
119  void checkEvent() const;
120 
126 
132 
133  // caches that should get filled once per event
139 
140  void checkDTRecHits();
141  void checkCSCRecHits();
142  void checkRPCRecHits();
143  void checkGEMRecHits();
144  void checkME0RecHits();
145 
146  // keeps track of which event the cache holds
152 
154 };
155 #endif
Propagator.h
MuonDetLayerMeasurements::theDTRecHits
edm::Handle< DTRecSegment4DCollection > theDTRecHits
Definition: MuonDetLayerMeasurements.h:134
MeasurementEstimator
Definition: MeasurementEstimator.h:19
MuonDetLayerMeasurements::groupedMeasurements
std::vector< TrajectoryMeasurementGroup > groupedMeasurements(const DetLayer *layer, const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, const edm::Event &iEvent)
Definition: MuonDetLayerMeasurements.cc:377
TrajectoryStateOnSurface.h
MuonDetLayerMeasurements::enableDTMeasurement
bool enableDTMeasurement
Definition: MuonDetLayerMeasurements.h:127
GeomDet
Definition: GeomDet.h:27
MuonDetLayerMeasurements::checkRPCRecHits
void checkRPCRecHits()
Definition: MuonDetLayerMeasurements.cc:222
MuonDetLayerMeasurements::checkGEMRecHits
void checkGEMRecHits()
Definition: MuonDetLayerMeasurements.cc:237
DetLayer
Definition: DetLayer.h:21
MuonDetLayerMeasurements::checkDTRecHits
void checkDTRecHits()
Definition: MuonDetLayerMeasurements.cc:195
MuonDetLayerMeasurements::checkCSCRecHits
void checkCSCRecHits()
Definition: MuonDetLayerMeasurements.cc:207
MuonDetLayerMeasurements::theME0EventCacheID
edm::Event::CacheIdentifier_t theME0EventCacheID
Definition: MuonDetLayerMeasurements.h:151
MuonDetLayerMeasurements::cscToken_
edm::EDGetTokenT< CSCSegmentCollection > cscToken_
Definition: MuonDetLayerMeasurements.h:122
edm::EDGetTokenT< DTRecSegment4DCollection >
MuonDetLayerMeasurements
Definition: MuonDetLayerMeasurements.h:41
ME0SegmentCollection.h
MuonDetLayerMeasurements::enableME0Measurement
bool enableME0Measurement
Definition: MuonDetLayerMeasurements.h:131
MuonTransientTrackingRecHit::MuonRecHitContainer
std::vector< MuonRecHitPointer > MuonRecHitContainer
Definition: MuonTransientTrackingRecHit.h:26
MuonTransientTrackingRecHit.h
DetWithState
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
Definition: MuonDetLayerMeasurements.h:39
edm::Handle< DTRecSegment4DCollection >
TrajectoryMeasurementGroup.h
MeasurementContainer
std::vector< TrajectoryMeasurement > MeasurementContainer
Definition: RPCRecHitFilter.h:55
MuonDetLayerMeasurements::gemToken_
edm::EDGetTokenT< GEMRecHitCollection > gemToken_
Definition: MuonDetLayerMeasurements.h:124
Propagator
Definition: Propagator.h:44
MuonDetLayerMeasurements::theEvent
const edm::Event * theEvent
Definition: MuonDetLayerMeasurements.h:153
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
MuonDetLayerMeasurements::setEvent
void setEvent(const edm::Event &)
set event
Definition: MuonDetLayerMeasurements.cc:410
MuonDetLayerMeasurements::theGEMEventCacheID
edm::Event::CacheIdentifier_t theGEMEventCacheID
Definition: MuonDetLayerMeasurements.h:150
MeasurementEstimator.h
MuonDetLayerMeasurements::enableCSCMeasurement
bool enableCSCMeasurement
Definition: MuonDetLayerMeasurements.h:128
MuonDetLayerMeasurements::enableRPCMeasurement
bool enableRPCMeasurement
Definition: MuonDetLayerMeasurements.h:129
MeasurementContainer
std::vector< TrajectoryMeasurement > MeasurementContainer
Definition: MuonDetLayerMeasurements.h:35
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
RPCRecHitCollection.h
MuonDetLayerMeasurements::theRPCEventCacheID
edm::Event::CacheIdentifier_t theRPCEventCacheID
Definition: MuonDetLayerMeasurements.h:149
edm::Event::CacheIdentifier_t
unsigned long CacheIdentifier_t
Definition: Event.h:117
MuonDetLayerMeasurements::MuonRecHitContainer
MuonTransientTrackingRecHit::MuonRecHitContainer MuonRecHitContainer
Definition: MuonDetLayerMeasurements.h:43
Event.h
MuonDetLayerMeasurements::theME0RecHits
edm::Handle< ME0SegmentCollection > theME0RecHits
Definition: MuonDetLayerMeasurements.h:138
MuonDetLayerMeasurements::theCSCEventCacheID
edm::Event::CacheIdentifier_t theCSCEventCacheID
Definition: MuonDetLayerMeasurements.h:148
iEvent
int iEvent
Definition: GenABIO.cc:224
MuonDetLayerMeasurements::checkEvent
void checkEvent() const
check that the event is set, and throw otherwise
Definition: MuonDetLayerMeasurements.cc:412
GEMRecHitCollection.h
MuonDetLayerMeasurements::MuonDetLayerMeasurements
MuonDetLayerMeasurements(edm::InputTag dtlabel, edm::InputTag csclabel, edm::InputTag rpclabel, edm::InputTag gemlabel, edm::InputTag me0label, edm::ConsumesCollector &iC, bool enableDT=true, bool enableCSC=true, bool enableRPC=true, bool enableGEM=true, bool enableME0=true)
Definition: MuonDetLayerMeasurements.cc:25
MuonDetLayerMeasurements::rpcToken_
edm::EDGetTokenT< RPCRecHitCollection > rpcToken_
Definition: MuonDetLayerMeasurements.h:123
MuonDetLayerMeasurements::recHits
MuonRecHitContainer recHits(const DetLayer *layer, const edm::Event &iEvent)
returns the rechits which are on the layer
Definition: MuonDetLayerMeasurements.cc:417
InputTag.h
MuonDetLayerMeasurements::theDTEventCacheID
edm::Event::CacheIdentifier_t theDTEventCacheID
Definition: MuonDetLayerMeasurements.h:147
MuonDetLayerMeasurements::theRPCRecHits
edm::Handle< RPCRecHitCollection > theRPCRecHits
Definition: MuonDetLayerMeasurements.h:136
MuonDetLayerMeasurements::dtToken_
edm::EDGetTokenT< DTRecSegment4DCollection > dtToken_
Definition: MuonDetLayerMeasurements.h:121
MuonDetLayerMeasurements::theGEMRecHits
edm::Handle< GEMRecHitCollection > theGEMRecHits
Definition: MuonDetLayerMeasurements.h:137
MuonDetLayerMeasurements::theCSCRecHits
edm::Handle< CSCSegmentCollection > theCSCRecHits
Definition: MuonDetLayerMeasurements.h:135
MuonDetLayerMeasurements::measurements
MeasurementContainer measurements(const DetLayer *layer, const GeomDet *det, const TrajectoryStateOnSurface &stateOnDet, const MeasurementEstimator &est, const edm::Event &iEvent)
Definition: MuonDetLayerMeasurements.cc:301
ConsumesCollector.h
MuonDetLayerMeasurements::~MuonDetLayerMeasurements
virtual ~MuonDetLayerMeasurements()
Definition: MuonDetLayerMeasurements.cc:76
edm::Event
Definition: Event.h:73
MuonDetLayerMeasurements::fastMeasurements
MeasurementContainer fastMeasurements(const DetLayer *layer, const TrajectoryStateOnSurface &theStateOnDet, const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, const edm::Event &iEvent)
faster version in case the TrajectoryState on the surface of the GeomDet is already available
Definition: MuonDetLayerMeasurements.cc:336
TrajectoryMeasurement
Definition: TrajectoryMeasurement.h:25
MuonDetLayerMeasurements::me0Token_
edm::EDGetTokenT< ME0SegmentCollection > me0Token_
Definition: MuonDetLayerMeasurements.h:125
MuonDetLayerMeasurements::enableGEMMeasurement
bool enableGEMMeasurement
Definition: MuonDetLayerMeasurements.h:130
edm::InputTag
Definition: InputTag.h:15
MuonDetLayerMeasurements::checkME0RecHits
void checkME0RecHits()
Definition: MuonDetLayerMeasurements.cc:252
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
DTRecSegment4DCollection.h
CSCSegmentCollection.h