ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::VKalVrtControl Class Reference

#include <TrkVKalVrtCore.h>

Inheritance diagram for Trk::VKalVrtControl:
Collaboration diagram for Trk::VKalVrtControl:

Public Member Functions

 VKalVrtControl (const VKalVrtControlBase &)
 VKalVrtControl (const VKalVrtControl &src)
 ~VKalVrtControl ()=default
void setIterationNum (int Iter)
void setIterationPrec (double Prec)
void setRobustScale (double Scale)
void setRobustness (int Rob)
void setMassCnstData (int Ntrk, double Mass)
void setMassCnstData (int Ntrk, const std::vector< int > &Index, double Mass)
void setUseMassCnst ()
void setUsePhiCnst ()
void setUsePlaneCnst (double a, double b, double c, double d)
void setUseRadiusCnst (double R, double RefP[2])
void setUseThetaCnst ()
void setUseAprioriVrt ()
void setUsePointingCnst (int)
void setUsePassNear (int)
void renewCascadeEvent (CascadeEvent *)
const CascadeEventgetCascadeEvent () const
CascadeEventgetCascadeEvent ()
void renewFullCovariance (double *)
const double * getFullCovariance () const
double * getFullCovariance ()
void setVertexMass (double mass)
void setVrtMassError (double error)
double getVertexMass () const
double getVrtMassError () const

Public Attributes

ForCFT vk_forcft
bool m_frozenVersionForBTagging = false
bool m_allowUltraDisplaced = false
baseMagFldvk_objMagFld
const addrMagHandler vk_funcMagFld
const basePropagatorvk_objProp
const addrPropagator vk_funcProp
IVKalStatevk_istate

Private Attributes

std::unique_ptr< double[]> m_fullCovariance
double m_vrtMassTot
double m_vrtMassError
CascadeEventm_cascadeEvent =nullptr

Detailed Description

Definition at line 43 of file TrkVKalVrtCore.h.

Constructor & Destructor Documentation

◆ VKalVrtControl() [1/2]

Trk::VKalVrtControl::VKalVrtControl ( const VKalVrtControlBase & base)

Definition at line 28 of file TrkVKalVrtCoreBase.cxx.

30 m_vrtMassTot(-1),
32 m_cascadeEvent(nullptr),
33 vk_forcft(),
36 {
37 }
VKalVrtControlBase(baseMagFld *, const addrMagHandler, const basePropagator *, const addrPropagator, IVKalState *istate=nullptr)
CascadeEvent * m_cascadeEvent
std::string base
Definition hcg.cxx:81

◆ VKalVrtControl() [2/2]

Trk::VKalVrtControl::VKalVrtControl ( const VKalVrtControl & src)

Definition at line 38 of file TrkVKalVrtCoreBase.cxx.

39 : VKalVrtControlBase(src),
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)
46 {
47 }

◆ ~VKalVrtControl()

Trk::VKalVrtControl::~VKalVrtControl ( )
default

Member Function Documentation

◆ getCascadeEvent() [1/2]

CascadeEvent * Trk::VKalVrtControl::getCascadeEvent ( )
inline

Definition at line 71 of file TrkVKalVrtCore.h.

71{ return m_cascadeEvent;};

◆ getCascadeEvent() [2/2]

const CascadeEvent * Trk::VKalVrtControl::getCascadeEvent ( ) const
inline

Definition at line 70 of file TrkVKalVrtCore.h.

70{ return m_cascadeEvent;};

◆ getFullCovariance() [1/2]

double * Trk::VKalVrtControl::getFullCovariance ( )
inline

Definition at line 75 of file TrkVKalVrtCore.h.

75{ return m_fullCovariance.get(); }
std::unique_ptr< double[]> m_fullCovariance

◆ getFullCovariance() [2/2]

const double * Trk::VKalVrtControl::getFullCovariance ( ) const
inline

Definition at line 74 of file TrkVKalVrtCore.h.

74{ return m_fullCovariance.get(); }

◆ getVertexMass()

double Trk::VKalVrtControl::getVertexMass ( ) const
inline

Definition at line 78 of file TrkVKalVrtCore.h.

78{ return m_vrtMassTot;}

◆ getVrtMassError()

double Trk::VKalVrtControl::getVrtMassError ( ) const
inline

Definition at line 79 of file TrkVKalVrtCore.h.

79{return m_vrtMassError;}

◆ renewCascadeEvent()

void Trk::VKalVrtControl::renewCascadeEvent ( CascadeEvent * newevt)

Definition at line 316 of file TrkVKalVrtCoreBase.cxx.

◆ renewFullCovariance()

void Trk::VKalVrtControl::renewFullCovariance ( double * newarray)

Definition at line 320 of file TrkVKalVrtCoreBase.cxx.

320 {
321 m_fullCovariance.reset(newarray);
322 }

◆ setIterationNum()

void Trk::VKalVrtControl::setIterationNum ( int Iter)

Definition at line 250 of file TrkVKalVrtCoreBase.cxx.

251 {
252 if (Iter<3) Iter=3;
253 if (Iter>100) Iter=100;
254 vk_forcft.IterationNumber = Iter;
255 }

◆ setIterationPrec()

void Trk::VKalVrtControl::setIterationPrec ( double Prec)

Definition at line 257 of file TrkVKalVrtCoreBase.cxx.

258 {
259 if (Prec<1.e-5) Prec=1.e-5;
260 if (Prec>1.e-1) Prec=1.e-1;
261 vk_forcft.IterationPrecision = Prec;
262 }

◆ setMassCnstData() [1/2]

void Trk::VKalVrtControl::setMassCnstData ( int Ntrk,
const std::vector< int > & Index,
double Mass )

Definition at line 287 of file TrkVKalVrtCoreBase.cxx.

287 {
288 double sumM(0.);
289 int Ntrk=std::min((int)Index.size(),NtrkTot);
290 for(int it=0; it<Ntrk; it++) sumM += vk_forcft.wm[Index[it]]; //sum of particle masses
291 if(sumM<Mass) {
292 vk_forcft.wmfit[vk_forcft.nmcnst]=Mass;
293 for(int it=0; it<Ntrk; it++) vk_forcft.indtrkmc[vk_forcft.nmcnst][Index[it]-1]=1; //Set participating particles
294 vk_forcft.nmcnst++;
295 }
296 vk_forcft.useMassCnst = 1;
297 }
IndexedConstituentUserInfo::Index Index

◆ setMassCnstData() [2/2]

void Trk::VKalVrtControl::setMassCnstData ( int Ntrk,
double Mass )

Definition at line 277 of file TrkVKalVrtCoreBase.cxx.

277 { // Define global mass constraint. It must be first
278 double sumM(0.);
279 for(int it=0; it<Ntrk; it++) sumM += vk_forcft.wm[it]; //sum of particle masses
280 if(sumM<Mass) {
281 vk_forcft.wmfit[0]=Mass;
282 for(int it=0; it<Ntrk; it++) vk_forcft.indtrkmc[0][it]=1; //Set participating particles
283 vk_forcft.nmcnst=1;
284 }
285 vk_forcft.useMassCnst = 1;
286 }

◆ setRobustness()

void Trk::VKalVrtControl::setRobustness ( int Rob)

Definition at line 271 of file TrkVKalVrtCoreBase.cxx.

272 {
273 if (Rob<0) Rob=0;
274 if (Rob>7) Rob=7;
275 vk_forcft.irob = Rob;
276 }

◆ setRobustScale()

void Trk::VKalVrtControl::setRobustScale ( double Scale)

Definition at line 264 of file TrkVKalVrtCoreBase.cxx.

265 {
266 if (Scale<0.01) Scale=0.01;
267 if (Scale>100.) Scale=100.;
268 vk_forcft.RobustScale = Scale;
269 }
void Scale(TH1 *h, double d=1)

◆ setUseAprioriVrt()

void Trk::VKalVrtControl::setUseAprioriVrt ( )

Definition at line 313 of file TrkVKalVrtCoreBase.cxx.

313{ vk_forcft.useAprioriVrt = 1;}

◆ setUseMassCnst()

void Trk::VKalVrtControl::setUseMassCnst ( )

◆ setUsePassNear()

void Trk::VKalVrtControl::setUsePassNear ( int iType = 1)

Definition at line 315 of file TrkVKalVrtCoreBase.cxx.

315{ vk_forcft.usePassNear = iType<2 ? 1 : 2 ;}

◆ setUsePhiCnst()

void Trk::VKalVrtControl::setUsePhiCnst ( )

Definition at line 299 of file TrkVKalVrtCoreBase.cxx.

299{ vk_forcft.usePhiCnst = 1;}

◆ setUsePlaneCnst()

void Trk::VKalVrtControl::setUsePlaneCnst ( double a,
double b,
double c,
double d )

Definition at line 300 of file TrkVKalVrtCoreBase.cxx.

300 {
301 if(a+b+c+d == 0.){ vk_forcft.usePlaneCnst = 0;
302 }else{ vk_forcft.usePlaneCnst = 1; }
303 vk_forcft.Ap = a; vk_forcft.Bp = b; vk_forcft.Cp = c; vk_forcft.Dp = d;
304 }
static Double_t a

◆ setUsePointingCnst()

void Trk::VKalVrtControl::setUsePointingCnst ( int iType = 1)

Definition at line 314 of file TrkVKalVrtCoreBase.cxx.

314{ vk_forcft.usePointingCnst = iType<2 ? 1 : 2 ;}

◆ setUseRadiusCnst()

void Trk::VKalVrtControl::setUseRadiusCnst ( double R,
double RefP[2] )

Definition at line 305 of file TrkVKalVrtCoreBase.cxx.

305 {
306 if(R == 0.){ vk_forcft.useRadiusCnst = 0;
307 }else{ vk_forcft.useRadiusCnst = 1; }
308 vk_forcft.RC = R;
309 vk_forcft.radiusRefP[0]=RefP[0];
310 vk_forcft.radiusRefP[1]=RefP[1];
311 }
double R(const INavigable4Momentum *p1, const double v_eta, const double v_phi)

◆ setUseThetaCnst()

void Trk::VKalVrtControl::setUseThetaCnst ( )

Definition at line 312 of file TrkVKalVrtCoreBase.cxx.

312{ vk_forcft.useThetaCnst = 1;}

◆ setVertexMass()

void Trk::VKalVrtControl::setVertexMass ( double mass)
inline

◆ setVrtMassError()

void Trk::VKalVrtControl::setVrtMassError ( double error)
inline

Member Data Documentation

◆ m_allowUltraDisplaced

bool Trk::VKalVrtControl::m_allowUltraDisplaced = false

Definition at line 94 of file TrkVKalVrtCore.h.

◆ m_cascadeEvent

CascadeEvent* Trk::VKalVrtControl::m_cascadeEvent =nullptr
private

Definition at line 90 of file TrkVKalVrtCore.h.

◆ m_frozenVersionForBTagging

bool Trk::VKalVrtControl::m_frozenVersionForBTagging = false

Definition at line 93 of file TrkVKalVrtCore.h.

◆ m_fullCovariance

std::unique_ptr<double[]> Trk::VKalVrtControl::m_fullCovariance
private

Definition at line 85 of file TrkVKalVrtCore.h.

◆ m_vrtMassError

double Trk::VKalVrtControl::m_vrtMassError
private

Definition at line 89 of file TrkVKalVrtCore.h.

◆ m_vrtMassTot

double Trk::VKalVrtControl::m_vrtMassTot
private

Definition at line 88 of file TrkVKalVrtCore.h.

◆ vk_forcft

ForCFT Trk::VKalVrtControl::vk_forcft

Definition at line 92 of file TrkVKalVrtCore.h.

◆ vk_funcMagFld

const addrMagHandler Trk::VKalVrtControlBase::vk_funcMagFld
inherited

Definition at line 37 of file TrkVKalVrtCore.h.

◆ vk_funcProp

const addrPropagator Trk::VKalVrtControlBase::vk_funcProp
inherited

Definition at line 39 of file TrkVKalVrtCore.h.

◆ vk_istate

IVKalState* Trk::VKalVrtControlBase::vk_istate
inherited

Definition at line 40 of file TrkVKalVrtCore.h.

◆ vk_objMagFld

baseMagFld* Trk::VKalVrtControlBase::vk_objMagFld
inherited

Definition at line 36 of file TrkVKalVrtCore.h.

◆ vk_objProp

const basePropagator* Trk::VKalVrtControlBase::vk_objProp
inherited

Definition at line 38 of file TrkVKalVrtCore.h.


The documentation for this class was generated from the following files: