ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkVertexFitter
TrkVKalVrtCore
TrkVKalVrtCore
TrkVKalVrtCore.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRKVKALVRTCORE_VKALVRTCORE_H
6
#define TRKVKALVRTCORE_VKALVRTCORE_H
7
8
#include "
TrkVKalVrtCore/CommonPars.h
"
9
#include "
TrkVKalVrtCore/VKalVrtBMag.h
"
10
#include "
TrkVKalVrtCore/Propagator.h
"
11
#include "
TrkVKalVrtCore/ForCFT.h
"
12
#include <vector>
13
#include <memory>
14
15
namespace
Trk
{
16
//
17
// Main class to control TrkVKalVrtCore package
18
// If references to external Propagator/Mag.Field are present - the package uses them,
19
// otherwise default internal fixed_field/simple_propagator are used.
20
//--------------------------------------------------------------------
21
22
class
CascadeEvent
;
23
class
IVKalState
;
24
25
class
VKalVrtControlBase
26
{
27
public
:
28
VKalVrtControlBase
(
baseMagFld
*,
29
const
addrMagHandler
,
30
const
basePropagator
*,
31
const
addrPropagator
,
32
IVKalState
* istate =
nullptr
);
33
VKalVrtControlBase
(
const
VKalVrtControlBase
& src) =
default
;
34
~VKalVrtControlBase
() =
default
;
35
36
baseMagFld
*
vk_objMagFld
;
37
const
addrMagHandler
vk_funcMagFld
;
38
const
basePropagator
*
vk_objProp
;
39
const
addrPropagator
vk_funcProp
;
40
IVKalState
*
vk_istate
;
41
};
42
43
class
VKalVrtControl
:
public
VKalVrtControlBase
44
{
45
public
:
46
VKalVrtControl
(
const
VKalVrtControlBase
&);
47
VKalVrtControl
(
const
VKalVrtControl
& src);
//copy
48
~VKalVrtControl
() =
default
;
49
50
public
:
51
52
void
setIterationNum
(
int
Iter);
53
void
setIterationPrec
(
double
Prec);
54
void
setRobustScale
(
double
Scale
);
55
void
setRobustness
(
int
Rob);
56
void
setMassCnstData
(
int
Ntrk,
double
Mass
);
57
void
setMassCnstData
(
int
Ntrk,
const
std::vector<int> &
Index
,
double
Mass
);
58
59
void
setUseMassCnst
();
60
void
setUsePhiCnst
();
61
void
setUsePlaneCnst
(
double
a
,
double
b,
double
c,
double
d);
62
void
setUseRadiusCnst
(
double
R,
double
RefP[2]);
63
void
setUseThetaCnst
();
64
void
setUseAprioriVrt
();
65
void
setUsePointingCnst
(
int
);
66
void
setUsePassNear
(
int
);
67
68
void
renewCascadeEvent
(
CascadeEvent
*);
69
//Only edit the CascadeEvent in the same thread it was created in
70
const
CascadeEvent
*
getCascadeEvent
()
const
{
return
m_cascadeEvent
;};
71
CascadeEvent
*
getCascadeEvent
() {
return
m_cascadeEvent
;};
72
void
renewFullCovariance
(
double
*);
73
//Only edit the covariance in the same thread it was created.
74
const
double
*
getFullCovariance
()
const
{
return
m_fullCovariance
.get(); }
75
double
*
getFullCovariance
() {
return
m_fullCovariance
.get(); }
76
void
setVertexMass
(
double
mass) {
m_vrtMassTot
=mass;}
77
void
setVrtMassError
(
double
error
) {
m_vrtMassError
=
error
;}
78
double
getVertexMass
()
const
{
return
m_vrtMassTot
;}
79
double
getVrtMassError
()
const
{
return
m_vrtMassError
;}
80
81
82
83
private
:
84
85
std::unique_ptr<double[]>
m_fullCovariance
;
// On vertex fit exit contains full covariance matrix
86
// (x,y,z,px_0,py_0,pz_0,....,px_n,py_n,pz_n)
87
// in symmetric form
88
double
m_vrtMassTot
;
89
double
m_vrtMassError
;
90
CascadeEvent
*
m_cascadeEvent
=
nullptr
;
91
public
:
92
ForCFT
vk_forcft
;
93
bool
m_frozenVersionForBTagging
=
false
;
94
bool
m_allowUltraDisplaced
=
false
;
95
};
96
97
}
// end of namespace bracket
98
99
#endif
CommonPars.h
ForCFT.h
Index
IndexedConstituentUserInfo::Index Index
Definition
IndexedConstituentUserInfo.cxx:12
a
static Double_t a
Definition
LArPhysWaveHECTool.cxx:38
Propagator.h
VKalVrtBMag.h
Trk::CascadeEvent
Definition
TrkVKalVrtCoreBase.h:21
Trk::IVKalState
Definition
IVKalState.h:21
Trk::VKalVrtControlBase::~VKalVrtControlBase
~VKalVrtControlBase()=default
Trk::VKalVrtControlBase::vk_objProp
const basePropagator * vk_objProp
Definition
TrkVKalVrtCore.h:38
Trk::VKalVrtControlBase::vk_funcProp
const addrPropagator vk_funcProp
Definition
TrkVKalVrtCore.h:39
Trk::VKalVrtControlBase::vk_istate
IVKalState * vk_istate
Definition
TrkVKalVrtCore.h:40
Trk::VKalVrtControlBase::vk_objMagFld
baseMagFld * vk_objMagFld
Definition
TrkVKalVrtCore.h:36
Trk::VKalVrtControlBase::VKalVrtControlBase
VKalVrtControlBase(const VKalVrtControlBase &src)=default
Trk::VKalVrtControlBase::VKalVrtControlBase
VKalVrtControlBase(baseMagFld *, const addrMagHandler, const basePropagator *, const addrPropagator, IVKalState *istate=nullptr)
Definition
TrkVKalVrtCoreBase.cxx:25
Trk::VKalVrtControlBase::vk_funcMagFld
const addrMagHandler vk_funcMagFld
Definition
TrkVKalVrtCore.h:37
Trk::VKalVrtControl::setUsePointingCnst
void setUsePointingCnst(int)
Definition
TrkVKalVrtCoreBase.cxx:321
Trk::VKalVrtControl::renewFullCovariance
void renewFullCovariance(double *)
Definition
TrkVKalVrtCoreBase.cxx:327
Trk::VKalVrtControl::setIterationNum
void setIterationNum(int Iter)
Definition
TrkVKalVrtCoreBase.cxx:257
Trk::VKalVrtControl::renewCascadeEvent
void renewCascadeEvent(CascadeEvent *)
Definition
TrkVKalVrtCoreBase.cxx:323
Trk::VKalVrtControl::setRobustness
void setRobustness(int Rob)
Definition
TrkVKalVrtCoreBase.cxx:278
Trk::VKalVrtControl::setUseMassCnst
void setUseMassCnst()
Trk::VKalVrtControl::getCascadeEvent
const CascadeEvent * getCascadeEvent() const
Definition
TrkVKalVrtCore.h:70
Trk::VKalVrtControl::setIterationPrec
void setIterationPrec(double Prec)
Definition
TrkVKalVrtCoreBase.cxx:264
Trk::VKalVrtControl::getVertexMass
double getVertexMass() const
Definition
TrkVKalVrtCore.h:78
Trk::VKalVrtControl::setVertexMass
void setVertexMass(double mass)
Definition
TrkVKalVrtCore.h:76
Trk::VKalVrtControl::setMassCnstData
void setMassCnstData(int Ntrk, double Mass)
Definition
TrkVKalVrtCoreBase.cxx:284
Trk::VKalVrtControl::getFullCovariance
double * getFullCovariance()
Definition
TrkVKalVrtCore.h:75
Trk::VKalVrtControl::VKalVrtControl
VKalVrtControl(const VKalVrtControlBase &)
Definition
TrkVKalVrtCoreBase.cxx:35
Trk::VKalVrtControl::setUsePhiCnst
void setUsePhiCnst()
Definition
TrkVKalVrtCoreBase.cxx:306
Trk::VKalVrtControl::setUsePassNear
void setUsePassNear(int)
Definition
TrkVKalVrtCoreBase.cxx:322
Trk::VKalVrtControl::m_frozenVersionForBTagging
bool m_frozenVersionForBTagging
Definition
TrkVKalVrtCore.h:93
Trk::VKalVrtControl::getVrtMassError
double getVrtMassError() const
Definition
TrkVKalVrtCore.h:79
Trk::VKalVrtControl::getCascadeEvent
CascadeEvent * getCascadeEvent()
Definition
TrkVKalVrtCore.h:71
Trk::VKalVrtControl::setUseThetaCnst
void setUseThetaCnst()
Definition
TrkVKalVrtCoreBase.cxx:319
Trk::VKalVrtControl::~VKalVrtControl
~VKalVrtControl()=default
Trk::VKalVrtControl::m_vrtMassTot
double m_vrtMassTot
Definition
TrkVKalVrtCore.h:88
Trk::VKalVrtControl::setRobustScale
void setRobustScale(double Scale)
Definition
TrkVKalVrtCoreBase.cxx:271
Trk::VKalVrtControl::setUseAprioriVrt
void setUseAprioriVrt()
Definition
TrkVKalVrtCoreBase.cxx:320
Trk::VKalVrtControl::m_cascadeEvent
CascadeEvent * m_cascadeEvent
Definition
TrkVKalVrtCore.h:90
Trk::VKalVrtControl::setUsePlaneCnst
void setUsePlaneCnst(double a, double b, double c, double d)
Definition
TrkVKalVrtCoreBase.cxx:307
Trk::VKalVrtControl::m_vrtMassError
double m_vrtMassError
Definition
TrkVKalVrtCore.h:89
Trk::VKalVrtControl::m_allowUltraDisplaced
bool m_allowUltraDisplaced
Definition
TrkVKalVrtCore.h:94
Trk::VKalVrtControl::setVrtMassError
void setVrtMassError(double error)
Definition
TrkVKalVrtCore.h:77
Trk::VKalVrtControl::setUseRadiusCnst
void setUseRadiusCnst(double R, double RefP[2])
Definition
TrkVKalVrtCoreBase.cxx:312
Trk::VKalVrtControl::getFullCovariance
const double * getFullCovariance() const
Definition
TrkVKalVrtCore.h:74
Trk::VKalVrtControl::m_fullCovariance
std::unique_ptr< double[]> m_fullCovariance
Definition
TrkVKalVrtCore.h:85
Trk::VKalVrtControl::vk_forcft
ForCFT vk_forcft
Definition
TrkVKalVrtCore.h:92
Trk::baseMagFld
Definition
VKalVrtBMag.h:30
Trk::basePropagator
Definition
Propagator.h:33
Scale
void Scale(TH1 *h, double d=1)
Definition
comparitor.cxx:79
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::addrMagHandler
void(* addrMagHandler)(double, double, double, double &, double &, double &)
Definition
VKalVrtBMag.h:23
Trk::VKConstraintType::Mass
@ Mass
Definition
Derivt.h:25
Trk::addrPropagator
void(* addrPropagator)(long int, long int, double *, double *, double *, double *, double *, double *)
Definition
Propagator.h:23
error
Definition
IImpactPoint3dEstimator.h:72
Trk::ForCFT
Definition
ForCFT.h:13
Generated on
for ATLAS Offline Software by
1.17.0