CMS 3D CMS Logo

TrajectorySegmentBuilder.h
Go to the documentation of this file.
1 #ifndef TrajectorySegmentBuilder_H
2 #define TrajectorySegmentBuilder_H
3 
4 //B.M. #include "CommonDet/DetUtilities/interface/DetExceptions.h"
7 //B.M.#include "TrackingTools/GeomPropagators/interface/AnalyticalPropagator.h"
13 #include <vector>
14 
16 
19 class Trajectory;
24 class DetGroup;
25 class DetLayer;
26 class TempTrajectory;
27 
32 private:
33  // short names
38  typedef std::vector<Trajectory> TrajectoryContainer;
39  typedef std::vector<TempTrajectory> TempTrajectoryContainer;
42 
43 public:
45  TrajectorySegmentBuilder(const LayerMeasurements* theInputLayerMeasurements,
46  const DetLayer& layer,
47  const Propagator& propagator,
50  bool lockHits,
51  bool bestHitOnly,
52  int maxCand)
53  : theLayerMeasurements(theInputLayerMeasurements),
54  theLayer(layer),
55  theFullPropagator(propagator),
56  theUpdator(updator),
57  theEstimator(estimator),
58  theGeomPropagator(propagator),
59  // theGeomPropagator(propagator.propagationDirection()),
60  theLockHits(lockHits),
61  theBestHitOnly(bestHitOnly),
62  theMaxCand(maxCand) {}
63 
66 
68  //std::vector<Trajectory> segments (const TSOS startingState);
69  TempTrajectoryContainer segments(const TSOS startingState);
70 
71 private:
73  void updateTrajectory(TempTrajectory& traj, TM tm) const;
74 
76  void updateCandidates(TempTrajectory const& traj,
77  const std::vector<TM>& measurements,
78  TempTrajectoryContainer& candidates);
79 
81  void updateCandidatesWithBestHit(TempTrajectory const& traj, TM measurements, TempTrajectoryContainer& candidates);
82 
84  std::vector<TrajectoryMeasurement> redoMeasurements(const TempTrajectory& traj, const DetGroup& detGroup) const;
85 
87  std::vector<TrajectoryMeasurement> unlockedMeasurements(const std::vector<TM>& measurements) const;
88 
90  void lockMeasurement(const TM& measurement);
91 
93  //B.M to be ported later
94  void cleanCandidates(std::vector<TempTrajectory>& candidates) const;
95 
96  // public:
97 
98  std::vector<TempTrajectory> addGroup(TempTrajectory const& traj,
99  std::vector<TrajectoryMeasurementGroup>::const_iterator begin,
100  std::vector<TrajectoryMeasurementGroup>::const_iterator end);
101 
102  void updateWithInvalidHit(TempTrajectory& traj,
103  const std::vector<TMG>& groups,
104  TempTrajectoryContainer& candidates) const;
105 
106 private:
112  // AnalyticalPropagator theGeomPropagator;
114 
119 
120  bool theDbgFlg;
121 };
122 
123 #endif
Propagator.h
MeasurementEstimator
Definition: MeasurementEstimator.h:19
TrajectoryStateOnSurface.h
Visibility.h
TrajectorySegmentBuilder::theLockedHits
ConstRecHitContainer theLockedHits
Definition: TrajectorySegmentBuilder.h:118
MeasurementTrackerEvent.h
FreeTrajectoryState.h
DetLayer
Definition: DetLayer.h:21
TrajectorySegmentBuilder::TM
TrajectoryMeasurement TM
Definition: TrajectorySegmentBuilder.h:36
TempTrajectory
Definition: TempTrajectory.h:40
TrajectorySegmentBuilder::theFullPropagator
const Propagator & theFullPropagator
Definition: TrajectorySegmentBuilder.h:109
TransientTrackingRecHit.h
TrajectorySegmentBuilder::TSOS
TrajectoryStateOnSurface TSOS
Definition: TrajectorySegmentBuilder.h:35
Propagator
Definition: Propagator.h:44
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
LayerMeasurements
Definition: LayerMeasurements.h:18
PVValHelper::estimator
estimator
Definition: PVValidationHelpers.h:44
TrajectorySegmentBuilder::ConstRecHitPointer
TransientTrackingRecHit::ConstRecHitPointer ConstRecHitPointer
Definition: TrajectorySegmentBuilder.h:41
TrackCandidateProducer_cfi.propagator
propagator
Definition: TrackCandidateProducer_cfi.py:17
TrajectorySegmentBuilder::theLayer
const DetLayer & theLayer
Definition: TrajectorySegmentBuilder.h:108
LayerMeasurements.h
TrajectorySegmentBuilder::ConstRecHitContainer
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
Definition: TrajectorySegmentBuilder.h:40
mps_fire.end
end
Definition: mps_fire.py:242
HLT_FULL_cff.lockHits
lockHits
Definition: HLT_FULL_cff.py:166
HLT_FULL_cff.maxCand
maxCand
Definition: HLT_FULL_cff.py:119
TrajectorySegmentBuilder::~TrajectorySegmentBuilder
~TrajectorySegmentBuilder()
destructor
Definition: TrajectorySegmentBuilder.h:65
TrajectorySegmentBuilder::theUpdator
const TrajectoryStateUpdator & theUpdator
Definition: TrajectorySegmentBuilder.h:110
HLT_FULL_cff.updator
updator
Definition: HLT_FULL_cff.py:123
TrackingRecHit::ConstRecHitContainer
std::vector< ConstRecHitPointer > ConstRecHitContainer
Definition: TrackingRecHit.h:32
dso_internal
#define dso_internal
Definition: Visibility.h:13
TrajectorySegmentBuilder::theLockHits
bool theLockHits
Definition: TrajectorySegmentBuilder.h:115
TrajectorySegmentBuilder::theMaxCand
int theMaxCand
Definition: TrajectorySegmentBuilder.h:117
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
TrajectorySegmentBuilder::TempTrajectoryContainer
std::vector< TempTrajectory > TempTrajectoryContainer
Definition: TrajectorySegmentBuilder.h:39
TrajectorySegmentBuilder
Definition: TrajectorySegmentBuilder.h:31
TrajectorySegmentBuilder::TrajectorySegmentBuilder
TrajectorySegmentBuilder(const LayerMeasurements *theInputLayerMeasurements, const DetLayer &layer, const Propagator &propagator, const TrajectoryStateUpdator &updator, const MeasurementEstimator &estimator, bool lockHits, bool bestHitOnly, int maxCand)
constructor from layer and helper objects
Definition: TrajectorySegmentBuilder.h:45
TrajectorySegmentBuilder::TrajectoryContainer
std::vector< Trajectory > TrajectoryContainer
Definition: TrajectorySegmentBuilder.h:38
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
Trajectory
Definition: Trajectory.h:38
TrajectorySegmentBuilder::TMG
TrajectoryMeasurementGroup TMG
Definition: TrajectorySegmentBuilder.h:37
HLT_FULL_cff.candidates
candidates
Definition: HLT_FULL_cff.py:54985
TrajectoryMeasurementGroup
Definition: TrajectoryMeasurementGroup.h:17
TrajectorySegmentBuilder::theEstimator
const MeasurementEstimator & theEstimator
Definition: TrajectorySegmentBuilder.h:111
TrajectorySegmentBuilder::theLayerMeasurements
const LayerMeasurements * theLayerMeasurements
Definition: TrajectorySegmentBuilder.h:107
DetGroup
Definition: DetGroup.h:41
TrajectorySegmentBuilder::theBestHitOnly
bool theBestHitOnly
Definition: TrajectorySegmentBuilder.h:116
TrajectoryStateUpdator
Definition: TrajectoryStateUpdator.h:14
TrajectorySegmentBuilder::FTS
FreeTrajectoryState FTS
Definition: TrajectorySegmentBuilder.h:34
TrajectoryMeasurement
Definition: TrajectoryMeasurement.h:25
HLT_FULL_cff.bestHitOnly
bestHitOnly
Definition: HLT_FULL_cff.py:175
TrajectorySegmentBuilder::theDbgFlg
bool theDbgFlg
Definition: TrajectorySegmentBuilder.h:120
TrajectorySegmentBuilder::theGeomPropagator
const Propagator & theGeomPropagator
Definition: TrajectorySegmentBuilder.h:113
MeasurementTracker.h