ATLAS Offline Software
ForCFT.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef _TrkVKalVrtCore_ForCFT_H
6 #define _TrkVKalVrtCore_ForCFT_H
7 
9 
10 namespace Trk {
11 
12  struct ForCFT
13  {
14 //
22 
23 //
24 // For several(up to 8) mass constraints
25  int nmcnst;
26  double wm[vkalNTrkM];
28  double localbmag;
29 // Since 20/09/2009 - Vertex in plane constraint
30  double Ap,Bp,Cp,Dp;
31 
32 //
33 // Vertex, covariance and it's weight (inverse covariance)
34 // Used for pointing and a priori vertex constraints
35 // Since 15/03/2009:
36 // For "passing near" vrt+covvrt+charge from ForVrtClose structure is used.
37 // For pointing cnst vertex from constraint object itself is used
38 //---------------------------------------------------------------------------
39  double vrt[3], covvrt[6], wgtvrt[6];
40 //
41 // temporary vertex in global ref.frame
42  double vrtstp[3];
43  int irob;
44  double RobustScale;
45  double robres[vkalNTrkM];
49 
50  void prcfit( long int ntrk, double *wm, const double *wmfit, double bmag, const double *vrt, const double *vrte) noexcept;
51 
52  void vksetIterationNum(long int Iter) noexcept;
53  void vksetIterationPrec(double Prec) noexcept;
54  void vksetRobustScale(double Scale) noexcept;
55  void vksetRobustness(long int Rob) noexcept;
56  void vksetUseMassCnst() noexcept;
57  void vksetUsePhiCnst() noexcept;
58  void vksetUsePlaneCnst(double a, double b, double c, double d) noexcept;
59  void vksetUseThetaCnst() noexcept { useThetaCnst = 1;}
60  void vksetUseAprioriVrt() noexcept { useAprioriVrt = 1;}
61  void vksetUsePointingCnst(int iType = 1 ) noexcept { usePointingCnst = iType<2 ? 1 : 2 ;}
62  void vksetUsePassNear(int iType = 1 ) noexcept { usePassNear = iType<2 ? 1 : 2 ;}
63  void setmasscnst_(long int ncnsttrk, long int *indextrk, double wmcnst) noexcept;
64 
65  ForCFT() noexcept;//Body is in PrCFit.cxx
67 
68  };
69 
70 }
71 #endif
CommonPars.h
Trk::ForCFT::vrtstp
double vrtstp[3]
Definition: ForCFT.h:42
Trk::ForCFT::vksetUsePointingCnst
void vksetUsePointingCnst(int iType=1) noexcept
Definition: ForCFT.h:61
Trk::ForCFT::useThetaCnst
int useThetaCnst
Definition: ForCFT.h:17
Trk::ForCFT::vksetRobustScale
void vksetRobustScale(double Scale) noexcept
Definition: PrCFit.cxx:154
Trk::ForCFT::vksetRobustness
void vksetRobustness(long int Rob) noexcept
Definition: PrCFit.cxx:161
hist_file_dump.d
d
Definition: hist_file_dump.py:137
Trk::ForCFT::ForCFT
ForCFT() noexcept
Definition: PrCFit.cxx:122
Trk::ForCFT::vksetUseThetaCnst
void vksetUseThetaCnst() noexcept
Definition: ForCFT.h:59
Trk::ForCFT::vksetUseMassCnst
void vksetUseMassCnst() noexcept
Definition: PrCFit.cxx:168
Trk::ForCFT::Cp
double Cp
Definition: ForCFT.h:30
Trk::ForCFT::vksetIterationPrec
void vksetIterationPrec(double Prec) noexcept
Definition: PrCFit.cxx:147
Trk::ForCFT::setmasscnst_
void setmasscnst_(long int ncnsttrk, long int *indextrk, double wmcnst) noexcept
Definition: PrCFit.cxx:178
Trk::ForCFT
Definition: ForCFT.h:13
Trk::ForCFT::vrt
double vrt[3]
Definition: ForCFT.h:39
Trk::ForCFT::usePassNear
int usePassNear
Definition: ForCFT.h:20
Trk::ForCFT::indtrkmc
int indtrkmc[vkalMaxNMassCnst][vkalNTrkM]
Definition: ForCFT.h:46
Trk::ForCFT::RobustScale
double RobustScale
Definition: ForCFT.h:44
Trk::ForCFT::vksetUsePhiCnst
void vksetUsePhiCnst() noexcept
Definition: PrCFit.cxx:169
Trk::ForCFT::useAprioriVrt
int useAprioriVrt
Definition: ForCFT.h:19
Trk::ForCFT::IterationPrecision
double IterationPrecision
Definition: ForCFT.h:48
Scale
void Scale(TH1 *h, double d=1)
Definition: comparitor.cxx:76
Trk::ForCFT::usePhiCnst
int usePhiCnst
Definition: ForCFT.h:16
Trk::ForCFT::usePlaneCnst
int usePlaneCnst
Definition: ForCFT.h:21
Trk::ForCFT::covvrt
double covvrt[6]
Definition: ForCFT.h:39
Trk::ForCFT::vksetUsePassNear
void vksetUsePassNear(int iType=1) noexcept
Definition: ForCFT.h:62
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ForCFT::wm
double wm[vkalNTrkM]
Definition: ForCFT.h:26
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
Trk::ForCFT::Dp
double Dp
Definition: ForCFT.h:30
Trk::ForCFT::Ap
double Ap
Definition: ForCFT.h:30
vkalNTrkM
#define vkalNTrkM
Definition: CommonPars.h:22
Trk::ForCFT::vksetUseAprioriVrt
void vksetUseAprioriVrt() noexcept
Definition: ForCFT.h:60
Trk::ForCFT::prcfit
void prcfit(long int ntrk, double *wm, const double *wmfit, double bmag, const double *vrt, const double *vrte) noexcept
Definition: PrCFit.cxx:43
Trk::ForCFT::wmfit
double wmfit[vkalMaxNMassCnst]
Definition: ForCFT.h:27
Trk::ForCFT::wgtvrt
double wgtvrt[6]
Definition: ForCFT.h:39
Trk::ForCFT::localbmag
double localbmag
Definition: ForCFT.h:28
a
TList * a
Definition: liststreamerinfos.cxx:10
Trk::ForCFT::vksetIterationNum
void vksetIterationNum(long int Iter) noexcept
Definition: PrCFit.cxx:140
Trk::ForCFT::irob
int irob
Definition: ForCFT.h:43
vkalMaxNMassCnst
#define vkalMaxNMassCnst
Definition: CommonPars.h:27
Trk::ForCFT::IterationNumber
int IterationNumber
Definition: ForCFT.h:47
python.CaloScaleNoiseConfig.default
default
Definition: CaloScaleNoiseConfig.py:79
Trk::ForCFT::nmcnst
int nmcnst
Definition: ForCFT.h:25
Trk::ForCFT::Bp
double Bp
Definition: ForCFT.h:30
python.compressB64.c
def c
Definition: compressB64.py:93
Trk::ForCFT::vksetUsePlaneCnst
void vksetUsePlaneCnst(double a, double b, double c, double d) noexcept
Definition: PrCFit.cxx:170
Trk::ForCFT::robres
double robres[vkalNTrkM]
Definition: ForCFT.h:45
Trk::ForCFT::useMassCnst
int useMassCnst
Definition: ForCFT.h:15
Trk::ForCFT::usePointingCnst
int usePointingCnst
Definition: ForCFT.h:18