ATLAS Offline Software
TrkVKalVrtCoreBase.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include <algorithm>
6 #include <cmath>
7 #include <memory>
8 #include <iostream>
9 
13 #include "TrkVKalVrtCore/Derivt.h"
14 #include "TrkVKalVrtCore/ForCFT.h"
15 
16 namespace Trk {
17 
19  const basePropagator* baseP, const addrPropagator addrP,
20  IVKalState* istate):
21  vk_objMagFld(baseFld),
22  vk_funcMagFld(addrFld),
23  vk_objProp(baseP),
24  vk_funcProp(addrP),
25  vk_istate(istate)
26  {}
27 
30  m_vrtMassTot(-1),
31  m_vrtMassError(-1),
32  m_cascadeEvent(nullptr),
33  vk_forcft(),
34  m_frozenVersionForBTagging(false)
35  {
36  }
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)
44  {
45  }
46 
47  VKTrack::VKTrack(long int iniId,
48  const double Perigee[],
49  const double Covariance[],
50  VKVertex* vk,
51  double m)
52  : Id(iniId)
53  , Charge(1)
54  , Chi2(0)
55  , m_mass(m)
56  {
57  if (Perigee[4] < 0)
58  Charge = -1;
59  for (int i = 0; i < 3; i++) {
60  fitP[i] = 0;
61  cnstP[i] = 0.;
62  iniP[i] = 0.;}
65  for(int i=0; i<5; i++) { rmnd[i]=0;}
67  m_originVertex = vk;
68  }
69 
70  void VKTrack::setCurrent(const double Perigee[], const double Weight[])
71  {
73  std::copy(Weight, Weight+15, WgtM);
74  std::copy(Weight, Weight+15, WgtM_save);
75  }
76  void VKTrack::setReference(const double Perigee[], const double Covariance[])
77  {
80  }
82  {
84  }
85 
86 // VKTrack::VKTrack(const VKTrack & src ) // copy operator
87 // { Charge =src.Charge;
88 // m_mass =src.m_mass;
89 // for(int i=0; i<5; i++) {Perig[i]=src.Perig[i];refPerig[i]=src.refPerig[i];}
90 // for(int i=0; i<15; i++) {refCovar[i]=src.refCovar[i];WgtM[i]=src.WgtM[i];}
91 // for(int i=0; i<3; i++) {fitP[i]=src.fitP[i];}
92 // }
93 
94  std::ostream & operator << ( std::ostream& out, const VKTrack& track )
95  {
96  //out.setf( std::ios::defaultfloat ); out.precision(5); out << std::endl;
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;
109  out << track.refCovar[6] <<", "<<track.refCovar[7] <<", "<<track.refCovar[8] <<", "
110  << track.refCovar[9]<<std::endl;
111  out << track.refCovar[10]<<", "<<track.refCovar[11]<<", "<<track.refCovar[12]<<", "
112  << track.refCovar[13]<<", "<<track.refCovar[14]<<std::endl;
113  out << "-> and iteration WeightMatrix: " << std::endl;
114  out << track.WgtM[0] <<std::endl;
115  out << track.WgtM[1] <<", "<<track.WgtM[2] <<std::endl;
116  out << track.WgtM[3] <<", "<<track.WgtM[4] <<", "<<track.WgtM[5] <<std::endl;
117  out << track.WgtM[6] <<", "<<track.WgtM[7] <<", "<<track.WgtM[8] <<", "
118  << track.WgtM[9]<<std::endl;
119  out << track.WgtM[10]<<", "<<track.WgtM[11]<<", "<<track.WgtM[12]<<", "
120  << track.WgtM[13]<<", "<<track.WgtM[14]<<std::endl;
121  return out;
122  }
123 
124 
125 
126  // cppcheck-suppress uninitMemberVar; large ader array not initialized
128  { vk_fitterControl = std::make_unique<VKalVrtControl>(FitControl); }
129 
130  // cppcheck-suppress uninitMemberVar; large ader array not initialized
132  useApriorVertex(0), passNearVertex(false), passWithTrkCov(false),
133  TrackList(0), tmpArr(0), ConstraintList(0),nextCascadeVrt(nullptr),includedVrt(0)
134  {
135  for(int i=0; i<3; i++) apriorV[i]=refV[i]=iniV[i]=fitV[i]=cnstV[i]=fitMom[i]=0.;
136  for(int i=0; i<6; i++) apriorVWGT[i]=0.;
137  for(int i=0; i<21; i++) fitCovXYZMom[i]=savedVrtMomCov[i]=0.;
138  fitCovXYZMom[0]=savedVrtMomCov[0]=100.; fitCovXYZMom[2] =savedVrtMomCov[2] =100.; fitCovXYZMom[5] =savedVrtMomCov[5] =100.;
139  fitCovXYZMom[9]=savedVrtMomCov[9]=100.; fitCovXYZMom[14]=savedVrtMomCov[14]=100.; fitCovXYZMom[20]=savedVrtMomCov[20]=100.;
140  Chi2=0.;
141  truncatedStep=false;
142  existFullCov=0;
143  }
144 
145  VKVertex::~VKVertex() = default;
146 
147  void VKVertex::setRefV(double v[3]) noexcept { std::copy(v, v+3, refV);}
148  void VKVertex::setRefIterV(double v[]) noexcept { std::copy(v, v+3, refIterV); }
149  void VKVertex::setIniV(double v[3]) noexcept { std::copy(v, v+3, iniV); }
150  void VKVertex::setFitV(double v[3]) noexcept { std::copy(v, v+3, fitV); }
151  void VKVertex::setCnstV(double v[3]) noexcept { std::copy(v, v+3, cnstV);}
152 
153 
154  VKVertex::VKVertex(const VKVertex & src): //copy constructor
155  Chi2(src.Chi2), // vertex Chi2
156  useApriorVertex(src.useApriorVertex), //for a priory vertex position knowledge usage
157  passNearVertex(src.passNearVertex), // needed for "passing near vertex" constraint
158  passWithTrkCov(src.passWithTrkCov), // Vertex, CovVertex, Charge and derivatives
159  FVC(src.FVC),
160  TrackList(0),
161  ConstraintList(0)
162  {
163  for( int i=0; i<6; i++) {
164  fitVcov[i] =src.fitVcov[i]; // range[0:5]
165  apriorVWGT[i] =src.apriorVWGT[i];
166  if(i>=3) continue;
167  fitV[i] =src.fitV[i]; // range[0:2]
168  iniV[i] =src.iniV[i];
169  cnstV[i] =src.cnstV[i];
170  refIterV[i]=src.refIterV[i];
171  refV[i] =src.refV[i];
172  apriorV[i] =src.apriorV[i];
173  fitMom[i] = src.fitMom[i];
174  }
175  for( int i=0; i<21; i++){
176  savedVrtMomCov[i]=src.savedVrtMomCov[i];
177  fitCovXYZMom[i]=src.fitCovXYZMom[i];
178  }
179  nextCascadeVrt = nullptr;
180  truncatedStep = src.truncatedStep;
181  existFullCov = src.existFullCov;
182 
183  int NTrack=src.TrackList.size();
184  int FULLSIZE=3*vkalNTrkM+3;
185  int SIZE=3*NTrack+3;
186  for(int i=0; i<SIZE; i++) for(int j=0; j<SIZE; j++) { ader[i*FULLSIZE+j]=src.ader[i*FULLSIZE+j]; }
187  //----- Creation of track and constraint copies
188  for( int i=0; i<NTrack; i++) TrackList.emplace_back( new VKTrack(*(src.TrackList[i])) );
189  ConstraintList.reserve(src.ConstraintList.size());
190  for( int ic=0; ic<(int)src.ConstraintList.size(); ic++){
191  ConstraintList.emplace_back(src.ConstraintList[ic]->clone());
192  }
193  vk_fitterControl = std::make_unique<VKalVrtControl>(*src.vk_fitterControl);
194  }
195 
196  VKVertex& VKVertex::operator= (const VKVertex & src) //Assignment operator
197  {
198  if (this!=&src){
199  vk_fitterControl.reset();
200  vk_fitterControl=std::make_unique<VKalVrtControl>(*(src.vk_fitterControl));
201  Chi2=src.Chi2; // vertex Chi2
202  useApriorVertex=src.useApriorVertex; //for a priory vertex position knowledge usage
203  passNearVertex=src.passNearVertex; // needed for "passing near vertex" constraint
204  passWithTrkCov=src.passWithTrkCov; // Vertex, CovVertex, Charge and derivatives
205  FVC=src.FVC;
206  for( int i=0; i<6; i++) {
207  fitVcov[i] =src.fitVcov[i]; // range[0:5]
208  apriorVWGT[i] =src.apriorVWGT[i];
209  if(i>=3) continue;
210  fitV[i] =src.fitV[i]; // range[0:2]
211  iniV[i] =src.iniV[i];
212  cnstV[i] =src.cnstV[i];
213  refIterV[i]=src.refIterV[i];
214  refV[i] =src.refV[i];
215  apriorV[i] =src.apriorV[i];
216  fitMom[i] = src.fitMom[i];
217  }
218  for( int i=0; i<21; i++){
219  savedVrtMomCov[i]=src.savedVrtMomCov[i];
220  fitCovXYZMom[i]=src.fitCovXYZMom[i];
221  }
222  nextCascadeVrt = nullptr;
223  truncatedStep = src.truncatedStep;
224  existFullCov = src.existFullCov;
225 
226  int NTrack=src.TrackList.size();
227  int FULLSIZE=3*vkalNTrkM+3;
228  int SIZE=3*NTrack+3;
229  for(int i=0; i<SIZE; i++) for(int j=0; j<SIZE; j++) { ader[i*FULLSIZE+j]=src.ader[i*FULLSIZE+j]; }
230  //----- Creation of track and constraint copies
231  TrackList.clear();
232  tmpArr.clear();
233  ConstraintList.clear();
234  for( int i=0; i<NTrack; i++) TrackList.emplace_back( new VKTrack(*(src.TrackList[i])) );
235  ConstraintList.reserve(src.ConstraintList.size());
236  for( int ic=0; ic<(int)src.ConstraintList.size(); ic++){
237  ConstraintList.emplace_back(src.ConstraintList[ic]->clone());
238  }
239 
242  std::copy (std::begin(src.dxyz0), std::end(src.dxyz0), std::begin(dxyz0));
243  }
244  return *this;
245  }
246 
247 
249  {
250  if (Iter<3) Iter=3;
251  if (Iter>100) Iter=100;
252  vk_forcft.IterationNumber = Iter;
253  }
254 
256  {
257  if (Prec<1.e-5) Prec=1.e-5;
258  if (Prec>1.e-1) Prec=1.e-1;
260  }
261 
263  {
264  if (Scale<0.01) Scale=0.01;
265  if (Scale>100.) Scale=100.;
267  }
268 
270  {
271  if (Rob<0) Rob=0;
272  if (Rob>7) Rob=7;
273  vk_forcft.irob = Rob;
274  }
275  void VKalVrtControl::setMassCnstData(int Ntrk, double Mass){ // Define global mass constraint. It must be first
276  double sumM(0.);
277  for(int it=0; it<Ntrk; it++) sumM += vk_forcft.wm[it]; //sum of particle masses
278  if(sumM<Mass) {
279  vk_forcft.wmfit[0]=Mass;
280  for(int it=0; it<Ntrk; it++) vk_forcft.indtrkmc[0][it]=1; //Set participating particles
281  vk_forcft.nmcnst=1;
282  }
284  }
285  void VKalVrtControl::setMassCnstData(int NtrkTot, const std::vector<int> & Index, double Mass){
286  double sumM(0.);
287  int Ntrk=std::min((int)Index.size(),NtrkTot);
288  for(int it=0; it<Ntrk; it++) sumM += vk_forcft.wm[Index[it]]; //sum of particle masses
289  if(sumM<Mass) {
290  vk_forcft.wmfit[0]=Mass;
291  for(int it=0; it<Ntrk; it++) vk_forcft.indtrkmc[vk_forcft.nmcnst][Index[it]-1]=1; //Set participating particles
292  vk_forcft.nmcnst++;
293  }
295  }
296 
298  void VKalVrtControl::setUsePlaneCnst(double a, double b, double c, double d) {
299  if(a+b+c+d == 0.){ vk_forcft.usePlaneCnst = 0;
300  }else{ vk_forcft.usePlaneCnst = 1; }
302  }
305  void VKalVrtControl::setUsePointingCnst(int iType = 1 ) { vk_forcft.usePointingCnst = iType<2 ? 1 : 2 ;}
306  void VKalVrtControl::setUsePassNear(int iType = 1 ) { vk_forcft.usePassNear = iType<2 ? 1 : 2 ;}
308  if(m_cascadeEvent)delete m_cascadeEvent;
310  }
311  void VKalVrtControl::renewFullCovariance(double * newarray) {
312  m_fullCovariance.reset(newarray);
313  }
314 
315 } /* End of namespace */
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
Trk::VKTrack::cnstP
double cnstP[3]
Definition: TrkVKalVrtCoreBase.h:80
base
std::string base
Definition: hcg.cxx:78
CommonPars.h
Trk::VKalVrtControl::setUsePlaneCnst
void setUsePlaneCnst(double a, double b, double c, double d)
Definition: TrkVKalVrtCoreBase.cxx:298
Trk::VKTrack::WgtM
double WgtM[15]
Definition: TrkVKalVrtCoreBase.h:87
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
python.BeamSpotUpdate.newevt
newevt
Definition: BeamSpotUpdate.py:195
Trk::VKalVrtControl::setUsePassNear
void setUsePassNear(int)
Definition: TrkVKalVrtCoreBase.cxx:306
Trk::ForCFT::useThetaCnst
int useThetaCnst
Definition: ForCFT.h:17
Trk::VKVertex::tmpArr
std::vector< std::unique_ptr< TWRK > > tmpArr
Definition: TrkVKalVrtCoreBase.h:168
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
WriteCellNoiseToCool.src
src
Definition: WriteCellNoiseToCool.py:513
Trk::addrMagHandler
void(* addrMagHandler)(double, double, double, double &, double &, double &)
Definition: VKalVrtBMag.h:22
Trk::VKVertex::T
double T[3]
Definition: TrkVKalVrtCoreBase.h:163
Trk::VKalVrtControl::m_cascadeEvent
CascadeEvent * m_cascadeEvent
Definition: TrkVKalVrtCore.h:89
hist_file_dump.d
d
Definition: hist_file_dump.py:137
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
Trk::addrPropagator
void(* addrPropagator)(long int, long int, double *, double *, double *, double *, double *, double *)
Definition: Propagator.h:23
Trk::VKalVrtControl::setIterationPrec
void setIterationPrec(double Prec)
Definition: TrkVKalVrtCoreBase.cxx:255
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
skel.it
it
Definition: skel.GENtoEVGEN.py:396
Trk::VKVertex::useApriorVertex
int useApriorVertex
Definition: TrkVKalVrtCoreBase.h:151
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
Trk::VKalVrtControl::setRobustScale
void setRobustScale(double Scale)
Definition: TrkVKalVrtCoreBase.cxx:262
Trk::VKVertex::FVC
ForVrtClose FVC
Definition: TrkVKalVrtCoreBase.h:160
Trk::VKalVrtControl::setUsePointingCnst
void setUsePointingCnst(int)
Definition: TrkVKalVrtCoreBase.cxx:305
Trk::VKalVrtControl::setUseThetaCnst
void setUseThetaCnst()
Definition: TrkVKalVrtCoreBase.cxx:303
Trk::VKalVrtControl::VKalVrtControl
VKalVrtControl(const VKalVrtControlBase &)
Definition: TrkVKalVrtCoreBase.cxx:28
Trk::VKVertex::refIterV
double refIterV[3]
Definition: TrkVKalVrtCoreBase.h:146
Trk::VKTrack::VKTrack
VKTrack(long int, const double[], const double[], VKVertex *, double)
Definition: TrkVKalVrtCoreBase.cxx:47
Trk::VKTrack
Definition: TrkVKalVrtCoreBase.h:64
Trk::VKTrack::Charge
int Charge
Definition: TrkVKalVrtCoreBase.h:73
Trk::ForCFT::Cp
double Cp
Definition: ForCFT.h:30
Trk::VKVertex::ader
double ader[(3 *vkalNTrkM+3) *(3 *vkalNTrkM+3)]
Definition: TrkVKalVrtCoreBase.h:188
Trk::VKTrack::refPerig
double refPerig[5]
Definition: TrkVKalVrtCoreBase.h:96
Trk::VKTrack::setReference
void setReference(const double[], const double[])
Definition: TrkVKalVrtCoreBase.cxx:76
Trk::VKVertex::apriorV
double apriorV[3]
Definition: TrkVKalVrtCoreBase.h:152
Trk::VKTrack::Perig
double Perig[5]
Definition: TrkVKalVrtCoreBase.h:86
Trk::VKVertex::ConstraintList
std::vector< std::unique_ptr< VKConstraintBase > > ConstraintList
Definition: TrkVKalVrtCoreBase.h:169
Trk::VKVertex::apriorVWGT
double apriorVWGT[6]
Definition: TrkVKalVrtCoreBase.h:153
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
Trk::VKTrack::fitP
double fitP[3]
Definition: TrkVKalVrtCoreBase.h:76
TrkVKalVrtCoreBase.h
Trk::VKVertex::TrackList
std::vector< std::unique_ptr< VKTrack > > TrackList
Definition: TrkVKalVrtCoreBase.h:167
Trk::ForCFT::usePassNear
int usePassNear
Definition: ForCFT.h:20
Trk::VKVertex::setFitV
void setFitV(double v[3]) noexcept
Definition: TrkVKalVrtCoreBase.cxx:150
Index
IndexedConstituentUserInfo::Index Index
Definition: IndexedConstituentUserInfo.cxx:12
Trk::VKVertex::fitV
double fitV[3]
Definition: TrkVKalVrtCoreBase.h:140
Trk::ForCFT::indtrkmc
int indtrkmc[vkalMaxNMassCnst][vkalNTrkM]
Definition: ForCFT.h:46
Trk::VKalVrtControl::setUseAprioriVrt
void setUseAprioriVrt()
Definition: TrkVKalVrtCoreBase.cxx:304
Trk::VKVertex::operator=
VKVertex & operator=(const VKVertex &src)
Definition: TrkVKalVrtCoreBase.cxx:196
lumiFormat.i
int i
Definition: lumiFormat.py:85
Trk::VKTrack::rmnd
double rmnd[5]
Definition: TrkVKalVrtCoreBase.h:91
Trk::VKVertex::setRefIterV
void setRefIterV(double v[]) noexcept
Definition: TrkVKalVrtCoreBase.cxx:148
Trk::ForCFT::RobustScale
double RobustScale
Definition: ForCFT.h:44
Trk::VKVertex::setIniV
void setIniV(double v[3]) noexcept
Definition: TrkVKalVrtCoreBase.cxx:149
Trk::VKVertex::fitMom
double fitMom[3]
Definition: TrkVKalVrtCoreBase.h:158
Trk::VKTrack::setCurrent
void setCurrent(const double[], const double[])
Definition: TrkVKalVrtCoreBase.cxx:70
TrkVKalVrtCore.h
Trk::VKVertex::refV
double refV[3]
Definition: TrkVKalVrtCoreBase.h:148
Trk::basePropagator
Definition: Propagator.h:33
Trk::VKVertex::passNearVertex
bool passNearVertex
Definition: TrkVKalVrtCoreBase.h:156
Trk::ForCFT::useAprioriVrt
int useAprioriVrt
Definition: ForCFT.h:19
Trk::VKalVrtControl::setRobustness
void setRobustness(int Rob)
Definition: TrkVKalVrtCoreBase.cxx:269
Trk::ForCFT::IterationPrecision
double IterationPrecision
Definition: ForCFT.h:48
Trk::VKVertex::fitVcov
double fitVcov[6]
Definition: TrkVKalVrtCoreBase.h:141
Scale
void Scale(TH1 *h, double d=1)
Definition: comparitor.cxx:76
Trk::ForCFT::usePhiCnst
int usePhiCnst
Definition: ForCFT.h:16
Trk::VKalVrtControl::renewCascadeEvent
void renewCascadeEvent(CascadeEvent *)
Definition: TrkVKalVrtCoreBase.cxx:307
Trk::VKalVrtControl::renewFullCovariance
void renewFullCovariance(double *)
Definition: TrkVKalVrtCoreBase.cxx:311
Trk::VKTrack::m_originVertex
VKVertex * m_originVertex
Definition: TrkVKalVrtCoreBase.h:120
Trk::ForCFT::usePlaneCnst
int usePlaneCnst
Definition: ForCFT.h:21
min
#define min(a, b)
Definition: cfImp.cxx:40
Trk::VKVertex::existFullCov
int existFullCov
Definition: TrkVKalVrtCoreBase.h:186
Trk::VKalVrtControl::setIterationNum
void setIterationNum(int Iter)
Definition: TrkVKalVrtCoreBase.cxx:248
grepfile.ic
int ic
Definition: grepfile.py:33
Derivt.h
Trk::VKTrack::restoreCurrentWgt
void restoreCurrentWgt()
Definition: TrkVKalVrtCoreBase.cxx:81
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::VKVertex::vk_fitterControl
std::unique_ptr< VKalVrtControl > vk_fitterControl
Definition: TrkVKalVrtCoreBase.h:194
Trk::VKVertex::setRefV
void setRefV(double v[3]) noexcept
Definition: TrkVKalVrtCoreBase.cxx:147
Trk::VKTrack::WgtM_save
double WgtM_save[15]
Definition: TrkVKalVrtCoreBase.h:88
Trk::ForCFT::wm
double wm[vkalNTrkM]
Definition: ForCFT.h:26
Trk::VKalVrtControl::setMassCnstData
void setMassCnstData(int Ntrk, double Mass)
Definition: TrkVKalVrtCoreBase.cxx:275
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
Trk::ForCFT::Dp
double Dp
Definition: ForCFT.h:30
Trk::VKVertex::~VKVertex
~VKVertex()
Trk::ForCFT::Ap
double Ap
Definition: ForCFT.h:30
vkalNTrkM
#define vkalNTrkM
Definition: CommonPars.h:22
Trk::VKVertex::cnstV
double cnstV[3]
Definition: TrkVKalVrtCoreBase.h:143
Trk::VKalVrtControl::setUsePhiCnst
void setUsePhiCnst()
Definition: TrkVKalVrtCoreBase.cxx:297
Trk::ForCFT::wmfit
double wmfit[vkalMaxNMassCnst]
Definition: ForCFT.h:27
Trk::VKVertex::setCnstV
void setCnstV(double v[3]) noexcept
Definition: TrkVKalVrtCoreBase.cxx:151
Trk::CascadeEvent
Definition: TrkVKalVrtCoreBase.h:21
Trk::VKalVrtControlBase::VKalVrtControlBase
VKalVrtControlBase(baseMagFld *, const addrMagHandler, const basePropagator *, const addrPropagator, IVKalState *istate=nullptr)
Definition: TrkVKalVrtCoreBase.cxx:18
MuonR4::SegmentFit::Covariance
AmgSymMatrix(toInt(ParamDefs::nPars)) Covariance
Definition: MuonHoughDefs.h:49
Trk::baseMagFld
Definition: VKalVrtBMag.h:29
a
TList * a
Definition: liststreamerinfos.cxx:10
Trk::VKVertex::VKVertex
VKVertex()
Definition: TrkVKalVrtCoreBase.cxx:131
Trk::IVKalState
Definition: IVKalState.h:21
Trk::VKalVrtControl::m_fullCovariance
std::unique_ptr< double[]> m_fullCovariance
Definition: TrkVKalVrtCore.h:84
Trk::operator<<
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
Definition: AlignModule.cxx:204
Trk::VKTrack::refCovar
double refCovar[15]
Definition: TrkVKalVrtCoreBase.h:97
Trk::VKalVrtControl
Definition: TrkVKalVrtCore.h:44
Trk::VKVertex::Chi2
double Chi2
Definition: TrkVKalVrtCoreBase.h:139
Trk::VKVertex::fitCovXYZMom
double fitCovXYZMom[21]
Definition: TrkVKalVrtCoreBase.h:159
Trk::ForCFT::irob
int irob
Definition: ForCFT.h:43
Trk::ForCFT::IterationNumber
int IterationNumber
Definition: ForCFT.h:47
Trk::VKVertex::nextCascadeVrt
VKVertex * nextCascadeVrt
Definition: TrkVKalVrtCoreBase.h:179
Trk::VKVertex::wa
double wa[6]
Definition: TrkVKalVrtCoreBase.h:164
Trk::VKVertex::dxyz0
double dxyz0[3]
Definition: TrkVKalVrtCoreBase.h:165
Trk::VKVertex
Definition: TrkVKalVrtCoreBase.h:128
Trk::VKVertex::iniV
double iniV[3]
Definition: TrkVKalVrtCoreBase.h:142
Trk::VKTrack::iniP
double iniP[3]
Definition: TrkVKalVrtCoreBase.h:83
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
calibdata.copy
bool copy
Definition: calibdata.py:27
Trk::VKVertex::savedVrtMomCov
double savedVrtMomCov[21]
Definition: TrkVKalVrtCoreBase.h:181
Trk::VKalVrtControlBase
Definition: TrkVKalVrtCore.h:26
Trk::ForCFT::nmcnst
int nmcnst
Definition: ForCFT.h:25
Trk::VKVertex::passWithTrkCov
bool passWithTrkCov
Definition: TrkVKalVrtCoreBase.h:157
Trk::ForCFT::Bp
double Bp
Definition: ForCFT.h:30
python.compressB64.c
def c
Definition: compressB64.py:93
Trk::VKalVrtControl::vk_forcft
ForCFT vk_forcft
Definition: TrkVKalVrtCore.h:91
ForCFT.h
Trk::VKVertex::truncatedStep
bool truncatedStep
Definition: TrkVKalVrtCoreBase.h:185
Trk::ForCFT::useMassCnst
int useMassCnst
Definition: ForCFT.h:15
Trk::v
@ v
Definition: ParamDefs.h:78
Trk::ForCFT::usePointingCnst
int usePointingCnst
Definition: ForCFT.h:18