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// C++ StdLib //
15//----------------//
16#include <memory> //for smart pointers
17
18//----------//
19// LDMX //
20//----------//
21#include "DetDescr/DetectorID.h"
22#include "DetDescr/HcalDigiID.h"
24#include "DetDescr/HcalID.h"
27
28//---------//
29// ROOT //
30//---------//
31#include "TF1.h"
32#include "TGraph.h"
33
34namespace hcal {
35
44 public:
48 HcalRecProducer(const std::string& name, framework::Process& process);
49
53 virtual ~HcalRecProducer() = default;
54
59
64 double pedestal, unsigned int iSOI) const;
65
74 void produce(framework::Event& event) override;
75
76 private:
78 std::string digiCollName_;
79
81 std::string digiPassName_;
82
84 std::string simHitCollName_;
85
87 std::string simHitPassName_;
88
90 std::string recHitCollName_;
91
94
97
100
103
106
108 mutable TF1 pulseFunc_;
109
116 mutable TGraph correctionAmpl_;
117
127 mutable TGraph correctionTOA_;
128
131
133 double minAmpl_;
134
137
140
143
146
149
151 double timePeak_;
152};
153} // namespace hcal
154
155#endif
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.
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:41
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:27
Performs basic HCal reconstruction.
TGraph correctionTOA_
Correction to the measured TOA relative to the peak.
double minAmplFraction_
Minimum amplitude fraction to apply amplitude correction.
double clock_cycle_
Length of clock cycle [ns].
double voltage_per_mip_
Voltage by average MIP.
void configure(framework::config::Parameters &) override
Grabs configure parameters from the python config file.
TGraph correctionAmpl_
Correction to the pulse's measured amplitude at the peak.
double timeUpSlope_
Time of Up Slope relative to Pulse Shape Fit [ns].
virtual ~HcalRecProducer()=default
Destructor.
std::string recHitCollName_
output hit collection name
std::string digiPassName_
Digi Pass Name to use as input.
double timeDnSlope_
Time of Down Slope relative to Pulse Shape Fit [ns].
double rateUpSlope_
Rate of Up Slope in Pulse Shape [1/ns].
std::string simHitCollName_
simhit collection name
int nADCs_
Depth of ADC buffer.
double minAmpl_
Minimum amplitude to apply TOA correction.
double timePeak_
Time of Peak relative to pulse shape fit [ns].
double mip_energy_
Energy [MeV] deposited by a MIP.
double attlength_
Strip attenuation length [m].
void produce(framework::Event &event) override
Produce HcalHits and put them into the event bus using the HcalDigis as input.
std::string simHitPassName_
simhit pass name
TF1 pulseFunc_
Pulse function.
double pe_per_mip_
PEs per MIP.
double rateDnSlope_
Rate of Down Slope in Pulse Shape [1/ns].
std::string digiCollName_
Digi Collection Name to use as input.
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.