ATLAS Offline Software
Functions
EMTrackFit.cxx File Reference
#include "egammaEvent/EMTrackFit.h"
#include "AthenaKernel/BaseInfo.h"
#include "AthenaKernel/ClassName.h"
#include "GaudiKernel/GaudiException.h"
#include "TrkMaterialOnTrack/EstimatedBremOnTrack.h"
#include "TrkSurfaces/PerigeeSurface.h"
#include "TrkSurfaces/Surface.h"
#include "TrkTrack/Track.h"
#include <cmath>
Include dependency graph for EMTrackFit.cxx:

Go to the source code of this file.

Functions

 AmgSymMatrix (5) EMTrackFit
 
 SG_ADD_BASE (EMTrackFit, egDetail)
 

Function Documentation

◆ AmgSymMatrix()

AmgSymMatrix ( )

Definition at line 307 of file EMTrackFit.cxx.

308 {
309  // Make a 5x5 matrix that is filled with zero's alternatively we could fill it with the identity matrix;
310  // Chosen the identity matrix option
311  AmgSymMatrix(5) hepSymMatrix;
312  hepSymMatrix.setIdentity();
313  // Fill the matrix
314  hepSymMatrix.fillSymmetric(0,0, track_perigee_Covd0d0());
315  hepSymMatrix.fillSymmetric(0,1, track_perigee_Covd0z0());
316  hepSymMatrix.fillSymmetric(0,2, track_perigee_Covd0phi());
317  hepSymMatrix.fillSymmetric(0,3, track_perigee_Covd0theta());
318  hepSymMatrix.fillSymmetric(0,4, track_perigee_Covd0qOverP());
319  hepSymMatrix.fillSymmetric(1,1, track_perigee_Covz0z0());
320  hepSymMatrix.fillSymmetric(1,2, track_perigee_Covz0phi());
321  hepSymMatrix.fillSymmetric(1,3, track_perigee_Covz0theta());
322  hepSymMatrix.fillSymmetric(1,4, track_perigee_Covz0qOverP());
323  hepSymMatrix.fillSymmetric(2,2, track_perigee_Covphiphi());
324  hepSymMatrix.fillSymmetric(2,3, track_perigee_Covphitheta());
325  hepSymMatrix.fillSymmetric(2,4, track_perigee_CovphiqOverP());
326  hepSymMatrix.fillSymmetric(3,3, track_perigee_Covthetatheta());
327  hepSymMatrix.fillSymmetric(3,4, track_perigee_CovthetaqOverP());
328  hepSymMatrix.fillSymmetric(4,4, track_perigee_CovqOverPqOverP());
329 
330 
331  return hepSymMatrix;
332 
333 }
334 
335 // ================================================================
336 const Trk::Perigee* EMTrackFit::getMeasuredPerigee () const
337 {
338  // Create a MeasuredPerigee from the individual doubles stored in the class.
339 
340  const Trk::PerigeeSurface surface;
341 
342  const Trk::Perigee* measuredPerigee =
343  surface
344  .createUniqueParameters<5, Trk::Charged>(track_perigee_d0(),
345  track_perigee_z0(),
346  track_perigee_phi0(),
347  track_perigee_theta(),
348  track_perigee_qOverP(),
349  getErrorMatrix())
350  .release();
351 
352  return measuredPerigee;
353 
354 }
355 
356 // =====================================================================
358  if ( hasIntParameter(key) ) return true;
359  if ( key == egammaParameters::refittedTrack_d0 ) return true;
360  else if ( key == egammaParameters::refittedTrack_phi0 ) return true;
361  else if ( key == egammaParameters::refittedTrack_qOverP ) return true;
362  else if ( key == egammaParameters::refittedTrack_z0 ) return true;
363  else if ( key == egammaParameters::refittedTrack_theta ) return true;
364  else if ( key == egammaParameters::refittedTrack_Covd0d0 ) return true;
365  else if ( key == egammaParameters::refittedTrack_Covd0z0 ) return true;
366  else if ( key == egammaParameters::refittedTrack_Covd0phi ) return true;
367  else if ( key == egammaParameters::refittedTrack_Covd0theta ) return true;
368  else if ( key == egammaParameters::refittedTrack_Covd0qOverP) return true;
369  else if ( key == egammaParameters::refittedTrack_Covz0z0 ) return true;
370  else if ( key == egammaParameters::refittedTrack_Covz0phi ) return true;
371  else if ( key == egammaParameters::refittedTrack_Covz0theta ) return true;
372  else if ( key == egammaParameters::refittedTrack_Covz0qOverP )return true;
373  else if ( key == egammaParameters::refittedTrack_Covphiphi ) return true;
374  else if ( key == egammaParameters::refittedTrack_Covphitheta )return true;
375  else if ( key == egammaParameters::refittedTrack_CovphiqOverP)return true;
376  else if ( key == egammaParameters::refittedTrack_Covthetatheta )return true;
377  else if ( key == egammaParameters::refittedTrack_CovthetaqOverP)return true;
378  else if ( key == egammaParameters::refittedTrack_CovqOverPqOverP)return true;
379  else if ( key == egammaParameters::refittedTrackLastM_loc1 ) return true;
380  else if ( key == egammaParameters::refittedTrackLastM_loc2 ) return true;
381  else if ( key == egammaParameters::refittedTrackLastM_phi ) return true;
382  else if ( key == egammaParameters::refittedTrackLastM_theta ) return true;
383  else if ( key == egammaParameters::refittedTrackLastM_qOverP )return true;
384  else if ( key == egammaParameters::bremDeltaQoverP ) return true;
385  else if ( key == egammaParameters::bremDeltaQoverPErr ) return true;
386  else if ( key == egammaParameters::bremMaterialTraversed ) return true;
387  else if ( key == egammaParameters::bremRadius ) return true;
388  else if ( key == egammaParameters::bremClusterRadius ) return true;
389  else if ( key == egammaParameters::bremFitChi2 ) return true;
390  return false;
391 }
392 
393 // =====================================================================
395  if (key == egammaParameters::hasBrem) return true;
396  if (key == egammaParameters::bremTrackAuthor ) return true;
397  else if (key == egammaParameters::bremFitStatus ) return true;
398  else if (key == egammaParameters::linkIndex ) return true;
399 
400  return false;
401 }
402 
403 // =======================================================================
409 
425 
431 

◆ SG_ADD_BASE()

SG_ADD_BASE ( EMTrackFit  ,
egDetail   
)
egammaParameters::bremRadius
@ bremRadius
estimated brem radius from EMBremFit (mm) [x-y plane]
Definition: egammaParamDefs.h:245
EMTrackFit::track_perigee_Covphiphi
double track_perigee_Covphiphi() const
Covariance matrix item (phi,phi)
egammaParameters::refittedTrack_z0
@ refittedTrack_z0
the z value at the point of closest approach after Track Refit
Definition: egammaParamDefs.h:293
EMTrackFit::track_perigee_Covz0theta
double track_perigee_Covz0theta() const
Covariance matrix item (z0,theta)
egammaParameters::refittedTrackLastM_loc2
@ refittedTrackLastM_loc2
Last Measurment Surface Local Position 2 after Track Refit.
Definition: egammaParamDefs.h:331
egammaParameters::refittedTrack_CovqOverPqOverP
@ refittedTrack_CovqOverPqOverP
Refitted track perigee covariance matrix item (q/P,q/P)
Definition: egammaParamDefs.h:326
EMTrackFit::track_perigee_Covthetatheta
double track_perigee_Covthetatheta() const
Covariance matrix item (theta,theta)
egammaParameters::hasBrem
@ hasBrem
The Number of brems identified by the track fitter.
Definition: egammaParamDefs.h:341
egammaParameters::bremTrackAuthor
@ bremTrackAuthor
The author of the Refitted track.
Definition: egammaParamDefs.h:349
Trk::PerigeeSurface
Definition: PerigeeSurface.h:43
EMTrackFit::track_perigee_Covd0z0
double track_perigee_Covd0z0() const
Covariance matrix item ( )
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
EMTrackFit::track_perigee_Covd0phi
double track_perigee_Covd0phi() const
Covariance matrix item ( )
EMTrackFit::track_perigee_Covd0theta
double track_perigee_Covd0theta() const
Covariance matrix item (d0,theta)
EMTrackFit::track_perigee_Covd0qOverP
double track_perigee_Covd0qOverP() const
Covariance matrix item (d0,q/p)
EMTrackFit::track_LastM_loc2
double track_LastM_loc2() const
Last Measurment Surface Local Position 2 after Track Refit.
EMTrackFit::track_perigee_CovthetaqOverP
double track_perigee_CovthetaqOverP() const
Covariance matrix item (theta,q/P)
Trk::PerigeeSurface::createUniqueParameters
std::unique_ptr< ParametersT< DIM, T, PerigeeSurface > > createUniqueParameters(double l1, double l2, double phi, double theta, double qop, std::optional< AmgSymMatrix(DIM)> cov=std::nullopt) const
Use the Surface as a ParametersBase constructor, from local parameters.
egammaParameters::ParamDef
ParamDef
Definition: egammaParamDefs.h:99
EMTrackFit::track_perigee_theta
double track_perigee_theta() const
theta of the track after EMTrackFit
egammaParameters::refittedTrack_Covphiphi
@ refittedTrack_Covphiphi
Refitted track perigee covariance matrix item (phi,phi)
Definition: egammaParamDefs.h:316
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
EMTrackFit::track_LastM_qOverP
double track_LastM_qOverP() const
Last Measurment Surface q/pT estimate according to Track Refit.
x
#define x
EMTrackFit::track_perigee_z0
double track_perigee_z0() const
the z value at the point of closest approach after Track Refit
egammaParameters::refittedTrack_Covz0theta
@ refittedTrack_Covz0theta
Refitted track perigee covariance matrix item (z0,theta)
Definition: egammaParamDefs.h:312
EMTrackFit::hasParameter
virtual bool hasParameter(egammaParameters::ParamDef) const
egammaParameters::refittedTrack_Covd0phi
@ refittedTrack_Covd0phi
Refitted track perigee covariance matrix item ( )
Definition: egammaParamDefs.h:302
EMTrackFit
Definition: EMTrackFit.h:35
Trk::Charged
Definition: Charged.h:27
egammaParameters::refittedTrack_CovphiqOverP
@ refittedTrack_CovphiqOverP
Refitted track perigee covariance matrix item (phi,q/P)
Definition: egammaParamDefs.h:320
egammaParameters::refittedTrack_CovthetaqOverP
@ refittedTrack_CovthetaqOverP
Refitted track perigee covariance matrix item (theta,q/P)
Definition: egammaParamDefs.h:324
EMTrackFit::track_perigee_CovphiqOverP
double track_perigee_CovphiqOverP() const
Covariance matrix item (phi,q/P)
egammaParameters::refittedTrack_Covz0phi
@ refittedTrack_Covz0phi
Refitted track perigee covariance matrix item (z0,phi)
Definition: egammaParamDefs.h:310
egammaParameters::bremFitChi2
@ bremFitChi2
chi2 of EMBremFit
Definition: egammaParamDefs.h:264
EMTrackFit::track_perigee_Covz0z0
double track_perigee_Covz0z0() const
Covariance matrix item (z0,z0)
EMTrackFit::track_perigee_Covz0qOverP
double track_perigee_Covz0qOverP() const
Covariance matrix item (z0,q/p)
EMTrackFit::track_perigee_d0
double track_perigee_d0() const
transverse impact parameter (distance of closest approach) after Track Refit
egammaParameters::refittedTrack_phi0
@ refittedTrack_phi0
azimuth angle of the momentum at the point of closest approach after Track Refit
Definition: egammaParamDefs.h:289
EMTrackFit::track_LastM_theta
double track_LastM_theta() const
Last Measurment Surface theta after Track Refit.
egammaParameters::refittedTrackLastM_qOverP
@ refittedTrackLastM_qOverP
Last Measurment Surface q/pT estimate according to Track Refit.
Definition: egammaParamDefs.h:337
egammaParameters::bremClusterRadius
@ bremClusterRadius
cluster radius (mm) [x-y plane] from EMBremFit (depth)
Definition: egammaParamDefs.h:258
EMTrackFit::track_perigee_CovqOverPqOverP
double track_perigee_CovqOverPqOverP() const
Covariance matrix item (q/P,q/P)
egammaParameters::bremMaterialTraversed
@ bremMaterialTraversed
The amount of material traversed as seen by the track (in X0)
Definition: egammaParamDefs.h:347
egammaParameters::refittedTrack_Covd0qOverP
@ refittedTrack_Covd0qOverP
Refitted track perigee covariance matrix item (d0,q/p)
Definition: egammaParamDefs.h:306
egammaParameters::refittedTrack_Covz0z0
@ refittedTrack_Covz0z0
Refitted track perigee covariance matrix item (z0,z0)
Definition: egammaParamDefs.h:308
EMTrackFit::track_perigee_qOverP
double track_perigee_qOverP() const
1/pT estimate according to Track Refit
egammaParameters::refittedTrack_Covthetatheta
@ refittedTrack_Covthetatheta
Refitted track perigee covariance matrix item (theta,theta)
Definition: egammaParamDefs.h:322
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
EMTrackFit::parameter
virtual double parameter(egammaParameters::ParamDef) const
Definition: EMTrackFit.cxx:53
python.EventInfoMgtInit.release
release
Definition: EventInfoMgtInit.py:24
egammaParameters::refittedTrack_d0
@ refittedTrack_d0
transverse impact parameter (distance of closest approach) after Track Refit
Definition: egammaParamDefs.h:287
egammaParameters::bremFitStatus
@ bremFitStatus
Minuit EMBremFit fit status.
Definition: egammaParamDefs.h:260
EMTrackFit::set_parameter
void set_parameter(egammaParameters::ParamDef, double, bool overwrite=false)
general set method for parameters
Definition: EMTrackFit.cxx:76
EMTrackFit::track_perigee_Covphitheta
double track_perigee_Covphitheta() const
Covariance matrix item (phi,theta)
egammaParameters::refittedTrack_qOverP
@ refittedTrack_qOverP
1/pT estimate according to Track Refit
Definition: egammaParamDefs.h:291
EMTrackFit::track_LastM_phi
double track_LastM_phi() const
Last Measurment Surface azimuth angle after Track Refit.
egammaParameters::bremDeltaQoverPErr
@ bremDeltaQoverPErr
Error on the fraction of energy lost.
Definition: egammaParamDefs.h:345
EMTrackFit::track_perigee_Covz0phi
double track_perigee_Covz0phi() const
Covariance matrix item (z0,phi)
EMTrackFit::track_perigee_Covd0d0
double track_perigee_Covd0d0() const
Covariance matrix item ( )
egammaParameters::refittedTrackLastM_theta
@ refittedTrackLastM_theta
Last Measurment Surface theta after Track Refit.
Definition: egammaParamDefs.h:335
egammaParameters::refittedTrack_Covd0d0
@ refittedTrack_Covd0d0
Refitted track perigee covariance matrix item ( )
Definition: egammaParamDefs.h:298
egammaParameters::refittedTrack_theta
@ refittedTrack_theta
theta of the track after EMTrackFit
Definition: egammaParamDefs.h:295
fillSymmetric
void fillSymmetric(size_t i, size_t j, Scalar value)
method to fill symmetrically elments
Definition: AmgMatrixBasePlugin.h:121
egammaParameters::bremDeltaQoverP
@ bremDeltaQoverP
Fraction of the measured perigee momentum lost.
Definition: egammaParamDefs.h:343
egammaParameters::linkIndex
@ linkIndex
link index for multiple track and vertex matches
Definition: egammaParamDefs.h:574
egammaParameters::refittedTrackLastM_loc1
@ refittedTrackLastM_loc1
Last Measurment Surface Local Position 1 after Track Refit.
Definition: egammaParamDefs.h:329
egammaParameters::refittedTrack_Covz0qOverP
@ refittedTrack_Covz0qOverP
Refitted track perigee covariance matrix item (z0,q/p)
Definition: egammaParamDefs.h:314
egammaParameters::refittedTrack_Covd0theta
@ refittedTrack_Covd0theta
Refitted track perigee covariance matrix item (d0,theta)
Definition: egammaParamDefs.h:304
egammaParameters::refittedTrack_Covphitheta
@ refittedTrack_Covphitheta
Refitted track perigee covariance matrix item (phi,theta)
Definition: egammaParamDefs.h:318
AmgSymMatrix
AmgSymMatrix(5) EMTrackFit
Definition: EMTrackFit.cxx:307
EMTrackFit::track_LastM_loc1
double track_LastM_loc1() const
Last Measurment Surface Local Position 1 after Track Refit.
EMTrackFit::hasIntParameter
virtual bool hasIntParameter(egammaParameters::ParamDef) const
checks if the parameter is integer
EMTrackFit::track_perigee_phi0
double track_perigee_phi0() const
azimuth angle of the momentum at the point of closest approach after Track Refit
egammaParameters::refittedTrack_Covd0z0
@ refittedTrack_Covd0z0
Refitted track perigee covariance matrix item ( )
Definition: egammaParamDefs.h:300
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
egammaParameters::refittedTrackLastM_phi
@ refittedTrackLastM_phi
Last Measurment Surface azimuth angle after Track Refit.
Definition: egammaParamDefs.h:333