Algorithm: Filter the REC::Particle (or similar) bank by cutting on Z Vertex
- Input and Output Banks:
- See Run function(s) for the banks that are processed by this algorithm.
- Type: Filter
- This algorithm will filter input bank(s).
- Configuration Options:
- YAML configuration, which includes the default option values:
clas12::ZVertexFilter:
# scattered electron cuts
electron:
# default cuts
- default:
vz: [ -20.0, 20.0 ]
# RG-A spring2018 inbending, 1st period
- runs: [ 3031, 3087 ]
vz: [ -6.061, 1.819 ]
# RG-A spring2018 outbending, 1st period
- runs: [ 3103, 3293 ]
vz: [ -7.272, 0.909 ]
# RG-A spring2018 inbending, 2nd period
- runs: [ 3306, 3817 ]
vz: [ -6.061, 1.819 ]
# RG-A spring2018 outbending, 2nd period
- runs: [ 3820, 3987 ]
vz: [ -7.272, 0.909 ]
# RG-A spring2018 inbending, 3rd period
- runs: [ 4003, 4325 ]
vz: [ -6.061, 1.819 ]
# RG-A fall2018 inbending
- runs: [ 4763, 5419 ]
vz: [ -6.364, 1.515 ]
# RG-A fall2018 outbending
- runs: [ 5423, 5666 ]
vz: [ -7.879, 0.303 ]
# RG-A spring2019 inbending
- runs: [ 6616, 6783 ]
vz: [ -6.364, 1.515 ]
Table of options and descriptions:
| Name | Type | Description |
| electron_vz | list[double] | lower and upper electron \(z\)-vertex cuts; run-range dependent; cuts are not applied to FT electrons (FD and CD only) |
Definition at line 14 of file Algorithm.h.
|
| bool | Filter (double const zvertex, int const pid, int const status, concurrent_key_t const key) const |
| | Action Function: checks if the Z Vertex is within specified bounds if pid is one for which the filter should be applied to.; Cuts applied to particles in FD or CD (ie not in FT).
|
| std::vector< double > | GetElectronZcuts (concurrent_key_t const key) const |
| int | GetRunNum (concurrent_key_t const key) const |
| concurrent_key_t | PrepareEvent (int const runnum) const |
| | Action Function: prepare the event
|
| bool | Run (hipo::bank &particleBank, 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 | SetElectronZcuts (double zcut_lower, double zcut_upper, concurrent_key_t const key) |
| | sets the z-vertex cuts
|
| 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.
|
| | 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;.
|
| 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) |
|
| 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) |
| 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 |
| std::unique_ptr< Logger > | m_log |
| | Logger instance for this object
|
| std::string | m_name |
| | The name of this object.
|