![]() |
Iguana 1.0.0
Implementation Guardian of Analysis Algorithms
|
#include <Algorithm.h>
Algorithm: Filter the REC::Particle photons using pretrained GBT models
For each photon (labeled the photon of interest or POI), we obtain its intrinsic features (energy, angle, pcal edep, etc.) and features corresponding to its nearest neighbors (angle of proximity, energy difference, etc.). This requires the reading of both the REC::Particle and REC::Calorimeter banks. An input std::vector<float> is produced and passed to the pretrained GBT models, which yield a classification score between 0 and 1. An option variable threshold then determines the minimum photon p-value to survive the cut.
| Name | Type | Description |
|---|---|---|
| pass | int | cook type |
| threshold | double | minimum value to qualify a photon as "true" |
Definition at line 20 of file Algorithm.h.
Public Member Functions | |
| bool | ForwardDetectorFilter (float const theta) const |
| bool | Run (hipo::bank &particleBank, hipo::bank const &caloBank, hipo::bank const &configBank) 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. | |

| bool iguana::clas12::PhotonGBTFilter::ForwardDetectorFilter | ( | float const | theta | ) | const |
Applies forward detector cut using REC::Particle Theta
| theta | lab angle of the particle with respect to the beam direction (radians) |
| bool iguana::clas12::PhotonGBTFilter::Run | ( | hipo::bank & | particleBank, |
| hipo::bank const & | caloBank, | ||
| hipo::bank const & | configBank ) 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,out] | particleBank | REC::Particle, which will be filtered |
| [in] | caloBank | REC::Calorimeter |
| [in] | configBank | RUN::config |
|
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.