CMS 3D CMS Logo

AdaptiveVertexReconstructor.h
Go to the documentation of this file.
1 #ifndef _AdaptiveVertexReconstructor_H_
2 #define _AdaptiveVertexReconstructor_H_
3 
7 #include <set>
8 
10 public:
11  /***
12  *
13  * \paramname primcut sigma_cut for the first iteration
14  * (primary vertex)
15  * \paramname seccut sigma_cut for all subsequent vertex fits.
16  * \paramname minweight the minimum weight for a track to
17  * stay in a fitted vertex
18  * \paramname smoothing perform track smoothing?
19  */
20  AdaptiveVertexReconstructor(float primcut = 2.0, float seccut = 6.0, float minweight = 0.5, bool smoothing = false);
21 
23 
32 
33  std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &v) const override;
34 
35  std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &,
36  const reco::BeamSpot &) const override;
37 
38  std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &primaries,
39  const std::vector<reco::TransientTrack> &tracks,
40  const reco::BeamSpot &) const override;
41 
42  AdaptiveVertexReconstructor *clone() const override { return new AdaptiveVertexReconstructor(*this); }
43 
44 private:
48  std::vector<TransientVertex> vertices(const std::vector<reco::TransientTrack> &primaries,
49  const std::vector<reco::TransientTrack> &trks,
50  const reco::BeamSpot &,
51  bool has_primaries,
52  bool usespot) const;
53 
58  void erase(const TransientVertex &newvtx, std::set<reco::TransientTrack> &remainingtrks, float w) const;
59 
64  std::vector<TransientVertex> cleanUpVertices(const std::vector<TransientVertex> &) const;
65 
68  void setupFitters(float primcut, float primT, float primr, float seccut, float secT, float secr, bool smoothing);
69 
70  TransientVertex cleanUp(const TransientVertex &old) const;
71 
72 private:
73  AdaptiveVertexFitter *thePrimaryFitter; // one fitter for the primaries ...
74  AdaptiveVertexFitter *theSecondaryFitter; // ... and one for the rest.
75 
76  // the minimum weight for a track to stay in a vertex.
77  float theMinWeight;
78  // the minimum weight for a track to be considered "significant".
79  float theWeightThreshold;
80 };
81 
82 #endif
AdaptiveVertexFitter
Definition: AdaptiveVertexFitter.h:29
AdaptiveVertexReconstructor::~AdaptiveVertexReconstructor
~AdaptiveVertexReconstructor() override
Definition: AdaptiveVertexReconstructor.cc:76
AdaptiveVertexReconstructor::clone
AdaptiveVertexReconstructor * clone() const override
Definition: AdaptiveVertexReconstructor.h:41
HLT_FULL_cff.minweight
minweight
Definition: HLT_FULL_cff.py:52057
VertexReconstructor.h
AdaptiveVertexReconstructor::theWeightThreshold
float theWeightThreshold
Definition: AdaptiveVertexReconstructor.h:78
findQualityFiles.v
v
Definition: findQualityFiles.py:179
HLT_FULL_cff.primcut
primcut
Definition: HLT_FULL_cff.py:51972
alignCSCRings.s
s
Definition: alignCSCRings.py:92
AdaptiveVertexReconstructor
Definition: AdaptiveVertexReconstructor.h:9
w
const double w
Definition: UKUtility.cc:23
reco::BeamSpot
Definition: BeamSpot.h:21
AdaptiveVertexReconstructor::thePrimaryFitter
AdaptiveVertexFitter * thePrimaryFitter
Definition: AdaptiveVertexReconstructor.h:72
edm::ParameterSet
Definition: ParameterSet.h:47
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:176
TransientVertex
Definition: TransientVertex.h:18
VertexReconstructor
Definition: VertexReconstructor.h:13
AdaptiveVertexReconstructor::theMinWeight
float theMinWeight
Definition: AdaptiveVertexReconstructor.h:76
AdaptiveVertexReconstructor::cleanUp
TransientVertex cleanUp(const TransientVertex &old) const
Definition: AdaptiveVertexReconstructor.cc:11
HLT_FULL_cff.smoothing
smoothing
Definition: HLT_FULL_cff.py:51975
AdaptiveVertexReconstructor::setupFitters
void setupFitters(float primcut, float primT, float primr, float seccut, float secT, float secr, bool smoothing)
Definition: AdaptiveVertexReconstructor.cc:83
AdaptiveVertexReconstructor::theSecondaryFitter
AdaptiveVertexFitter * theSecondaryFitter
Definition: AdaptiveVertexReconstructor.h:73
AdaptiveVertexReconstructor::erase
void erase(const TransientVertex &newvtx, std::set< reco::TransientTrack > &remainingtrks, float w) const
Definition: AdaptiveVertexReconstructor.cc:55
hltEgammaHLTExtra_cfi.trks
trks
Definition: hltEgammaHLTExtra_cfi.py:43
AdaptiveVertexReconstructor::AdaptiveVertexReconstructor
AdaptiveVertexReconstructor(float primcut=2.0, float seccut=6.0, float minweight=0.5, bool smoothing=false)
Definition: AdaptiveVertexReconstructor.cc:71
AdaptiveVertexReconstructor::vertices
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &v) const override
Definition: AdaptiveVertexReconstructor.cc:160
ParameterSet.h
AdaptiveVertexReconstructor::cleanUpVertices
std::vector< TransientVertex > cleanUpVertices(const std::vector< TransientVertex > &) const
Definition: AdaptiveVertexReconstructor.cc:235
HLT_FULL_cff.seccut
seccut
Definition: HLT_FULL_cff.py:51973
AdaptiveVertexFitter.h