CMS 3D CMS Logo

MTDDetLayerMeasurements.h
Go to the documentation of this file.
1 #ifndef RecoMTD_MeasurementDet_MTDDetLayerMeasurements_H
2 #define RecoMTD_MeasurementDet_MTDDetLayerMeasurements_H
3 
20 
23 
24 #include <vector>
25 
26 class DetLayer;
27 class GeomDet;
29 
31 public:
32  typedef std::vector<TrajectoryMeasurement> MeasurementContainer;
33  typedef std::pair<const GeomDet*, TrajectoryStateOnSurface> DetWithState;
34  typedef std::vector<GenericTransientTrackingRecHit::RecHitPointer> MTDRecHitContainer;
35 
37 
38  virtual ~MTDDetLayerMeasurements();
39 
40  // for a given det and state. Not clear when the fastMeasurements below
41  // should be used, since it isn't passed a GeomDet
43  const GeomDet* det,
44  const TrajectoryStateOnSurface& stateOnDet,
45  const MeasurementEstimator& est,
46  const edm::Event& iEvent);
47 
50  const TrajectoryStateOnSurface& startingState,
51  const Propagator& prop,
52  const MeasurementEstimator& est,
53  const edm::Event& iEvent);
54 
57  const TrajectoryStateOnSurface& theStateOnDet,
58  const TrajectoryStateOnSurface& startingState,
59  const Propagator& prop,
60  const MeasurementEstimator& est,
61  const edm::Event& iEvent);
62 
65  const TrajectoryStateOnSurface& startingState,
66  const Propagator& prop,
67  const MeasurementEstimator& est);
68 
71  const TrajectoryStateOnSurface& theStateOnDet,
72  const TrajectoryStateOnSurface& startingState,
73  const Propagator& prop,
74  const MeasurementEstimator& est);
75 
76  std::vector<TrajectoryMeasurementGroup> groupedMeasurements(const DetLayer* layer,
77  const TrajectoryStateOnSurface& startingState,
78  const Propagator& prop,
79  const MeasurementEstimator& est,
80  const edm::Event& iEvent);
81 
82  std::vector<TrajectoryMeasurementGroup> groupedMeasurements(const DetLayer* layer,
83  const TrajectoryStateOnSurface& startingState,
84  const Propagator& prop,
85  const MeasurementEstimator& est);
86 
87  void setEvent(const edm::Event&);
88 
91 
94 
95 private:
98 
100  void checkEvent() const;
101 
102  // sort functions for containers provided by measurements methods
103  template <class T>
104  T sortResult(T&);
105 
107 
108  // caches that should get filled once per event
110 
111  void checkMTDRecHits();
112 
113  // keeps track of which event the cache holds
115 
117 };
118 #endif
Propagator.h
MeasurementEstimator
Definition: MeasurementEstimator.h:19
TrajectoryStateOnSurface.h
GeomDet
Definition: GeomDet.h:27
MTDDetLayerMeasurements
Definition: MTDDetLayerMeasurements.h:30
DetLayer
Definition: DetLayer.h:21
edm::EDGetTokenT< MTDTrackingRecHit >
MTDDetLayerMeasurements::~MTDDetLayerMeasurements
virtual ~MTDDetLayerMeasurements()
Definition: MTDDetLayerMeasurements.cc:28
TransientTrackingRecHit.h
MTDDetLayerMeasurements::groupedMeasurements
std::vector< TrajectoryMeasurementGroup > groupedMeasurements(const DetLayer *layer, const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, const edm::Event &iEvent)
Definition: MTDDetLayerMeasurements.cc:161
MTDDetLayerMeasurements::DetWithState
std::pair< const GeomDet *, TrajectoryStateOnSurface > DetWithState
Definition: MTDDetLayerMeasurements.h:33
edm::Handle
Definition: AssociativeIterator.h:50
TrajectoryMeasurementGroup.h
Propagator
Definition: Propagator.h:44
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
MTDDetLayerMeasurements::setEvent
void setEvent(const edm::Event &)
set event
Definition: MTDDetLayerMeasurements.cc:187
MeasurementEstimator.h
MTDDetLayerMeasurements::recHits
MTDRecHitContainer recHits(const DetLayer *layer, const edm::Event &iEvent)
returns the rechits which are on the layer
Definition: MTDDetLayerMeasurements.cc:194
MTDDetLayerMeasurements::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: MTDDetLayerMeasurements.cc:124
MTDDetLayerMeasurements::checkEvent
void checkEvent() const
check that the event is set, and throw otherwise
Definition: MTDDetLayerMeasurements.cc:189
MTDDetLayerMeasurements::MeasurementContainer
std::vector< TrajectoryMeasurement > MeasurementContainer
Definition: MTDDetLayerMeasurements.h:32
MTDTrackingRecHit.h
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
edm::Event::CacheIdentifier_t
unsigned long CacheIdentifier_t
Definition: Event.h:117
Event.h
MTDDetLayerMeasurements::MTDDetLayerMeasurements
MTDDetLayerMeasurements(const edm::InputTag &mtdlabel, edm::ConsumesCollector &iC)
Definition: MTDDetLayerMeasurements.cc:22
MTDDetLayerMeasurements::checkMTDRecHits
void checkMTDRecHits()
Definition: MTDDetLayerMeasurements.cc:50
MTDDetLayerMeasurements::measurements
MeasurementContainer measurements(const DetLayer *layer, const GeomDet *det, const TrajectoryStateOnSurface &stateOnDet, const MeasurementEstimator &est, const edm::Event &iEvent)
Definition: MTDDetLayerMeasurements.cc:102
iEvent
int iEvent
Definition: GenABIO.cc:224
GenericTransientTrackingRecHit.h
InputTag.h
T
long double T
Definition: Basic3DVectorLD.h:48
MTDDetLayerMeasurements::MTDRecHitContainer
std::vector< GenericTransientTrackingRecHit::RecHitPointer > MTDRecHitContainer
Definition: MTDDetLayerMeasurements.h:34
MTDDetLayerMeasurements::theMTDToken
edm::EDGetTokenT< MTDTrackingRecHit > theMTDToken
Definition: MTDDetLayerMeasurements.h:106
MTDDetLayerMeasurements::theMTDEventCacheID
edm::Event::CacheIdentifier_t theMTDEventCacheID
Definition: MTDDetLayerMeasurements.h:114
MTDDetLayerMeasurements::sortResult
T sortResult(T &)
Definition: MTDDetLayerMeasurements.cc:67
ConsumesCollector.h
MTDDetLayerMeasurements::theMTDRecHits
edm::Handle< edmNew::DetSetVector< MTDTrackingRecHit > > theMTDRecHits
Definition: MTDDetLayerMeasurements.h:109
edm::Event
Definition: Event.h:73
TrajectoryMeasurement
Definition: TrajectoryMeasurement.h:25
edm::InputTag
Definition: InputTag.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
MTDDetLayerMeasurements::theEvent
const edm::Event * theEvent
Definition: MTDDetLayerMeasurements.h:116