LDMX Software
HcalRecProducer.h
Go to the documentation of this file.
1
10#ifndef HCAL_HCALRECPRODUCER_H_
11#define HCAL_HCALRECPRODUCER_H_
12
13//----------//
14// LDMX //
15//----------//
18
19//---------//
20// ROOT //
21//---------//
22#include "TF1.h"
23#include "TGraph.h"
24
25namespace hcal {
26
35 public:
39 HcalRecProducer(const std::string& name, framework::Process& process);
40
44 virtual ~HcalRecProducer() = default;
45
50
55 double pedestal, unsigned int iSOI) const;
56
65 void produce(framework::Event& event) override;
66
67 private:
69 std::string input_coll_name_;
70
72 std::string input_pass_name_;
73
75 std::string sim_hit_coll_name_;
76
78 std::string sim_hit_pass_name_;
79
81 std::string rec_hit_coll_name_;
82
85
88
91
94
96 double attlength_;
97
99 mutable TF1 pulse_func_;
100
107 mutable TGraph correction_ampl_;
108
118 mutable TGraph correction_toa_;
119
122
124 double min_ampl_;
125
128
131
134
137
140
143};
144} // namespace hcal
145
146#endif
Base classes for all user event processing components to extend.
Class that represents a digitized hit in a calorimeter cell readout by an HGCROC.
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
Performs basic HCal reconstruction.
double min_ampl_
Minimum amplitude to apply TOA correction.
double rate_dn_slope_
Rate of Down Slope in Pulse Shape [1/ns].
double time_dn_slope_
Time of Down Slope relative to Pulse Shape Fit [ns].
double clock_cycle_
Length of clock cycle [ns].
double voltage_per_mip_
Voltage by average MIP.
std::string rec_hit_coll_name_
output hit collection name
void configure(framework::config::Parameters &) override
Grabs configure parameters from the python config file.
double time_peak_
Time of Peak relative to pulse shape fit [ns].
TGraph correction_toa_
Correction to the measured TOA relative to the peak.
int n_adcs_
Depth of ADC buffer.
virtual ~HcalRecProducer()=default
Destructor.
std::string input_pass_name_
Digi Pass Name to use as input.
HcalRecProducer(const std::string &name, framework::Process &process)
Constructor.
std::string sim_hit_coll_name_
simhit collection name
double rate_up_slope_
Rate of Up Slope in Pulse Shape [1/ns].
double mip_energy_
Energy [MeV] deposited by a MIP.
double attlength_
Strip attenuation length [m].
TGraph correction_ampl_
Correction to the pulse's measured amplitude at the peak.
void produce(framework::Event &event) override
Produce HcalHits and put them into the event bus using the HcalDigis as input.
std::string input_coll_name_
Digi Collection Name to use as input.
double time_up_slope_
Time of Up Slope relative to Pulse Shape Fit [ns].
TF1 pulse_func_
Pulse function.
double pe_per_mip_
PEs per MIP.
std::string sim_hit_pass_name_
simhit pass name
double min_ampl_fraction_
Minimum amplitude fraction to apply amplitude correction.
double getTOA(const ldmx::HgcrocDigiCollection::HgcrocDigi digi, double pedestal, unsigned int iSOI) const
Gets Time of Arrival with respect to the SOI.
One DIGI signal coming from the HGC ROC.