![]() |
Analysis Software
Documentation for sPHENIX simulation software
|
#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 |
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().
Here is the caller graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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.
Here is the call graph for this function:
|
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().