LDMX Software
|
Class that simulates QIE chip of the trigger scintillator. More...
#include <TrigScintQIEDigiProducer.h>
Public Member Functions | |
TrigScintQIEDigiProducer (const std::string &name, framework::Process &process) | |
void | configure (framework::config::Parameters ¶meters) override |
Callback for the processor to configure itself from the given set of parameters. | |
void | produce (framework::Event &event) override |
Method to produce a collection of QIE digis. | |
Public Member Functions inherited from framework::Producer | |
Producer (const std::string &name, Process &process) | |
Class constructor. | |
virtual void | beforeNewRun (ldmx::RunHeader &header) |
Handle allowing producers to modify run headers before the run begins. | |
Public Member Functions inherited from framework::EventProcessor | |
EventProcessor (const std::string &name, Process &process) | |
Class constructor. | |
virtual | ~EventProcessor () |
Class destructor. | |
virtual void | onNewRun (const ldmx::RunHeader &runHeader) |
Callback for the EventProcessor to take any necessary action when the run being processed changes. | |
virtual void | onFileOpen (EventFile &eventFile) |
Callback for the EventProcessor to take any necessary action when a new event input ROOT file is opened. | |
virtual void | onFileClose (EventFile &eventFile) |
Callback for the EventProcessor to take any necessary action when a event input ROOT file is closed. | |
virtual void | onProcessStart () |
Callback for the EventProcessor to take any necessary action when the processing of events starts, such as creating histograms. | |
virtual void | onProcessEnd () |
Callback for the EventProcessor to take any necessary action when the processing of events finishes, such as calculating job-summary quantities. | |
template<class T > | |
const T & | getCondition (const std::string &condition_name) |
Access a conditions object for the current event. | |
TDirectory * | getHistoDirectory () |
Access/create a directory in the histogram file for this event processor to create histograms and analysis tuples. | |
void | setStorageHint (framework::StorageControl::Hint hint) |
Mark the current event as having the given storage control hint from this module. | |
void | setStorageHint (framework::StorageControl::Hint hint, const std::string &purposeString) |
Mark the current event as having the given storage control hint from this module and the given purpose string. | |
int | getLogFrequency () const |
Get the current logging frequency from the process. | |
int | getRunNumber () const |
Get the run number from the process. | |
std::string | getName () const |
Get the processor name. | |
void | createHistograms (const std::vector< framework::config::Parameters > &histos) |
Internal function which is used to create histograms passed from the python configuration @parma histos vector of Parameters that configure histograms to create. | |
Private Attributes | |
std::unique_ptr< TRandom3 > | random_ {nullptr} |
Random number generator. | |
bool | verbose_ {false} |
Class to set the verbosity level. | |
std::string | inputCollection_ |
Name of the input collection containing the sim hits. | |
std::string | inputPassName_ |
Name of the pass that the input collection is on (empty string means take any pass) | |
std::string | outputCollection_ |
Name of the output collection that will be used to stored the digitized trigger scintillator hits. | |
int | stripsPerArray_ {50} |
Number of strips per array. | |
int | numberOfArrays_ {3} |
Number of arrays. | |
double | meanNoise_ {0} |
Mean readout noise. | |
double | mevPerMip_ {1.40} |
Total MeV per MIP. | |
double | pePerMip_ {13.5} |
Total number of photoelectrons per MIP. | |
std::string | input_pulse_shape_ |
QIE Input pulse shape. | |
std::vector< float > | pulse_params_ |
QIE Input pulse parameters. | |
float | toff_overall_ |
Overall input pulse time offset. | |
int | maxts_ |
no. of time samples analysed by QIE | |
float | tdc_thr_ |
QIE TDC Current threshold. | |
float | pedestal_ |
QIE pedestal. | |
float | elec_noise_ |
QIE electronic noise. | |
float | sipm_gain_ |
SiPM Gain. | |
float | s_freq_ |
QIE sampling frequency [in MHz]. | |
float | zeroSuppCut_ {1.} |
Zero-suppression: discard any integrated pulses with PE < this number. | |
SimQIE * | smq_ {nullptr} |
SimQIE pointer. | |
Additional Inherited Members | |
Static Public Member Functions inherited from framework::EventProcessor | |
static void | declare (const std::string &classname, int classtype, EventProcessorMaker *) |
Internal function which is part of the PluginFactory machinery. | |
Static Public Attributes inherited from framework::Producer | |
static const int | CLASSTYPE {1} |
Constant used to track EventProcessor types by the PluginFactory. | |
Protected Member Functions inherited from framework::EventProcessor | |
void | abortEvent () |
Abort the event immediately. | |
Protected Attributes inherited from framework::EventProcessor | |
HistogramHelper | histograms_ |
Interface class for making and filling histograms. | |
NtupleManager & | ntuple_ {NtupleManager::getInstance()} |
Manager for any ntuples. | |
logging::logger | theLog_ |
The logger for this EventProcessor. | |
Class that simulates QIE chip of the trigger scintillator.
Definition at line 47 of file TrigScintQIEDigiProducer.h.
trigscint::TrigScintQIEDigiProducer::TrigScintQIEDigiProducer | ( | const std::string & | name, |
framework::Process & | process | ||
) |
Definition at line 11 of file TrigScintQIEDigiProducer.cxx.
|
overridevirtual |
Callback for the processor to configure itself from the given set of parameters.
parameters | ParameterSet for configuration. |
Reimplemented from framework::EventProcessor.
Definition at line 15 of file TrigScintQIEDigiProducer.cxx.
References framework::config::Parameters::getParameter().
|
overridevirtual |
Method to produce a collection of QIE digis.
For each event, the SimHit information is converted to an output format analogous to real QIE output.
Implements framework::Producer.
Definition at line 63 of file TrigScintQIEDigiProducer.cxx.
References framework::RandomNumberSeedService::CONDITIONS_OBJECT_NAME, trigscint::TrigScintQIEDigis::setADC(), trigscint::TrigScintQIEDigis::setChanID(), trigscint::TrigScintQIEDigis::setCID(), and trigscint::TrigScintQIEDigis::setTDC().
|
private |
QIE electronic noise.
Definition at line 121 of file TrigScintQIEDigiProducer.h.
|
private |
QIE Input pulse shape.
Definition at line 103 of file TrigScintQIEDigiProducer.h.
|
private |
Name of the input collection containing the sim hits.
Definition at line 77 of file TrigScintQIEDigiProducer.h.
|
private |
Name of the pass that the input collection is on (empty string means take any pass)
Definition at line 81 of file TrigScintQIEDigiProducer.h.
|
private |
no. of time samples analysed by QIE
Definition at line 112 of file TrigScintQIEDigiProducer.h.
|
private |
|
private |
|
private |
|
private |
Name of the output collection that will be used to stored the digitized trigger scintillator hits.
Definition at line 85 of file TrigScintQIEDigiProducer.h.
|
private |
QIE pedestal.
Definition at line 118 of file TrigScintQIEDigiProducer.h.
|
private |
Total number of photoelectrons per MIP.
Definition at line 100 of file TrigScintQIEDigiProducer.h.
|
private |
QIE Input pulse parameters.
Definition at line 106 of file TrigScintQIEDigiProducer.h.
|
private |
|
private |
QIE sampling frequency [in MHz].
Definition at line 127 of file TrigScintQIEDigiProducer.h.
|
private |
SiPM Gain.
Definition at line 124 of file TrigScintQIEDigiProducer.h.
|
private |
|
private |
|
private |
QIE TDC Current threshold.
Definition at line 115 of file TrigScintQIEDigiProducer.h.
|
private |
Overall input pulse time offset.
Definition at line 109 of file TrigScintQIEDigiProducer.h.
|
private |
Class to set the verbosity level.
Definition at line 74 of file TrigScintQIEDigiProducer.h.
|
private |
Zero-suppression: discard any integrated pulses with PE < this number.
Definition at line 130 of file TrigScintQIEDigiProducer.h.