LDMX Software
HcalSimpleDigiAndRecProducer.h
1#ifndef HCALSIMPLEDIGIANDRECPRODUCER_H
2#define HCALSIMPLEDIGIANDRECPRODUCER_H
3#include <random>
4
5#include "DetDescr/DetectorID.h"
7#include "DetDescr/HcalID.h"
8#include "Framework/Configure/Parameters.h"
12
13namespace hcal {
15 public:
16 HcalSimpleDigiAndRecProducer(const std::string& name,
17 framework::Process& process)
18 : framework::Producer{name, process} {}
19 ~HcalSimpleDigiAndRecProducer() override = default;
20 void onNewRun(const ldmx::RunHeader& runHeader) override;
22 void produce(framework::Event& event) override;
23
24 private:
25 std::string input_coll_name_{};
26 std::string input_pass_name_{};
27 std::string output_coll_name_{};
28 double mev_per_mip_{};
29 double pe_per_mip_{};
30 double attenuation_length_{};
31 double mean_noise_{};
32 std::mt19937 rng_{};
33 std::unique_ptr<std::normal_distribution<double>> position_resolution_smear_{
34 nullptr};
35 std::unique_ptr<ldmx::NoiseGenerator> noiseGenerator_{nullptr};
36 int readout_threshold_{2};
37};
38
39} // namespace hcal
40
41#endif /* HCALSIMPLEDIGIANDRECPRODUCER_H */
Base classes for all user event processing components to extend.
Class that translates HCal ID into positions of strip hits.
Class that defines an HCal sensitive detector.
Utility used to generate noise hits.
Conditions object for random number seeds.
Implements an event buffer system for storing event data.
Definition Event.h:42
Class which represents the process under execution.
Definition Process.h:36
Base class for a module which produces a data product.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:29
void produce(framework::Event &event) override
Process the event and put new data products into it.
void onNewRun(const ldmx::RunHeader &runHeader) override
Callback for the EventProcessor to take any necessary action when the run being processed changes.
void configure(framework::config::Parameters &ps) override
Callback for the EventProcessor to configure itself from the given set of parameters.
Run-specific configuration and data stored in its own output TTree alongside the event TTree in the o...
Definition RunHeader.h:57