34 typedef std::pair<ldmx::EcalID, float> CellEnergyPair;
36 typedef std::pair<float, float> XYCoords;
66 void clearProcessor();
70 const std::vector<ldmx::EcalHit>& ecal_rec_hits,
float& shower_rms);
73 void fillHitMap(
const std::vector<ldmx::EcalHit>& ecal_rec_hits,
74 std::map<ldmx::EcalID, float>& cell_map_);
77 void fillIsolatedHitMap(
const std::vector<ldmx::EcalHit>& ecal_rec_hits,
79 std::map<ldmx::EcalID, float>& cell_map,
80 std::map<ldmx::EcalID, float>& cell_map_iso,
81 bool doTight =
false);
83 std::vector<XYCoords> getTrajectory(std::array<float, 3> momentum,
84 std::array<float, 3> position);
90 float processing_time_{0.};
92 std::map<std::string, float> profiling_map_;
93 std::map<ldmx::EcalID, float> cell_map_;
94 std::map<ldmx::EcalID, float> cell_map_tight_iso_;
96 std::vector<float> ecal_layer_edep_raw_;
97 std::vector<float> ecal_layer_edep_readout_;
98 std::vector<float> ecal_layer_time_;
100 std::vector<std::vector<float>> roc_range_values_;
102 int n_ecal_layers_{0};
103 int n_readout_hits_{0};
104 int deepest_layer_hit_{0};
106 float summed_det_{0};
107 float summed_tight_iso_{0};
108 float max_cell_dep_{0};
109 float shower_rms_{0};
112 float avg_layer_hit_{0};
113 float std_layer_hit_{0};
114 float ecal_back_energy_{0};
133 float bdt_cut_val_{0};
135 float beam_energy_mev_{0};
137 std::string bdt_file_name_;
138 std::string bdt_feature_config_;
139 std::string roc_file_name_;
140 std::vector<float> bdt_features_;
141 std::string feature_list_name_;
144 std::string ecal_sp_coll_name_;
145 std::string target_sp_coll_name_;
146 std::string sp_pass_name_;
147 std::string rec_pass_name_;
148 std::string rec_coll_name_;
149 bool recoil_from_tracking_;
150 std::string track_pass_name_;
151 std::string track_collection_;
153 std::string sim_particles_coll_name_;
154 std::string sim_particles_passname_;
155 bool inverse_skim_{
false};
160 std::unique_ptr<ldmx::ort::ONNXRuntime> rt_;