LDMX Software
BeamElectronLocator.h
1
2#ifndef RECON_BEAMELECTRONLOCATOR_H
3#define RECON_BEAMELECTRONLOCATOR_H
4
5//---< Framework >---//
6#include "Framework/Configure/Parameters.h"
8
9//---< Recon >---//
10
11namespace recon {
12
25 public:
33 BeamElectronLocator(const std::string& name, framework::Process& process);
34
36 virtual ~BeamElectronLocator();
37
47 void configure(framework::config::Parameters& parameters) override;
48
52 void onProcessStart() override;
53
59 void produce(framework::Event& event) override;
60
61 private:
65 std::string input_coll_;
66
70 std::string input_pass_name_;
71
76 std::string output_coll_;
77
81 double min_xmm_;
85 double max_xmm_;
86
90 double min_ymm_;
94 double max_ymm_;
95
104
110
114 bool verbose_{false};
115
125 int bin(float coordinate, double binWidth, double min, double max);
126
127}; // BeamElectronLocator
128} // namespace recon
129
130#endif // RECON_BEAMELECTRONLOCATOR_H
Base classes for all user event processing components to extend.
Implements an event buffer system for storing event data.
Definition Event.h:40
Class which represents the process under execution.
Definition Process.h:34
Base class for a module which produces a data product.
virtual void process(Event &event) final
Processing an event for a Producer is calling produce.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:26
Electron counting processor.
std::string input_coll_
The name of the input collection used for counting electrons.
double max_ymm_
The max value measured by the system (edge) in Y, in mm.
double granularity_ymm_
The granularity of the detector (e.g.
void onProcessStart() override
Prints the configuration to log in debug mode.
void configure(framework::config::Parameters &parameters) override
Configure the processor using the given user specified parameters.
double tolerance_
The tolerance within which simhits are considered to belong to the same electron.
double min_xmm_
The min value measured by the system (edge) in X, in mm.
virtual ~BeamElectronLocator()
Destructor.
BeamElectronLocator(const std::string &name, framework::Process &process)
Constructor.
std::string input_pass_name_
The pass name of the input collection used for counting electrons.
bool verbose_
Indicate verbose printout to log according to log level.
double min_ymm_
The min value measured by the system (edge) in Y, in mm.
double max_xmm_
The max value measured by the system (edge) in X, in mm.
std::string output_coll_
The name of the output collection used to save some electron counting variables.
double granularity_xmm_
The granularity of the detector (e.g.
int bin(float coordinate, double binWidth, double min, double max)
Bins coordinates according to some given granularity (passed as argument).
void produce(framework::Event &event) override
Process the event and put new data products into it.