ATLAS Offline Software
Loading...
Searching...
No Matches
EMTrackFit Class Reference

Contains the fit result with addtional brem information EMTrackFit is made by EMTrkRefitter. More...

#include <EMTrackFit.h>

Inheritance diagram for EMTrackFit:
Collaboration diagram for EMTrackFit:

Public Member Functions

 EMTrackFit ()
 Default constructor.
virtual ~EMTrackFit ()=default
 Destructor.
virtual const std::string & className () const
virtual int intParameter (egammaParameters::ParamDef) const
virtual double parameter (egammaParameters::ParamDef) const
virtual bool hasParameter (egammaParameters::ParamDef) const
virtual bool hasIntParameter (egammaParameters::ParamDef) const
 checks if the parameter is integer
void set_parameter (egammaParameters::ParamDef, double, bool overwrite=false)
 general set method for parameters
void fillDetails (Trk::Track *track)
 Fill the details of the object from a Trk::Track.
const Trk::PerigeegetMeasuredPerigee () const
 returns the MeasuredPerigee from the stored egammaParameters
double track_perigee_d0 () const
 transverse impact parameter (distance of closest approach) after Track Refit
double track_perigee_phi0 () const
 azimuth angle of the momentum at the point of closest approach after Track Refit
double track_perigee_qOverP () const
 1/pT estimate according to Track Refit
double track_perigee_z0 () const
 the z value at the point of closest approach after Track Refit
double track_perigee_theta () const
 theta of the track after EMTrackFit
double track_perigee_Covd0d0 () const
 Covariance matrix item ( \( \d_0,\d_0 \))
double track_perigee_Covd0z0 () const
 Covariance matrix item ( \( \d_0,\z_0 \))
double track_perigee_Covd0phi () const
 Covariance matrix item ( \( \d_0,\phi_0 \))
double track_perigee_Covd0theta () const
 Covariance matrix item (d0,theta)
double track_perigee_Covd0qOverP () const
 Covariance matrix item (d0,q/p)
double track_perigee_Covz0z0 () const
 Covariance matrix item (z0,z0)
double track_perigee_Covz0phi () const
 Covariance matrix item (z0,phi)
double track_perigee_Covz0theta () const
 Covariance matrix item (z0,theta)
double track_perigee_Covz0qOverP () const
 Covariance matrix item (z0,q/p)
double track_perigee_Covphiphi () const
 Covariance matrix item (phi,phi)
double track_perigee_Covphitheta () const
 Covariance matrix item (phi,theta)
double track_perigee_CovphiqOverP () const
 Covariance matrix item (phi,q/P)
double track_perigee_Covthetatheta () const
 Covariance matrix item (theta,theta)
double track_perigee_CovthetaqOverP () const
 Covariance matrix item (theta,q/P)
double track_perigee_CovqOverPqOverP () const
 Covariance matrix item (q/P,q/P)
double track_LastM_loc1 () const
 Last Measurment Surface Local Position 1 after Track Refit.
double track_LastM_loc2 () const
 Last Measurment Surface Local Position 2 after Track Refit.
double track_LastM_phi () const
 Last Measurment Surface azimuth angle after Track Refit.
double track_LastM_theta () const
 Last Measurment Surface theta after Track Refit.
double track_LastM_qOverP () const
 Last Measurment Surface q/pT estimate according to Track Refit.
int bremTrackAuthor () const
 Track Author enum as Defined in Track/Track.h.
int hasBrem () const
 The Number of brems identified by the track fitter.
double bremRadius () const
 estimated brem radius from EMTrackFit (mm) [x-y plane] (weighted average if more than one brem)
double bremRadiusErr () const
 estimated brem radius uncertainty
double bremDeltaZ () const
 Fraction of the measured perigee momentum retained after brem.
double bremDeltaZerr () const
 Error on the fraction of the energy lost after the brem.
double bremMaterialTraversed () const
 Amount of Material seen by the particle according to the track fitter (in X0)
double bremFitChi2 () const
 Fit Chi2/nDoF.
int bremFitStatus () const
 Bremfit Status 1 Reached Iteration Limit, 0 Converged, -1 recheached iteration limit, -2 other.
int linkIndex () const
 Index of track this EMTrackFit is associated with.
void bremTrackAuthor (int)
 Set Track Author enum as Defined in Track/Track.h.
void hasBrem (int)
 The Number of brems identified by the track fitter.
void bremRadius (double)
 estimated brem radius from EMTrackFit (mm) [x-y plane] (weighted average if more than one brem)
void bremRadiusErr (double)
 estimated brem radius uncertainty
void bremDeltaZ (double)
 Fraction of the measured perigee momentum lost.
void bremDeltaZerr (double)
 Error on the Fraction of the measured perigee momentum lost.
void bremMaterialTraversed (double)
 Set the amount of material seen by the particle according to the track fitter (in X0)
void track_perigee_d0 (double)
 Set the transverse impact parameter (distance of closest approach) after Track Refit.
void track_perigee_phi0 (double)
 Set the azimuth angle of the momentum at the point of closest approach after Track Refit.
void track_perigee_qOverP (double)
 Set the 1/pT estimate according to Track Refit.
void track_perigee_z0 (double)
 Set the the z value at the point of closest approach after Track Refit.
void track_perigee_theta (double)
 Set the theta of the track after EMTrackFit.
void track_perigee_Covd0d0 (double)
 Set the Covariance matrix item (d0,d0)
void track_perigee_Covd0z0 (double)
 Set the Covariance matrix item (d0,z0)
void track_perigee_Covd0phi (double)
 Set the Covariance matrix item (d0,phi)
void track_perigee_Covd0theta (double)
 Set the Covariance matrix item (d0,theta)
void track_perigee_Covd0qOverP (double)
 Set the Covariance matrix item (d0,q/p)
void track_perigee_Covz0z0 (double)
 Set the Covariance matrix item (z0,z0)
void track_perigee_Covz0phi (double)
 Set the Covariance matrix item (z0,phi)
void track_perigee_Covz0theta (double)
 Set the Covariance matrix item (z0,theta)
void track_perigee_Covz0qOverP (double)
 Set the Covariance matrix item (z0,q/p)
void track_perigee_Covphiphi (double)
 Set the Covariance matrix item (phi,phi)
void track_perigee_Covphitheta (double)
 Set the Covariance matrix item (phi,theta)
void track_perigee_CovphiqOverP (double)
 Set the Covariance matrix item (phi,q/P)
void track_perigee_Covthetatheta (double)
 Set the Covariance matrix item (theta,theta)
void track_perigee_CovthetaqOverP (double)
 Set the Covariance matrix item (theta,q/P)
void track_perigee_CovqOverPqOverP (double)
 Set the Covariance matrix item (q/P,q/P)
void track_LastM_loc1 (double)
 Set the Last Measurment Surface Local Position 1 after Track Refit.
void track_LastM_loc2 (double)
 Set the Last Measurment Surface Local Position 2 after Track Refit.
void track_LastM_phi (double)
 Set the Last Measurment Surface azimuth angle after Track Refit.
void track_LastM_theta (double)
 Set the Last Measurment Surface theta after Track Refit.
void track_LastM_qOverP (double)
 Set the Last Measurment Surface q/pT estimate according to Track Refit.
void bremFitChi2 (double)
 Set the Chi2/nDoF of the fit.
void bremFitStatus (int)
 Set Bremfit Status 0 Converged, -1 recheached iteration limit, -2 other.
void set_linkIndex (int)
 Index of track this EMTrackFit is associated with.
virtual bool boolParameter (egammaParameters::ParamDef) const
virtual bool hasBoolParameter (egammaParameters::ParamDef) const

Private Member Functions

bool fillPerigeeParamters (const Trk::Perigee *trackParameters)
 Fill the perigree parameter details.
bool fillPerigeeErrors (const AmgSymMatrix(5) *)
 Fill the perigree error details.
void fillBrems (Trk::Track *track)
 Fill in brem information from a Trk::Track.
void fillLastMeasurement (Trk::Track *track)
 Obtains the last measurment on the Track and fills details into the object.
 AmgSymMatrix (5) getErrorMatrix() const
 Returns the ErrorMatrix of the perigee of the associated track.
void set_parameterInt (egammaParameters::ParamDef, int, bool overwrite=false)

Private Attributes

std::vector< std::pair< egammaParameters::ParamDef, double > > m_parameters
std::vector< std::pair< egammaParameters::ParamDef, int > > m_parametersInt

Static Private Attributes

static const std::string s_className = ClassName<EMTrackFit>::name()

Detailed Description

Contains the fit result with addtional brem information EMTrackFit is made by EMTrkRefitter.

It is responsible for bremsstrahlung recovery using inner detector track refitting. It re-calculates track pT accounting for energy of the photons emmitted in a hard bremsstrahlung.

Author
Anthony Morley

Definition at line 34 of file EMTrackFit.h.

Constructor & Destructor Documentation

◆ EMTrackFit()

EMTrackFit::EMTrackFit ( )

Default constructor.

Definition at line 41 of file EMTrackFit.cxx.

42 : egDetail()
43{ }
egDetail()=default
Default constructor.

◆ ~EMTrackFit()

virtual EMTrackFit::~EMTrackFit ( )
virtualdefault

Destructor.

Member Function Documentation

◆ AmgSymMatrix()

EMTrackFit::AmgSymMatrix ( 5 ) const
private

Returns the ErrorMatrix of the perigee of the associated track.

If there is no associated track the error matrix will be 0

◆ boolParameter()

bool egDetail::boolParameter ( egammaParameters::ParamDef ) const
virtualinherited

Reimplemented in EMConvert, and EMTrackMatch.

Definition at line 19 of file egDetail.cxx.

20{
21 return false;
22}

◆ bremDeltaZ() [1/2]

double EMTrackFit::bremDeltaZ ( ) const

Fraction of the measured perigee momentum retained after brem.

Definition at line 465 of file EMTrackFit.cxx.

virtual double parameter(egammaParameters::ParamDef) const
@ bremDeltaQoverP
Fraction of the measured perigee momentum lost.

◆ bremDeltaZ() [2/2]

void EMTrackFit::bremDeltaZ ( double x)

Fraction of the measured perigee momentum lost.

Definition at line 473 of file EMTrackFit.cxx.

#define x
void set_parameter(egammaParameters::ParamDef, double, bool overwrite=false)
general set method for parameters

◆ bremDeltaZerr() [1/2]

double EMTrackFit::bremDeltaZerr ( ) const

Error on the fraction of the energy lost after the brem.

Definition at line 466 of file EMTrackFit.cxx.

@ bremDeltaQoverPErr
Error on the fraction of energy lost.

◆ bremDeltaZerr() [2/2]

void EMTrackFit::bremDeltaZerr ( double x)

Error on the Fraction of the measured perigee momentum lost.

Definition at line 474 of file EMTrackFit.cxx.

◆ bremFitChi2() [1/2]

double EMTrackFit::bremFitChi2 ( ) const

Fit Chi2/nDoF.

Definition at line 478 of file EMTrackFit.cxx.

@ bremFitChi2
chi2 of EMBremFit

◆ bremFitChi2() [2/2]

void EMTrackFit::bremFitChi2 ( double x)

Set the Chi2/nDoF of the fit.

Definition at line 477 of file EMTrackFit.cxx.

◆ bremFitStatus() [1/2]

int EMTrackFit::bremFitStatus ( ) const

Bremfit Status 1 Reached Iteration Limit, 0 Converged, -1 recheached iteration limit, -2 other.

Definition at line 480 of file EMTrackFit.cxx.

virtual int intParameter(egammaParameters::ParamDef) const
@ bremFitStatus
Minuit EMBremFit fit status.

◆ bremFitStatus() [2/2]

void EMTrackFit::bremFitStatus ( int x)

Set Bremfit Status 0 Converged, -1 recheached iteration limit, -2 other.

Definition at line 481 of file EMTrackFit.cxx.

void set_parameterInt(egammaParameters::ParamDef, int, bool overwrite=false)

◆ bremMaterialTraversed() [1/2]

double EMTrackFit::bremMaterialTraversed ( ) const

Amount of Material seen by the particle according to the track fitter (in X0)

Definition at line 467 of file EMTrackFit.cxx.

@ bremMaterialTraversed
The amount of material traversed as seen by the track (in X0)

◆ bremMaterialTraversed() [2/2]

void EMTrackFit::bremMaterialTraversed ( double x)

Set the amount of material seen by the particle according to the track fitter (in X0)

Definition at line 475 of file EMTrackFit.cxx.

◆ bremRadius() [1/2]

double EMTrackFit::bremRadius ( ) const

estimated brem radius from EMTrackFit (mm) [x-y plane] (weighted average if more than one brem)

Definition at line 463 of file EMTrackFit.cxx.

@ bremRadius
estimated brem radius from EMBremFit (mm) [x-y plane]

◆ bremRadius() [2/2]

void EMTrackFit::bremRadius ( double x)

estimated brem radius from EMTrackFit (mm) [x-y plane] (weighted average if more than one brem)

Definition at line 471 of file EMTrackFit.cxx.

◆ bremRadiusErr() [1/2]

double EMTrackFit::bremRadiusErr ( ) const

estimated brem radius uncertainty

Definition at line 464 of file EMTrackFit.cxx.

@ bremClusterRadius
cluster radius (mm) [x-y plane] from EMBremFit (depth)

◆ bremRadiusErr() [2/2]

void EMTrackFit::bremRadiusErr ( double x)

estimated brem radius uncertainty

Definition at line 472 of file EMTrackFit.cxx.

◆ bremTrackAuthor() [1/2]

int EMTrackFit::bremTrackAuthor ( ) const

Track Author enum as Defined in Track/Track.h.

N.B. 50 for brem track fit

Definition at line 460 of file EMTrackFit.cxx.

@ bremTrackAuthor
The author of the Refitted track.

◆ bremTrackAuthor() [2/2]

void EMTrackFit::bremTrackAuthor ( int x)

Set Track Author enum as Defined in Track/Track.h.

Definition at line 469 of file EMTrackFit.cxx.

◆ className()

const std::string & EMTrackFit::className ( ) const
virtual

Reimplemented from egDetail.

Definition at line 47 of file EMTrackFit.cxx.

48{
49 return s_className;
50}
static const std::string s_className
Definition EMTrackFit.h:245

◆ fillBrems()

void EMTrackFit::fillBrems ( Trk::Track * track)
private

Fill in brem information from a Trk::Track.

Definition at line 161 of file EMTrackFit.cxx.

161 {
162
163 std::vector<const Trk::EstimatedBremOnTrack*> estimatedBremOnTrack;
164 std::vector<const Trk::TrackStateOnSurface* > trkStateOnSurfaceWithBrem;
165
166 Trk::TrackStates::const_iterator trackStateOnSurface = track->trackStateOnSurfaces()->begin();
167 //For look for all of the EstimatedBremsOnTrack and add the pointers to a vector
168 for (;trackStateOnSurface < track->trackStateOnSurfaces()->end(); ++trackStateOnSurface){
169 const Trk::EstimatedBremOnTrack* brem = dynamic_cast<const Trk::EstimatedBremOnTrack*>((*trackStateOnSurface)->materialEffectsOnTrack());
170 if (brem){
171 estimatedBremOnTrack.push_back ( brem );
172 trkStateOnSurfaceWithBrem.push_back( (*trackStateOnSurface) );
173 }
174 }
175
176 if (estimatedBremOnTrack.empty()){
177 hasBrem(0);
178 bremRadius(0);
179 bremDeltaZ(0);
180 return;
181 }
182 // The energy loss weighted average position of the brem.
183 std::vector<const Trk::EstimatedBremOnTrack*>::iterator brems = estimatedBremOnTrack.begin();
184 std::vector<const Trk::TrackStateOnSurface*>::iterator tsos = trkStateOnSurfaceWithBrem.begin();
185
186 double Z(1.);
187 double R(0.);
188 double fractionELost(0.);
189 double sigmaRetainedEnFraction(0);
190 for (; brems!=estimatedBremOnTrack.end(); ++brems, ++tsos) {
191
192 fractionELost += 1-(*brems)->retainedEnFraction();
193
194 Z *= (*brems)->retainedEnFraction();
195
196 R += (1-(*brems)->retainedEnFraction()) * (*tsos)->trackParameters()->position().perp();
197 sigmaRetainedEnFraction += (1-(*brems)->retainedEnFraction()) * (*brems)->sigmaRetainedEnFraction();
198 }
199 if (Z>0 && fractionELost>0.){
200 R/=fractionELost;
201 sigmaRetainedEnFraction/=fractionELost;
202 }
203 hasBrem(estimatedBremOnTrack.size());
204 bremRadius(R);
205 bremDeltaZ(Z);
206 //Clearly this is poorly defined for multiple brems a better way of doing this need to be found
207 bremDeltaZerr(sigmaRetainedEnFraction);
208
209 }
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
double bremDeltaZ() const
Fraction of the measured perigee momentum retained after brem.
double bremRadius() const
estimated brem radius from EMTrackFit (mm) [x-y plane] (weighted average if more than one brem)
int hasBrem() const
The Number of brems identified by the track fitter.
double bremDeltaZerr() const
Error on the fraction of the energy lost after the brem.
double R(const INavigable4Momentum *p1, const double v_eta, const double v_phi)

◆ fillDetails()

void EMTrackFit::fillDetails ( Trk::Track * track)

Fill the details of the object from a Trk::Track.

Definition at line 148 of file EMTrackFit.cxx.

148 {
149 if (track){
150 bremTrackAuthor( track->info().trackFitter() );
151 fillPerigeeParamters( track->perigeeParameters() );
152 fillLastMeasurement(track);
153 fillBrems(track);
154 } else {
155 throw GaudiException("Parameters not saved, no track", "EMTrackFit::fillDetails(...)", StatusCode::FAILURE);
156 }
157
158 }
bool fillPerigeeParamters(const Trk::Perigee *trackParameters)
Fill the perigree parameter details.
int bremTrackAuthor() const
Track Author enum as Defined in Track/Track.h.
void fillBrems(Trk::Track *track)
Fill in brem information from a Trk::Track.
void fillLastMeasurement(Trk::Track *track)
Obtains the last measurment on the Track and fills details into the object.

◆ fillLastMeasurement()

void EMTrackFit::fillLastMeasurement ( Trk::Track * track)
private

Obtains the last measurment on the Track and fills details into the object.

DataVector< const Trk::TrackParameters >::const_reverse_iterator lastTrkParameters = track->trackParameters()->rbegin(); DataVector< const Trk::TrackParameters >::const_iterator firstTrkParameters = track->trackParameters()->begin();

if (!(*lastTrkParameters)) return; if (!(*firstTrkParameters)) return;

Check the position of the last surface const Trk::GlobalPosition& posOnSurf = (*lastTrkParameters)->position(); double finalRadius = posOnSurf.perp();

const Trk::GlobalPosition& firstposOnSurf = (*firstTrkParameters)->position(); double firstRadius = firstposOnSurf.perp();

Assuming if that the trejectry has been filled in some kind of order flip if (firstRadius > finalRadius){ trkPara = (*firstTrkParameters); } else { trkPara = (*lastTrkParameters); }

Definition at line 212 of file EMTrackFit.cxx.

212 {
213
214 if (track == nullptr ){
215 return;
216 }
217
239
240 const Trk::TrackStates* oldTrackStates = track->trackStateOnSurfaces();
241 if (oldTrackStates == nullptr)
242 {
243 return;
244 }
245
246 for ( Trk::TrackStates::const_reverse_iterator rItTSoS = oldTrackStates->rbegin(); rItTSoS != oldTrackStates->rend(); ++rItTSoS)
247 {
248
249 if ( (*rItTSoS)->type(Trk::TrackStateOnSurface::Measurement) && (*rItTSoS)->trackParameters()!=nullptr && (*rItTSoS)->measurementOnTrack()!=nullptr)
250 {
251 const Trk::TrackParameters* trkPara = (*rItTSoS)->trackParameters();
252 track_LastM_loc1 ( trkPara->parameters()[Trk::loc1]);
253 track_LastM_loc2 ( trkPara->parameters()[Trk::loc2]);
254 track_LastM_phi ( trkPara->parameters()[Trk::phi]);
255 track_LastM_theta ( trkPara->parameters()[Trk::theta]);
256 track_LastM_qOverP ( trkPara->parameters()[Trk::qOverP]);
257 break;
258 }
259 }
260 }
const_reverse_iterator rend() const noexcept
Return a const_reverse_iterator pointing at the beginning of the collection.
const_reverse_iterator rbegin() const noexcept
Return a const_reverse_iterator pointing past the end of the collection.
std::reverse_iterator< const_iterator > const_reverse_iterator
Definition DataVector.h:847
double track_LastM_theta() const
Last Measurment Surface theta after Track Refit.
double track_LastM_phi() const
Last Measurment Surface azimuth angle after Track Refit.
double track_LastM_loc2() const
Last Measurment Surface Local Position 2 after Track Refit.
double track_LastM_loc1() const
Last Measurment Surface Local Position 1 after Track Refit.
double track_LastM_qOverP() const
Last Measurment Surface q/pT estimate according to Track Refit.
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.
DataVector< const Trk::TrackStateOnSurface > TrackStates
@ theta
Definition ParamDefs.h:66
@ qOverP
perigee
Definition ParamDefs.h:67
@ loc2
generic first and second local coordinate
Definition ParamDefs.h:35
@ phi
Definition ParamDefs.h:75
@ loc1
Definition ParamDefs.h:34
ParametersBase< TrackParametersDim, Charged > TrackParameters

◆ fillPerigeeErrors()

bool EMTrackFit::fillPerigeeErrors ( const AmgSymMatrix(5) * errorMatrix)
private

Fill the perigree error details.

Definition at line 282 of file EMTrackFit.cxx.

283{
284 if(!errorMatrix)
285 return false;
286
287
288 track_perigee_Covd0d0 ((*errorMatrix)(Trk::d0, Trk::d0)) ;
289 track_perigee_Covd0z0 ((*errorMatrix)(Trk::d0, Trk::z0)) ;
290 track_perigee_Covd0phi ((*errorMatrix)(Trk::d0, Trk::phi)) ;
291 track_perigee_Covd0theta ((*errorMatrix)(Trk::d0, Trk::theta)) ;
293 track_perigee_Covz0z0 ((*errorMatrix)(Trk::z0, Trk::z0)) ;
294 track_perigee_Covz0phi ((*errorMatrix)(Trk::z0, Trk::phi)) ;
295 track_perigee_Covz0theta ((*errorMatrix)(Trk::z0, Trk::theta)) ;
297 track_perigee_Covphiphi ((*errorMatrix)(Trk::phi, Trk::phi)) ;
303 return true;
304}
double track_perigee_Covphiphi() const
Covariance matrix item (phi,phi)
double track_perigee_Covz0theta() const
Covariance matrix item (z0,theta)
double track_perigee_CovthetaqOverP() const
Covariance matrix item (theta,q/P)
double track_perigee_Covthetatheta() const
Covariance matrix item (theta,theta)
double track_perigee_Covz0qOverP() const
Covariance matrix item (z0,q/p)
double track_perigee_Covz0phi() const
Covariance matrix item (z0,phi)
double track_perigee_Covd0z0() const
Covariance matrix item ( )
double track_perigee_Covd0phi() const
Covariance matrix item ( )
double track_perigee_Covd0qOverP() const
Covariance matrix item (d0,q/p)
double track_perigee_CovqOverPqOverP() const
Covariance matrix item (q/P,q/P)
double track_perigee_Covphitheta() const
Covariance matrix item (phi,theta)
double track_perigee_Covz0z0() const
Covariance matrix item (z0,z0)
double track_perigee_CovphiqOverP() const
Covariance matrix item (phi,q/P)
double track_perigee_Covd0d0() const
Covariance matrix item ( )
double track_perigee_Covd0theta() const
Covariance matrix item (d0,theta)
@ d0
Definition ParamDefs.h:63
@ z0
Definition ParamDefs.h:64

◆ fillPerigeeParamters()

bool EMTrackFit::fillPerigeeParamters ( const Trk::Perigee * trackParameters)
private

Fill the perigree parameter details.

Definition at line 263 of file EMTrackFit.cxx.

263 {
264 if (trackParameters){
265 track_perigee_d0(trackParameters->parameters()[Trk::d0]);
266 track_perigee_z0(trackParameters->parameters()[Trk::z0]);
267 track_perigee_phi0(trackParameters->parameters()[Trk::phi]);
268 track_perigee_theta(trackParameters->parameters()[Trk::theta]);
269 track_perigee_qOverP(trackParameters->parameters()[Trk::qOverP]);
270
271 if ( !(fillPerigeeErrors(trackParameters->covariance())) ){
272 // This Failed Jolly good
273 }
274
275 return true;
276 }
277 return false;
278
279 return true;
280}
double track_perigee_phi0() const
azimuth angle of the momentum at the point of closest approach after Track Refit
double track_perigee_z0() const
the z value at the point of closest approach after Track Refit
bool fillPerigeeErrors(const AmgSymMatrix(5) *)
Fill the perigree error details.
double track_perigee_theta() const
theta of the track after EMTrackFit
double track_perigee_qOverP() const
1/pT estimate according to Track Refit
double track_perigee_d0() const
transverse impact parameter (distance of closest approach) after Track Refit

◆ getMeasuredPerigee()

const Trk::Perigee * EMTrackFit::getMeasuredPerigee ( ) const

returns the MeasuredPerigee from the stored egammaParameters

◆ hasBoolParameter()

bool egDetail::hasBoolParameter ( egammaParameters::ParamDef ) const
virtualinherited

Reimplemented in EMConvert, and EMTrackMatch.

Definition at line 34 of file egDetail.cxx.

35{
36 return false;
37}

◆ hasBrem() [1/2]

int EMTrackFit::hasBrem ( ) const

The Number of brems identified by the track fitter.

Definition at line 462 of file EMTrackFit.cxx.

@ hasBrem
The Number of brems identified by the track fitter.

◆ hasBrem() [2/2]

void EMTrackFit::hasBrem ( int x)

The Number of brems identified by the track fitter.

Definition at line 470 of file EMTrackFit.cxx.

◆ hasIntParameter()

virtual bool EMTrackFit::hasIntParameter ( egammaParameters::ParamDef ) const
virtual

checks if the parameter is integer

Reimplemented from egDetail.

◆ hasParameter()

virtual bool EMTrackFit::hasParameter ( egammaParameters::ParamDef ) const
virtual

Reimplemented from egDetail.

◆ intParameter()

int EMTrackFit::intParameter ( egammaParameters::ParamDef key) const
virtual

Reimplemented from egDetail.

Definition at line 105 of file EMTrackFit.cxx.

106{
107 using elParams = std::pair<egammaParameters::ParamDef, int>;
108
110 std::vector<elParams>::const_iterator p = m_parametersInt.begin();
111
112 for (;p !=m_parametersInt.end(); ++p) {
113 if ( (*p).first == key ){
114 result = (*p).second;
115 break;
116 }
117 }
118
119 return result;
120}
std::vector< std::pair< egammaParameters::ParamDef, int > > m_parametersInt
Definition EMTrackFit.h:244
const double EgParamUndefined

◆ linkIndex()

int EMTrackFit::linkIndex ( ) const
virtual

Index of track this EMTrackFit is associated with.

Reimplemented from egDetail.

Definition at line 483 of file EMTrackFit.cxx.

@ linkIndex
link index for multiple track and vertex matches

◆ parameter()

double EMTrackFit::parameter ( egammaParameters::ParamDef key) const
virtual

Reimplemented from egDetail.

Definition at line 53 of file EMTrackFit.cxx.

54{
55
56 if ( hasIntParameter(key) ) {
57 return (double) intParameter(key);
58 }
59
60 using elParams = std::pair<egammaParameters::ParamDef, double>;
61
63 std::vector<elParams>::const_iterator p = m_parameters.begin();
64
65 for (;p !=m_parameters.end(); ++p) {
66 if ( (*p).first == key ) {
67 result = (*p).second;
68 break;
69 }
70 }
71
72 return result;
73}
std::vector< std::pair< egammaParameters::ParamDef, double > > m_parameters
Definition EMTrackFit.h:243
virtual bool hasIntParameter(egammaParameters::ParamDef) const
checks if the parameter is integer

◆ set_linkIndex()

void EMTrackFit::set_linkIndex ( int x)
virtual

Index of track this EMTrackFit is associated with.

Reimplemented from egDetail.

Definition at line 484 of file EMTrackFit.cxx.

◆ set_parameter()

void EMTrackFit::set_parameter ( egammaParameters::ParamDef key,
double value,
bool overwrite = false )

general set method for parameters

Definition at line 76 of file EMTrackFit.cxx.

76 {
77
78 if ( hasIntParameter(key) ) {
79 set_parameterInt(key,(int)value,overwrite);
80 }
81
82 using elParams = std::pair<egammaParameters::ParamDef, double>;
83
84 std::vector<elParams>::iterator p = m_parameters.begin();
85
86 for (;p !=m_parameters.end(); ++p) {
87 if ( (*p).first == key ) break;
88 }
89
90 if ( p == m_parameters.end() ) {
91 m_parameters.emplace_back(key,value );
92 }
93 else {
94 if ( overwrite ) {
95 (*p).second = value;
96 }
97 else {
98 throw GaudiException("parameter not saved", "EMTrackFit::set_parameter(...)", StatusCode::FAILURE);
99 }
100 }
101
102}

◆ set_parameterInt()

void EMTrackFit::set_parameterInt ( egammaParameters::ParamDef key,
int value,
bool overwrite = false )
private

Definition at line 123 of file EMTrackFit.cxx.

123 {
124
125 using elParams = std::pair<egammaParameters::ParamDef, int>;
126
127 std::vector<elParams>::iterator p = m_parametersInt.begin();
128
129 for (;p !=m_parametersInt.end(); ++p) {
130 if ( (*p).first == key ) break;
131 }
132
133 if ( p == m_parametersInt.end() ) {
134 m_parametersInt.emplace_back(key,value );
135 }
136 else {
137 if ( overwrite ) {
138 (*p).second = value;
139 }
140 else {
141 throw GaudiException("parameter not saved", "EMTrackFit::set_parameter(...)", StatusCode::FAILURE);
142 }
143 }
144
145}

◆ track_LastM_loc1() [1/2]

double EMTrackFit::track_LastM_loc1 ( ) const

Last Measurment Surface Local Position 1 after Track Refit.

◆ track_LastM_loc1() [2/2]

void EMTrackFit::track_LastM_loc1 ( double x)

Set the Last Measurment Surface Local Position 1 after Track Refit.

Definition at line 454 of file EMTrackFit.cxx.

@ refittedTrackLastM_loc1
Last Measurment Surface Local Position 1 after Track Refit.

◆ track_LastM_loc2() [1/2]

double EMTrackFit::track_LastM_loc2 ( ) const

Last Measurment Surface Local Position 2 after Track Refit.

◆ track_LastM_loc2() [2/2]

void EMTrackFit::track_LastM_loc2 ( double x)

Set the Last Measurment Surface Local Position 2 after Track Refit.

Definition at line 455 of file EMTrackFit.cxx.

@ refittedTrackLastM_loc2
Last Measurment Surface Local Position 2 after Track Refit.

◆ track_LastM_phi() [1/2]

double EMTrackFit::track_LastM_phi ( ) const

Last Measurment Surface azimuth angle after Track Refit.

◆ track_LastM_phi() [2/2]

void EMTrackFit::track_LastM_phi ( double x)

Set the Last Measurment Surface azimuth angle after Track Refit.

Definition at line 456 of file EMTrackFit.cxx.

@ refittedTrackLastM_phi
Last Measurment Surface azimuth angle after Track Refit.

◆ track_LastM_qOverP() [1/2]

double EMTrackFit::track_LastM_qOverP ( ) const

Last Measurment Surface q/pT estimate according to Track Refit.

◆ track_LastM_qOverP() [2/2]

void EMTrackFit::track_LastM_qOverP ( double x)

Set the Last Measurment Surface q/pT estimate according to Track Refit.

Definition at line 458 of file EMTrackFit.cxx.

@ refittedTrackLastM_qOverP
Last Measurment Surface q/pT estimate according to Track Refit.

◆ track_LastM_theta() [1/2]

double EMTrackFit::track_LastM_theta ( ) const

Last Measurment Surface theta after Track Refit.

◆ track_LastM_theta() [2/2]

void EMTrackFit::track_LastM_theta ( double x)

Set the Last Measurment Surface theta after Track Refit.

Definition at line 457 of file EMTrackFit.cxx.

@ refittedTrackLastM_theta
Last Measurment Surface theta after Track Refit.

◆ track_perigee_Covd0d0() [1/2]

double EMTrackFit::track_perigee_Covd0d0 ( ) const

Covariance matrix item ( \( \d_0,\d_0 \))

◆ track_perigee_Covd0d0() [2/2]

void EMTrackFit::track_perigee_Covd0d0 ( double x)

Set the Covariance matrix item (d0,d0)

Definition at line 438 of file EMTrackFit.cxx.

@ refittedTrack_Covd0d0
Refitted track perigee covariance matrix item ( )

◆ track_perigee_Covd0phi() [1/2]

double EMTrackFit::track_perigee_Covd0phi ( ) const

Covariance matrix item ( \( \d_0,\phi_0 \))

◆ track_perigee_Covd0phi() [2/2]

void EMTrackFit::track_perigee_Covd0phi ( double x)

Set the Covariance matrix item (d0,phi)

Definition at line 440 of file EMTrackFit.cxx.

@ refittedTrack_Covd0phi
Refitted track perigee covariance matrix item ( )

◆ track_perigee_Covd0qOverP() [1/2]

double EMTrackFit::track_perigee_Covd0qOverP ( ) const

Covariance matrix item (d0,q/p)

◆ track_perigee_Covd0qOverP() [2/2]

void EMTrackFit::track_perigee_Covd0qOverP ( double x)

Set the Covariance matrix item (d0,q/p)

Definition at line 442 of file EMTrackFit.cxx.

@ refittedTrack_Covd0qOverP
Refitted track perigee covariance matrix item (d0,q/p)

◆ track_perigee_Covd0theta() [1/2]

double EMTrackFit::track_perigee_Covd0theta ( ) const

Covariance matrix item (d0,theta)

◆ track_perigee_Covd0theta() [2/2]

void EMTrackFit::track_perigee_Covd0theta ( double x)

Set the Covariance matrix item (d0,theta)

Definition at line 441 of file EMTrackFit.cxx.

@ refittedTrack_Covd0theta
Refitted track perigee covariance matrix item (d0,theta)

◆ track_perigee_Covd0z0() [1/2]

double EMTrackFit::track_perigee_Covd0z0 ( ) const

Covariance matrix item ( \( \d_0,\z_0 \))

◆ track_perigee_Covd0z0() [2/2]

void EMTrackFit::track_perigee_Covd0z0 ( double x)

Set the Covariance matrix item (d0,z0)

Definition at line 439 of file EMTrackFit.cxx.

@ refittedTrack_Covd0z0
Refitted track perigee covariance matrix item ( )

◆ track_perigee_Covphiphi() [1/2]

double EMTrackFit::track_perigee_Covphiphi ( ) const

Covariance matrix item (phi,phi)

◆ track_perigee_Covphiphi() [2/2]

void EMTrackFit::track_perigee_Covphiphi ( double x)

Set the Covariance matrix item (phi,phi)

Definition at line 447 of file EMTrackFit.cxx.

@ refittedTrack_Covphiphi
Refitted track perigee covariance matrix item (phi,phi)

◆ track_perigee_CovphiqOverP() [1/2]

double EMTrackFit::track_perigee_CovphiqOverP ( ) const

Covariance matrix item (phi,q/P)

◆ track_perigee_CovphiqOverP() [2/2]

void EMTrackFit::track_perigee_CovphiqOverP ( double x)

Set the Covariance matrix item (phi,q/P)

Definition at line 449 of file EMTrackFit.cxx.

@ refittedTrack_CovphiqOverP
Refitted track perigee covariance matrix item (phi,q/P)

◆ track_perigee_Covphitheta() [1/2]

double EMTrackFit::track_perigee_Covphitheta ( ) const

Covariance matrix item (phi,theta)

◆ track_perigee_Covphitheta() [2/2]

void EMTrackFit::track_perigee_Covphitheta ( double x)

Set the Covariance matrix item (phi,theta)

Definition at line 448 of file EMTrackFit.cxx.

@ refittedTrack_Covphitheta
Refitted track perigee covariance matrix item (phi,theta)

◆ track_perigee_CovqOverPqOverP() [1/2]

double EMTrackFit::track_perigee_CovqOverPqOverP ( ) const

Covariance matrix item (q/P,q/P)

◆ track_perigee_CovqOverPqOverP() [2/2]

void EMTrackFit::track_perigee_CovqOverPqOverP ( double x)

Set the Covariance matrix item (q/P,q/P)

Definition at line 452 of file EMTrackFit.cxx.

@ refittedTrack_CovqOverPqOverP
Refitted track perigee covariance matrix item (q/P,q/P)

◆ track_perigee_CovthetaqOverP() [1/2]

double EMTrackFit::track_perigee_CovthetaqOverP ( ) const

Covariance matrix item (theta,q/P)

◆ track_perigee_CovthetaqOverP() [2/2]

void EMTrackFit::track_perigee_CovthetaqOverP ( double x)

Set the Covariance matrix item (theta,q/P)

Definition at line 451 of file EMTrackFit.cxx.

@ refittedTrack_CovthetaqOverP
Refitted track perigee covariance matrix item (theta,q/P)

◆ track_perigee_Covthetatheta() [1/2]

double EMTrackFit::track_perigee_Covthetatheta ( ) const

Covariance matrix item (theta,theta)

◆ track_perigee_Covthetatheta() [2/2]

void EMTrackFit::track_perigee_Covthetatheta ( double x)

Set the Covariance matrix item (theta,theta)

Definition at line 450 of file EMTrackFit.cxx.

@ refittedTrack_Covthetatheta
Refitted track perigee covariance matrix item (theta,theta)

◆ track_perigee_Covz0phi() [1/2]

double EMTrackFit::track_perigee_Covz0phi ( ) const

Covariance matrix item (z0,phi)

◆ track_perigee_Covz0phi() [2/2]

void EMTrackFit::track_perigee_Covz0phi ( double x)

Set the Covariance matrix item (z0,phi)

Definition at line 444 of file EMTrackFit.cxx.

@ refittedTrack_Covz0phi
Refitted track perigee covariance matrix item (z0,phi)

◆ track_perigee_Covz0qOverP() [1/2]

double EMTrackFit::track_perigee_Covz0qOverP ( ) const

Covariance matrix item (z0,q/p)

◆ track_perigee_Covz0qOverP() [2/2]

void EMTrackFit::track_perigee_Covz0qOverP ( double x)

Set the Covariance matrix item (z0,q/p)

Definition at line 446 of file EMTrackFit.cxx.

@ refittedTrack_Covz0qOverP
Refitted track perigee covariance matrix item (z0,q/p)

◆ track_perigee_Covz0theta() [1/2]

double EMTrackFit::track_perigee_Covz0theta ( ) const

Covariance matrix item (z0,theta)

◆ track_perigee_Covz0theta() [2/2]

void EMTrackFit::track_perigee_Covz0theta ( double x)

Set the Covariance matrix item (z0,theta)

Definition at line 445 of file EMTrackFit.cxx.

@ refittedTrack_Covz0theta
Refitted track perigee covariance matrix item (z0,theta)

◆ track_perigee_Covz0z0() [1/2]

double EMTrackFit::track_perigee_Covz0z0 ( ) const

Covariance matrix item (z0,z0)

◆ track_perigee_Covz0z0() [2/2]

void EMTrackFit::track_perigee_Covz0z0 ( double x)

Set the Covariance matrix item (z0,z0)

Definition at line 443 of file EMTrackFit.cxx.

@ refittedTrack_Covz0z0
Refitted track perigee covariance matrix item (z0,z0)

◆ track_perigee_d0() [1/2]

double EMTrackFit::track_perigee_d0 ( ) const

transverse impact parameter (distance of closest approach) after Track Refit

◆ track_perigee_d0() [2/2]

void EMTrackFit::track_perigee_d0 ( double )

Set the transverse impact parameter (distance of closest approach) after Track Refit.

◆ track_perigee_phi0() [1/2]

double EMTrackFit::track_perigee_phi0 ( ) const

azimuth angle of the momentum at the point of closest approach after Track Refit

◆ track_perigee_phi0() [2/2]

void EMTrackFit::track_perigee_phi0 ( double x)

Set the azimuth angle of the momentum at the point of closest approach after Track Refit.

Definition at line 433 of file EMTrackFit.cxx.

@ refittedTrack_phi0
azimuth angle of the momentum at the point of closest approach after Track Refit

◆ track_perigee_qOverP() [1/2]

double EMTrackFit::track_perigee_qOverP ( ) const

1/pT estimate according to Track Refit

◆ track_perigee_qOverP() [2/2]

void EMTrackFit::track_perigee_qOverP ( double x)

Set the 1/pT estimate according to Track Refit.

Definition at line 434 of file EMTrackFit.cxx.

@ refittedTrack_qOverP
1/pT estimate according to Track Refit

◆ track_perigee_theta() [1/2]

double EMTrackFit::track_perigee_theta ( ) const

theta of the track after EMTrackFit

◆ track_perigee_theta() [2/2]

void EMTrackFit::track_perigee_theta ( double x)

Set the theta of the track after EMTrackFit.

Definition at line 436 of file EMTrackFit.cxx.

@ refittedTrack_theta
theta of the track after EMTrackFit

◆ track_perigee_z0() [1/2]

double EMTrackFit::track_perigee_z0 ( ) const

the z value at the point of closest approach after Track Refit

◆ track_perigee_z0() [2/2]

void EMTrackFit::track_perigee_z0 ( double x)

Set the the z value at the point of closest approach after Track Refit.

Definition at line 435 of file EMTrackFit.cxx.

@ refittedTrack_z0
the z value at the point of closest approach after Track Refit

Member Data Documentation

◆ m_parameters

std::vector< std::pair<egammaParameters::ParamDef,double> > EMTrackFit::m_parameters
private

Definition at line 243 of file EMTrackFit.h.

◆ m_parametersInt

std::vector< std::pair<egammaParameters::ParamDef,int> > EMTrackFit::m_parametersInt
private

Definition at line 244 of file EMTrackFit.h.

◆ s_className

const std::string EMTrackFit::s_className = ClassName<EMTrackFit>::name()
staticprivate

Definition at line 245 of file EMTrackFit.h.


The documentation for this class was generated from the following files: