CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiTrackerMultiRecHitUpdator.h
Go to the documentation of this file.
1 
9 #ifndef SiTrackerMultiRecHitUpdator_h
10 #define SiTrackerMultiRecHitUpdator_h
11 
16 
17 #include <vector>
18 
21 class TrackingRecHit;
23 class LocalError;
25 
26 
28 
29 public:
30 
31  typedef std::pair<LocalPoint,LocalError> LocalParameters;
33  const TrackingRecHitPropagator* hitpropagator,
34  const float Chi2Cut,
35  const std::vector<double>& anAnnealingProgram, 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  float annealing=1.) const;
42 
43  //updates an existing SiTrackerMultiRecHit
44  //in case a different kind of rechit is passed it returns clone(tsos)
46  const TrajectoryStateOnSurface& tsos,
47  double annealing=1.) const;
48 
49  //returns a SiTrackerMultiRecHit out of the transient components
51  const TrajectoryStateOnSurface& tsos,
52  double annealing=1.) const;
53 
54  //computes weights or the cut-off value (depending on CutWeight variable)
55  double ComputeWeight(const TrajectoryStateOnSurface& tsos, const TransientTrackingRecHit& aRecHit,
56  bool CutWeight, double annealing=1.) const;
57  template <unsigned int N> double ComputeWeight(const TrajectoryStateOnSurface& tsos,
58  const TransientTrackingRecHit& aRecHit,
59  bool CutWeight, double annealing=1.) const;
60 
61  //computes parameters for 2 dim hits
62  std::pair<AlgebraicVector2,AlgebraicSymMatrix22> ComputeParameters2dim(const TrajectoryStateOnSurface& tsos,
63  const TransientTrackingRecHit& aRecHit) const;
64  template <unsigned int N> std::pair<AlgebraicVector2,AlgebraicSymMatrix22> ComputeParameters2dim (const TrajectoryStateOnSurface& tsos,
65  const TransientTrackingRecHit& aRecHit ) const;
66 
67  const std::vector<double>& annealingProgram() const {return theAnnealingProgram;}
68  const std::vector<double>& getAnnealingProgram() const {return theAnnealingProgram;}
69 
70 
71 private:
72  //Obsolete methods
73  //LocalError calcParametersError(TransientTrackingRecHit::ConstRecHitContainer& map) const;
74  //LocalPoint calcParameters(TransientTrackingRecHit::ConstRecHitContainer& map, const LocalError& er) const;
75 
77  std::vector<std::pair<const TrackingRecHit*, float> >& aHitMap) const;
78 
81  double theChi2Cut;
82  const std::vector<double> theAnnealingProgram;
84  bool debug_;
85 
86 };
87 #endif
std::pair< AlgebraicVector2, AlgebraicSymMatrix22 > ComputeParameters2dim(const TrajectoryStateOnSurface &tsos, const TransientTrackingRecHit &aRecHit) const
virtual TransientTrackingRecHit::RecHitPointer update(TransientTrackingRecHit::ConstRecHitPointer original, const TrajectoryStateOnSurface &tsos, double annealing=1.) const
const std::vector< double > theAnnealingProgram
list original
Definition: definitions.py:57
double ComputeWeight(const TrajectoryStateOnSurface &tsos, const TransientTrackingRecHit &aRecHit, bool CutWeight, double annealing=1.) const
std::pair< LocalPoint, LocalError > LocalParameters
const TrackingRecHitPropagator * theHitPropagator
const std::vector< double > & getAnnealingProgram() const
virtual TransientTrackingRecHit::RecHitPointer buildMultiRecHit(const std::vector< const TrackingRecHit * > &rhv, const TrajectoryStateOnSurface &tsos, float annealing=1.) const
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
const TransientTrackingRecHitBuilder * theBuilder
SiTrackerMultiRecHitUpdator(const TransientTrackingRecHitBuilder *builder, const TrackingRecHitPropagator *hitpropagator, const float Chi2Cut, const std::vector< double > &anAnnealingProgram, bool debug)
std::shared_ptr< TrackingRecHit const > RecHitPointer
std::vector< ConstRecHitPointer > ConstRecHitContainer
#define debug
Definition: HDRShower.cc:19
const std::vector< double > & annealingProgram() const
LocalParameters calcParameters(const TrajectoryStateOnSurface &tsos, std::vector< std::pair< const TrackingRecHit *, float > > &aHitMap) const