ATLAS Offline Software
VP1ErrorUtils.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
7 // //
8 // Header file for class VP1ErrorUtils //
9 // //
10 // Description: Utilities for drawing errors for various //
11 // measurements //
12 // //
13 // Author: Troels Kofoed Jacobsen //
14 // Initial version: July 2008 //
15 // //
16 // Update: Riccardo Maria BIANCHI Feb 2014 //
17 // //
19 
20 #ifndef VP1ERRORUTILS_H
21 #define VP1ERRORUTILS_H
22 
23 //#include "CLHEP/Geometry/Point3D.h"
24 //#include "TrkParameters/MeasuredTrackParameters.h"
26 #include "EventPrimitives/EventPrimitives.h"// EDM include(s):
27 
28 
29 
30 typedef AmgSymMatrix(2) AmgCovMatrix;
31 
32 class SoSeparator;
33 class SoGroup;
34 class SoLineSet;
35 
36 namespace InDet { class PixelCluster; }
37 namespace Trk {
38  class Surface;
39  class CovarianceMatrix;
40 }
41 
43 {
44 public:
45  static void errorAtPlaneSurface( SoSeparator* errSimple,
46  SoSeparator* errDetailed,
47  const AmgSymMatrix(5)& tmpCovMat,
48  const Trk::Surface* theSurface,
49  const Amg::Vector3D& p1,
50  const double& nStdDev=3.0,
51  int numNodes = 12,
52  const bool& moveToSurface = false,
53  const bool& force1D=false,
54  const bool& addTransform=true);
55 
56  static void errorAtStraightLineSurface( SoSeparator* errSimple, SoSeparator* errDetailed,
57  const AmgSymMatrix(5)& tmpcovmat,
58  const Amg::Vector2D& localPos,
59  const Trk::Surface* theSurface,
60  const double& nStdDev=3.0,
61  const bool& drawZErrCircles=false,
62  const bool& drawCylinder=false,
63  int numNodes=12,
64  const bool& force1D=false,
65  const bool& addTransform=true);
66 
67  static void addRotatedErrorEllipse( SoGroup* gr,
68  const AmgSymMatrix(5)& covmat,
69  const double& sigmaScale,
70  int numNodes=12,
71  const double& translate=0.0,
72  const bool& symmetric=false);
73 
74  static void addSimple1DError( SoGroup* gr,
75  const double& error,
76  const double& sigmaScale,
77  const double& length);
78 
79  static bool covMatrixIsSane( const AmgCovMatrix& covmat);
80  static bool covMatrixIsSane( const AmgSymMatrix(5)& covmat);
81 };
82 
83 #endif
VP1ErrorUtils::covMatrixIsSane
static bool covMatrixIsSane(const AmgCovMatrix &covmat)
returns false if there is a problem detected with the cov matrix
Definition: VP1ErrorUtils.cxx:372
VP1ErrorUtils::addRotatedErrorEllipse
static void addRotatedErrorEllipse(SoGroup *gr, const AmgSymMatrix(5)&covmat, const double &sigmaScale, int numNodes=12, const double &translate=0.0, const bool &symmetric=false)
Definition: VP1ErrorUtils.cxx:53
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
plotBeamSpotVxVal.covmat
covmat
Definition: plotBeamSpotVxVal.py:206
TRTCalib_cfilter.p1
p1
Definition: TRTCalib_cfilter.py:130
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
VP1ErrorUtils::errorAtPlaneSurface
static void errorAtPlaneSurface(SoSeparator *errSimple, SoSeparator *errDetailed, const AmgSymMatrix(5)&tmpCovMat, const Trk::Surface *theSurface, const Amg::Vector3D &p1, const double &nStdDev=3.0, int numNodes=12, const bool &moveToSurface=false, const bool &force1D=false, const bool &addTransform=true)
Definition: VP1ErrorUtils.cxx:172
gr
#define gr
VP1ErrorUtils
Definition: VP1ErrorUtils.h:43
VP1ErrorUtils::addSimple1DError
static void addSimple1DError(SoGroup *gr, const double &error, const double &sigmaScale, const double &length)
Definition: VP1ErrorUtils.cxx:121
GeoPrimitives.h
EventPrimitives.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
InDet::PixelCluster
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/PixelCluster.h:49
Trk::Surface
Definition: Tracking/TrkDetDescr/TrkSurfaces/TrkSurfaces/Surface.h:75
VP1ErrorUtils::errorAtStraightLineSurface
static void errorAtStraightLineSurface(SoSeparator *errSimple, SoSeparator *errDetailed, const AmgSymMatrix(5)&tmpcovmat, const Amg::Vector2D &localPos, const Trk::Surface *theSurface, const double &nStdDev=3.0, const bool &drawZErrCircles=false, const bool &drawCylinder=false, int numNodes=12, const bool &force1D=false, const bool &addTransform=true)
Definition: VP1ErrorUtils.cxx:227
error
Definition: IImpactPoint3dEstimator.h:70
length
double length(const pvec &v)
Definition: FPGATrackSimLLPDoubletHoughTransformTool.cxx:26
AmgSymMatrix
typedef AmgSymMatrix(2) AmgCovMatrix