CMS 3D CMS Logo

MultiGaussianStateAssembler.h
Go to the documentation of this file.
1 #ifndef MultiGaussianStateAssembler_h_
2 #define MultiGaussianStateAssembler_h_
3 
6 
7 #include <vector>
8 
13 template <unsigned int N>
15 private:
20 
21 public:
22  //
23  // constructors
24  //
25  MultiGaussianStateAssembler() = default;
26 
30  void addState(const MultiState& state);
31  void addState(const SingleStatePtr& state);
32 
40  MultiState combinedState(const float weight);
41 
42 private:
47 
51  bool prepareCombinedState();
52 
57  MultiState reweightedCombinedState(const double) const;
58 
62  void removeSmallWeights();
63 
64 private:
65  double minFractionalWeight = 1.e-16;
66 
67  bool combinationDone = false;
68 
69  double theValidWeightSum = 0;
71 };
72 
73 #include "TrackingTools/GsfTools/interface/MultiGaussianStateAssembler.icc"
74 
75 #endif
MultiGaussianStateAssembler::addState
void addState(const MultiState &state)
MultiGaussianStateAssembler::combinationDone
bool combinationDone
Definition: MultiGaussianStateAssembler.h:67
MultiGaussianStateAssembler::addStateVector
void addStateVector(const SingleStateContainer &)
MultiGaussianStateAssembler
Definition: MultiGaussianStateAssembler.h:14
MultiGaussianState.h
MultiGaussianStateAssembler::MultiGaussianStateAssembler
MultiGaussianStateAssembler()=default
MultiGaussianStateAssembler::reweightedCombinedState
MultiState reweightedCombinedState(const double) const
MultiGaussianState
Mixture of multi-variate gaussian states.
Definition: MultiGaussianState.h:18
MultiGaussianStateAssembler::SingleStatePtr
MultiGaussianState< N >::SingleStatePtr SingleStatePtr
Definition: MultiGaussianStateAssembler.h:18
MultiGaussianStateAssembler::combinedState
MultiState combinedState()
MultiGaussianStateAssembler::theStates
SingleStateContainer theStates
Definition: MultiGaussianStateAssembler.h:70
SingleGaussianState
Definition: SingleGaussianState.h:14
MultiGaussianState::SingleStatePtr
std::shared_ptr< SingleState > SingleStatePtr
Definition: MultiGaussianState.h:23
MultiGaussianStateAssembler::theValidWeightSum
double theValidWeightSum
Definition: MultiGaussianStateAssembler.h:69
MultiGaussianStateAssembler::SingleStateContainer
MultiGaussianState< N >::SingleStateContainer SingleStateContainer
Definition: MultiGaussianStateAssembler.h:19
MultiGaussianStateAssembler::prepareCombinedState
bool prepareCombinedState()
MultiGaussianStateAssembler::MultiState
MultiGaussianState< N > MultiState
Definition: MultiGaussianStateAssembler.h:17
MultiGaussianStateAssembler::removeSmallWeights
void removeSmallWeights()
MultiGaussianState::SingleStateContainer
std::vector< SingleStatePtr > SingleStateContainer
Definition: MultiGaussianState.h:25
MultiGaussianStateAssembler::SingleState
SingleGaussianState< N > SingleState
Definition: MultiGaussianStateAssembler.h:16
SingleGaussianState.h
weight
Definition: weight.py:1
MultiGaussianStateAssembler::minFractionalWeight
double minFractionalWeight
Definition: MultiGaussianStateAssembler.h:65