![]() |
Iguana LATEST
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.
Definition at line 17 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 | |
| Public Member Functions inherited from iguana::Algorithm | |
| Algorithm (std::string_view name) | |
| hipo::banklist::size_type | GetBankIndex (hipo::banklist &banks, std::string const &bank_name) const noexcept(false) |
| std::unique_ptr< YAMLReader > const & | GetConfig () const |
| hipo::bank | GetCreatedBank (std::string const &bank_name="") const noexcept(false) |
| hipo::banklist::size_type | GetCreatedBankIndex (hipo::banklist &banks) 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) |
| unsigned int | GetCreatedBankVariant () const |
| template<typename OPTION_TYPE> | |
| OPTION_TYPE | GetOptionScalar (YAMLReader::node_path_t node_path={}) const |
| template<typename OPTION_TYPE> | |
| std::set< OPTION_TYPE > | GetOptionSet (YAMLReader::node_path_t node_path={}) const |
| template<typename OPTION_TYPE> | |
| std::vector< OPTION_TYPE > | GetOptionVector (YAMLReader::node_path_t node_path={}) const |
| std::unique_ptr< RCDBReader > & | GetRCDBReader () |
| virtual bool | Run (hipo::banklist &banks) const final |
| Run Function: Process an event's hipo::banklist | |
| 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) |
| Set an option specified by the user. | |
| virtual void | Start () final |
| Start Function: Initialize this algorithm before any events are processed, with the intent to process either hipo::bank objects or bank rows, rather than full hipo::banklist objects | |
| virtual void | Start (hipo::banklist &banks) final |
| Start Function: Initialize this algorithm before any events are processed, with the intent to process hipo::banklist objects | |
| virtual void | Stop () final |
| Stop Function: Finalize this algorithm after all events are processed. | |
| Public Member Functions inherited from iguana::Object | |
| Object (std::string_view name="", Logger::Level lev=Logger::DEFAULT_LEVEL) | |
| std::unique_ptr< Logger > & | GetLog () |
| std::string | GetName () const |
| std::unique_ptr< Logger > & | Log () |
| 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) noexcept(false) |
| hipo::bank & | GetBank (hipo::banklist &banks, hipo::banklist::size_type const idx, std::string const &expected_bank_name="") const noexcept(false) |
| 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 | StartRCDBReader () |
| Instantiate the RCDBReader instance for this algorithm. | |
| 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. | |
| unsigned int | m_created_bank_variant {0} |
| std::string | m_default_config_file |
| Default configuration file name. | |
| std::mutex | m_mutex |
| A mutex for this algorithm. | |
| std::unique_ptr< RCDBReader > | m_rcdb |
| RCDB reader. | |
| 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 |