LDMX Software
TrigScintFirmwareHitProducer.h
Go to the documentation of this file.
1
7#ifndef TRIGSCINT_TRIGSCINTFIRMWAREHITPRODUCER_H
8#define TRIGSCINT_TRIGSCINTFIRMWAREHITPRODUCER_H
9
10/*~~~~~~~~~~*/
11/* ROOT */
12/*~~~~~~~~~~*/
13#include "TRandom3.h"
14
15// LDMX
16#include "DetDescr/TrigScintID.h"
19#include "TrigScint/Event/TrigScintHit.h"
20#include "TrigScint/Event/TrigScintQIEDigis.h"
21
22/*~~~~~~~~~~~~~~~*/
23/* Framework */
24/*~~~~~~~~~~~~~~~*/
25#include "Framework/Configure/Parameters.h"
27
28/*~~~~~~~~~~~*/
29/* TrigScint */
30/*~~~~~~~~~~~*/
31#include "TrigScint/Firmware/objdef.h"
32#include "TrigScint/SimQIE.h"
33
34namespace trigscint {
35
41 public:
42 TrigScintFirmwareHitProducer(const std::string& name,
43 framework::Process& process)
44 : Producer(name, process) {}
45
47
48 void produce(framework::Event& event) override;
49
54 private:
56 std::string inputCollection_;
57
60 std::string inputPassName_;
61
64 std::string outputCollection_;
65
67 double gain_{1e6};
68
70 double pedestal_{6.0};
71
73 double mevPerMip_{1.40};
74
76 double pePerMip_{13.5};
77
80
81 std::string testCollection_;
82
83 bool doTest_{true};
84};
85
86} // namespace trigscint
87
88#endif /* TRIGSCINT_TRIGSCINTFIRMWAREHITPRODUCER_H */
Class providing string constants for the event model.
Base classes for all user event processing components to extend.
Utility used to generate noise hits.
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
void configure(framework::config::Parameters &ps) override
Callback for the EventProcessor to configure itself from the given set of parameters.
std::string outputCollection_
Name of the output collection that will be used to stored the digitized trigger scintillator hits.
double pePerMip_
Total number of photoelectrons per MIP.
int sample_of_interest_
Total number of photoelectrons per MIP.
void produce(framework::Event &event) override
Process the event and put new data products into it.
std::string inputPassName_
Name of the pass that the input collection is on (empty string means take any pass)
std::string inputCollection_
add a hit at index idx to a cluster