![]() |
ATLAS Offline Software
|
Tool for proton reconstruction by directly using transport parameterisation. More...
#include <AFP_ProtonRecoAnalytical.h>
Public Member Functions | |
| AFP_ProtonRecoAnalytical (const std::string &type, const std::string &name, const IInterface *parent) | |
| Default constructor. | |
| ~AFP_ProtonRecoAnalytical ()=default | |
| StatusCode | initialize () override |
| Loads parameterization. | |
| const std::string & | outputContainerName () const override |
| StatusCode | doProtonReco (std::unique_ptr< xAOD::AFPProtonContainer > &outputContainer, const EventContext &ctx) const override |
Protected Types | |
| using | Momentum = std::array<double, 3> |
| 3-momentum of reconstructed proton | |
Protected Member Functions | |
| xAOD::AFPProton * | createProton (const Momentum &momentum, const Measurement &my_measAFP, const int algID, std::unique_ptr< xAOD::AFPProtonContainer > &outputContainer) const |
| Creates and sets up a proton. | |
| void | linkTracksToProton (const xAOD::AFPTrack *track, SG::ReadHandle< xAOD::AFPTrackContainer > &trackContainer, xAOD::AFPProton *proton) const |
| Links track pair to reconstructed proton. | |
Protected Attributes | |
| Gaudi::Property< std::vector< double > > | m_detectorPositions {this, "detectorPositions", {}, "absolute values of detector positions for each station on one side"} |
| Gaudi::Property< int > | m_side {this, "side", 0, "side id, A=0, C=1"} |
| Gaudi::Property< double > | m_trackDistance {this, "trackDistance", 2.0, "Maximum distance between tracks in the near and the far station on xy-plane"} |
| Gaudi::Property< bool > | m_allowSingleStationReco {this, "allowSingleStationReco", false, "Switch for allowing proton reconstruction using only far station"} |
| SG::ReadHandleKey< xAOD::AFPTrackContainer > | m_trackContainerKey {this, "AFPTrackContainerKey", "AFPTrackContainer", "Name of the container with tracks of hits from which protons are to be reconstructed"} |
| Gaudi::Property< std::string > | m_protonsContainerName {this, "protonsContainerName", "AFPProtonContainer", "Name of the container in which protons are saved"} |
| double | m_detectorPositionNear = 0.0 |
| Default position of AFP near station. | |
| double | m_detectorPositionFar = 0.0 |
| Default position of AFP far station. | |
| const std::vector< double > | m_vertexIP = {0, 0, 0} |
| Vertex position. | |
Static Protected Attributes | |
| static constexpr double | m_xSigma = 10e-6 |
| x-Sigma value | |
| static constexpr double | m_ySigma = 30e-6 |
| y-Sigma value | |
Private Member Functions | |
| StatusCode | configInfo () const |
| virtual xAOD::AFPProton * | reco (const xAOD::AFPTrack *trkNear, const xAOD::AFPTrack *trkFar, std::unique_ptr< xAOD::AFPProtonContainer > &outputContainer) const override |
| Reconstructs single proton from pair of tracks. | |
| virtual xAOD::AFPProton * | reco (const xAOD::AFPTrack *trkFar, std::unique_ptr< xAOD::AFPProtonContainer > &outputContainer) const override |
| Reconstructs single proton using only one track from far station. | |
| virtual double | chi2 (double energy, double sx, double sy, const Measurement &my_measAFP) const override |
| Calculates chi2 for reconstructed proton. | |
| double | bisection (double(AFP_ProtonRecoAnalytical::*fun)(double, const Measurement &, std::vector< double > &, std::vector< double > &) const, const Measurement &my_measAFP, std::vector< double > &my_slopeCalculated, std::vector< double > &my_positionCalculated) const |
| Calculates root of given function. | |
| double | bothStations (double energy, const Measurement &my_measAFP, std::vector< double > &my_slopeCalculated, std::vector< double > &my_positionCalculated) const |
| Function obtained from parameterization equation. | |
| double | singleStation (double energy, const Measurement &my_measAFP, std::vector< double > &my_slopeCalculated, std::vector< double > &my_positionCalculated) const |
| Function obtained from parameterization equation. | |
| double | calculateSlope (double energy, int XorY, std::vector< double > &my_slopeCalculated) const |
| Calculates ininial slope based on measurements and reconstructed energy. | |
| double | calculateXslope (double energy, std::vector< double > &my_slopeCalculated) const |
| Calculates initial horizontal slope Calls calculateSlope(energy, 0) | |
| double | calculateYslope (double energy, std::vector< double > &my_slopeCalculated) const |
| Calculates initial vertical slope Calls calculateSlope(energy, 1) | |
Private Attributes | |
| std::unique_ptr< AFP::Parameterization > | m_parametrization |
| Pointer to parameterization. | |
| double | m_distanceBetweenStations = 0.0 |
| Distance between near and far station. | |
| Gaudi::Property< std::string > | m_parametrizationFileName {this, "parametrizationFileName", {}, "Name of the file containing parameterization"} |
| Name of the file containing parameterization. | |
| double | m_parametrizationPosition = 0.0 |
| Position for which parameterization was performed. | |
| double | m_parametrizationEnergy = 0.0 |
| Parameterization energy. | |
Tool for proton reconstruction by directly using transport parameterisation.
Definition at line 31 of file AFP_ProtonRecoAnalytical.h.
|
protectedinherited |
3-momentum of reconstructed proton
Definition at line 83 of file AFP_ProtonRecoBase.h.
| AFP_ProtonRecoAnalytical::AFP_ProtonRecoAnalytical | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Default constructor.
Definition at line 8 of file AFP_ProtonRecoAnalytical.cxx.
|
default |
|
private |
Calculates root of given function.
Definition at line 97 of file AFP_ProtonRecoAnalytical.cxx.
|
private |
Function obtained from parameterization equation.
Used in bisection method.
Definition at line 183 of file AFP_ProtonRecoAnalytical.cxx.
|
private |
Calculates ininial slope based on measurements and reconstructed energy.
Definition at line 223 of file AFP_ProtonRecoAnalytical.cxx.
|
private |
Calculates initial horizontal slope Calls calculateSlope(energy, 0)
Definition at line 241 of file AFP_ProtonRecoAnalytical.cxx.
|
private |
Calculates initial vertical slope Calls calculateSlope(energy, 1)
Definition at line 247 of file AFP_ProtonRecoAnalytical.cxx.
|
overrideprivatevirtual |
Calculates chi2 for reconstructed proton.
Reimplemented from AFP_ProtonRecoBase.
Definition at line 253 of file AFP_ProtonRecoAnalytical.cxx.
|
private |
Definition at line 15 of file AFP_ProtonRecoAnalytical.cxx.
|
protectedinherited |
Creates and sets up a proton.
Definition at line 94 of file AFP_ProtonRecoBase.cxx.
|
overrideinherited |
Definition at line 16 of file AFP_ProtonRecoBase.cxx.
|
override |
Loads parameterization.
Definition at line 33 of file AFP_ProtonRecoAnalytical.cxx.
|
protectedinherited |
Links track pair to reconstructed proton.
Definition at line 119 of file AFP_ProtonRecoBase.cxx.
|
inlineoverrideinherited |
Definition at line 41 of file AFP_ProtonRecoBase.h.
|
overrideprivatevirtual |
Reconstructs single proton using only one track from far station.
Reimplemented from AFP_ProtonRecoBase.
Definition at line 167 of file AFP_ProtonRecoAnalytical.cxx.
|
overrideprivatevirtual |
Reconstructs single proton from pair of tracks.
AFP measurement
Reimplemented from AFP_ProtonRecoBase.
Definition at line 138 of file AFP_ProtonRecoAnalytical.cxx.
|
private |
Function obtained from parameterization equation.
Used in bisection method for single station reconstruction.
Definition at line 210 of file AFP_ProtonRecoAnalytical.cxx.
|
protectedinherited |
Definition at line 76 of file AFP_ProtonRecoBase.h.
|
protectedinherited |
Default position of AFP far station.
Definition at line 95 of file AFP_ProtonRecoBase.h.
|
protectedinherited |
Default position of AFP near station.
Definition at line 92 of file AFP_ProtonRecoBase.h.
|
protectedinherited |
Definition at line 70 of file AFP_ProtonRecoBase.h.
|
private |
Distance between near and far station.
Definition at line 92 of file AFP_ProtonRecoAnalytical.h.
|
private |
Pointer to parameterization.
Definition at line 89 of file AFP_ProtonRecoAnalytical.h.
|
private |
Parameterization energy.
Definition at line 101 of file AFP_ProtonRecoAnalytical.h.
|
private |
Name of the file containing parameterization.
Definition at line 95 of file AFP_ProtonRecoAnalytical.h.
|
private |
Position for which parameterization was performed.
Definition at line 98 of file AFP_ProtonRecoAnalytical.h.
|
protectedinherited |
Definition at line 80 of file AFP_ProtonRecoBase.h.
|
protectedinherited |
Definition at line 72 of file AFP_ProtonRecoBase.h.
|
protectedinherited |
Definition at line 78 of file AFP_ProtonRecoBase.h.
|
protectedinherited |
Definition at line 74 of file AFP_ProtonRecoBase.h.
|
protectedinherited |
|
staticconstexprprotectedinherited |
x-Sigma value
Definition at line 98 of file AFP_ProtonRecoBase.h.
|
staticconstexprprotectedinherited |
y-Sigma value
Definition at line 101 of file AFP_ProtonRecoBase.h.