8#ifndef EVENTPROC_ECALRECOILREMOVALPROCESSOR_H_
9#define EVENTPROC_ECALRECOILREMOVALPROCESSOR_H_
14#include "Framework/Configure/Parameters.h"
31 using XYCoords = ldmx::XYCoords;
62 std::vector<XYCoords> getTrajectory(std::array<float, 3> momentum,
63 std::array<float, 3> position);
67 float processing_time_{0.};
68 std::map<std::string, float> profiling_map_;
73 std::vector<float> ecal_layer_edep_raw_;
74 std::vector<float> ecal_layer_edep_readout_;
75 std::vector<float> ecal_layer_time_;
77 std::vector<std::vector<float>> rem_dist_values_;
80 float beam_energy_mev_{0.};
82 std::string rem_dist_file_name_;
85 bool recoil_from_tracking_;
88 std::string ecal_sim_pass_name_;
89 std::string ecal_sp_hits_pass_name_;
90 std::string rec_coll_name_;
91 std::string rec_pass_name_;
92 std::string track_coll_name_;
93 std::string track_pass_name_;
97 std::string collection_name_excluded_;
Class that translates raw positions of ECal module hits into cells in a hexagonal readout.
Class that determines MIP tracking information using ECAL hit information.
Base classes for all user event processing components to extend.
Discards Ecal reconstructed hits from the recoil electron for WAB event processing.
void configure(framework::config::Parameters ¶meters) override
Configure the processor using the given user specified parameters.
void onProcessEnd() override
Callback for the EventProcessor to take any necessary action when the processing of events finishes,...
void produce(framework::Event &event) override
Process the event and put new data products into it.
std::string collection_name_included_
Name of the collection which will containt the results.
void onNewRun(const ldmx::RunHeader &rh) override
onNewRun is the first function called for each processor after the conditions are fully configured an...
Implements an event buffer system for storing event data.
Class which represents the process under execution.
Base class for a module which produces a data product.
Producer(const std::string &name, Process &process)
Class constructor.
virtual void process(Event &event) final
Processing an event for a Producer is calling produce.
Class encapsulating parameters for configuring a processor.
Translation between real-space positions and cell IDs within the ECal.