Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/TrackFitting/BetheHeitlerApprox.hpp>
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 |
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
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
|
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).
low_data | data for the lower x/x0 range |
high_data | data for the higher x/x0 range |
low_transform | whether the low data need to be transformed |
high_transform | whether 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().
|
inlinestatic |
Loads a parameterization from a file according to the Atlas file description
low_parameters_path | Path to the foo.par file that stores the parameterization for low x/x0 |
high_parameters_path | Path 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().
|
inline |
Generates the mixture from the polynomials and reweights them, so that the sum of all weights is 1
x | pathlength in terms of the radiation length |
Definition at line 154 of file BetheHeitlerApprox.hpp.
View newest version in sPHENIX GitHub at line 154 of file BetheHeitlerApprox.hpp
References assert, Acts::PhysicalConstants::c, configureMap::data, Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::higherLimit, i, Acts::detail::inverseTransformComponent(), Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::lowerLimit, Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::m_high_data, Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::m_high_transform, Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::m_low_data, Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::m_low_transform, Acts::UnitConstants::min, Acts::BetheHeitlerApproxSingleCmp::mixture(), Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::noChangeLimit, Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::singleGaussianLimit, sum(), and Acts::Test::transform.
|
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
|
inline |
Checks if an input is valid for the parameterization
x | pathlength 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.
|
static |
Definition at line 118 of file BetheHeitlerApprox.hpp.
View newest version in sPHENIX GitHub at line 118 of file BetheHeitlerApprox.hpp
Referenced by Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::mixture(), and Acts::AtlasBetheHeitlerApprox< NComponents, PolyDegree >::validXOverX0().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().