|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #include "GaudiKernel/GaudiException.h"
9 #include "AthLinks/ElementLink.h"
37 using elParams = std::pair<egammaParameters::ParamDef, int>;
43 if ( (*p).first ==
key ){
58 using elParams = std::pair<egammaParameters::ParamDef, double>;
61 std::vector<elParams>::const_iterator
p =
m_parameters.begin();
64 if ( (*p).first ==
key ) {
76 using elParams = std::pair<egammaParameters::ParamDef, int>;
81 if ( (*p).first ==
key )
break;
92 throw GaudiException(
"parameter not saved",
"EMErrorDetail::set_parameter(...)", StatusCode::FAILURE);
104 using elParams = std::pair<egammaParameters::ParamDef, double>;
108 if ( (*p).first ==
key )
break;
119 throw GaudiException(
"parameter not saved",
"EMErrorDetail::set_parameter(...)", StatusCode::FAILURE);
128 return (!forcePhoton && ((
eg->conversion() !=
nullptr) || (
eg->trackParticle() !=
nullptr)));
136 if ( fabs(etaPointing - clusterEta ) < 0.15 ) {
150 hepSymMatrix.setZero();
152 hepSymMatrix(1,1) = EMphoton_CovEclusEclus();
153 hepSymMatrix(2,2) = EMphoton_Covetaeta();
154 hepSymMatrix(3,3) = EMphoton_Covphiphi();
156 hepSymMatrix.fillSymmetric(1,2,EMphoton_CovetaEclus());
157 hepSymMatrix.fillSymmetric(1,3,EMphoton_CovphiEclus());
158 hepSymMatrix.fillSymmetric(2,3, EMphoton_Covetaphi());
171 return getEMPhotonErrorMatrix();
173 return getEMTrackCombinedErrorMatrix();
182 return getEMPhotonErrorMatrix();
184 return getEMTrackUncombinedErrorMatrix();
195 return get4x4EMPhotonErrorMatrix();
197 return get4x4EMTrackCombinedErrorMatrix();
206 return get4x4EMPhotonErrorMatrix();
208 return get4x4EMTrackUncombinedErrorMatrix();
218 hepSymMatrix.setZero();
220 hepSymMatrix(0,0) = EMtrack_comb_Covd0d0();
221 hepSymMatrix(1,1) = EMtrack_comb_Covz0z0();
222 hepSymMatrix(2,2) = EMtrack_comb_Covphiphi();
223 hepSymMatrix(3,3) = EMtrack_comb_Covetaeta();
224 hepSymMatrix(4,4) = EMtrack_comb_CovPP();
249 hepSymMatrix.setZero();
251 hepSymMatrix(0,0) = EMtrack_perigee_Covd0d0();
252 hepSymMatrix(1,1) = EMtrack_perigee_Covz0z0();
253 hepSymMatrix(2,2) = EMtrack_perigee_Covphiphi();
254 hepSymMatrix(3,3) = EMtrack_perigee_Covthetatheta();
255 hepSymMatrix(4,4) = EMphoton_CovEclusEclus();
259 hepSymMatrix.
fillSymmetric(0,3,EMtrack_perigee_Covd0theta());
262 hepSymMatrix.
fillSymmetric(1,3,EMtrack_perigee_Covz0theta());
264 hepSymMatrix.
fillSymmetric(2,3,EMtrack_perigee_Covphitheta());
271 jacob(3,3) = (-1./
sin(EMtrack_perigee_theta()));
273 return jacob*hepSymMatrix*jacob.transpose();
277 hepSymMatrix.setIdentity();
279 hepSymMatrix(0,0) = EMtrack_perigee_Covd0d0();
280 hepSymMatrix(1,1) = EMtrack_perigee_Covz0z0();
281 hepSymMatrix(2,2) = EMtrack_perigee_Covphiphi();
282 hepSymMatrix(3,3) = EMphoton_Covetaeta();
283 hepSymMatrix(4,4) = EMphoton_CovEclusEclus();
306 hepSymMatrix.setZero();
308 hepSymMatrix(0,0) = EMtrack_comb_CovPP();
309 hepSymMatrix(1,1) = EMtrack_comb_Covetaeta();
310 hepSymMatrix(2,2) = EMtrack_comb_Covphiphi();
325 hepSymMatrix.setZero();
327 hepSymMatrix(0,0) = EMphoton_CovEclusEclus();
328 hepSymMatrix(1,1) = EMtrack_perigee_Covthetatheta();
329 hepSymMatrix(2,2) = EMtrack_perigee_Covphiphi();
331 hepSymMatrix.
fillSymmetric(1,2, EMtrack_perigee_Covphitheta());
336 jacob(1,1) = (-1./
sin(EMtrack_perigee_theta()));
338 return jacob*hepSymMatrix*jacob.transpose();
342 hepSymMatrix.setZero();
344 hepSymMatrix(0,0) = EMphoton_CovEclusEclus();
345 hepSymMatrix(1,1) = EMphoton_Covetaeta();
346 hepSymMatrix(2,2) = EMtrack_perigee_Covphiphi();
360 hepSymMatrix.setZero();
363 hepSymMatrix(0,0) = EMphoton_CovEclusEclus();
364 hepSymMatrix(1,1) = EMphoton_Covetaeta();
365 hepSymMatrix(1,2) = EMphoton_Covetaphi();
366 hepSymMatrix(2,2) = EMphoton_Covphiphi();
JetConstituentVector::iterator iterator
@ EMConvertedPhoton_z0
the z value of the converted photon
@ EMConvertedPhoton_Covd0phi
converted photon covariance matrix item ( )
double EMtrack_comb_CovPP() const
double EMconvertedphoton_perigee_Covd0z0() const
@ EMPhoton_Covphiphi
covariance matrix photon (phi, phi)
@ EMTrack_CovthetaEclus
track perigee covariance matrix item (theta,E)
@ EMTrack_Combined_CovetaP
track combined covariance matrix item (eta,P)
@ EMTrack_Covthetatheta
track perigee covariance matrix item (theta,theta)
virtual int intParameter(egammaParameters::ParamDef) const
double EMconvertedphoton_perigee_d0() const
@ EMPhoton_CovphiEclus
covariance matrix photon (phi, E)
double EMconvertedphoton_perigee_theta() const
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
double EMtrack_perigee_d0() const
transverse impact parameter (distance of closest approach)
double EMtrack_perigee_eta() const
eta of the track fit
int linkIndex() const
link index
@ EMConvertedPhoton_d0
From EMErrorDetail
@ EMConvertedPhoton_Covz0theta
converted photon covariance matrix item (z0,theta)
@ EMTrack_Covd0phi
track perigee covariance matrix item ( )
double EMtrack_perigee_theta() const
theta of the track fit
double EMconvertedphoton_perigee_Covd0d0() const
double EMtrack_perigee_Covz0phi() const
Covariance matrix item (z0,phi)
@ EMTrack_theta
theta of the track
double EMtrack_perigee_z0() const
the z value at the point of closest approach
double EMtrack_comb_Covd0phi() const
int hasSiliconHits() const
Does the track of vertex have silicon hits.
@ EMTrack_Combined_Covd0z0
track combined covariance matrix item (d0,z0)
@ EMTrack_Combined_CovPP
track combined covariance matrix item (P,P)
Scalar theta() const
theta method
void set_hasSiliconHits(int x)
set whether the track of vertex have silicon hits
@ EMTrack_Eclus
Cluster energy
double EMconvertedphoton_perigee_Covphiphi() const
double EMtrack_comb_Covd0P() const
@ EMPhoton_CovetaEclus
covariance matrix photon (eta, E)
@ EMConvertedPhoton_Covd0z0
converted photon covariance matrix item ( )
double EMtrack_comb_Covd0d0() const
double EMtrack_perigee_Covphiphi() const
Covariance matrix item (phi,phi)
@ EMTrack_z0
the z value at the point of closest approach
virtual bool hasParameter(egammaParameters::ParamDef) const
@ EMPhoton_Covetaeta
covariance matrix photon (eta, eta)
@ EMTrack_eta
the eta of the track
@ EMPhoton_Covetaphi
covariance matrix photon (eta, phi)
bool const RAWDATA *ch2 const
const double EgParamUndefined
double EMtrack_perigee_Covz0z0() const
Covariance matrix item (z0,z0)
@ EMConvertedPhoton_eta
the eta of the converted photon
void set_parameter(egammaParameters::ParamDef, double, bool overwrite=false)
general set method for parameters
double EMtrack_comb_Covz0phi() const
EMErrorDetail()
Default constructor.
@ EMConvertedPhoton_CovthetaEclus
converted photon covariance matrix item (theta,E)
@ EMConvertedPhoton_Covphitheta
converted photon covariance matrix item (phi,theta)
AmgSymMatrix(3) EMErrorDetail
@ EMTrack_Combined_Covphieta
track combined covariance matrix item (phi,eta)
@ EMTrack_Combined_CovphiP
track combined covariance matrix item (phi,P)
@ EMConvertedPhoton_phi0
azimuth angle of the momentum at the point of closest approach
double EMtrack_comb_Covz0z0() const
virtual bool hasIntParameter(egammaParameters::ParamDef) const
@ EMTrack_Combined_Covz0phi
track combined covariance matrix item (z0,phi)
@ etap
pointing eta reconstructed from the cluster (first and second sampling)
@ EMConvertedPhoton_Covd0theta
converted photon covariance matrix item (d0,theta)
@ EMTrack_CovEclusEclus
track perigee covariance matrix item (E,E)
double EMtrack_comb_Covd0eta() const
double EMtrack_comb_Covd0z0() const
double EMtrack_perigee_Covphitheta() const
Covariance matrix item (phi,theta)
@ EMTrack_Covd0d0
track perigee covariance matrix item ( )
double EMphoton_CovphiEclus() const
Covariance matrix item (phi,Eclus)
virtual double parameter(egammaParameters::ParamDef) const
@ EMTrack_Covd0theta
track perigee covariance matrix item (d0,theta)
@ EMTrack_Covz0theta
track perigee covariance matrix item (z0,theta)
@ EMTrack_Covphitheta
track perigee covariance matrix item (phi,theta)
@ EMConvertedPhoton_Covd0d0
converted photon covariance matrix item ( )
@ EMTrack_d0
transverse impact parameter (distance of closest approach)
@ EMTrack_Combined_Covz0z0
track combined covariance matrix item (z0,z0)
@ EMTrack_Covphiphi
track perigee covariance matrix item (phi,phi)
void set_parameterInt(egammaParameters::ParamDef, int, bool overwrite=false)
double EMconvertedphoton_perigee_Covz0z0() const
double EMconvertedphoton_perigee_Covphitheta() const
double EMtrack_perigee_Covz0theta() const
Covariance matrix item (z0,theta)
Amg::MatrixX getCombinedErrorMatrix() const
E/P combined error matrix, natural size.
An interface for getting the name of a class as a string.
double EMtrack_comb_Covetaeta() const
Provide an interface for finding inheritance information at run time.
@ EMTrack_Combined_Covphiphi
track combined covariance matrix item (phi,phi)
@ EMTrack_phi0
azimuth angle of the momentum at the point of closest approach
double EMtrack_comb_Covphieta() const
double EMconvertedphoton_perigee_Covz0theta() const
double EMphoton_Covetaphi() const
Covariance matrix item (Eta,Phi)
double EMphoton_Eclus() const
cluster energy
@ EMPhoton_phi0
photon phi
static std::string name()
Return the name of class T as a string.
@ EMConvertedPhoton_Covd0Eclus
converted photon covariance matrix item (d0,E)
@ EMConvertedPhoton_Covz0z0
converted photon covariance matrix item (z0,z0)
@ EMConvertedPhoton_Eclus
E estimate
double EMtrack_perigee_Covd0phi() const
Covariance matrix item (d0,phi)
@ EMConvertedPhoton_Covphiphi
converted photon covariance matrix item (phi,phi)
@ EMTrack_Combined_Covd0P
fitted track combined covariance matrix item (d0,P)
double EMphoton_Covphiphi() const
Covariance matrix item (phi,phi)
std::vector< std::pair< egammaParameters::ParamDef, double > > m_parameters
@ EMConvertedPhoton_momentum
momentum of the converted photon
double EMtrack_perigee_Covthetatheta() const
Covariance matrix item (theta,theta)
@ EMPhoton_Eclus
photon energy
double EMphoton_Covetaeta() const
Covariance matrix item (Eta,Eta)
@ EMTrack_Combined_Covd0eta
track combined covariance matrix item (d0,eta)
double EMconvertedphoton_perigee_Covthetatheta() const
@ EMConvertedPhoton_Covz0Eclus
converted photon covariance matrix item (z0,E)
double EMtrack_comb_Covz0eta() const
double EMtrack_perigee_phi0() const
azimuth angle of the momentum at the point of closest approach
double EMconvertedphoton_perigee_z0() const
@ EMTrack_Covz0z0
track perigee covariance matrix item (z0,z0)
@ EMConvertedPhoton_CovEclusEclus
converted photon covariance matrix item (E,E)
static bool isElectron(const egamma *, bool forcePhoton)
Obsolete Fill the perigree parameter for converted photon.
@ EMTrack_CovphiEclus
track perigee covariance matrix item (phi,E)
@ EMConvertedPhoton_Covz0phi
converted photon covariance matrix item (z0,phi)
double EMtrack_comb_Covphiphi() const
static double caloEta(const egamma *, double clusterEta)
Get the error on cluster energy, eta and phi.
double EMphoton_eta() const
cluster eta
SG_ADD_BASE(EMErrorDetail, egDetail)
double EMtrack_perigee_momentum() const
momentum of the track fit
@ EMTrack_Combined_Covd0phi
track combined covariance matrix item (d0,phi)
double EMconvertedphoton_perigee_Covd0theta() const
double EMconvertedphoton_perigee_eta() const
@ EMTrack_Combined_Covetaeta
track combined covariance matrix item (eta,eta)
@ EMTrack_Covd0z0
track perigee covariance matrix item ( )
double EMtrack_perigee_Covd0d0() const
Covariance matrix item (d0,d0)
Amg::MatrixX getUncombinedErrorMatrix() const
E/P combined error matrix, natural size.
std::vector< std::pair< egammaParameters::ParamDef, int > > m_parametersInt
double EMconvertedphoton_perigee_Covz0phi() const
double EMtrack_perigee_Covd0theta() const
Covariance matrix item (d0,theta)
@ EMTrack_momentum
track momentum
virtual const std::string & className() const
double EMtrack_perigee_Covd0z0() const
Covariance matrix item (d0,z0)
double EMconvertedphoton_perigee_phi0() const
double EMconvertedphoton_perigee_Covd0phi() const
double EMphoton_CovetaEclus() const
Covariance matrix item (Eta,Eclus)
void fillSymmetric(size_t i, size_t j, Scalar value)
method to fill elements for a symmetric matrix
@ linkIndex
link index for multiple track and vertex matches
@ EMTrack_Combined_Covz0eta
track combined covariance matrix item (z0,eta)
@ EMConvertedPhoton_CovphiEclus
converted photon covariance matrix item (phi,E)
void set_linkIndex(int)
Set link index.
@ EMTrack_Combined_Covz0P
track combined covariance matrix item (z0,P)
double EMphoton_CovEclusEclus() const
Covariance matrix item (theta,theta)
double EMtrack_comb_CovphiP() const
@ EMConvertedPhoton_Covthetatheta
converted photon covariance matrix item (theta,theta)
double EMtrack_comb_CovetaP() const
@ EMTrack_Covz0phi
track perigee covariance matrix item (z0,phi)
double EMtrack_comb_Covz0P() const
@ EMConvertedPhoton_theta
theta of the converted photon
@ EMTrack_Covd0Eclus
fitted track perigee covariance matrix item (d0,E)
static const std::string s_className
interfaces
@ EMTrack_Covz0Eclus
track perigee covariance matrix item (z0,E)
double EMphoton_phi0() const
cluster phi
double EMconvertedphoton_perigee_momentum() const
@ EMPhoton_CovEclusEclus
covariance matrix photon (E, E)
@ EMTrack_Combined_Covd0d0
track combined covariance matrix item (do,d0)