PhysicsTools
RecoUtils
interface
CandKinematicVertexFitter.h
Go to the documentation of this file.
1
#ifndef RecoCandUtils_CandKinematicVertexFitter_h
2
#define RecoCandUtils_CandKinematicVertexFitter_h
3
/* \class CandKinematicVertexFitter
4
*
5
* \author Luca Lista, INFN
6
*
7
*/
8
9
#include "
FWCore/ParameterSet/interface/ParameterSetfwd.h
"
10
#include "
TrackingTools/TransientTrack/interface/TransientTrack.h
"
11
#include "
RecoVertex/VertexPrimitives/interface/TransientVertex.h
"
12
#include "
DataFormats/RecoCandidate/interface/RecoCandidate.h
"
13
#include "
RecoVertex/KinematicFit/interface/KinematicParticleVertexFitter.h
"
14
#include "
PhysicsTools/UtilAlgos/interface/ParameterAdapter.h
"
15
#include "
RecoVertex/KinematicFitPrimitives/interface/KinematicParticleFactoryFromTransientTrack.h
"
16
#include "
SimGeneral/HepPDTRecord/interface/ParticleDataTable.h
"
17
#include <vector>
18
19
class
MagneticField
;
20
namespace
reco
{
21
class
VertexCompositeCandidate;
22
}
23
24
class
CandKinematicVertexFitter
{
25
public
:
26
typedef
reco::Vertex::CovarianceMatrix
CovarianceMatrix
;
27
CandKinematicVertexFitter
(
const
edm::ParameterSet
&
cfg
)
28
:
bField_
(nullptr),
pdt_
(nullptr),
fitter_
(),
fitters_
(new
std
::
vector
<
CandKinematicVertexFitter
>) {}
29
CandKinematicVertexFitter
(
const
CandKinematicVertexFitter
&
o
)
30
:
bField_
(
o
.
bField_
),
pdt_
(
o
.
pdt_
),
fitter_
(),
fitters_
(new
std
::
vector
<
CandKinematicVertexFitter
>) {}
31
void
set
(
const
MagneticField
*
bField
) {
bField_
=
bField
; }
32
void
set
(
const
ParticleDataTable
*pdt) {
pdt_
= pdt; }
33
void
set
(
reco::VertexCompositeCandidate
&)
const
;
34
bool
fit
(
const
std::vector<RefCountedKinematicParticle> &
tracks
)
const
;
35
RefCountedKinematicParticle
currentParticle
()
const
{
36
tree_
->movePointerToTheTop();
37
return
tree_
->currentParticle();
38
}
39
40
private
:
41
const
MagneticField
*
bField_
;
42
const
ParticleDataTable
*
pdt_
;
43
void
fill
(std::vector<RefCountedKinematicParticle> &,
44
std::vector<reco::Candidate *> &,
45
std::vector<reco::RecoCandidate::TrackType> &,
46
reco::Candidate
&)
const
;
48
KinematicParticleVertexFitter
fitter_
;
50
mutable
RefCountedKinematicTree
tree_
;
52
KinematicParticleFactoryFromTransientTrack
factory_
;
54
mutable
double
chi2_
;
56
mutable
double
ndof_
;
58
mutable
CovarianceMatrix
cov_
;
60
std::shared_ptr<std::vector<CandKinematicVertexFitter> >
fitters_
;
61
};
62
63
#endif
CandKinematicVertexFitter::CandKinematicVertexFitter
CandKinematicVertexFitter(const CandKinematicVertexFitter &o)
Definition:
CandKinematicVertexFitter.h:29
KinematicParticleVertexFitter
Definition:
KinematicParticleVertexFitter.h:25
CandKinematicVertexFitter::tree_
RefCountedKinematicTree tree_
fit tree
Definition:
CandKinematicVertexFitter.h:50
CandKinematicVertexFitter::CandKinematicVertexFitter
CandKinematicVertexFitter(const edm::ParameterSet &cfg)
Definition:
CandKinematicVertexFitter.h:27
KinematicParticleVertexFitter.h
KinematicParticleFactoryFromTransientTrack
Definition:
KinematicParticleFactoryFromTransientTrack.h:16
ParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
Definition:
ParticleDataTable.h:8
CandKinematicVertexFitter::ndof_
double ndof_
number of degrees of freedom
Definition:
CandKinematicVertexFitter.h:56
CandKinematicVertexFitter::fitters_
std::shared_ptr< std::vector< CandKinematicVertexFitter > > fitters_
fitters used for recursive calls
Definition:
CandKinematicVertexFitter.h:60
TransientTrack.h
reco::Candidate
Definition:
Candidate.h:27
MagneticField
Definition:
MagneticField.h:19
std
Definition:
JetResolutionObject.h:76
CandKinematicVertexFitter::currentParticle
RefCountedKinematicParticle currentParticle() const
Definition:
CandKinematicVertexFitter.h:35
CandKinematicVertexFitter::fitter_
KinematicParticleVertexFitter fitter_
fitter
Definition:
CandKinematicVertexFitter.h:48
reco::Vertex::CovarianceMatrix
math::Error< dimension >::type CovarianceMatrix
covariance error matrix (3x3)
Definition:
Vertex.h:46
ParameterSetfwd.h
Calorimetry_cff.bField
bField
Definition:
Calorimetry_cff.py:284
ReferenceCountingPointer< KinematicParticle >
ParticleDataTable.h
CandKinematicVertexFitter::fit
bool fit(const std::vector< RefCountedKinematicParticle > &tracks) const
Definition:
CandKinematicVertexFitter.cc:15
EcalTangentSkim_cfg.o
o
Definition:
EcalTangentSkim_cfg.py:42
TransientVertex.h
CandKinematicVertexFitter::CovarianceMatrix
reco::Vertex::CovarianceMatrix CovarianceMatrix
Definition:
CandKinematicVertexFitter.h:26
CandKinematicVertexFitter::cov_
CovarianceMatrix cov_
covariance matrix (3x3)
Definition:
CandKinematicVertexFitter.h:58
CovarianceMatrix
Definition:
CovarianceMatrix.h:28
reco::VertexCompositeCandidate
Definition:
VertexCompositeCandidate.h:16
looper.cfg
cfg
Definition:
looper.py:296
CandKinematicVertexFitter::fill
void fill(std::vector< RefCountedKinematicParticle > &, std::vector< reco::Candidate *> &, std::vector< reco::RecoCandidate::TrackType > &, reco::Candidate &) const
Definition:
CandKinematicVertexFitter.cc:103
CandKinematicVertexFitter::bField_
const MagneticField * bField_
Definition:
CandKinematicVertexFitter.h:41
tracks
auto const & tracks
cannot be loose
Definition:
CAHitNtupletGeneratorKernelsImpl.h:148
KinematicParticleFactoryFromTransientTrack.h
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:46
ParameterAdapter.h
trackerHitRTTI::vector
Definition:
trackerHitRTTI.h:21
CandKinematicVertexFitter::factory_
KinematicParticleFactoryFromTransientTrack factory_
particle factor
Definition:
CandKinematicVertexFitter.h:52
CandKinematicVertexFitter::pdt_
const ParticleDataTable * pdt_
Definition:
CandKinematicVertexFitter.h:42
edm::ParameterSet
Definition:
ParameterSet.h:47
CandKinematicVertexFitter::chi2_
double chi2_
chi-sqared
Definition:
CandKinematicVertexFitter.h:54
CandKinematicVertexFitter
Definition:
CandKinematicVertexFitter.h:24
RecoCandidate.h
Generated for CMSSW Reference Manual by
1.8.14