LDMX Software
HcalSingleEndRecProducer.h
1#ifndef HCALSINGLEENDRECPRODUCER_H
2#define HCALSINGLEENDRECPRODUCER_H
3
4#include "Conditions/SimpleTableCondition.h"
5#include "DetDescr/DetectorID.h"
6#include "DetDescr/HcalDigiID.h"
8#include "DetDescr/HcalID.h"
10#include "Hcal/Event/HcalHit.h"
11#include "Hcal/HcalReconConditions.h"
13
14namespace hcal {
17 std::string pass_name_{""};
19 std::string coll_name_{"HcalDigis"};
21 std::string rec_pass_name_{""};
23 std::string rec_coll_name_{"HcalRecHits"};
24
32 unsigned int isoi_;
33
34 private:
59 std::tuple<double, double, int> extract_measurements(
60 const ldmx::HgcrocDigiCollection::HgcrocDigi& digi, double pedestal,
61 double bx_shift);
62
63 public:
64 HcalSingleEndRecProducer(const std::string& n, framework::Process& p)
65 : Producer(n, p) {}
66 virtual ~HcalSingleEndRecProducer() = default;
67
69 void produce(framework::Event& event) override;
70
71}; // HcalSingleEndRecProducer
72
73} // namespace hcal
74
75#endif /* HCALSINGLEENDRECPRODUCER_H */
Base classes for all user event processing components to extend.
Class that translates HCal ID into positions of strip hits.
Class that stores Stores reconstructed hit information from the HCAL.
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.
Producer(const std::string &name, Process &process)
Class constructor.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:27
double mip_energy_
energy per MIP [MeV]
double pe_per_mip_
number of PEs per MIP
std::tuple< double, double, int > extract_measurements(const ldmx::HgcrocDigiCollection::HgcrocDigi &digi, double pedestal, double bx_shift)
extract toa, sum adc, and sum tot from the input raw digi
std::string pass_name_
name of pass of digis to use
void produce(framework::Event &event) override
Process the event and put new data products into it.
void configure(framework::config::Parameters &p) override
Callback for the EventProcessor to configure itself from the given set of parameters.
std::string rec_coll_name_
name of rechits to reconstruct
std::string coll_name_
name of digis to reconstruct
unsigned int isoi_
sample of interest index
double clock_cycle_
length of clock cycle [ns]
std::string rec_pass_name_
name of pass of rechits to use
One DIGI signal coming from the HGC ROC.