LDMX Software
TestBeamHitProducer.h
Go to the documentation of this file.
1
7#ifndef TRIGSCINT_TESTBEAMHITPRODUCER_H
8#define TRIGSCINT_TESTBEAMHITPRODUCER_H
9
10// LDMX
11#include "DetDescr/TrigScintID.h"
15#include "TrigScint/Event/TrigScintHit.h"
16
17/*~~~~~~~~~~~~~~~*/
18/* Framework */
19/*~~~~~~~~~~~~~~~*/
20#include "Framework/Configure/Parameters.h"
22
23namespace trigscint {
24
32 public:
33 TestBeamHitProducer(const std::string& name, framework::Process& process);
34
35 virtual ~TestBeamHitProducer() = default;
36
43 void configure(framework::config::Parameters& parameters) override;
44
45 void produce(framework::Event& event) override;
46
47 private:
49
51 std::string input_col_;
52
55 std::string input_pass_name_;
56
59 std::string output_collection_;
60
62 std::vector<double> gain_;
63
65 std::vector<double> peds_;
66
68 std::vector<double> mip_response_;
69
72
75
79
82
85 bool do_clean_hits_{false};
86};
87
88} // namespace trigscint
89
90#endif
Class providing string constants for the event model.
Base classes for all user event processing components to extend.
Class that stores full reconstructed (linearized) readout QIE sample from the TS.
Class that stores full reconstructed (linearized) readout QIE sample from the TS.
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.
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:29
Organizes digis into TrigScintHits, based on linearized full event readout from test beam/test stand.
std::string input_pass_name_
Name of the pass that the input collection is on (empty string means take any pass)
std::string output_collection_
Name of the output collection that will be used to stored the trigger scintillator hits.
void configure(framework::config::Parameters &parameters) override
Callback for the processor to configure itself from the given set of parameters.
int pulse_width_
Total number of samples used in pulse integration.
std::vector< double > gain_
SiPM gain, per channel (all initialized to 2e6 in default config)
int start_sample_
start sample for pulse integration (not including any fiber offsets)
bool do_clean_hits_
boolean indicating whether we want to apply quality criteria in hit reconstruction
std::string input_col_
Set the local verbosity level.
int pulse_width_lyso_
Total number of samples used in pulse integration for LYSO (long decay, might need wider window)
int n_instrumented_channels_
Number of instrumented channels in module.
std::vector< double > peds_
channel pedestals [fC]
void produce(framework::Event &event) override
Process the event and put new data products into it.
std::vector< double > mip_response_
channel MIP response for intercalibration