CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
MultiTrajectoryStateAssembler.h
Go to the documentation of this file.
1 #ifndef _TrackerReco_MultiTrajectoryStateAssembler_h_
2 #define _TrackerReco_MultiTrajectoryStateAssembler_h_
3 
4 // #include "Utilities/Notification/interface/TimingReport.h"
6 #include <vector>
7 // #include <map>
8 
14 
15 private:
17  typedef std::vector<TrajectoryStateOnSurface> MultiTSOS;
18 
19 public:
20  //
21  // constructors
22  //
24 
29 
31  void addInvalidState (const double);
32 
41 
42 
43 private:
47  void addStateVector (const MultiTSOS&);
49  inline bool invalidCombinedState () const
50  {
51  //
52  // Protect against empty combination (no valid input state)
53  //
54  return theStates.empty();
55  }
57  bool prepareCombinedState();
65  void removeSmallWeights ();
67  void removeWrongPz ();
68 
69 private:
70  bool sortStates;
73 
75  bool thePzError;
76 
80 
81 // static TimingReport::Item * theTimerAdd;
82 // static TimingReport::Item * theTimerComb;
83 
84 };
85 
86 #endif
void addState(const TrajectoryStateOnSurface)
void removeWrongPz()
Removes states with local p_z != average p_z.
void addInvalidState(const double)
Adds (the weight of an) invalid state to the list.
TrajectoryStateOnSurface reweightedCombinedState(const double) const
std::vector< TrajectoryStateOnSurface > MultiTSOS
bool prepareCombinedState()
Preparation of combined state (cleaning &amp; sorting)
bool invalidCombinedState() const
Checks status of combined state.