 |
ATLAS Offline Software
|
Go to the documentation of this file.
21 vk_objMagFld(baseFld),
22 vk_funcMagFld(addrFld),
32 m_cascadeEvent(nullptr),
34 m_frozenVersionForBTagging(false),
35 m_allowUltraDisplaced(false)
40 m_vrtMassTot(
src.m_vrtMassTot),
41 m_vrtMassError(
src.m_vrtMassError),
42 m_cascadeEvent(
src.m_cascadeEvent),
43 vk_forcft(
src.vk_forcft),
44 m_frozenVersionForBTagging(
src.m_frozenVersionForBTagging),
45 m_allowUltraDisplaced(
src.m_allowUltraDisplaced)
61 for (
int i = 0;
i < 3;
i++) {
99 out.precision(5);
out << std::defaultfloat;
100 out <<
" Track par: Iteration <-> Ref" << std::endl;
101 out <<
" * a_0 : "<<
track.a0() <<
" "<<
track.r_a0() << std::endl;
102 out <<
" * z_0 : "<<
track.z() <<
" "<<
track.r_z() << std::endl;
103 out <<
" * theta : "<<
track.theta()<<
" "<<
track.r_theta()<< std::endl;
104 out <<
" * phi : "<<
track.phi() <<
" "<<
track.r_phi() << std::endl;
105 out <<
" * q/R : "<<
track.invR() <<
" "<<
track.r_invR() << std::endl;
106 out <<
" * Charge: "<<
track.Charge <<
" Mass: "<<
track.m_mass<< std::endl;
107 out <<
"-> with ref ErrorMatrix: " << std::endl;
out.precision(5);
108 out <<
track.refCovar[0] <<std::endl;
109 out <<
track.refCovar[1] <<
", "<<
track.refCovar[2] <<std::endl;
110 out <<
track.refCovar[3] <<
", "<<
track.refCovar[4] <<
", "<<
track.refCovar[5] <<std::endl;
112 <<
track.refCovar[9]<<std::endl;
114 <<
track.refCovar[13]<<
", "<<
track.refCovar[14]<<std::endl;
115 out <<
"-> and iteration WeightMatrix: " << std::endl;
120 <<
track.WgtM[9]<<std::endl;
122 <<
track.WgtM[13]<<
", "<<
track.WgtM[14]<<std::endl;
134 useApriorVertex(0), passNearVertex(false), passWithTrkCov(false),
135 TrackList(0), tmpArr(0), ConstraintList(0),nextCascadeVrt(nullptr),includedVrt(0)
158 useApriorVertex(
src.useApriorVertex),
159 passNearVertex(
src.passNearVertex),
160 passWithTrkCov(
src.passWithTrkCov),
165 for(
int i=0;
i<6;
i++) {
177 for(
int i=0;
i<21;
i++){
185 int NTrack=
src.TrackList.size();
188 for(
int i=0;
i<SIZE;
i++)
for(
int j=0; j<SIZE; j++) {
ader[
i*FULLSIZE+j]=
src.ader[
i*FULLSIZE+j]; }
192 for(
int ic=0;
ic<(
int)
src.ConstraintList.size();
ic++){
208 for(
int i=0;
i<6;
i++) {
220 for(
int i=0;
i<21;
i++){
228 int NTrack=
src.TrackList.size();
231 for(
int i=0;
i<SIZE;
i++)
for(
int j=0; j<SIZE; j++) {
ader[
i*FULLSIZE+j]=
src.ader[
i*FULLSIZE+j]; }
238 for(
int ic=0;
ic<(
int)
src.ConstraintList.size();
ic++){
253 if (Iter>100) Iter=100;
259 if (Prec<1.
e-5) Prec=1.e-5;
260 if (Prec>1.
e-1) Prec=1.e-1;
void setUseRadiusCnst(double R, double RefP[2])
void setUsePlaneCnst(double a, double b, double c, double d)
std::vector< std::unique_ptr< TWRK > > tmpArr
void(* addrMagHandler)(double, double, double, double &, double &, double &)
CascadeEvent * m_cascadeEvent
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
void(* addrPropagator)(long int, long int, double *, double *, double *, double *, double *, double *)
void setIterationPrec(double Prec)
void setRobustScale(double Scale)
void setUsePointingCnst(int)
VKalVrtControl(const VKalVrtControlBase &)
VKTrack(long int, const double[], const double[], VKVertex *, double)
double ader[(3 *vkalNTrkM+3) *(3 *vkalNTrkM+3)]
void setReference(const double[], const double[])
std::vector< std::unique_ptr< VKConstraintBase > > ConstraintList
std::vector< std::unique_ptr< VKTrack > > TrackList
void setFitV(double v[3]) noexcept
IndexedConstituentUserInfo::Index Index
int indtrkmc[vkalMaxNMassCnst][vkalNTrkM]
VKVertex & operator=(const VKVertex &src)
void setRefIterV(double v[]) noexcept
void setIniV(double v[3]) noexcept
void setCurrent(const double[], const double[])
void setRobustness(int Rob)
double IterationPrecision
void Scale(TH1 *h, double d=1)
void renewCascadeEvent(CascadeEvent *)
void renewFullCovariance(double *)
VKVertex * m_originVertex
void setIterationNum(int Iter)
Ensure that the ATLAS eigen extensions are properly loaded.
std::unique_ptr< VKalVrtControl > vk_fitterControl
void setRefV(double v[3]) noexcept
void setMassCnstData(int Ntrk, double Mass)
double wmfit[vkalMaxNMassCnst]
void setCnstV(double v[3]) noexcept
VKalVrtControlBase(baseMagFld *, const addrMagHandler, const basePropagator *, const addrPropagator, IVKalState *istate=nullptr)
AmgSymMatrix(toInt(ParamDefs::nPars)) Covariance
std::unique_ptr< double[]> m_fullCovariance
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
VKVertex * nextCascadeVrt
double savedVrtMomCov[21]