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 35 of file TrkVKalVrtCoreBase.cxx.

37 m_vrtMassTot(-1),
39 m_cascadeEvent(nullptr),
40 vk_forcft(),
43 {
44 }
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 45 of file TrkVKalVrtCoreBase.cxx.

46 : VKalVrtControlBase(src),
47 m_vrtMassTot(src.m_vrtMassTot),
48 m_vrtMassError(src.m_vrtMassError),
49 m_cascadeEvent(src.m_cascadeEvent),
50 vk_forcft(src.vk_forcft),
51 m_frozenVersionForBTagging(src.m_frozenVersionForBTagging),
52 m_allowUltraDisplaced(src.m_allowUltraDisplaced)
53 {
54 }

◆ ~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 323 of file TrkVKalVrtCoreBase.cxx.

◆ renewFullCovariance()

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

Definition at line 327 of file TrkVKalVrtCoreBase.cxx.

327 {
328 m_fullCovariance.reset(newarray);
329 }

◆ setIterationNum()

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

Definition at line 257 of file TrkVKalVrtCoreBase.cxx.

258 {
259 if (Iter<3) Iter=3;
260 if (Iter>100) Iter=100;
261 vk_forcft.IterationNumber = Iter;
262 }

◆ setIterationPrec()

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

Definition at line 264 of file TrkVKalVrtCoreBase.cxx.

265 {
266 if (Prec<1.e-5) Prec=1.e-5;
267 if (Prec>1.e-1) Prec=1.e-1;
268 vk_forcft.IterationPrecision = Prec;
269 }

◆ setMassCnstData() [1/2]

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

Definition at line 294 of file TrkVKalVrtCoreBase.cxx.

294 {
295 double sumM(0.);
296 int Ntrk=std::min((int)Index.size(),NtrkTot);
297 for(int it=0; it<Ntrk; it++) sumM += vk_forcft.wm[Index[it]]; //sum of particle masses
298 if(sumM<Mass) {
299 vk_forcft.wmfit[vk_forcft.nmcnst]=Mass;
300 for(int it=0; it<Ntrk; it++) vk_forcft.indtrkmc[vk_forcft.nmcnst][Index[it]-1]=1; //Set participating particles
301 vk_forcft.nmcnst++;
302 }
303 vk_forcft.useMassCnst = 1;
304 }
IndexedConstituentUserInfo::Index Index

◆ setMassCnstData() [2/2]

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

Definition at line 284 of file TrkVKalVrtCoreBase.cxx.

284 { // Define global mass constraint. It must be first
285 double sumM(0.);
286 for(int it=0; it<Ntrk; it++) sumM += vk_forcft.wm[it]; //sum of particle masses
287 if(sumM<Mass) {
288 vk_forcft.wmfit[0]=Mass;
289 for(int it=0; it<Ntrk; it++) vk_forcft.indtrkmc[0][it]=1; //Set participating particles
290 vk_forcft.nmcnst=1;
291 }
292 vk_forcft.useMassCnst = 1;
293 }

◆ setRobustness()

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

Definition at line 278 of file TrkVKalVrtCoreBase.cxx.

279 {
280 if (Rob<0) Rob=0;
281 if (Rob>7) Rob=7;
282 vk_forcft.irob = Rob;
283 }

◆ setRobustScale()

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

Definition at line 271 of file TrkVKalVrtCoreBase.cxx.

272 {
273 if (Scale<0.01) Scale=0.01;
274 if (Scale>100.) Scale=100.;
275 vk_forcft.RobustScale = Scale;
276 }
void Scale(TH1 *h, double d=1)

◆ setUseAprioriVrt()

void Trk::VKalVrtControl::setUseAprioriVrt ( )

Definition at line 320 of file TrkVKalVrtCoreBase.cxx.

320{ vk_forcft.useAprioriVrt = 1;}

◆ setUseMassCnst()

void Trk::VKalVrtControl::setUseMassCnst ( )

◆ setUsePassNear()

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

Definition at line 322 of file TrkVKalVrtCoreBase.cxx.

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

◆ setUsePhiCnst()

void Trk::VKalVrtControl::setUsePhiCnst ( )

Definition at line 306 of file TrkVKalVrtCoreBase.cxx.

306{ vk_forcft.usePhiCnst = 1;}

◆ setUsePlaneCnst()

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

Definition at line 307 of file TrkVKalVrtCoreBase.cxx.

307 {
308 if(a+b+c+d == 0.){ vk_forcft.usePlaneCnst = 0;
309 }else{ vk_forcft.usePlaneCnst = 1; }
310 vk_forcft.Ap = a; vk_forcft.Bp = b; vk_forcft.Cp = c; vk_forcft.Dp = d;
311 }
static Double_t a

◆ setUsePointingCnst()

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

Definition at line 321 of file TrkVKalVrtCoreBase.cxx.

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

◆ setUseRadiusCnst()

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

Definition at line 312 of file TrkVKalVrtCoreBase.cxx.

312 {
313 if(R == 0.){ vk_forcft.useRadiusCnst = 0;
314 }else{ vk_forcft.useRadiusCnst = 1; }
315 vk_forcft.RC = R;
316 vk_forcft.radiusRefP[0]=RefP[0];
317 vk_forcft.radiusRefP[1]=RefP[1];
318 }
double R(const INavigable4Momentum *p1, const double v_eta, const double v_phi)

◆ setUseThetaCnst()

void Trk::VKalVrtControl::setUseThetaCnst ( )

Definition at line 319 of file TrkVKalVrtCoreBase.cxx.

319{ 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: