ATLAS Offline Software
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
Trk::EstimatedBremOnTrack Class Referencefinal

class holding information about momentum reduction and an additional noise term due to significant energy loss (bremsstrahlung) More...

#include <EstimatedBremOnTrack.h>

Inheritance diagram for Trk::EstimatedBremOnTrack:
Collaboration diagram for Trk::EstimatedBremOnTrack:

Public Types

enum  MaterialEffectsDerivedType { ESTIMATED_BREM_ON_TRACK = 0, MATERIAL_EFFECTS_ON_TRACK, NTYPES }
 
enum  MaterialEffectsType {
  ScatteringEffects = 0, EnergyLossEffects = 1, MaterialThickness = 2, BremPoint = 3,
  UsesMeasurement = 4, FittedMaterialEffects = 5, Unknown = 6, NumberOfMaterialEffectsTypes = 7
}
 

Public Member Functions

 EstimatedBremOnTrack ()=default
 default constructor for POOL More...
 
 EstimatedBremOnTrack (double thicknessInX0, double retainedEnFraction, double sigmaRetainedEnFraction, double sigmaQoverPsquared, const Surface &sf, const SearchDirection searchDirection=bothway)
 Full constructor. More...
 
 EstimatedBremOnTrack (const EstimatedBremOnTrack &ebrot)=default
 Copy constructor. More...
 
EstimatedBremOnTrackoperator= (const EstimatedBremOnTrack &rhs)=default
 Assignment operator. More...
 
 EstimatedBremOnTrack (EstimatedBremOnTrack &&ebrot) noexcept=default
 Move constructor. More...
 
EstimatedBremOnTrackoperator= (EstimatedBremOnTrack &&rhs) noexcept=default
 Move Assignment operator. More...
 
virtual ~EstimatedBremOnTrack ()=default
 Destructor. More...
 
MaterialEffectsBase::MaterialEffectsDerivedType derivedType () const override final
 actual type More...
 
virtual EstimatedBremOnTrackclone () const override final
 Virtual constructor. More...
 
std::unique_ptr< EstimatedBremOnTrackuniqueClone () const
 NVI uniqueClone. More...
 
double retainedEnFraction () const
 returns \( z \) More...
 
double sigmaRetainedEnFraction () const
 return \( \sigma(z) \) More...
 
double sigmaQoverPsquared () const
 returns the additional noise term \( Q=\sigma^2(q/p) \) More...
 
SearchDirection searchDirection () const
 returns if the brem was discovered with a particular search direction More...
 
virtual MsgStream & dump (MsgStream &sl) const override final
 Interface method for output. More...
 
virtual std::ostream & dump (std::ostream &sl) const override final
 Interface method for output. More...
 
double thicknessInX0 () const
 returns the actually traversed material \( t/X_0 \). More...
 
const SurfaceassociatedSurface () const
 returns the surface to which these m.eff. are associated. More...
 
bool type (const MaterialEffectsType &type) const
 returns the flags (bits) which types of ME are present More...
 
std::string dumpType () const
 returns a string with the type of the object More...
 
const S * surfacePtr ()
 return the ptr we hold useful for tests More...
 
const S * release () noexcept
 release ala unique_ptr release More...
 
void destroySurface () noexcept
 destroySurface deletes the ptr if not null and the surface has not a associatedDetectorElement Usefull also for testing More...
 

Static Public Member Functions

static const S * cloneHelper (const S *input)
 Helper for cloning or not when we need depending on if we have an associatedDetectorElement. More...
 

Protected Member Functions

virtual void setValues (const Surface *assocSurface)
 allows POOL converter to recreate transient links to DetStore More...
 

Protected Attributes

const S * m_associatedSurface = nullptr
 

Private Attributes

double m_retainedEnFraction { 0.0 }
 \( z \) - the momentum retained after energy loss More...
 
double m_sigmaRetainedEnFraction { 0.0 }
 \( \sigma(z) \) - uncertainty on the momentum retained after Eloss More...
 
double m_sigmaQoverPsquared { 0.0 }
 \( \sigma^2(q/p) \) - the applied straggling on the momentum correction More...
 
SearchDirection m_bremSearchDirection { Trk::undefinedDirection }
 if brem was found in particular direction, outward, inward or global More...
 
double m_tInX0 {}
 \( t/X_0 \) - the traversed thickness in RadiationLengths More...
 
long m_typeFlags {}
 

Detailed Description

class holding information about momentum reduction and an additional noise term due to significant energy loss (bremsstrahlung)

Author
Wolfgang.Liebig http://consult.cern.ch/xwho/people/

Definition at line 29 of file EstimatedBremOnTrack.h.

Member Enumeration Documentation

◆ MaterialEffectsDerivedType

Enumerator
ESTIMATED_BREM_ON_TRACK 
MATERIAL_EFFECTS_ON_TRACK 
NTYPES 

Definition at line 37 of file MaterialEffectsBase.h.

37  {
40  NTYPES
41  };

◆ MaterialEffectsType

Enumerator
ScatteringEffects 

contains material effects due to multiple scattering

EnergyLossEffects 

contains energy loss corrections

MaterialThickness 

contains only thickness, needs M.E.Updator to calculate effects

BremPoint 

contains q/p covariance noise term

UsesMeasurement 

contains energy loss correction based on Calo measurement

FittedMaterialEffects 

contains values obtained by fitting the scatterer or e-loss

Unknown 

new category

NumberOfMaterialEffectsTypes 

Definition at line 42 of file MaterialEffectsBase.h.

43  {
47  // trouble: avoid name clash Trk::Energyloss vs MET::EnergyLoss
52  BremPoint = 3,
54  UsesMeasurement = 4,
58  Unknown = 6,
60  // WARNING need to edit MaterialEffectsOnTrack.cxx if these enums change
61  };

Constructor & Destructor Documentation

◆ EstimatedBremOnTrack() [1/4]

Trk::EstimatedBremOnTrack::EstimatedBremOnTrack ( )
default

default constructor for POOL

◆ EstimatedBremOnTrack() [2/4]

Trk::EstimatedBremOnTrack::EstimatedBremOnTrack ( double  thicknessInX0,
double  retainedEnFraction,
double  sigmaRetainedEnFraction,
double  sigmaQoverPsquared,
const Surface sf,
const SearchDirection  searchDirection = bothway 
)

Full constructor.

Parameters
[in]thicknessInX0material thickness in terms of rad length, \( t/X_0 \)
[in]retainedEnFractionretained energy fraction after brem, \( z \)
[in]sigmaRetainedEnFractionerror on estimated retained energy fraction, \( \sigma(z) \)
[in]sigmaQoverPsquarednoise term added to cov matrix momentum parameter, \( \sigma^2(q/p) \)
[in]sftracking surface with which material effects are associated
[in]searchDirectionfor progressive brem recovery or seeded tracks

Definition at line 15 of file EstimatedBremOnTrack.cxx.

◆ EstimatedBremOnTrack() [3/4]

Trk::EstimatedBremOnTrack::EstimatedBremOnTrack ( const EstimatedBremOnTrack ebrot)
default

Copy constructor.

◆ EstimatedBremOnTrack() [4/4]

Trk::EstimatedBremOnTrack::EstimatedBremOnTrack ( EstimatedBremOnTrack &&  ebrot)
defaultnoexcept

Move constructor.

◆ ~EstimatedBremOnTrack()

virtual Trk::EstimatedBremOnTrack::~EstimatedBremOnTrack ( )
virtualdefault

Destructor.

Member Function Documentation

◆ associatedSurface()

const Surface& Trk::MaterialEffectsBase::associatedSurface ( ) const
inherited

returns the surface to which these m.eff. are associated.

◆ clone()

EstimatedBremOnTrack * Trk::EstimatedBremOnTrack::clone ( ) const
inlinefinaloverridevirtual

Virtual constructor.

Implements Trk::MaterialEffectsBase.

Definition at line 109 of file EstimatedBremOnTrack.h.

110 {
111  return new EstimatedBremOnTrack(*this);
112 }

◆ cloneHelper()

template<typename S >
static const S* Trk::SurfacePtrHolderImplDetEl< S >::cloneHelper ( const S *  input)
inlinestaticinherited

Helper for cloning or not when we need depending on if we have an associatedDetectorElement.

Definition at line 236 of file SurfaceHolderImpl.h.

237  {
238  return (input && input->associatedDetectorElement() == nullptr
239  ? input->clone()
240  : input);
241  }

◆ derivedType()

MaterialEffectsBase::MaterialEffectsDerivedType Trk::EstimatedBremOnTrack::derivedType ( ) const
inlinefinaloverridevirtual

actual type

Implements Trk::MaterialEffectsBase.

Definition at line 66 of file EstimatedBremOnTrack.h.

◆ destroySurface()

template<typename S >
void Trk::SurfacePtrHolderImplDetEl< S >::destroySurface ( )
inlinenoexceptinherited

destroySurface deletes the ptr if not null and the surface has not a associatedDetectorElement Usefull also for testing

Definition at line 224 of file SurfaceHolderImpl.h.

225  {
226  if (m_associatedSurface &&
227  m_associatedSurface->associatedDetectorElement() == nullptr) {
228  delete m_associatedSurface;
229  }
230  //
231  m_associatedSurface = nullptr;
232  }

◆ dump() [1/2]

MsgStream & Trk::EstimatedBremOnTrack::dump ( MsgStream &  sl) const
finaloverridevirtual

Interface method for output.

Reimplemented from Trk::MaterialEffectsBase.

Definition at line 34 of file EstimatedBremOnTrack.cxx.

35 {
36  sl << "EstimatedBremOnTrack based on" << endmsg;
38  sl << "EstBremOT retained p fraction z: " << retainedEnFraction() << endmsg;
39  sl << "EstBremOT sigma(z) : " << sigmaRetainedEnFraction()
40  << endmsg;
41  sl << "EstBremOT q/p noise term to cov: " << sigmaQoverPsquared() << endmsg;
42  sl << "EstBremOT brem search direction: " << searchDirection() << endmsg;
43  return sl;
44 }

◆ dump() [2/2]

std::ostream & Trk::EstimatedBremOnTrack::dump ( std::ostream &  sl) const
finaloverridevirtual

Interface method for output.

Reimplemented from Trk::MaterialEffectsBase.

Definition at line 47 of file EstimatedBremOnTrack.cxx.

48 {
49  sl << "EstimatedBremOnTrack based on" << std::endl;
51  sl << "\t EstBremOT retained p fraction z: " << retainedEnFraction()
52  << std::endl;
53  sl << "\t EstBremOT sigma(z) : " << sigmaRetainedEnFraction()
54  << std::endl;
55  sl << "\t EstBremOT q/p noise term to cov: " << sigmaQoverPsquared()
56  << std::endl;
57  sl << "\t EstBremOT brem search direction: " << searchDirection()
58  << std::endl;
59  return sl;
60 }

◆ dumpType()

std::string Trk::MaterialEffectsBase::dumpType ( ) const
inherited

returns a string with the type of the object

Definition at line 16 of file MaterialEffectsBase.cxx.

17 {
18  std::string type;
19  for (int i = 0; i < NumberOfMaterialEffectsTypes; ++i) {
20  if ((1 << i) & m_typeFlags) {
21  switch (i) {
23  type += "Scattering ";
24  break;
26  type += "EnergyLoss ";
27  break;
29  type += "UpdatorInput ";
30  break;
32  type += "BremPoint ";
33  break;
35  type += "UsesMeasurement ";
36  break;
38  type += "FittedMaterialEffects ";
39  break;
40  default:
41  type += "Unknown ";
42  break;
43  }
44  }
45  }
46  return type;
47 }

◆ operator=() [1/2]

EstimatedBremOnTrack& Trk::EstimatedBremOnTrack::operator= ( const EstimatedBremOnTrack rhs)
default

Assignment operator.

◆ operator=() [2/2]

EstimatedBremOnTrack& Trk::EstimatedBremOnTrack::operator= ( EstimatedBremOnTrack &&  rhs)
defaultnoexcept

Move Assignment operator.

◆ release()

template<typename S >
const S* Trk::SurfacePtrHolderImplDetEl< S >::release ( )
inlinenoexceptinherited

release ala unique_ptr release

Definition at line 215 of file SurfaceHolderImpl.h.

216  {
217  const S* tmp = m_associatedSurface;
218  m_associatedSurface = nullptr;
219  return tmp;
220  }

◆ retainedEnFraction()

double Trk::EstimatedBremOnTrack::retainedEnFraction ( ) const
inline

returns \( z \)

Definition at line 115 of file EstimatedBremOnTrack.h.

116 {
117  return m_retainedEnFraction;
118 }

◆ searchDirection()

SearchDirection Trk::EstimatedBremOnTrack::searchDirection ( ) const
inline

returns if the brem was discovered with a particular search direction

Definition at line 133 of file EstimatedBremOnTrack.h.

134 {
135  return m_bremSearchDirection;
136 }

◆ setValues()

virtual void Trk::MaterialEffectsBase::setValues ( const Surface assocSurface)
protectedvirtualinherited

allows POOL converter to recreate transient links to DetStore

◆ sigmaQoverPsquared()

double Trk::EstimatedBremOnTrack::sigmaQoverPsquared ( ) const
inline

returns the additional noise term \( Q=\sigma^2(q/p) \)

Definition at line 127 of file EstimatedBremOnTrack.h.

128 {
129  return m_sigmaQoverPsquared;
130 }

◆ sigmaRetainedEnFraction()

double Trk::EstimatedBremOnTrack::sigmaRetainedEnFraction ( ) const
inline

return \( \sigma(z) \)

Definition at line 121 of file EstimatedBremOnTrack.h.

122 {
124 }

◆ surfacePtr()

template<typename S >
const S* Trk::SurfacePtrHolderImplDetEl< S >::surfacePtr ( )
inlineinherited

return the ptr we hold useful for tests

Definition at line 213 of file SurfaceHolderImpl.h.

213 { return m_associatedSurface; }

◆ thicknessInX0()

double Trk::MaterialEffectsBase::thicknessInX0 ( ) const
inherited

returns the actually traversed material \( t/X_0 \).

Leave 0.0 for external ME.

◆ type()

bool Trk::MaterialEffectsBase::type ( const MaterialEffectsType type) const
inherited

returns the flags (bits) which types of ME are present

Use this method to find out if the ME is of a certain type: i.e. if ( mefot->type(MaterialEffectsBase::EnergyLoss) { //etc }

Returns
true if the MaterialEffectsBase is of this type

◆ uniqueClone()

std::unique_ptr<EstimatedBremOnTrack> Trk::EstimatedBremOnTrack::uniqueClone ( ) const
inline

NVI uniqueClone.

Definition at line 74 of file EstimatedBremOnTrack.h.

75  {
76  return std::unique_ptr<EstimatedBremOnTrack>(clone());
77  }

Member Data Documentation

◆ m_associatedSurface

template<typename S >
const S* Trk::SurfacePtrHolderImplDetEl< S >::m_associatedSurface = nullptr
protectedinherited

Definition at line 244 of file SurfaceHolderImpl.h.

◆ m_bremSearchDirection

SearchDirection Trk::EstimatedBremOnTrack::m_bremSearchDirection { Trk::undefinedDirection }
private

if brem was found in particular direction, outward, inward or global

Definition at line 105 of file EstimatedBremOnTrack.h.

◆ m_retainedEnFraction

double Trk::EstimatedBremOnTrack::m_retainedEnFraction { 0.0 }
private

\( z \) - the momentum retained after energy loss

Definition at line 98 of file EstimatedBremOnTrack.h.

◆ m_sigmaQoverPsquared

double Trk::EstimatedBremOnTrack::m_sigmaQoverPsquared { 0.0 }
private

\( \sigma^2(q/p) \) - the applied straggling on the momentum correction

Definition at line 102 of file EstimatedBremOnTrack.h.

◆ m_sigmaRetainedEnFraction

double Trk::EstimatedBremOnTrack::m_sigmaRetainedEnFraction { 0.0 }
private

\( \sigma(z) \) - uncertainty on the momentum retained after Eloss

Definition at line 100 of file EstimatedBremOnTrack.h.

◆ m_tInX0

double Trk::MaterialEffectsBase::m_tInX0 {}
privateinherited

\( t/X_0 \) - the traversed thickness in RadiationLengths

Definition at line 139 of file MaterialEffectsBase.h.

◆ m_typeFlags

long Trk::MaterialEffectsBase::m_typeFlags {}
privateinherited

Definition at line 140 of file MaterialEffectsBase.h.


The documentation for this class was generated from the following files:
Trk::EstimatedBremOnTrack::EstimatedBremOnTrack
EstimatedBremOnTrack()=default
default constructor for POOL
Trk::EstimatedBremOnTrack::retainedEnFraction
double retainedEnFraction() const
returns
Definition: EstimatedBremOnTrack.h:115
Trk::EstimatedBremOnTrack::m_sigmaRetainedEnFraction
double m_sigmaRetainedEnFraction
- uncertainty on the momentum retained after Eloss
Definition: EstimatedBremOnTrack.h:100
Trk::MaterialEffectsBase::FittedMaterialEffects
@ FittedMaterialEffects
contains values obtained by fitting the scatterer or e-loss
Definition: MaterialEffectsBase.h:56
Trk::MaterialEffectsBase
base class to integrate material effects on Trk::Track in a flexible way.
Definition: MaterialEffectsBase.h:35
JetTiledMap::S
@ S
Definition: TiledEtaPhiMap.h:44
Trk::EstimatedBremOnTrack::m_bremSearchDirection
SearchDirection m_bremSearchDirection
if brem was found in particular direction, outward, inward or global
Definition: EstimatedBremOnTrack.h:105
Trk::SurfacePtrHolderImplDetEl::m_associatedSurface
const S * m_associatedSurface
Definition: SurfaceHolderImpl.h:244
Trk::MaterialEffectsBase::UsesMeasurement
@ UsesMeasurement
contains energy loss correction based on Calo measurement
Definition: MaterialEffectsBase.h:54
Trk::MaterialEffectsBase::MATERIAL_EFFECTS_ON_TRACK
@ MATERIAL_EFFECTS_ON_TRACK
Definition: MaterialEffectsBase.h:39
Trk::EstimatedBremOnTrack::clone
virtual EstimatedBremOnTrack * clone() const override final
Virtual constructor.
Definition: EstimatedBremOnTrack.h:109
lumiFormat.i
int i
Definition: lumiFormat.py:92
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
Trk::EstimatedBremOnTrack::searchDirection
SearchDirection searchDirection() const
returns if the brem was discovered with a particular search direction
Definition: EstimatedBremOnTrack.h:133
Trk::MaterialEffectsBase::dump
virtual MsgStream & dump(MsgStream &sl) const
Interface method for output, can be overloaded by child classes.
Definition: MaterialEffectsBase.cxx:65
Trk::MaterialEffectsBase::ScatteringEffects
@ ScatteringEffects
contains material effects due to multiple scattering
Definition: MaterialEffectsBase.h:45
Trk::MaterialEffectsBase::type
bool type(const MaterialEffectsType &type) const
returns the flags (bits) which types of ME are present
Trk::EstimatedBremOnTrack::sigmaRetainedEnFraction
double sigmaRetainedEnFraction() const
return
Definition: EstimatedBremOnTrack.h:121
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
Trk::EstimatedBremOnTrack::m_sigmaQoverPsquared
double m_sigmaQoverPsquared
- the applied straggling on the momentum correction
Definition: EstimatedBremOnTrack.h:102
Trk::MaterialEffectsBase::Unknown
@ Unknown
new category
Definition: MaterialEffectsBase.h:58
Trk::MaterialEffectsBase::EnergyLossEffects
@ EnergyLossEffects
contains energy loss corrections
Definition: MaterialEffectsBase.h:48
Trk::MaterialEffectsBase::NTYPES
@ NTYPES
Definition: MaterialEffectsBase.h:40
Trk::MaterialEffectsBase::NumberOfMaterialEffectsTypes
@ NumberOfMaterialEffectsTypes
Definition: MaterialEffectsBase.h:59
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
Trk::MaterialEffectsBase::m_typeFlags
long m_typeFlags
Definition: MaterialEffectsBase.h:140
Trk::MaterialEffectsBase::BremPoint
@ BremPoint
contains q/p covariance noise term
Definition: MaterialEffectsBase.h:52
Trk::MaterialEffectsBase::ESTIMATED_BREM_ON_TRACK
@ ESTIMATED_BREM_ON_TRACK
Definition: MaterialEffectsBase.h:38
Trk::EstimatedBremOnTrack::m_retainedEnFraction
double m_retainedEnFraction
- the momentum retained after energy loss
Definition: EstimatedBremOnTrack.h:98
Trk::EstimatedBremOnTrack::sigmaQoverPsquared
double sigmaQoverPsquared() const
returns the additional noise term
Definition: EstimatedBremOnTrack.h:127
Trk::MaterialEffectsBase::MaterialThickness
@ MaterialThickness
contains only thickness, needs M.E.Updator to calculate effects
Definition: MaterialEffectsBase.h:50