ATLAS Offline Software
Public Member Functions | Public Attributes | Private Attributes | List of all members
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),
31  m_vrtMassError(-1),
32  m_cascadeEvent(nullptr),
33  vk_forcft(),
36  {
37  }

◆ VKalVrtControl() [2/2]

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

Definition at line 38 of file TrkVKalVrtCoreBase.cxx.

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(); }

◆ 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.

316  {
317  if(m_cascadeEvent)delete m_cascadeEvent;
319  }

◆ 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;
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) {
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  }
297  }

◆ 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  }
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.;
269  }

◆ 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; }
304  }

◆ 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  }

◆ 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

Definition at line 76 of file TrkVKalVrtCore.h.

◆ setVrtMassError()

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

Definition at line 77 of file TrkVKalVrtCore.h.

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:
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
base
std::string base
Definition: hcg.cxx:78
python.BeamSpotUpdate.newevt
newevt
Definition: BeamSpotUpdate.py:195
Trk::VKalVrtControl::m_allowUltraDisplaced
bool m_allowUltraDisplaced
Definition: TrkVKalVrtCore.h:94
Trk::ForCFT::useThetaCnst
int useThetaCnst
Definition: ForCFT.h:17
Base_Fragment.mass
mass
Definition: Sherpa_i/share/common/Base_Fragment.py:59
WriteCellNoiseToCool.src
src
Definition: WriteCellNoiseToCool.py:513
Trk::VKalVrtControl::m_cascadeEvent
CascadeEvent * m_cascadeEvent
Definition: TrkVKalVrtCore.h:90
hist_file_dump.d
d
Definition: hist_file_dump.py:142
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
skel.it
it
Definition: skel.GENtoEVGEN.py:407
Trk::ForCFT::RC
double RC
Definition: ForCFT.h:35
Trk::ForCFT::radiusRefP
double radiusRefP[2]
Definition: ForCFT.h:36
Trk::ForCFT::Cp
double Cp
Definition: ForCFT.h:33
Trk::ForCFT::usePassNear
int usePassNear
Definition: ForCFT.h:20
Index
IndexedConstituentUserInfo::Index Index
Definition: IndexedConstituentUserInfo.cxx:12
Trk::ForCFT::indtrkmc
int indtrkmc[vkalMaxNMassCnst][vkalNTrkM]
Definition: ForCFT.h:52
Trk::ForCFT::useRadiusCnst
int useRadiusCnst
Definition: ForCFT.h:22
Trk::VKalVrtControl::m_vrtMassError
double m_vrtMassError
Definition: TrkVKalVrtCore.h:89
Trk::ForCFT::RobustScale
double RobustScale
Definition: ForCFT.h:50
jet::CompScaleVar::Mass
@ Mass
Definition: UncertaintyEnum.h:98
Trk::ForCFT::useAprioriVrt
int useAprioriVrt
Definition: ForCFT.h:19
AnalysisUtils::Delta::R
double R(const INavigable4Momentum *p1, const double v_eta, const double v_phi)
Definition: AnalysisMisc.h:49
Trk::ForCFT::IterationPrecision
double IterationPrecision
Definition: ForCFT.h:54
Scale
void Scale(TH1 *h, double d=1)
Definition: comparitor.cxx:79
Trk::ForCFT::usePhiCnst
int usePhiCnst
Definition: ForCFT.h:16
Trk::ForCFT::usePlaneCnst
int usePlaneCnst
Definition: ForCFT.h:21
Trk::VKalVrtControl::m_vrtMassTot
double m_vrtMassTot
Definition: TrkVKalVrtCore.h:88
Trk::ForCFT::wm
double wm[vkalNTrkM]
Definition: ForCFT.h:27
Trk::VKalVrtControl::m_frozenVersionForBTagging
bool m_frozenVersionForBTagging
Definition: TrkVKalVrtCore.h:93
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:76
Trk::ForCFT::Dp
double Dp
Definition: ForCFT.h:34
Trk::ForCFT::Ap
double Ap
Definition: ForCFT.h:31
Trk::ForCFT::wmfit
double wmfit[vkalMaxNMassCnst]
Definition: ForCFT.h:28
Trk::VKalVrtControlBase::VKalVrtControlBase
VKalVrtControlBase(baseMagFld *, const addrMagHandler, const basePropagator *, const addrPropagator, IVKalState *istate=nullptr)
Definition: TrkVKalVrtCoreBase.cxx:18
a
TList * a
Definition: liststreamerinfos.cxx:10
Trk::VKalVrtControl::m_fullCovariance
std::unique_ptr< double[]> m_fullCovariance
Definition: TrkVKalVrtCore.h:85
Trk::ForCFT::irob
int irob
Definition: ForCFT.h:49
Trk::ForCFT::IterationNumber
int IterationNumber
Definition: ForCFT.h:53
get_generator_info.error
error
Definition: get_generator_info.py:40
Trk::ForCFT::nmcnst
int nmcnst
Definition: ForCFT.h:26
Trk::ForCFT::Bp
double Bp
Definition: ForCFT.h:32
python.compressB64.c
def c
Definition: compressB64.py:93
Trk::VKalVrtControl::vk_forcft
ForCFT vk_forcft
Definition: TrkVKalVrtCore.h:92
Trk::ForCFT::useMassCnst
int useMassCnst
Definition: ForCFT.h:15
Trk::ForCFT::usePointingCnst
int usePointingCnst
Definition: ForCFT.h:18