Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree > Class Template Reference

#include <acts/blob/sPHENIX/Core/include/Acts/TrackFitting/BetheHeitlerApprox.hpp>

+ Collaboration diagram for Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >:

Classes

struct  PolyData
 

Public Types

using Data = std::array< PolyData, NComponents >
 

Public Member Functions

constexpr AtlasBetheHeitlerApprox (const Data &low_data, const Data &high_data, bool low_transform, bool high_transform)
 
constexpr auto numComponents () const
 Returns the number of components the returned mixture will have.
 
constexpr bool validXOverX0 (ActsScalar x) const
 
auto mixture (ActsScalar x) const
 

Static Public Member Functions

static auto loadFromFiles (const std::string &low_parameters_path, const std::string &high_parameters_path)
 

Static Public Attributes

static constexpr double noChangeLimit = 0.0001
 
static constexpr double singleGaussianLimit = 0.002
 
static constexpr double lowerLimit = 0.10
 
static constexpr double higherLimit = 0.20
 

Private Attributes

Data m_low_data
 
Data m_high_data
 
bool m_low_transform
 
bool m_high_transform
 

Detailed Description

template<int NComponents, int PolyDegree>
class Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >

This class approximates the Bethe-Heitler distribution as a gaussian mixture. To enable an approximation for continuous input variables, the weights, means and variances are internally parametrized as a Nth order polynomial.

Definition at line 102 of file BetheHeitlerApprox.hpp.

View newest version in sPHENIX GitHub at line 102 of file BetheHeitlerApprox.hpp

Member Typedef Documentation

template<int NComponents, int PolyDegree>
using Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::Data = std::array<PolyData, NComponents>

Definition at line 113 of file BetheHeitlerApprox.hpp.

View newest version in sPHENIX GitHub at line 113 of file BetheHeitlerApprox.hpp

Constructor & Destructor Documentation

template<int NComponents, int PolyDegree>
constexpr Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::AtlasBetheHeitlerApprox ( const Data low_data,
const Data high_data,
bool  low_transform,
bool  high_transform 
)
inline

Construct the Bethe-Heitler approximation description. Additional to the coefficients of the polynomials, the information whether these values need to be transformed beforehand must be given (see ATLAS code).

Parameters
low_datadata for the lower x/x0 range
high_datadata for the higher x/x0 range
low_transformwhether the low data need to be transformed
high_transformwhether the high data need to be transformed

Definition at line 135 of file BetheHeitlerApprox.hpp.

View newest version in sPHENIX GitHub at line 135 of file BetheHeitlerApprox.hpp

Referenced by Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::loadFromFiles().

+ Here is the caller graph for this function:

Member Function Documentation

template<int NComponents, int PolyDegree>
static auto Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::loadFromFiles ( const std::string &  low_parameters_path,
const std::string &  high_parameters_path 
)
inlinestatic

Loads a parameterization from a file according to the Atlas file description

Parameters
low_parameters_pathPath to the foo.par file that stores the parameterization for low x/x0
high_parameters_pathPath to the foo.par file that stores the parameterization for high x/x0

Definition at line 229 of file BetheHeitlerApprox.hpp.

View newest version in sPHENIX GitHub at line 229 of file BetheHeitlerApprox.hpp

References Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::AtlasBetheHeitlerApprox(), root_event_diff_np::cmp(), configureMap::data, Acts::UnitConstants::degree, file, and std::tr1::make_tuple().

Referenced by Acts::Python::addTrackFitting().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<int NComponents, int PolyDegree>
constexpr auto Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::numComponents ( ) const
inline

Returns the number of components the returned mixture will have.

Definition at line 143 of file BetheHeitlerApprox.hpp.

View newest version in sPHENIX GitHub at line 143 of file BetheHeitlerApprox.hpp

template<int NComponents, int PolyDegree>
constexpr bool Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::validXOverX0 ( ActsScalar  x) const
inline

Checks if an input is valid for the parameterization

Parameters
xpathlength in terms of the radiation length

Definition at line 148 of file BetheHeitlerApprox.hpp.

View newest version in sPHENIX GitHub at line 148 of file BetheHeitlerApprox.hpp

References Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::higherLimit.

Member Data Documentation

template<int NComponents, int PolyDegree>
constexpr double Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::higherLimit = 0.20
static
template<int NComponents, int PolyDegree>
constexpr double Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::lowerLimit = 0.10
static

Definition at line 117 of file BetheHeitlerApprox.hpp.

View newest version in sPHENIX GitHub at line 117 of file BetheHeitlerApprox.hpp

Referenced by Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::mixture().

template<int NComponents, int PolyDegree>
Data Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::m_high_data
private

Definition at line 122 of file BetheHeitlerApprox.hpp.

View newest version in sPHENIX GitHub at line 122 of file BetheHeitlerApprox.hpp

Referenced by Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::mixture().

template<int NComponents, int PolyDegree>
bool Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::m_high_transform
private

Definition at line 124 of file BetheHeitlerApprox.hpp.

View newest version in sPHENIX GitHub at line 124 of file BetheHeitlerApprox.hpp

Referenced by Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::mixture().

template<int NComponents, int PolyDegree>
Data Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::m_low_data
private

Definition at line 121 of file BetheHeitlerApprox.hpp.

View newest version in sPHENIX GitHub at line 121 of file BetheHeitlerApprox.hpp

Referenced by Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::mixture().

template<int NComponents, int PolyDegree>
bool Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::m_low_transform
private

Definition at line 123 of file BetheHeitlerApprox.hpp.

View newest version in sPHENIX GitHub at line 123 of file BetheHeitlerApprox.hpp

Referenced by Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::mixture().

template<int NComponents, int PolyDegree>
constexpr double Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::noChangeLimit = 0.0001
static

Definition at line 115 of file BetheHeitlerApprox.hpp.

View newest version in sPHENIX GitHub at line 115 of file BetheHeitlerApprox.hpp

Referenced by Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::mixture().

template<int NComponents, int PolyDegree>
constexpr double Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::singleGaussianLimit = 0.002
static

Definition at line 116 of file BetheHeitlerApprox.hpp.

View newest version in sPHENIX GitHub at line 116 of file BetheHeitlerApprox.hpp

Referenced by Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::mixture().


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