|
ATLAS Offline Software
|
Go to the documentation of this file.
24 #include "GaudiKernel/GaudiException.h"
176 using elParams = std::pair<egammaParameters::ParamDef, double>;
177 std::vector<elParams>::const_iterator
p =
m_parameters.begin();
180 if ( (*p).first ==
key ) {
190 using elParams = std::pair<egammaParameters::ParamDef, bool>;
196 if ( (*p).first ==
key ) {
207 using elParams = std::pair<egammaParameters::ParamDef, int>;
213 if ( (*p).first ==
key ){
236 using elParams = std::pair<egammaParameters::ParamDef, double>;
240 if ( (*p).first ==
key )
break;
251 throw GaudiException(
"parameter not saved",
"EMConvert::set_parameter(...)", StatusCode::FAILURE);
259 using elParams = std::pair<egammaParameters::ParamDef, bool>;
264 if ( (*p).first ==
key )
break;
275 throw GaudiException(
"parameter not saved",
"EMConvert::set_parameter(...)", StatusCode::FAILURE);
283 using elParams = std::pair<egammaParameters::ParamDef, int>;
288 if ( (*p).first ==
key )
break;
299 throw GaudiException(
"parameter not saved",
"EMConvert::set_parameter(...)", StatusCode::FAILURE);
693 throw GaudiException(
"Parameters not saved, no VxCandidate",
"EMConvert::fillDetails(...)", StatusCode::FAILURE);
711 int numTracksAtVertex = trks.size();
731 if(numTracksAtVertex>1){
763 int numTracksAtVertex = trks.size();
764 for(
int i=0;
i<numTracksAtVertex;
i++){
786 if(numTracksAtVertex<2){
888 if(vertex_numTracks()>0){
893 hepSymMatrix->fillSymmetric(0,0, vertex_Covxx());
894 hepSymMatrix->fillSymmetric(0,1, vertex_Covxy());
895 hepSymMatrix->fillSymmetric(0,2, vertex_Covxz());
896 hepSymMatrix->fillSymmetric(0,3, vertex_Covphi1x());
897 hepSymMatrix->fillSymmetric(0,4, vertex_Covtheta1x());
898 hepSymMatrix->fillSymmetric(0,5, vertex_CovqOverP1x());
899 hepSymMatrix->fillSymmetric(0,6, vertex_Covphi2x());
900 hepSymMatrix->fillSymmetric(0,7, vertex_Covtheta2x());
901 hepSymMatrix->fillSymmetric(0,8, vertex_CovqOverP2x());
902 hepSymMatrix->fillSymmetric(1,1, vertex_Covyy());
903 hepSymMatrix->fillSymmetric(1,2, vertex_Covyz());
904 hepSymMatrix->fillSymmetric(1,3, vertex_Covphi1y());
905 hepSymMatrix->fillSymmetric(1,4, vertex_Covtheta1y());
906 hepSymMatrix->fillSymmetric(1,5, vertex_CovqOverP1y());
907 hepSymMatrix->fillSymmetric(1,6, vertex_Covphi2y());
908 hepSymMatrix->fillSymmetric(1,7, vertex_Covtheta2y());
909 hepSymMatrix->fillSymmetric(1,8, vertex_CovqOverP2y());
910 hepSymMatrix->fillSymmetric(2,2, vertex_Covzz());
911 hepSymMatrix->fillSymmetric(2,3, vertex_Covphi1z());
912 hepSymMatrix->fillSymmetric(2,4, vertex_Covtheta1z());
913 hepSymMatrix->fillSymmetric(2,5, vertex_CovqOverP1z());
914 hepSymMatrix->fillSymmetric(2,6, vertex_Covphi2z());
915 hepSymMatrix->fillSymmetric(2,7, vertex_Covtheta2z());
916 hepSymMatrix->fillSymmetric(2,8, vertex_CovqOverP2z());
917 hepSymMatrix->fillSymmetric(3,3, vertex_Covphi1phi1());
918 hepSymMatrix->fillSymmetric(3,4, vertex_Covphi1theta1());
919 hepSymMatrix->fillSymmetric(3,5, vertex_Covphi1qOverP1());
920 hepSymMatrix->fillSymmetric(3,6, vertex_Covphi1phi2());
921 hepSymMatrix->fillSymmetric(3,7, vertex_Covphi1theta2());
922 hepSymMatrix->fillSymmetric(3,8, vertex_Covphi1qOverP2());
923 hepSymMatrix->fillSymmetric(4,4, vertex_Covtheta1theta1());
924 hepSymMatrix->fillSymmetric(4,5, vertex_Covtheta1qOverP1());
925 hepSymMatrix->fillSymmetric(4,6, vertex_Covtheta1phi2());
926 hepSymMatrix->fillSymmetric(4,7, vertex_Covtheta1theta2());
927 hepSymMatrix->fillSymmetric(4,8, vertex_Covtheta1qOverP2());
928 hepSymMatrix->fillSymmetric(5,5, vertex_CovqOverP1qOverP1());
929 hepSymMatrix->fillSymmetric(5,6, vertex_CovqOverP1phi2());
930 hepSymMatrix->fillSymmetric(5,7, vertex_CovqOverP1theta2());
931 hepSymMatrix->fillSymmetric(5,8, vertex_CovqOverP1qOverP2());
932 hepSymMatrix->fillSymmetric(6,6, vertex_Covphi2phi2());
933 hepSymMatrix->fillSymmetric(6,7, vertex_Covphi2theta2());
934 hepSymMatrix->fillSymmetric(6,8, vertex_Covphi2qOverP2());
935 hepSymMatrix->fillSymmetric(7,7, vertex_Covtheta2theta2());
936 hepSymMatrix->fillSymmetric(7,8, vertex_Covtheta2qOverP2());
937 hepSymMatrix->fillSymmetric(8,8, vertex_CovqOverP2qOverP2());
952 std::vector<Trk::VxTrackAtVertex*> vxTrkAtVx;
963 const Trk::PerigeeSurface surface(globPos);
972 vxTrkAtVx.push_back(vxtrk1);
977 const Trk::PerigeeSurface surface2(globPos);
987 vxTrkAtVx.push_back(vxtrk2);
992 vxCand =
new Trk::VxCandidate(*vx, vxTrkAtVx);
JetConstituentVector::iterator iterator
#define SG_ADD_BASE(D, B)
Add a new base class B to class D.
@ refittedVertex_Covzz
refitted vertex covariance item (z,z)
bool convTrackMatch() const
conversion track matches egamma track
@ refittedVertex_track2_phi
refitted track global momentum after vertex fit
@ refittedVertex_Covphi1y
void set_vertex_Covd01d01(double)
double vertex_Covd01phi1() const
@ convAngleMatch
from EMConvert, true if a conversion is matched within an angle of 0,05 to the cluster
@ refittedVertex_chi2
refitted vertex fit quality variables
FitQuality trackQuality(void) const
Returns a pointer to the original track if any.
void set_vertex_Covphi1phi2(double)
@ refittedVertex_Covphi1phi2
void set_vertex_Covtheta1qOverP2(double)
void set_vertex_CovqOverP2y(double)
void set_vertex_CovqOverP2x(double)
double vertex_Covtheta2theta2() const
double vertex_Covphi2x() const
@ refittedVertex_track2_author
refitted track author
double vertex_track2_qOverP() const
@ refittedVertex_Covd01qOverP1
void set_vertex_Covphi1y(double)
void set_vertex_Covyz(double)
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
void set_vertex_z(double)
const Trk::RecVertex & recVertex(void) const
Returns a reference to reconstructed vertex.
void set_vertex_Covphi2theta2(double)
@ refittedVertex_Covtheta2z
void set_vertex_Covd02z02(double)
The VxTrackAtVertex is a common class for all present TrkVertexFitters The VxTrackAtVertex is designe...
@ z
global position (cartesian)
double vertex_CovqOverP2z() const
double vertex_Covtheta2z() const
double vertex_Covphi1y() const
double convMatchDeltaPhi2() const
Delta phi of match between 2nd track and cluster.
void set_vertex_CovqOverP1x(double)
@ refittedVertex_Covz01qOverP1
void set_vertex_Covphi2qOverP2(double)
double convMatchDeltaEta2() const
Delta eta of match between 2nd track and cluster.
void set_vertex_Covtheta2z(double)
@ refittedVertex_Covz01z01
@ refittedVertex_Covz02theta2
@ refittedVertex_Covz02z02
double vertex_track1_phi() const
track1 global momentum (cartesian coordinates)
double convMatchDeltaEta1() const
Delta eta of match between track or photon and cluster.
double vertex_Covtheta2y() const
@ convTrackMatch
from EMConvert, true if a conversion is matched to the track associated to the cluster
double vertex_Covphi1theta1() const
double vertex_Covz01qOverP1() const
void set_parameterInt(egammaParameters::ParamDef, int, bool overwrite=false)
double vertex_x() const
vertex position (cartesian coordinates)
@ refittedVertex_Covd02phi2
void set_vertex_Covz01theta1(double)
double vertex_Covd02z02() const
@ refittedVertex_Covtheta1y
double vertex_Covtheta2qOverP2() const
@ refittedVertex_Covphi1qOverP2
double vertex_Covphi2qOverP2() const
@ refittedVertex_Covyz
refitted vertex covariance item (y,z)
void set_convMatchDeltaEta2(double)
double vertex_Covphi1phi1() const
double vertex_Covz02theta2() const
virtual bool hasParameter(egammaParameters::ParamDef) const
@ refittedVertex_CovqOverP2x
void set_vertex_Covtheta2theta2(double)
double vertex_track2_theta() const
@ refittedVertex_Covphi1qOverP1
@ refittedVertex_CovqOverP1qOverP1
@ refittedVertex_CovqOverP2z
void set_vertex_Covd01qOverP1(double)
double vertex_track1_qOverP() const
@ refittedVertex_Covphi1z
double vertex_Covd01d01() const
refitted track covariance matrix and correlations with vertex position
@ refittedVertex_Covz01phi1
void set_vertex_Covz02theta2(double)
void set_vertex_CovqOverP1qOverP1(double)
double vertex_track2_chi2() const
track2 chi2
@ refittedVertex_Covphi1x
virtual int intParameter(egammaParameters::ParamDef) const
double vertex_Covz01z01() const
virtual double parameter(egammaParameters::ParamDef) const
general parameter retrieval
double vertex_Covphi1qOverP1() const
const Amg::MatrixX * fullCovariance(void) const
Full covariance matrix access method.
double vertex_CovqOverP2x() const
void set_vertex_Covtheta1qOverP1(double)
@ convMatchDeltaPhi2_refit
@ refittedVertex_CovqOverP1y
void set_vertex_Covd02d02(double)
double vertex_Covd01qOverP1() const
@ refittedVertex_Covd02theta2
bool const RAWDATA *ch2 const
void set_vertex_track2_theta(double)
const double EgParamUndefined
double vertex_track2_phi() const
track2 global momentum (cartesian coordinates)
void set_convMatchDeltaEta1(double)
@ refittedVertex_track2_theta
void set_vertex_track2_chi2(double)
void set_convAngleMatch(bool)
void set_vertex_Covd02qOverP2(double)
@ convMatchDeltaEta2_refit
void set_vertex_Covtheta1theta2(double)
EMConvert()
Default constructor.
double vertex_CovqOverP2y() const
double vertex_Covyz() const
#define AmgSymMatrix(dim)
double vertex_Covphi1phi2() const
double convMatchDeltaEta2_refit() const
Delta eta of match between 2nd track and cluster (after refit)
void set_vertex_CovqOverP2z(double)
@ refittedVertex_Covphi1theta2
Trk::RecVertex inherits from Trk::Vertex.
double vertex_Covz01theta1() const
double vertex_chi2() const
vertex fit quality
void set_vertex_Covxz(double)
@ refittedVertex_Covz01theta1
@ refittedVertex_track2_chi2
refitted track chi2 after vertex fit
double convMatchDeltaEta1_refit() const
Delta eta of match between track or photon and cluster (after refit)
double vertex_Covz02z02() const
void set_vertex_Covz02qOverP2(double)
void set_vertex_Covzz(double)
void set_vertex_Covd01theta1(double)
void set_vertex_chi2(double)
std::vector< std::pair< egammaParameters::ParamDef, int > > m_parametersInt
void set_vertex_Covphi2y(double)
void set_vertex_track1_phi(double)
void set_vertex_Covtheta2qOverP2(double)
double vertex_CovqOverP1y() const
@ refittedVertex_Covtheta2x
int vertex_track1_author() const
track1 author
void set_convMatchDeltaPhi1_refit(double)
@ refittedVertex_track1_theta
@ refittedVertex_Covd02qOverP2
@ refittedVertex_Covd01phi1
double vertex_CovqOverP1z() const
double vertex_Covtheta1qOverP1() const
void set_vertex_track2_phi(double)
double vertex_Covz02phi2() const
void set_vertex_Covxy(double)
double vertex_Covtheta1qOverP2() const
void set_vertex_Covd01z01(double)
@ refittedVertex_Covphi1phi1
refitted track covariance matrix and correlations with vertex position
const Trk::FitQuality & fitQuality() const
Fit quality access method.
std::vector< Trk::VxTrackAtVertex * > * vxTrackAtVertex(void)
Unconst pointer to the vector of tracks Required by some of the vertex fitters.
double vertex_Covtheta1z() const
void set_vertex_Covxx(double)
void set_vertex_Covz01z01(double)
double vertex_Covyy() const
void set_vertex_CovqOverP1z(double)
void set_vertex_track1_chi2(double)
@ refittedVertex_CovqOverP1z
@ refittedVertex_Covxy
refitted vertex covariance item (x,y)
An interface for getting the name of a class as a string.
@ refittedVertex_Covphi2x
void fillVxTracks(const Trk::VxCandidate *vxCand, int trkAuthor)
Provide an interface for finding inheritance information at run time.
void set_vertex_Covtheta2x(double)
@ refittedVertex_Covtheta2theta2
void set_vertex_Covphi1phi1(double)
double vertex_CovqOverP1qOverP2() const
@ refittedVertex_CovqOverP1theta2
@ refittedVertex_Covz02phi2
void set_convMatchDeltaPhi1(double)
@ refittedVertex_CovqOverP1qOverP2
void set_vertex_Covtheta1y(double)
@ refittedVertex_CovqOverP2y
AmgSymMatrix(3) *getVxPosErrorMatrix() const
get the vertex position error matrix from the stored egammaParameters
static std::string name()
Return the name of class T as a string.
double convMatchDeltaPhi1_refit() const
Delta phi of match between track or photon and cluster (after refit)
@ refittedVertex_track1_qOverP
@ refittedVertex_Covtheta1theta2
@ refittedVertex_track1_phi
refitted track global momentum after vertex fit
double vertex_CovqOverP1x() const
void set_vertex_track2_author(int)
void set_ambiguityResult(int)
@ refittedVertex_Covz02qOverP2
void set_vertex_y(double)
double vertex_Covphi1x() const
void set_vertex_Covphi1x(double)
void set_vertex_Covphi1theta2(double)
void set_vertex_track1_author(int)
virtual bool hasBoolParameter(egammaParameters::ParamDef) const
void set_vertex_Covd02theta2(double)
@ refittedVertex_Covxz
refitted vertex covariance item (x,z)
void set_vertex_Covphi1z(double)
void set_vertex_track1_theta(double)
double vertex_Covphi1qOverP2() const
@ refittedVertex_Covphi2qOverP2
const Amg::Vector3D & position() const
return position of vertex
void set_vertex_track1_qOverP(double)
void set_vertex_Covz02phi2(double)
@ refittedVertex_Covphi2theta2
int ambiguityResult() const
@ refittedVertex_Covtheta1x
double vertex_Covxy() const
void set_vertex_Covphi1theta1(double)
@ refittedVertex_Covtheta2y
@ refittedVertex_Covyy
refitted vertex covariance item (y,y)
double vertex_CovqOverP1theta2() const
double vertex_Covtheta1theta1() const
void set_vertex_Covphi2z(double)
double vertex_CovqOverP2qOverP2() const
void set_convMatchDeltaPhi2_refit(double)
void set_vertex_Covtheta1phi2(double)
void set_vertex_CovqOverP2qOverP2(double)
Ensure that the ATLAS eigen extensions are properly loaded.
void set_vertex_Covz01qOverP1(double)
void set_convMatchDeltaEta2_refit(double)
double vertex_Covphi2y() const
Definition of ATLAS Math & Geometry primitives (Amg)
@ refittedVertex_CovqOverP1phi2
const TrackParameters * perigeeAtVertex(void) const
Perigee parameters with respect to fitted vertex d_0 and z_0 are equal to 0 in case the trajectory wa...
@ refittedVertex_Covd01d01
@ convMatchDeltaEta1_refit
double vertex_Covtheta1y() const
double vertex_CovqOverP1qOverP1() const
virtual bool boolParameter(egammaParameters::ParamDef) const
void set_vertex_Covphi2phi2(double)
@ convMatchDeltaPhi1_refit
void fillVxDetails(const Trk::VxCandidate *vxCand, int trkAuthor)
double vertex_CovqOverP1phi2() const
double vertex_Covtheta2x() const
void set_convMatchDeltaPhi2(double)
@ ambiguityResult
ambiguity resolultion result, electron/photon
Eigen::Matrix< double, 3, 1 > Vector3D
@ refittedVertex_Covphi2phi2
void set_convMatchDeltaEta1_refit(double)
@ refittedVertex_track2_qOverP
@ refittedVertex_Covd02z02
double vertex_Covphi2theta2() const
@ refittedVertex_numTracks
void set_vertex_Covz01phi1(double)
double vertex_Covxx() const
vertex position covariance matrix (cartesian coordinates)
@ refittedVertex_Covtheta1z
void set_vertex_Covtheta1z(double)
double vertex_Covphi2z() const
double vertex_Covd02theta2() const
Trk::VxCandidate * getVxCandidate() const
get the VxCandidate from the stored egammaParameters
void set_vertex_numTracks(int)
std::vector< std::pair< egammaParameters::ParamDef, bool > > m_parametersBool
double vertex_Covz01phi1() const
void set_vertex_Covtheta2y(double)
@ refittedVertex_Covd01theta1
void set_vertex_Covtheta1x(double)
@ refittedVertex_Covxx
refitted vertex covariance matrix entries (cartesian coordinates)
double vertex_Covphi2phi2() const
double vertex_Covd02d02() const
double convMatchDeltaPhi1() const
Delta phi of match between track or photon and cluster.
void set_parameterBool(egammaParameters::ParamDef, bool, bool overwrite=false)
int vertex_numTracks() const
double vertex_Covd02phi2() const
double vertex_Covd02qOverP2() const
void set_vertex_Covyy(double)
double vertex_Covd01z01() const
void set_vertex_Covphi1qOverP2(double)
double vertex_Covd01theta1() const
@ refittedVertex_Covtheta1qOverP2
double vertex_Covphi1theta2() const
double vertex_Covxz() const
void set_vertex_CovqOverP1y(double)
void set_vertex_CovqOverP1qOverP2(double)
void set_vertex_Covphi2x(double)
@ refittedVertex_Covd02d02
void set_vertex_x(double)
void fillDummy()
fill the details with dummy values (so we can avoid uninitialized values when the conversion refit is...
bool convAngleMatch() const
conversion angle matches egamma angle
void set_vertex_Covz02z02(double)
double chiSquared() const
returns the of the overall track fit
@ refittedVertex_CovqOverP1x
Amg::MatrixX * getVxErrorMatrix() const
get the full vertex error matrix from the stored egammaParameters
void set_vertex_CovqOverP1phi2(double)
void fillVertex(const Trk::VxCandidate *vxCand)
fill the vertex variables from a Trk::VxCandidate *\/
double vertex_Covtheta1x() const
@ refittedVertex_Covphi2y
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
void fillSymmetric(size_t i, size_t j, Scalar value)
method to fill elements for a symmetric matrix
double convMatchDeltaPhi2_refit() const
Delta phi of match between 2nd track and cluster (after refit)
@ refittedVertex_CovqOverP2qOverP2
@ linkIndex
link index for multiple track and vertex matches
void set_vertex_CovqOverP1theta2(double)
int vertex_track2_author() const
track2 author
@ refittedVertex_Covtheta2qOverP2
virtual const std::string & className() const
@ refittedVertex_Covtheta1phi2
@ refittedVertex_Covd01z01
double vertex_Covz02qOverP2() const
double vertex_Covtheta1theta2() const
@ refittedVertex_Covtheta1theta1
virtual bool hasIntParameter(egammaParameters::ParamDef) const
double vertex_track1_chi2() const
track1 chi2
void set_vertex_Covtheta1theta1(double)
void set_convTrackMatch(bool)
double vertex_track1_theta() const
@ refittedVertex_Covphi2z
void set_vertex_Covd01phi1(double)
double vertex_Covphi1z() const
void set_vertex_Covd02phi2(double)
void set_parameter(egammaParameters::ParamDef, double, bool overwrite=false)
general parameter setting
@ refittedVertex_x
refitted vertex position (cartesian coordinates)
@ refittedVertex_Covphi1theta1
std::vector< std::pair< egammaParameters::ParamDef, double > > m_parameters
@ refittedVertex_Covtheta1qOverP1
void set_vertex_Covphi1qOverP1(double)
double vertex_Covtheta1phi2() const
void set_vertex_track2_qOverP(double)
@ refittedVertex_track1_author
refitted track author
@ refittedVertex_track1_chi2
refitted track chi2 after vertex fit
double vertex_Covzz() const