Iguana 0.8.0
Implementation Guardian of Analysis Algorithms
Loading...
Searching...
No Matches
iguana::physics::InclusiveKinematics Class Reference

#include <Algorithm.h>

Detailed Description

Algorithm: Calculate inclusive kinematics quantities defined in iguana::physics::InclusiveKinematicsVars

Algorithm Name:
   physics::InclusiveKinematics
Algorithm Type:
Creator
Algorithm Inputs and Outputs:
Input BanksREC::Particle, RUN::config
Output Banksphysics::InclusiveKinematics
Configuration Options:
NameTypeDescription
initial_state:beam_energy double beam energy [GeV]
initial_state:beam_direction list[double] beam direction vector
initial_state:target_particle string target particle
method:beam_particle string beam particle
method:reconstruction string kinematics reconstruction method; only scattered_lepton is available
method:lepton_finder string algorithm to find the scattered lepton; only highest_energy_FD_trigger is available

Definition at line 53 of file Algorithm.h.

Public Member Functions

void Start (hipo::banklist &banks) override
 Initialize this algorithm before any events are processed, with the intent to process banks.
void Run (hipo::banklist &banks) const override
 Run this algorithm for an event.
void Stop () override
 Finalize this algorithm after all events are processed.
concurrent_key_t PrepareEvent (int const runnum, double const beam_energy=-1) const
 Action Function: prepare the event
InclusiveKinematicsVars ComputeFromLepton (vector_element_t const lepton_px, vector_element_t const lepton_py, vector_element_t const lepton_pz, concurrent_key_t const key) const
 Action Function: compute kinematics from the scattered lepton.
Public Member Functions inherited from iguana::Algorithm
 Algorithm (std::string_view name)
void Start ()
 Initialize this algorithm before any events are processed, with the intent to process bank rows rather than full banks;.
template<typename OPTION_TYPE>
OPTION_TYPE SetOption (std::string const &key, const OPTION_TYPE val)
template<typename OPTION_TYPE>
OPTION_TYPE GetOptionScalar (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
template<typename OPTION_TYPE>
std::set< OPTION_TYPE > GetOptionSet (std::string const &key, YAMLReader::node_path_t node_path={}) const
void SetName (std::string_view name)
std::unique_ptr< YAMLReader > const & GetConfig () const
void SetConfig (std::unique_ptr< YAMLReader > &&yaml_config)
void SetConfigFile (std::string const &name)
void SetConfigDirectory (std::string const &name)
Public Member Functions inherited from iguana::Object
 Object (std::string_view name="", Logger::Level lev=Logger::DEFAULT_LEVEL)
std::unique_ptr< Logger > & Log ()
void SetName (std::string_view name)
std::string GetName () const
void SetLogLevel (std::string_view lev)
void SetLogLevel (Logger::Level const lev)
std::unique_ptr< Logger > & GetLog ()

Additional Inherited Members

Protected Member Functions inherited from iguana::Algorithm
void ParseYAMLConfig ()
 Parse YAML configuration files. Sets m_yaml_config.
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)
hipo::schema CreateBank (hipo::banklist &banks, hipo::banklist::size_type &bank_idx, std::string const &bank_name, std::vector< std::string > schema_def, int group_id, int item_id) const noexcept(false)
void ShowBanks (hipo::banklist &banks, std::string_view message="", Logger::Level const level=Logger::trace) const
void ShowBank (hipo::bank &bank, std::string_view message="", Logger::Level const level=Logger::trace) const
template<typename OPTION_TYPE>
std::optional< OPTION_TYPE > GetCachedOption (std::string const &key) const
Protected Attributes inherited from iguana::Algorithm
std::string m_class_name
 Class name of 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 m_default_config_file
 Default configuration file name.
std::string o_user_config_file
std::string o_user_config_dir
std::mutex m_mutex
 A mutex for this algorithm.
Protected Attributes inherited from iguana::Object
std::string m_name
 The name of this object.
std::unique_ptr< Loggerm_log
 Logger instance for this object
Inheritance diagram for iguana::physics::InclusiveKinematics:
Inheritance graph

Member Function Documentation

◆ ComputeFromLepton()

InclusiveKinematicsVars iguana::physics::InclusiveKinematics::ComputeFromLepton ( vector_element_t const lepton_px,
vector_element_t const lepton_py,
vector_element_t const lepton_pz,
concurrent_key_t const key ) const

Action Function: compute kinematics from the scattered lepton.

Function Type
scalar creator
Parameters
lepton_pxscattered lepton momentum component \(p_x\) (GeV)
lepton_pyscattered lepton momentum component \(p_y\) (GeV)
lepton_pzscattered lepton momentum component \(p_z\) (GeV)
keythe return value of ::PrepareEvent
Returns
the reconstructed inclusive kinematics in a iguana::physics::InclusiveKinematicsVars instance

◆ PrepareEvent()

concurrent_key_t iguana::physics::InclusiveKinematics::PrepareEvent ( int const runnum,
double const beam_energy = -1 ) const

Action Function: prepare the event

Function Type
reload
Note
This function should be called for each event
Parameters
runnumthe run number
beam_energythe beam energy; if negative (the default), RCDB will be used to get the beam energy from runnum
Returns
the key to be used in ::ComputeFromLepton

◆ Run()

void iguana::physics::InclusiveKinematics::Run ( hipo::banklist & banks) const
overridevirtual

Run this algorithm for an event.

Parameters
banksthe list of banks to process

Implements iguana::Algorithm.

◆ Start()

void iguana::physics::InclusiveKinematics::Start ( hipo::banklist & banks)
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.

Parameters
banksthe list of banks this algorithm will use, so that Algorithm::Run can cache the indices of the banks that it needs

Implements iguana::Algorithm.

◆ Stop()

void iguana::physics::InclusiveKinematics::Stop ( )
overridevirtual

Finalize this algorithm after all events are processed.

Implements iguana::Algorithm.


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