ATLAS Offline Software
Loading...
Searching...
No Matches
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
10namespace Trk {
11
12 struct ForCFT
13 {
14//
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;
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
72 ~ForCFT() = default;
73
74 };
75
76}
77#endif
#define vkalMaxNMassCnst
Definition CommonPars.h:27
#define vkalNTrkM
Definition CommonPars.h:22
static Double_t a
void Scale(TH1 *h, double d=1)
Ensure that the ATLAS eigen extensions are properly loaded.
int useMassCnst
Definition ForCFT.h:15
double wgtvrt[6]
Definition ForCFT.h:45
void vksetRobustScale(double Scale) noexcept
Definition PrCFit.cxx:155
int usePhiCnst
Definition ForCFT.h:16
int useRadiusCnst
Definition ForCFT.h:22
void vksetUsePhiCnst() noexcept
Definition PrCFit.cxx:170
double robres[vkalNTrkM]
Definition ForCFT.h:51
int indtrkmc[vkalMaxNMassCnst][vkalNTrkM]
Definition ForCFT.h:52
double Dp
Definition ForCFT.h:34
void vksetUseThetaCnst() noexcept
Definition ForCFT.h:65
int useThetaCnst
Definition ForCFT.h:17
double RC
Definition ForCFT.h:35
void prcfit(long int ntrk, double *wm, const double *wmfit, double bmag, const double *vrt, const double *vrte) noexcept
Definition PrCFit.cxx:44
void vksetIterationNum(long int Iter) noexcept
Definition PrCFit.cxx:141
int usePlaneCnst
Definition ForCFT.h:21
double IterationPrecision
Definition ForCFT.h:54
void vksetIterationPrec(double Prec) noexcept
Definition PrCFit.cxx:148
double covvrt[6]
Definition ForCFT.h:45
double Cp
Definition ForCFT.h:33
int irob
Definition ForCFT.h:49
double radiusRefP[2]
Definition ForCFT.h:36
double Ap
Definition ForCFT.h:31
void vksetUsePassNear(int iType=1) noexcept
Definition ForCFT.h:68
void vksetRobustness(long int Rob) noexcept
Definition PrCFit.cxx:162
int useAprioriVrt
Definition ForCFT.h:19
int IterationNumber
Definition ForCFT.h:53
void vksetUseAprioriVrt() noexcept
Definition ForCFT.h:66
double RobustScale
Definition ForCFT.h:50
double localbmag
Definition ForCFT.h:29
double wm[vkalNTrkM]
Definition ForCFT.h:27
int nmcnst
Definition ForCFT.h:26
int usePointingCnst
Definition ForCFT.h:18
void vksetUsePlaneCnst(double a, double b, double c, double d) noexcept
Definition PrCFit.cxx:171
void vksetUseMassCnst() noexcept
Definition PrCFit.cxx:169
int usePassNear
Definition ForCFT.h:20
double wmfit[vkalMaxNMassCnst]
Definition ForCFT.h:28
ForCFT() noexcept
Definition PrCFit.cxx:123
void vksetUsePointingCnst(int iType=1) noexcept
Definition ForCFT.h:67
double Bp
Definition ForCFT.h:32
double vrtstp[3]
Definition ForCFT.h:48
double vrt[3]
Definition ForCFT.h:45
void setmasscnst_(long int ncnsttrk, long int *indextrk, double wmcnst) noexcept
Definition PrCFit.cxx:179