RecoVertex
PrimaryVertexProducer
interface
PrimaryVertexProducerAlgorithm.h
Go to the documentation of this file.
1
#ifndef PrimaryVertexProducerAlgorithm_H
3
#define PrimaryVertexProducerAlgorithm_H
4
// -*- C++ -*-
5
//
6
// Package: PrimaryVertexProducerAlgorithm
7
// Class: PrimaryVertexProducerAlgorithm
8
//
16
//
17
// Original Author: Pascal Vanlaer
18
// Created: Tue Feb 28 11:06:34 CET 2006
19
//
20
//
21
22
// system include files
23
#include <memory>
24
25
// user include files
26
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
27
#include "
FWCore/Framework/interface/EDProducer.h
"
28
29
#include "
FWCore/Framework/interface/Event.h
"
30
#include "
FWCore/Framework/interface/EventSetup.h
"
31
32
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
33
#include "
FWCore/Utilities/interface/InputTag.h
"
34
35
#include "
RecoVertex/VertexPrimitives/interface/VertexReconstructor.h
"
36
#include "
TrackingTools/TransientTrack/interface/TransientTrack.h
"
37
#include "
RecoVertex/PrimaryVertexProducer/interface/TrackFilterForPVFindingBase.h
"
38
#include "
RecoVertex/PrimaryVertexProducer/interface/TrackClusterizerInZ.h
"
39
#include "
RecoVertex/PrimaryVertexProducer/interface/DAClusterizerInZ_vect.h
"
40
41
#include "
RecoVertex/PrimaryVertexProducer/interface/TrackFilterForPVFinding.h
"
42
#include "
RecoVertex/PrimaryVertexProducer/interface/HITrackFilterForPVFinding.h
"
43
#include "
RecoVertex/PrimaryVertexProducer/interface/GapClusterizerInZ.h
"
44
#include "
RecoVertex/PrimaryVertexProducer/interface/DAClusterizerInZ.h
"
45
#include "
RecoVertex/KalmanVertexFit/interface/KalmanVertexFitter.h
"
46
#include "
RecoVertex/AdaptiveVertexFit/interface/AdaptiveVertexFitter.h
"
47
//#include "RecoVertex/VertexTools/interface/VertexDistanceXY.h"
48
#include "
RecoVertex/VertexPrimitives/interface/VertexException.h
"
49
#include <algorithm>
50
#include "
RecoVertex/PrimaryVertexProducer/interface/VertexHigherPtSquared.h
"
51
#include "
RecoVertex/VertexTools/interface/VertexCompatibleWithBeam.h
"
52
53
//
54
// class declaration
55
//
56
57
class
PrimaryVertexProducerAlgorithm
:
public
VertexReconstructor
{
58
public
:
59
explicit
PrimaryVertexProducerAlgorithm
(
const
edm::ParameterSet
&);
60
~PrimaryVertexProducerAlgorithm
()
override
;
61
62
// obsolete method
63
std::vector<TransientVertex>
vertices
(
const
std::vector<reco::TransientTrack>&
tracks
)
const override
;
64
65
virtual
std::vector<TransientVertex>
vertices
(
const
std::vector<reco::TransientTrack>&
tracks
,
66
const
reco::BeamSpot
&
beamSpot
,
67
const
std::string
&
label
=
""
)
const
;
70
PrimaryVertexProducerAlgorithm
*
clone
()
const override
{
return
new
PrimaryVertexProducerAlgorithm
(*
this
); }
71
72
// access to config
73
edm::ParameterSet
config
()
const
{
return
theConfig
; }
74
edm::InputTag
trackLabel
;
75
edm::InputTag
beamSpotLabel
;
76
77
private
:
78
using
VertexReconstructor::vertices
;
79
// ----------member data ---------------------------
80
TrackFilterForPVFindingBase
*
theTrackFilter
;
81
TrackClusterizerInZ
*
theTrackClusterizer
;
82
83
// vtx fitting algorithms
84
struct
algo
{
85
VertexFitter<5>
*
fitter
;
86
VertexCompatibleWithBeam
*
vertexSelector
;
87
std::string
label
;
88
bool
useBeamConstraint
;
89
double
minNdof
;
90
};
91
92
std::vector<algo>
algorithms
;
93
94
edm::ParameterSet
theConfig
;
95
bool
fVerbose
;
96
};
97
#endif
TrackFilterForPVFinding.h
PrimaryVertexProducerAlgorithm::algo::fitter
VertexFitter< 5 > * fitter
Definition:
PrimaryVertexProducerAlgorithm.h:85
pwdgSkimBPark_cfi.beamSpot
beamSpot
Definition:
pwdgSkimBPark_cfi.py:5
DAClusterizerInZ_vect.h
EDProducer.h
KalmanVertexFitter.h
PrimaryVertexProducerAlgorithm::algo::vertexSelector
VertexCompatibleWithBeam * vertexSelector
Definition:
PrimaryVertexProducerAlgorithm.h:86
VertexReconstructor.h
VertexCompatibleWithBeam.h
TrackFilterForPVFindingBase.h
TransientTrack.h
TrackClusterizerInZ
Definition:
TrackClusterizerInZ.h:14
PrimaryVertexProducerAlgorithm::clone
PrimaryVertexProducerAlgorithm * clone() const override
Definition:
PrimaryVertexProducerAlgorithm.h:70
VertexFitter< 5 >
PrimaryVertexProducerAlgorithm::~PrimaryVertexProducerAlgorithm
~PrimaryVertexProducerAlgorithm() override
Definition:
PrimaryVertexProducerAlgorithm.cc:105
PrimaryVertexProducerAlgorithm::trackLabel
edm::InputTag trackLabel
Definition:
PrimaryVertexProducerAlgorithm.h:74
DAClusterizerInZ.h
reco::BeamSpot
Definition:
BeamSpot.h:21
PrimaryVertexProducerAlgorithm::theConfig
edm::ParameterSet theConfig
Definition:
PrimaryVertexProducerAlgorithm.h:94
PrimaryVertexProducerAlgorithm::config
edm::ParameterSet config() const
Definition:
PrimaryVertexProducerAlgorithm.h:73
PrimaryVertexProducerAlgorithm::theTrackFilter
TrackFilterForPVFindingBase * theTrackFilter
Definition:
PrimaryVertexProducerAlgorithm.h:80
PrimaryVertexProducerAlgorithm::algo::label
std::string label
Definition:
PrimaryVertexProducerAlgorithm.h:87
edm::ParameterSet
Definition:
ParameterSet.h:47
Event.h
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition:
CAHitNtupletGeneratorKernelsImpl.h:176
VertexReconstructor::vertices
virtual std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &) const =0
PrimaryVertexProducerAlgorithm::algo
Definition:
PrimaryVertexProducerAlgorithm.h:84
VertexCompatibleWithBeam
Definition:
VertexCompatibleWithBeam.h:15
VertexReconstructor
Definition:
VertexReconstructor.h:13
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
InputTag.h
PrimaryVertexProducerAlgorithm::algorithms
std::vector< algo > algorithms
Definition:
PrimaryVertexProducerAlgorithm.h:92
PrimaryVertexProducerAlgorithm::PrimaryVertexProducerAlgorithm
PrimaryVertexProducerAlgorithm(const edm::ParameterSet &)
Definition:
PrimaryVertexProducerAlgorithm.cc:19
PrimaryVertexProducerAlgorithm
Definition:
PrimaryVertexProducerAlgorithm.h:57
Frameworkfwd.h
PrimaryVertexProducerAlgorithm::theTrackClusterizer
TrackClusterizerInZ * theTrackClusterizer
Definition:
PrimaryVertexProducerAlgorithm.h:81
PrimaryVertexProducerAlgorithm::algo::minNdof
double minNdof
Definition:
PrimaryVertexProducerAlgorithm.h:89
EventSetup.h
VertexException.h
PrimaryVertexProducerAlgorithm::fVerbose
bool fVerbose
Definition:
PrimaryVertexProducerAlgorithm.h:95
TrackFilterForPVFindingBase
Definition:
TrackFilterForPVFindingBase.h:14
PrimaryVertexProducerAlgorithm::algo::useBeamConstraint
bool useBeamConstraint
Definition:
PrimaryVertexProducerAlgorithm.h:88
ParameterSet.h
GapClusterizerInZ.h
AdaptiveVertexFitter.h
VertexHigherPtSquared.h
TrackClusterizerInZ.h
PrimaryVertexProducerAlgorithm::vertices
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &tracks) const override
Definition:
PrimaryVertexProducerAlgorithm.cc:123
HITrackFilterForPVFinding.h
PrimaryVertexProducerAlgorithm::beamSpotLabel
edm::InputTag beamSpotLabel
Definition:
PrimaryVertexProducerAlgorithm.h:75
edm::InputTag
Definition:
InputTag.h:15
label
const char * label
Definition:
PFTauDecayModeTools.cc:11
Generated for CMSSW Reference Manual by
1.8.16