![]() |
Iguana 1.0.0
Implementation Guardian of Analysis Algorithms
|
#include <Algorithm.h>
Algorithm: Calculate semi-inclusive dihadron kinematic quantities defined in iguana::physics::DihadronKinematicsVars
\par Configuration Options: YAML configuration, which includes the default option values: @include physics/DihadronKinematics/Config.yaml Table of options and descriptions: <table><tr><th>Name</th><th>Type</th><th>Description</th></tr> <tr><td>`hadron_a_list `</td><td>` list[int] `</td><td> list of "hadron A" PDGs</td></tr> <tr><td>`hadron_b_list `</td><td>` list[int] `</td><td> list of "hadron B" PDGs</td></tr> <tr><td>`phi_r_method `</td><td>` string `</td><td> method used to calculate @f$\phi_R@f$ (see section "phiR calculation methods" below)</td></tr> <tr><td>`theta_method `</td><td>` string `</td><td> method used to calculate @f$\theta@f$ (see section "theta calculation methods" below)</td></tr> </table> Dihadron PDGs will be formed from pairs from `hadron_a_list` and `hadron_b_list`. For example, if you define: ```yaml hadron_a_list: [ 211 ] hadron_b_list: [ -211, 2212 ] ``` then the algorithm will calculate kinematics for @f$\pi^+\pi^-@f$ and @f$\pi^+p@f$ dihadrons; hadron A is the @f$\pi^+@f$ for both of these, whereas hadron B is the @f$\pi^-@f$ for the former and the proton for the latter. @par phiR calculation methods - `"RT_via_covariant_kT"`: use @f$R_T@f$ computed via covariant @f$k_T@f$ formula @par theta calculation methods - `"hadron_a"`: use hadron A's "decay angle" in the dihadron rest frame
Definition at line 35 of file Algorithm.h.
Public Member Functions | |
| std::vector< std::pair< int, int > > | PairHadrons (hipo::bank const &particle_bank) const |
| form dihadrons by pairing hadrons | |
| bool | Run (hipo::bank const &particle_bank, hipo::bank const &inc_kin_bank, hipo::bank &result_bank) const |
| Run Function: Process an event's hipo::bank objects | |
| bool | Run (hipo::banklist &banks) const override |
| Run Function: Process an event's hipo::banklist | |
| void | Start (hipo::banklist &banks) override |
| Initialize this algorithm before any events are processed, with the intent to process banks. | |
| void | Stop () override |
| Finalize this algorithm after all events are processed. | |
| Public Member Functions inherited from iguana::Algorithm | |
| Algorithm (std::string_view name) | |
| std::unique_ptr< YAMLReader > const & | GetConfig () const |
| hipo::bank | GetCreatedBank (std::string const &bank_name="") const noexcept(false) |
| std::string | GetCreatedBankName () const noexcept(false) |
| std::vector< std::string > | GetCreatedBankNames () const noexcept(false) |
| hipo::schema | GetCreatedBankSchema (std::string const &bank_name="") const noexcept(false) |
| template<typename OPTION_TYPE> | |
| OPTION_TYPE | GetOptionScalar (std::string const &key, YAMLReader::node_path_t node_path={}) const |
| template<typename OPTION_TYPE> | |
| std::set< OPTION_TYPE > | GetOptionSet (std::string const &key, YAMLReader::node_path_t node_path={}) const |
| template<typename OPTION_TYPE> | |
| std::vector< OPTION_TYPE > | GetOptionVector (std::string const &key, YAMLReader::node_path_t node_path={}) const |
| void | SetConfig (std::unique_ptr< YAMLReader > &&yaml_config) |
| void | SetConfigDirectory (std::string const &name) |
| void | SetConfigFile (std::string const &name) |
| void | SetName (std::string_view name) |
| template<typename OPTION_TYPE> | |
| OPTION_TYPE | SetOption (std::string const &key, const OPTION_TYPE val) |
| void | Start () |
| Initialize this algorithm before any events are processed, with the intent to process bank rows rather than full banks;. | |
| Public Member Functions inherited from iguana::Object | |
| std::unique_ptr< Logger > & | GetLog () |
| std::string | GetName () const |
| std::unique_ptr< Logger > & | Log () |
| Object (std::string_view name="", Logger::Level lev=Logger::DEFAULT_LEVEL) | |
| void | SetLogLevel (Logger::Level const lev) |
| void | SetLogLevel (std::string_view lev) |
| void | SetName (std::string_view name) |
Additional Inherited Members | |
| Protected Member Functions inherited from iguana::Algorithm | |
| hipo::schema | CreateBank (hipo::banklist &banks, hipo::banklist::size_type &bank_idx, std::string const &bank_name) const noexcept(false) |
| hipo::bank & | GetBank (hipo::banklist &banks, hipo::banklist::size_type const idx, std::string const &expected_bank_name="") const noexcept(false) |
| hipo::banklist::size_type | GetBankIndex (hipo::banklist &banks, std::string const &bank_name) const noexcept(false) |
| template<typename OPTION_TYPE> | |
| std::optional< OPTION_TYPE > | GetCachedOption (std::string const &key) const |
| void | ParseYAMLConfig () |
| Parse YAML configuration files. Sets m_yaml_config. | |
| void | ShowBank (hipo::bank const &bank, std::string_view message="", Logger::Level const level=Logger::trace) const |
| void | ShowBanks (hipo::banklist const &banks, std::string_view message="", Logger::Level const level=Logger::trace) const |
| void | ThrowSinceRenamed (std::string const &new_name, std::string const &version) const noexcept(false) |
| Protected Attributes inherited from iguana::Algorithm | |
| std::string | m_class_name |
| Class name of this algorithm. | |
| std::string | m_default_config_file |
| Default configuration file name. | |
| std::mutex | m_mutex |
| A mutex for this algorithm. | |
| bool | m_rows_only |
| If true, algorithm can only operate on bank rows; Algorithm::GetBank, and therefore Algorithm::Run, cannot be called. | |
| std::string | o_user_config_dir |
| std::string | o_user_config_file |
| Protected Attributes inherited from iguana::Object | |
| std::unique_ptr< Logger > | m_log |
| Logger instance for this object | |
| std::string | m_name |
| The name of this object. | |

| std::vector< std::pair< int, int > > iguana::physics::DihadronKinematics::PairHadrons | ( | hipo::bank const & | particle_bank | ) | const |
form dihadrons by pairing hadrons
| particle_bank | the particle bank (REC::Particle) |
| bool iguana::physics::DihadronKinematics::Run | ( | hipo::bank const & | particle_bank, |
| hipo::bank const & | inc_kin_bank, | ||
| hipo::bank & | result_bank ) const |
Run Function: Process an event's hipo::bank objects
The parameter list explains which banks are input ("in"), output ("out"), or both ("in,out").
| [in] | particle_bank | REC::Particle |
| [in] | inc_kin_bank | physics::InclusiveKinematics, produced by the physics::InclusiveKinematics algorithm |
| [out] | result_bank | physics::DihadronKinematics, which will be created |
|
overridevirtual |
Run Function: Process an event's hipo::banklist
| banks | the list of banks to process |
Implements iguana::Algorithm.
|
overridevirtual |
Initialize this algorithm before any events are processed, with the intent to process banks.
use this method if you intend to use Algorithm::Run.
| banks | the list of banks this algorithm will use, so that Algorithm::Run can cache the indices of the banks that it needs |
Implements iguana::Algorithm.
|
overridevirtual |
Finalize this algorithm after all events are processed.
Implements iguana::Algorithm.