LDMX Software
VisiblesCutflow.h
1/*
2 * @file VisiblesCutflow.h
3 * @brief Class used to run full visibles analysis
4 * @author Tyler Horoho, University of Virginia
5 */
6
7#ifndef DQM_VISIBLESCUTFLOW_H_
8#define DQM_VISIBLESCUTFLOW_H_
9
10// LDMX
11#include "Framework/Configure/Parameters.h"
13#include "Tools/ONNXRuntime.h"
14
15namespace dqm {
16
18 public:
19 VisiblesCutflow(const std::string& name, framework::Process& process)
20 : Analyzer(name, process) {}
21
22 ~VisiblesCutflow() override = default;
23
24 void configure(framework::config::Parameters& parameters) override;
25
26 void analyze(const framework::Event& event) override;
27
28 private:
29 std::unique_ptr<ldmx::ort::ONNXRuntime> rt_;
30 double bdt_cut_val_{0.};
31 std::string feature_list_name_;
32
33 bool all_cuts_{true};
34
35 double beam_energy_mev_{0.};
36
37 std::string hcal_rec_collection_;
38 std::string hcal_rec_pass_name_;
39 std::string ecal_rec_collection_;
40 std::string ecal_rec_pass_name_;
41 bool recoil_from_tracking_{false};
42 std::string track_collection_;
43 std::string track_pass_name_;
44 std::string sp_collection_;
45 std::string sp_pass_name_;
46 std::string sim_particles_pass_name_;
47 std::string ecal_veto_collection_;
48 std::string ecal_veto_pass_;
49 double ecal_bdt_cut_val_{0.};
50
51 bool inList(std::vector<int> parents, int track_id);
52};
53
54} // namespace dqm
55
56#endif
Base classes for all user event processing components to extend.
void configure(framework::config::Parameters &parameters) override
Callback for the EventProcessor to configure itself from the given set of parameters.
void analyze(const framework::Event &event) override
Process the event and make histograms or summaries.
Base class for a module which does not produce a data product.
virtual void process(Event &event) final
Processing an event for an Analyzer is calling analyze.
Analyzer(const std::string &name, Process &process)
Class constructor.
Implements an event buffer system for storing event data.
Definition Event.h:42
Class which represents the process under execution.
Definition Process.h:36
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:29