Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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
PrimaryVertexProducerAlgorithm::fVerbose
bool fVerbose
Definition:
PrimaryVertexProducerAlgorithm.h:95
PrimaryVertexProducerAlgorithm::theTrackClusterizer
TrackClusterizerInZ * theTrackClusterizer
Definition:
PrimaryVertexProducerAlgorithm.h:81
AdaptiveVertexFitter.h
GapClusterizerInZ.h
TrackClusterizerInZ.h
PrimaryVertexProducerAlgorithm::vertices
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &tracks) const override
Definition:
PrimaryVertexProducerAlgorithm.cc:123
PrimaryVertexProducerAlgorithm::beamSpotLabel
edm::InputTag beamSpotLabel
Definition:
PrimaryVertexProducerAlgorithm.h:75
TrackFilterForPVFinding.h
TransientTrack.h
Event.h
beam_dqm_sourceclient-live_cfg.beamSpot
string beamSpot
Definition:
beam_dqm_sourceclient-live_cfg.py:177
EventSetup.h
VertexCompatibleWithBeam.h
VertexReconstructor::vertices
virtual std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &) const =0
PrimaryVertexProducerAlgorithm::theConfig
edm::ParameterSet theConfig
Definition:
PrimaryVertexProducerAlgorithm.h:94
tracks
auto const & tracks
cannot be loose
Definition:
CAHitNtupletGeneratorKernelsImpl.h:146
VertexReconstructor.h
TrackFilterForPVFindingBase.h
Frameworkfwd.h
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
TrackClusterizerInZ
Definition:
TrackClusterizerInZ.h:14
VertexReconstructor
Definition:
VertexReconstructor.h:13
ParameterSet.h
VertexHigherPtSquared.h
label
char const * label
Definition:
PFTauDecayModeTools.cc:11
PrimaryVertexProducerAlgorithm::algo::label
std::string label
Definition:
PrimaryVertexProducerAlgorithm.h:87
PrimaryVertexProducerAlgorithm::clone
PrimaryVertexProducerAlgorithm * clone() const override
Definition:
PrimaryVertexProducerAlgorithm.h:70
PrimaryVertexProducerAlgorithm::config
edm::ParameterSet config() const
Definition:
PrimaryVertexProducerAlgorithm.h:73
PrimaryVertexProducerAlgorithm::algo::minNdof
double minNdof
Definition:
PrimaryVertexProducerAlgorithm.h:89
PrimaryVertexProducerAlgorithm::trackLabel
edm::InputTag trackLabel
Definition:
PrimaryVertexProducerAlgorithm.h:74
DAClusterizerInZ_vect.h
PrimaryVertexProducerAlgorithm::~PrimaryVertexProducerAlgorithm
~PrimaryVertexProducerAlgorithm() override
Definition:
PrimaryVertexProducerAlgorithm.cc:105
PrimaryVertexProducerAlgorithm::algorithms
std::vector< algo > algorithms
Definition:
PrimaryVertexProducerAlgorithm.h:92
PrimaryVertexProducerAlgorithm::PrimaryVertexProducerAlgorithm
PrimaryVertexProducerAlgorithm(const edm::ParameterSet &)
Definition:
PrimaryVertexProducerAlgorithm.cc:19
VertexException.h
EDProducer.h
PrimaryVertexProducerAlgorithm::theTrackFilter
TrackFilterForPVFindingBase * theTrackFilter
Definition:
PrimaryVertexProducerAlgorithm.h:80
PrimaryVertexProducerAlgorithm::algo::useBeamConstraint
bool useBeamConstraint
Definition:
PrimaryVertexProducerAlgorithm.h:88
KalmanVertexFitter.h
VertexFitter< 5 >
VertexCompatibleWithBeam
Definition:
VertexCompatibleWithBeam.h:15
PrimaryVertexProducerAlgorithm
Definition:
PrimaryVertexProducerAlgorithm.h:57
edm::InputTag
Definition:
InputTag.h:15
HITrackFilterForPVFinding.h
InputTag.h
edm::ParameterSet
Definition:
ParameterSet.h:47
DAClusterizerInZ.h
TrackFilterForPVFindingBase
Definition:
TrackFilterForPVFindingBase.h:14
reco::BeamSpot
Definition:
BeamSpot.h:21
PrimaryVertexProducerAlgorithm::algo::vertexSelector
VertexCompatibleWithBeam * vertexSelector
Definition:
PrimaryVertexProducerAlgorithm.h:86
PrimaryVertexProducerAlgorithm::algo::fitter
VertexFitter< 5 > * fitter
Definition:
PrimaryVertexProducerAlgorithm.h:85
PrimaryVertexProducerAlgorithm::algo
Definition:
PrimaryVertexProducerAlgorithm.h:84
Generated for CMSSW Reference Manual by
1.8.5