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

Classes

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

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 1026 of file InDetBeamSpotVertex.cxx.

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

1093 {
1094
1095}

◆ 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 1086 of file InDetBeamSpotVertex.cxx.

1086 {
1087
1088 return 0; // TBD dlete
1089}

Variable Documentation

◆ ATLAS_THREAD_SAFE

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

Definition at line 19 of file InDetBeamSpotVertex.cxx.

◆ mutex

std::mutex BeamSpot::mutex

Definition at line 18 of file InDetBeamSpotVertex.cxx.