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 edm::ParameterSet &cfg)
Definition:
CandKinematicVertexFitter.h:27
CandKinematicVertexFitter::CovarianceMatrix
reco::Vertex::CovarianceMatrix CovarianceMatrix
Definition:
CandKinematicVertexFitter.h:26
CandKinematicVertexFitter::set
void set(const MagneticField *bField)
Definition:
CandKinematicVertexFitter.h:31
KinematicParticleFactoryFromTransientTrack
Definition:
KinematicParticleFactoryFromTransientTrack.h:16
CandKinematicVertexFitter::fitter_
KinematicParticleVertexFitter fitter_
fitter
Definition:
CandKinematicVertexFitter.h:48
CovarianceMatrix
Definition:
CovarianceMatrix.h:28
ReferenceCountingPointer< KinematicParticle >
reco::Vertex::CovarianceMatrix
math::Error< dimension >::type CovarianceMatrix
covariance error matrix (3x3)
Definition:
Vertex.h:46
CandKinematicVertexFitter::ndof_
double ndof_
number of degrees of freedom
Definition:
CandKinematicVertexFitter.h:56
reco::VertexCompositeCandidate
Definition:
VertexCompositeCandidate.h:16
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:45
TransientTrack.h
CandKinematicVertexFitter::set
void set(const ParticleDataTable *pdt)
Definition:
CandKinematicVertexFitter.h:32
CandKinematicVertexFitter::fitters_
std::shared_ptr< std::vector< CandKinematicVertexFitter > > fitters_
fitters used for recursive calls
Definition:
CandKinematicVertexFitter.h:60
RecoCandidate.h
KinematicParticleVertexFitter.h
EcalTangentSkim_cfg.o
o
Definition:
EcalTangentSkim_cfg.py:42
CandKinematicVertexFitter
Definition:
CandKinematicVertexFitter.h:24
CandKinematicVertexFitter::fit
bool fit(const std::vector< RefCountedKinematicParticle > &tracks) const
Definition:
CandKinematicVertexFitter.cc:15
CandKinematicVertexFitter::currentParticle
RefCountedKinematicParticle currentParticle() const
Definition:
CandKinematicVertexFitter.h:35
edm::ParameterSet
Definition:
ParameterSet.h:47
ParticleDataTable.h
CandKinematicVertexFitter::pdt_
const ParticleDataTable * pdt_
Definition:
CandKinematicVertexFitter.h:42
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition:
CAHitNtupletGeneratorKernelsImpl.h:159
CandKinematicVertexFitter::tree_
RefCountedKinematicTree tree_
fit tree
Definition:
CandKinematicVertexFitter.h:50
trackerHitRTTI::vector
Definition:
trackerHitRTTI.h:21
CandKinematicVertexFitter::fill
void fill(std::vector< RefCountedKinematicParticle > &, std::vector< reco::Candidate * > &, std::vector< reco::RecoCandidate::TrackType > &, reco::Candidate &) const
Definition:
CandKinematicVertexFitter.cc:103
ParameterAdapter.h
looper.cfg
cfg
Definition:
looper.py:297
reco::Candidate
Definition:
Candidate.h:27
CandKinematicVertexFitter::CandKinematicVertexFitter
CandKinematicVertexFitter(const CandKinematicVertexFitter &o)
Definition:
CandKinematicVertexFitter.h:29
TransientVertex.h
CandKinematicVertexFitter::factory_
KinematicParticleFactoryFromTransientTrack factory_
particle factor
Definition:
CandKinematicVertexFitter.h:52
std
Definition:
JetResolutionObject.h:76
Calorimetry_cff.bField
bField
Definition:
Calorimetry_cff.py:284
KinematicParticleVertexFitter
Definition:
KinematicParticleVertexFitter.h:25
CandKinematicVertexFitter::cov_
CovarianceMatrix cov_
covariance matrix (3x3)
Definition:
CandKinematicVertexFitter.h:58
ParameterSetfwd.h
KinematicParticleFactoryFromTransientTrack.h
CandKinematicVertexFitter::chi2_
double chi2_
chi-sqared
Definition:
CandKinematicVertexFitter.h:54
MagneticField
Definition:
MagneticField.h:19
ParticleDataTable
HepPDT::ParticleDataTable ParticleDataTable
Definition:
ParticleDataTable.h:8
CandKinematicVertexFitter::bField_
const MagneticField * bField_
Definition:
CandKinematicVertexFitter.h:41
Generated for CMSSW Reference Manual by
1.8.16