![]() |
Iguana 0.8.0
Implementation Guardian of Analysis Algorithms
|
#include <Algorithm.h>
Algorithm: Calculate inclusive kinematics quantities
physics::InclusiveKinematics
Input Banks | REC::Particle, RUN::config |
Output Banks | physics::InclusiveKinematics |
Name | Type | Description |
---|---|---|
beam_direction | list[double] | beam direction vector |
target_particle | string | target particle |
beam_particle | string | beam particle |
reconstruction | string | kinematics reconstruction method; only scattered_lepton is available at this time |
lepton_finder | string | algorithm to find the scattered lepton; only highest_energy_FD_trigger is available at this time |
This algorithm creates a new bank and its definition is found within the Iguana Bank Definitions JSON File
struct
s with the same set of variables as the created bank.Definition at line 26 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. | |
![]() | |
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) |
![]() | |
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 | |
![]() | |
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) 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 |
![]() | |
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. | |
![]() | |
std::string | m_name |
The name of this object. | |
std::unique_ptr< Logger > | m_log |
Logger instance for this object | |
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.
lepton_px | scattered lepton momentum component p_x (GeV) |
lepton_py | scattered lepton momentum component p_y (GeV) |
lepton_pz | scattered lepton momentum component p_z (GeV) |
key | the return value of PrepareEvent |
iguana::physics::InclusiveKinematicsVars
instance concurrent_key_t iguana::physics::InclusiveKinematics::PrepareEvent | ( | int const | runnum, |
double const | beam_energy = -1 ) const |
Action Function: prepare the event
runnum | the run number |
beam_energy | the beam energy; if negative (the default), RCDB will be used to get the beam energy from runnum |
ComputeFromLepton
|
overridevirtual |
Run this algorithm for an event.
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.