ATLAS Offline Software
Classes | Functions | Variables
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

◆ 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.

temp
Definition: JetEventDict.h:21
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:128
TRTCalib_Extractor.det
det
Definition: TRTCalib_Extractor.py:36
M_PI
#define M_PI
Definition: ActiveFraction.h:11
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
x
#define x
fitman.vxy
vxy
Definition: fitman.py:506
z
#define z
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
y
#define y
fitman.vxx
vxx
Definition: fitman.py:504
fitman.vyy
vyy
Definition: fitman.py:505
NSWL1::Vertices
std::vector< Vertex > Vertices
Definition: GeoUtils.h:19
VP1PartSpect::Pi
@ Pi
Definition: VP1PartSpectFlags.h:27