CMS 3D CMS Logo

SiTrackerMultiRecHitUpdator.h
Go to the documentation of this file.
1 
9 #ifndef SiTrackerMultiRecHitUpdator_h
10 #define SiTrackerMultiRecHitUpdator_h
11 
17 
18 #include <vector>
19 
22 class TrackingRecHit;
24 class LocalError;
26 
28 public:
29  typedef std::pair<LocalPoint, LocalError> LocalParameters;
31  const TrackingRecHitPropagator* hitpropagator,
32  const float Chi2Cut1D,
33  const float Chi2Cut2D,
34  const std::vector<double>& anAnnealingProgram,
35  bool debug);
37 
38  //calls the update method in order to build a SiTrackerMultiRecHit
39  virtual TransientTrackingRecHit::RecHitPointer buildMultiRecHit(const std::vector<const TrackingRecHit*>& rhv,
40  const TrajectoryStateOnSurface& tsos,
41  MeasurementDetWithData& measDet,
42  float annealing = 1.) const;
43 
44  //updates an existing SiTrackerMultiRecHit
45  //in case a different kind of rechit is passed it returns clone(tsos)
47  const TrajectoryStateOnSurface& tsos,
48  MeasurementDetWithData& measDet,
49  double annealing = 1.) const;
50 
51  //returns a SiTrackerMultiRecHit out of the transient components
53  const TrajectoryStateOnSurface& tsos,
54  MeasurementDetWithData& measDet,
55  double annealing = 1.) const;
56 
57  //computes weights or the cut-off value (depending on CutWeight variable)
58  double ComputeWeight(const TrajectoryStateOnSurface& tsos,
59  const TransientTrackingRecHit& aRecHit,
60  bool CutWeight,
61  double annealing = 1.) const;
62  template <unsigned int N>
63  double ComputeWeight(const TrajectoryStateOnSurface& tsos,
64  const TransientTrackingRecHit& aRecHit,
65  bool CutWeight,
66  double annealing = 1.) const;
67 
68  const std::vector<double>& annealingProgram() const { return theAnnealingProgram; }
69  const std::vector<double>& getAnnealingProgram() const { return theAnnealingProgram; }
70 
72 
73 private:
74  //computes parameters for 1 dim or 2 dim hits
76  std::vector<std::pair<const TrackingRecHit*, float> >& aHitMap) const;
77  template <unsigned int N>
79  std::vector<std::pair<const TrackingRecHit*, float> >& aHitMap) const;
80  bool TIDorTEChit(const TrackingRecHit* const& hit) const;
81 
84  double theChi2Cut1D;
85  double theChi2Cut2D;
86  const std::vector<double> theAnnealingProgram;
88  bool debug_;
89 };
90 #endif
SiTrackerMultiRecHitUpdator::ComputeWeight
double ComputeWeight(const TrajectoryStateOnSurface &tsos, const TransientTrackingRecHit &aRecHit, bool CutWeight, double annealing=1.) const
Definition: SiTrackerMultiRecHitUpdator.cc:193
SiTrackerMultiRecHitUpdator::calcParameters
LocalParameters calcParameters(const TrajectoryStateOnSurface &tsos, std::vector< std::pair< const TrackingRecHit *, float > > &aHitMap) const
Definition: SiTrackerMultiRecHitUpdator.cc:298
TransientTrackingRecHit.h
TrackingRecHit::RecHitPointer
std::shared_ptr< TrackingRecHit const > RecHitPointer
Definition: TrackingRecHit.h:24
SiTrackerMultiRecHitUpdator::theHitCloner
TkClonerImpl theHitCloner
Definition: SiTrackerMultiRecHitUpdator.h:87
SiTrackerMultiRecHitUpdator::SiTrackerMultiRecHitUpdator
SiTrackerMultiRecHitUpdator(const TransientTrackingRecHitBuilder *builder, const TrackingRecHitPropagator *hitpropagator, const float Chi2Cut1D, const float Chi2Cut2D, const std::vector< double > &anAnnealingProgram, bool debug)
Definition: SiTrackerMultiRecHitUpdator.cc:17
SiTrackerMultiRecHitUpdator
Definition: SiTrackerMultiRecHitUpdator.h:27
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
SiTrackerMultiRecHitUpdator::getBuilder
const TransientTrackingRecHitBuilder * getBuilder() const
Definition: SiTrackerMultiRecHitUpdator.h:71
debug
#define debug
Definition: HDRShower.cc:19
SiTrackerMultiRecHitUpdator::theAnnealingProgram
const std::vector< double > theAnnealingProgram
Definition: SiTrackerMultiRecHitUpdator.h:86
SiTrackerMultiRecHitUpdator::update
virtual TransientTrackingRecHit::RecHitPointer update(TransientTrackingRecHit::ConstRecHitPointer original, const TrajectoryStateOnSurface &tsos, MeasurementDetWithData &measDet, double annealing=1.) const
Definition: SiTrackerMultiRecHitUpdator.cc:49
MeasurementDetWithData.h
SiTrackerMultiRecHitUpdator::theHitPropagator
const TrackingRecHitPropagator * theHitPropagator
Definition: SiTrackerMultiRecHitUpdator.h:83
SiTrackerMultiRecHitUpdator::buildMultiRecHit
virtual TransientTrackingRecHit::RecHitPointer buildMultiRecHit(const std::vector< const TrackingRecHit * > &rhv, const TrajectoryStateOnSurface &tsos, MeasurementDetWithData &measDet, float annealing=1.) const
Definition: SiTrackerMultiRecHitUpdator.cc:32
TrackingRecHitPropagator
Definition: TrackingRecHitPropagator.h:21
TrackingRecHit::ConstRecHitContainer
std::vector< ConstRecHitPointer > ConstRecHitContainer
Definition: TrackingRecHit.h:32
LocalError
Definition: LocalError.h:12
definitions.original
original
Definition: definitions.py:57
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
SiTrackerMultiRecHitUpdator::theChi2Cut2D
double theChi2Cut2D
Definition: SiTrackerMultiRecHitUpdator.h:85
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
SiTrackerMultiRecHitUpdator::getAnnealingProgram
const std::vector< double > & getAnnealingProgram() const
Definition: SiTrackerMultiRecHitUpdator.h:69
TkClonerImpl.h
SiTrackerMultiRecHitUpdator::debug_
bool debug_
Definition: SiTrackerMultiRecHitUpdator.h:88
SiTrackerMultiRecHitUpdator::theBuilder
const TransientTrackingRecHitBuilder * theBuilder
Definition: SiTrackerMultiRecHitUpdator.h:82
TrackingRecHit
Definition: TrackingRecHit.h:21
SiTrackerMultiRecHitUpdator::TIDorTEChit
bool TIDorTEChit(const TrackingRecHit *const &hit) const
Definition: SiTrackerMultiRecHitUpdator.cc:387
SiTrackerMultiRecHitUpdator::theChi2Cut1D
double theChi2Cut1D
Definition: SiTrackerMultiRecHitUpdator.h:84
TkClonerImpl
Definition: TkClonerImpl.h:12
MeasurementDetWithData
Definition: MeasurementDetWithData.h:6
LocalPoint.h
SiTrackerMultiRecHitUpdator::annealingProgram
const std::vector< double > & annealingProgram() const
Definition: SiTrackerMultiRecHitUpdator.h:68
SiTrackerMultiRecHitUpdator::~SiTrackerMultiRecHitUpdator
virtual ~SiTrackerMultiRecHitUpdator()
Definition: SiTrackerMultiRecHitUpdator.h:36
TransientTrackingRecHitBuilder.h
SiTrackerMultiRecHitUpdator::LocalParameters
std::pair< LocalPoint, LocalError > LocalParameters
Definition: SiTrackerMultiRecHitUpdator.h:29
TransientTrackingRecHitBuilder
Definition: TransientTrackingRecHitBuilder.h:6
SiTrackerMultiRecHit
Definition: SiTrackerMultiRecHit.h:13
hit
Definition: SiStripHitEffFromCalibTree.cc:88