ATLAS Offline Software
TrkVKalVrtCoreBase.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 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 
128  { vk_fitterControl = std::make_unique<VKalVrtControl>(FitControl); }
129 
131  useApriorVertex(0), passNearVertex(false), passWithTrkCov(false),
132  TrackList(0), tmpArr(0), ConstraintList(0),nextCascadeVrt(nullptr),includedVrt(0)
133  {
134  for(int i=0; i<3; i++) apriorV[i]=refV[i]=iniV[i]=fitV[i]=cnstV[i]=fitMom[i]=0.;
135  for(int i=0; i<6; i++) apriorVWGT[i]=0.;
136  for(int i=0; i<21; i++) fitCovXYZMom[i]=savedVrtMomCov[i]=0.;
137  fitCovXYZMom[0]=savedVrtMomCov[0]=100.; fitCovXYZMom[2] =savedVrtMomCov[2] =100.; fitCovXYZMom[5] =savedVrtMomCov[5] =100.;
138  fitCovXYZMom[9]=savedVrtMomCov[9]=100.; fitCovXYZMom[14]=savedVrtMomCov[14]=100.; fitCovXYZMom[20]=savedVrtMomCov[20]=100.;
139  Chi2=0.;
140  truncatedStep=false;
141  existFullCov=0;
142  }
143 
144  VKVertex::~VKVertex() = default;
145 
146  void VKVertex::setRefV(double v[3]) noexcept { std::copy(v, v+3, refV);}
147  void VKVertex::setRefIterV(double v[]) noexcept { std::copy(v, v+3, refIterV); }
148  void VKVertex::setIniV(double v[3]) noexcept { std::copy(v, v+3, iniV); }
149  void VKVertex::setFitV(double v[3]) noexcept { std::copy(v, v+3, fitV); }
150  void VKVertex::setCnstV(double v[3]) noexcept { std::copy(v, v+3, cnstV);}
151 
152 
153  VKVertex::VKVertex(const VKVertex & src): //copy constructor
154  Chi2(src.Chi2), // vertex Chi2
155  useApriorVertex(src.useApriorVertex), //for a priory vertex position knowledge usage
156  passNearVertex(src.passNearVertex), // needed for "passing near vertex" constraint
157  passWithTrkCov(src.passWithTrkCov), // Vertex, CovVertex, Charge and derivatives
158  FVC(src.FVC),
159  TrackList(0),
160  ConstraintList(0)
161  {
162  for( int i=0; i<6; i++) {
163  fitVcov[i] =src.fitVcov[i]; // range[0:5]
164  apriorVWGT[i] =src.apriorVWGT[i];
165  if(i>=3) continue;
166  fitV[i] =src.fitV[i]; // range[0:2]
167  iniV[i] =src.iniV[i];
168  cnstV[i] =src.cnstV[i];
169  refIterV[i]=src.refIterV[i];
170  refV[i] =src.refV[i];
171  apriorV[i] =src.apriorV[i];
172  fitMom[i] = src.fitMom[i];
173  }
174  for( int i=0; i<21; i++){
175  savedVrtMomCov[i]=src.savedVrtMomCov[i];
176  fitCovXYZMom[i]=src.fitCovXYZMom[i];
177  }
178  nextCascadeVrt = nullptr;
179  truncatedStep = src.truncatedStep;
180  existFullCov = src.existFullCov;
181 
182  int NTrack=src.TrackList.size();
183  int FULLSIZE=3*vkalNTrkM+3;
184  int SIZE=3*NTrack+3;
185  for(int i=0; i<SIZE; i++) for(int j=0; j<SIZE; j++) { ader[i*FULLSIZE+j]=src.ader[i*FULLSIZE+j]; }
186  //----- Creation of track and constraint copies
187  for( int i=0; i<NTrack; i++) TrackList.emplace_back( new VKTrack(*(src.TrackList[i])) );
188  ConstraintList.reserve(src.ConstraintList.size());
189  for( int ic=0; ic<(int)src.ConstraintList.size(); ic++){
190  ConstraintList.emplace_back(src.ConstraintList[ic]->clone());
191  }
192  vk_fitterControl = std::make_unique<VKalVrtControl>(*src.vk_fitterControl);
193  }
194 
195  VKVertex& VKVertex::operator= (const VKVertex & src) //Assignment operator
196  {
197  if (this!=&src){
198  vk_fitterControl.reset();
199  vk_fitterControl=std::make_unique<VKalVrtControl>(*(src.vk_fitterControl));
200  Chi2=src.Chi2; // vertex Chi2
201  useApriorVertex=src.useApriorVertex; //for a priory vertex position knowledge usage
202  passNearVertex=src.passNearVertex; // needed for "passing near vertex" constraint
203  passWithTrkCov=src.passWithTrkCov; // Vertex, CovVertex, Charge and derivatives
204  FVC=src.FVC;
205  for( int i=0; i<6; i++) {
206  fitVcov[i] =src.fitVcov[i]; // range[0:5]
207  apriorVWGT[i] =src.apriorVWGT[i];
208  if(i>=3) continue;
209  fitV[i] =src.fitV[i]; // range[0:2]
210  iniV[i] =src.iniV[i];
211  cnstV[i] =src.cnstV[i];
212  refIterV[i]=src.refIterV[i];
213  refV[i] =src.refV[i];
214  apriorV[i] =src.apriorV[i];
215  fitMom[i] = src.fitMom[i];
216  }
217  for( int i=0; i<21; i++){
218  savedVrtMomCov[i]=src.savedVrtMomCov[i];
219  fitCovXYZMom[i]=src.fitCovXYZMom[i];
220  }
221  nextCascadeVrt = nullptr;
222  truncatedStep = src.truncatedStep;
223  existFullCov = src.existFullCov;
224 
225  int NTrack=src.TrackList.size();
226  int FULLSIZE=3*vkalNTrkM+3;
227  int SIZE=3*NTrack+3;
228  for(int i=0; i<SIZE; i++) for(int j=0; j<SIZE; j++) { ader[i*FULLSIZE+j]=src.ader[i*FULLSIZE+j]; }
229  //----- Creation of track and constraint copies
230  TrackList.clear();
231  tmpArr.clear();
232  ConstraintList.clear();
233  for( int i=0; i<NTrack; i++) TrackList.emplace_back( new VKTrack(*(src.TrackList[i])) );
234  ConstraintList.reserve(src.ConstraintList.size());
235  for( int ic=0; ic<(int)src.ConstraintList.size(); ic++){
236  ConstraintList.emplace_back(src.ConstraintList[ic]->clone());
237  }
238 
241  std::copy (std::begin(src.dxyz0), std::end(src.dxyz0), std::begin(dxyz0));
242  }
243  return *this;
244  }
245 
246 
248  {
249  if (Iter<3) Iter=3;
250  if (Iter>100) Iter=100;
251  vk_forcft.IterationNumber = Iter;
252  }
253 
255  {
256  if (Prec<1.e-5) Prec=1.e-5;
257  if (Prec>1.e-1) Prec=1.e-1;
259  }
260 
262  {
263  if (Scale<0.01) Scale=0.01;
264  if (Scale>100.) Scale=100.;
266  }
267 
269  {
270  if (Rob<0) Rob=0;
271  if (Rob>7) Rob=7;
272  vk_forcft.irob = Rob;
273  }
274  void VKalVrtControl::setMassCnstData(int Ntrk, double Mass){ // Define global mass constraint. It must be first
275  double sumM(0.);
276  for(int it=0; it<Ntrk; it++) sumM += vk_forcft.wm[it]; //sum of particle masses
277  if(sumM<Mass) {
278  vk_forcft.wmfit[0]=Mass;
279  for(int it=0; it<Ntrk; it++) vk_forcft.indtrkmc[0][it]=1; //Set participating particles
280  vk_forcft.nmcnst=1;
281  }
283  }
284  void VKalVrtControl::setMassCnstData(int NtrkTot, const std::vector<int> & Index, double Mass){
285  double sumM(0.);
286  int Ntrk=std::min((int)Index.size(),NtrkTot);
287  for(int it=0; it<Ntrk; it++) sumM += vk_forcft.wm[Index[it]]; //sum of particle masses
288  if(sumM<Mass) {
289  vk_forcft.wmfit[0]=Mass;
290  for(int it=0; it<Ntrk; it++) vk_forcft.indtrkmc[vk_forcft.nmcnst][Index[it]-1]=1; //Set participating particles
291  vk_forcft.nmcnst++;
292  }
294  }
295 
297  void VKalVrtControl::setUsePlaneCnst(double a, double b, double c, double d) {
298  if(a+b+c+d == 0.){ vk_forcft.usePlaneCnst = 0;
299  }else{ vk_forcft.usePlaneCnst = 1; }
301  }
304  void VKalVrtControl::setUsePointingCnst(int iType = 1 ) { vk_forcft.usePointingCnst = iType<2 ? 1 : 2 ;}
305  void VKalVrtControl::setUsePassNear(int iType = 1 ) { vk_forcft.usePassNear = iType<2 ? 1 : 2 ;}
307  if(m_cascadeEvent)delete m_cascadeEvent;
309  }
310  void VKalVrtControl::renewFullCovariance(double * newarray) {
311  m_fullCovariance.reset(newarray);
312  }
313 
314 } /* End of namespace */
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:297
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:305
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:254
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
skel.it
it
Definition: skel.GENtoEVGEN.py:423
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:261
Trk::VKVertex::FVC
ForVrtClose FVC
Definition: TrkVKalVrtCoreBase.h:160
Trk::VKalVrtControl::setUsePointingCnst
void setUsePointingCnst(int)
Definition: TrkVKalVrtCoreBase.cxx:304
Trk::VKalVrtControl::setUseThetaCnst
void setUseThetaCnst()
Definition: TrkVKalVrtCoreBase.cxx:302
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:149
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:303
Trk::VKVertex::operator=
VKVertex & operator=(const VKVertex &src)
Definition: TrkVKalVrtCoreBase.cxx:195
lumiFormat.i
int i
Definition: lumiFormat.py:92
Trk::VKTrack::rmnd
double rmnd[5]
Definition: TrkVKalVrtCoreBase.h:91
Trk::VKVertex::setRefIterV
void setRefIterV(double v[]) noexcept
Definition: TrkVKalVrtCoreBase.cxx:147
Trk::ForCFT::RobustScale
double RobustScale
Definition: ForCFT.h:44
Trk::VKVertex::setIniV
void setIniV(double v[3]) noexcept
Definition: TrkVKalVrtCoreBase.cxx:148
Trk::VKVertex::fitMom
double fitMom[3]
Definition: TrkVKalVrtCoreBase.h:158
ActsTrk::Covariance
Acts::TrackStateTraits< 3, false >::Covariance Covariance
Definition: Tracking/Acts/ActsEvent/ActsEvent/TrackSummaryContainer.h:52
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:268
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:306
Trk::VKalVrtControl::renewFullCovariance
void renewFullCovariance(double *)
Definition: TrkVKalVrtCoreBase.cxx:310
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:247
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:146
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:274
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:296
Trk::ForCFT::wmfit
double wmfit[vkalMaxNMassCnst]
Definition: ForCFT.h:27
Trk::VKVertex::setCnstV
void setCnstV(double v[3]) noexcept
Definition: TrkVKalVrtCoreBase.cxx:150
Trk::CascadeEvent
Definition: TrkVKalVrtCoreBase.h:21
Trk::VKalVrtControlBase::VKalVrtControlBase
VKalVrtControlBase(baseMagFld *, const addrMagHandler, const basePropagator *, const addrPropagator, IVKalState *istate=nullptr)
Definition: TrkVKalVrtCoreBase.cxx:18
Trk::baseMagFld
Definition: VKalVrtBMag.h:29
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
a
TList * a
Definition: liststreamerinfos.cxx:10
Trk::VKVertex::VKVertex
VKVertex()
Definition: TrkVKalVrtCoreBase.cxx:130
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:84
Trk::ForCFT::usePointingCnst
int usePointingCnst
Definition: ForCFT.h:18