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