|
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)
39 m_vrtMassTot(
src.m_vrtMassTot),
40 m_vrtMassError(
src.m_vrtMassError),
41 m_cascadeEvent(
src.m_cascadeEvent),
42 vk_forcft(
src.vk_forcft),
43 m_frozenVersionForBTagging(
src.m_frozenVersionForBTagging)
59 for (
int i = 0;
i < 3;
i++) {
97 out.precision(5);
out << std::defaultfloat;
98 out <<
" Track par: Iteration <-> Ref" << std::endl;
99 out <<
" * a_0 : "<<
track.a0() <<
" "<<
track.r_a0() << std::endl;
100 out <<
" * z_0 : "<<
track.z() <<
" "<<
track.r_z() << std::endl;
101 out <<
" * theta : "<<
track.theta()<<
" "<<
track.r_theta()<< std::endl;
102 out <<
" * phi : "<<
track.phi() <<
" "<<
track.r_phi() << std::endl;
103 out <<
" * q/R : "<<
track.invR() <<
" "<<
track.r_invR() << std::endl;
104 out <<
" * Charge: "<<
track.Charge <<
" Mass: "<<
track.m_mass<< std::endl;
105 out <<
"-> with ref ErrorMatrix: " << std::endl;
out.precision(5);
106 out <<
track.refCovar[0] <<std::endl;
107 out <<
track.refCovar[1] <<
", "<<
track.refCovar[2] <<std::endl;
108 out <<
track.refCovar[3] <<
", "<<
track.refCovar[4] <<
", "<<
track.refCovar[5] <<std::endl;
110 <<
track.refCovar[9]<<std::endl;
112 <<
track.refCovar[13]<<
", "<<
track.refCovar[14]<<std::endl;
113 out <<
"-> and iteration WeightMatrix: " << std::endl;
118 <<
track.WgtM[9]<<std::endl;
120 <<
track.WgtM[13]<<
", "<<
track.WgtM[14]<<std::endl;
132 useApriorVertex(0), passNearVertex(false), passWithTrkCov(false),
133 TrackList(0), tmpArr(0), ConstraintList(0),nextCascadeVrt(nullptr),includedVrt(0)
156 useApriorVertex(
src.useApriorVertex),
157 passNearVertex(
src.passNearVertex),
158 passWithTrkCov(
src.passWithTrkCov),
163 for(
int i=0;
i<6;
i++) {
175 for(
int i=0;
i<21;
i++){
183 int NTrack=
src.TrackList.size();
186 for(
int i=0;
i<SIZE;
i++)
for(
int j=0; j<SIZE; j++) {
ader[
i*FULLSIZE+j]=
src.ader[
i*FULLSIZE+j]; }
190 for(
int ic=0;
ic<(
int)
src.ConstraintList.size();
ic++){
206 for(
int i=0;
i<6;
i++) {
218 for(
int i=0;
i<21;
i++){
226 int NTrack=
src.TrackList.size();
229 for(
int i=0;
i<SIZE;
i++)
for(
int j=0; j<SIZE; j++) {
ader[
i*FULLSIZE+j]=
src.ader[
i*FULLSIZE+j]; }
236 for(
int ic=0;
ic<(
int)
src.ConstraintList.size();
ic++){
251 if (Iter>100) Iter=100;
257 if (Prec<1.
e-5) Prec=1.e-5;
258 if (Prec>1.
e-1) Prec=1.e-1;
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]