ATLAS Offline Software
Loading...
Searching...
No Matches
BeamSpot Namespace Reference

Classes

struct  VrtHolder
struct  Event
struct  BeamSpotDB
 A simple struct to hold vertex info. More...
class  ID

Functions

void myFCN_LLsolver (Int_t &, Double_t *, Double_t &, Double_t *, Int_t)
void myFCN_LLsolverNorm (Int_t &, Double_t *, Double_t &, Double_t *, Int_t)
double norm_xMin (-1e8)
double norm_xMax (1e8)
double norm_yMin (-1e8)
double norm_yMax (1e8)
double norm_zMin (-1e8)
double norm_zMax (1e8)
double pdfxy (double *x, double *p)

Variables

std::mutex mutex
const std::vector< BeamSpot::VrtHolder > *vertexData ATLAS_THREAD_SAFE

Function Documentation

◆ myFCN_LLsolver()

void BeamSpot::myFCN_LLsolver ( Int_t & ,
Double_t * ,
Double_t & f,
Double_t * par,
Int_t  )

Definition at line 1032 of file InDetBeamSpotVertex.cxx.

1032 {
1033 constexpr double Pi = M_PI;
1034 //par[*]
1035 //0, 1, 2, 3, 4, 5, 6, 7, 8 9
1036 //X0, Y0, Ax. Ay, sx, sy, rhoxy, k z0 sigma(z)
1037
1038 f = 0;
1039
1040 using Vertices = std::vector<BeamSpot::VrtHolder>;
1041 Vertices::const_iterator vit = BeamSpot::vertexData->begin();
1042
1043 double temp =0;
1044 double x=0,y=0,z=0;
1045 double vxx,vyy, vxy;
1046 double covXX,covYY,covXY;
1047 double det,k2;
1048
1049 // ln L = Sum[ ln(F) ]
1050 for ( ; vit != vertexData->end(); ++vit) {
1051 if (!vit->valid) continue; // don't use non-valid vertices
1052 temp =0;
1053 x = vit->x;
1054 y = vit->y;
1055 z = vit->z;
1056 vxx = vit->vxx;
1057 vxy = vit->vxy;
1058 vyy = vit->vyy;
1059
1060
1061 k2 = par[7]*par[7];
1062
1063 covXX = k2 *vxx + par[4]*par[4];
1064 covYY = k2 *vyy + par[5]*par[5];
1065 covXY = k2 *vxy + par[6] *par[4]* par[5];
1066
1067 det = covXX * covYY - covXY*covXY;
1068 double recDet = 1./det;
1069
1070 //temp = TMath::Log(2*Pi * sqrt(std::abs(det)));
1071 temp = 2*TMath::Log(2*Pi);
1072 temp += TMath::Log(det);
1073
1074 covXY = -covXY * recDet;
1075 double t = covXX *recDet;
1076 covXX = covYY *recDet;
1077 covYY = t;
1078
1079 temp += (
1080 ( x - par[0] - par[2]*z) * covXX * ( x - par[0] - par[2]*z)
1081 + ( y - par[1] - par[3]*z) * covYY * ( y - par[1] - par[3]*z)
1082 + 2*( x - par[0] - par[2]*z) * covXY * ( y - par[1] - par[3]*z)
1083 );
1084
1085 temp += TMath::Log( 2*Pi * par[9]*par[9] ) + ( z - par[8]) * (z-par[8]) / (par[9] * par[9] );
1086 f+= 0.5*temp;
1087 }//for
1088
1089
1090}//myFCN
#define M_PI
static const double Pi
#define y
#define x
#define z

◆ myFCN_LLsolverNorm()

void BeamSpot::myFCN_LLsolverNorm ( Int_t & ,
Double_t * ,
Double_t & ,
Double_t * ,
Int_t  )

Definition at line 1099 of file InDetBeamSpotVertex.cxx.

1099 {
1100
1101}

◆ norm_xMax()

double BeamSpot::norm_xMax ( 1e8 )

◆ norm_xMin()

double BeamSpot::norm_xMin ( - 1e8)

◆ norm_yMax()

double BeamSpot::norm_yMax ( 1e8 )

◆ norm_yMin()

double BeamSpot::norm_yMin ( - 1e8)

◆ norm_zMax()

double BeamSpot::norm_zMax ( 1e8 )

◆ norm_zMin()

double BeamSpot::norm_zMin ( - 1e8)

◆ pdfxy()

double BeamSpot::pdfxy ( double * x,
double * p )

Definition at line 1092 of file InDetBeamSpotVertex.cxx.

1092 {
1093
1094 return 0; // TBD dlete
1095}

Variable Documentation

◆ ATLAS_THREAD_SAFE

const std::vector< BeamSpot::VrtHolder >* vertexData BeamSpot::ATLAS_THREAD_SAFE

Definition at line 20 of file InDetBeamSpotVertex.cxx.

◆ mutex

std::mutex BeamSpot::mutex

Definition at line 19 of file InDetBeamSpotVertex.cxx.