48 bool passed_preselection{
false};
52 const auto &ecal_rec_hits =
event.getCollection<
ldmx::EcalHit>(
56 double total_rec_energy{0.};
59 for (
const auto &rec_hit : ecal_rec_hits) {
60 total_rec_energy += rec_hit.getEnergy();
68 if (passed_preselection) {
69 ldmx_log(debug) <<
"Event passed rechit preselection! Total energy: "
70 << total_rec_energy <<
" MeV, Num hits: " << num_rec_hits;
77 event.add(
"EcalPreselectionDecision", passed_preselection);
81 bool fiducial_decision{
true};
84 const auto &mip_result{
108 if (passed_preselection) {
109 ldmx_log(debug) <<
"This event passed preselection!";
115 event.add(
"EcalPreselectionDecision", passed_preselection);
Processor used to pre-select events for the ECAL studies.
#define DECLARE_PRODUCER(CLASS)
Macro which allows the framework to construct a producer given its name during configuration.
void setStorageHint(framework::StorageControl::Hint hint)
Mark the current event as having the given storage control hint from this module_.
Implements an event buffer system for storing event data.
Class which represents the process under execution.
Class encapsulating parameters for configuring a processor.
const T & get(const std::string &name) const
Retrieve the parameter of the given name.
Stores reconstructed hit information from the ECAL.
bool use_rechits_
Use rechit-based preselection (if false, use veto-based)
int n_straight_tracks_max_
Max value for num straight tracks.
double ecal_back_energy_max_
Max value for ecal back energy.
virtual void produce(framework::Event &event) final
Run the processor and select events that pass pre-selection in ECAL.
int std_layer_hit_max_
Max value for std layer hits_.
std::string ecal_mip_name_
Collection Name for mip result object (optional if use_rechits_ is true)
double bdt_disc_min_
Min value for the BDT disc variable.
std::string ecal_veto_name_
Collection Name for veto object (optional if use_rechits_ is true)
int n_readout_hits_max_
Max value for num readout hits_.
std::string ecal_rec_hit_pass_
Pass Name for ecal rechits.
double summed_det_max_
Max value for summed det.
virtual void configure(framework::config::Parameters &) final
Callback for the EventProcessor to configure itself from the given set of parameters.
double shower_x_std_max_
Max value for shower rms in X.
double summed_tight_iso_max_
Max value for summed tigh iso.
EcalPreselectionSkimmer(const std::string &name, framework::Process &process)
Constructor.
std::string ecal_rec_hit_coll_
Collection Name for ecal rechits.
double shower_y_std_max_
Max value for shower rms in Y.
double shower_rms_max_
Max value for shower rms.
double max_cell_dep_max_
Max value for maximal cell deposition.
std::string ecal_veto_pass_
Pass Name for veto object (optional if use_rechits_ is true)
int fiducial_level_
Level of interest in fiducial events 0: don't care if it's fiducial or not, 1: keep fiducial events o...
std::string ecal_mip_pass_
Pass Name for mip result object (optional if use_rechits_ is true)
All classes in the ldmx-sw project use this namespace.
constexpr StorageControl::Hint HINT_SHOULD_DROP
storage control hint alias for backwards compatibility
constexpr StorageControl::Hint HINT_SHOULD_KEEP
storage control hint alias for backwards compatibility