LDMX Software
TrigScintRecHitProducer.h
Go to the documentation of this file.
1
7#ifndef TRIGSCINT_TRIGSCINTDIGIPRODUCER_H
8#define TRIGSCINT_TRIGSCINTDIGIPRODUCER_H
9
10#include <string>
11#include <vector>
12
13/*~~~~~~~~~~*/
14/* ROOT */
15/*~~~~~~~~~~*/
16
17// LDMX
18
19/*~~~~~~~~~~~~~~~*/
20/* Framework */
21/*~~~~~~~~~~~~~~~*/
22#include "Framework/Configure/Parameters.h"
24
25/*~~~~~~~~~~~*/
26/* TrigScint */
27/*~~~~~~~~~~~*/
28
29namespace trigscint {
30
38 public:
39 TrigScintRecHitProducer(const std::string& name, framework::Process& process);
40
42
49 void configure(framework::config::Parameters& parameters) override;
50
51 void produce(framework::Event& event) override;
52
53 private:
55 void readCalib(const std::string& filename, std::vector<double>* gains,
56 std::vector<double>* pedestals);
57
59 std::string input_collection_;
60
63 std::string input_pass_name_;
64
67 std::string output_collection_;
68
70 double gain_{1e6};
71
73 double pedestal_{6.0};
74
76 double mev_per_mip_{1.40};
77
79 double pe_per_mip_{13.5};
80
83
85 bool use_calib_file_{false};
86
88 std::string calib_file_{""};
89
93
95 std::vector<double> gains_;
96
98 std::vector<double> pedestals_;
99};
100
101} // namespace trigscint
102
103#endif
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
Organizes digis into TrigScintHits, linearizes TDC and ADC info, and converts amplitudes to PEs.
std::string calib_file_
Path to the per-channel calibration file.
void produce(framework::Event &event) override
Process the event and put new data products into it.
double pe_per_mip_
Total number of photoelectrons per MIP.
std::string output_collection_
Name of the output collection that will be used to stored the digitized trigger scintillator hits.
void configure(framework::config::Parameters &parameters) override
Callback for the processor to configure itself from the given set of parameters.
int integration_window_
If > 0: integrate a fixed window starting at sample_of_interest_ If <= 0: integrate all samples.
void readCalib(const std::string &filename, std::vector< double > *gains, std::vector< double > *pedestals)
Read per-channel gains and pedestals from a calibration file.
std::vector< double > pedestals_
Per-channel pedestals read from the calibration file.
std::string input_pass_name_
Name of the pass that the input collection is on (empty string means take any pass)
std::string input_collection_
Name of the input collection containing the sim hits.
int sample_of_interest_
Total number of photoelectrons per MIP.
bool use_calib_file_
If true, read per-channel gains/pedestals from calib_file_.
std::vector< double > gains_
Per-channel gains read from the calibration file.