LDMX Software
|
Public Member Functions | |
PhotoNuclearDQM (const std::string &name, framework::Process &process) | |
Constructor. | |
virtual | ~PhotoNuclearDQM () |
Destructor. | |
void | configure (framework::config::Parameters ¶meters) override |
Configure this analyzer using the user specified parameters. | |
void | analyze (const framework::Event &event) override |
Process the event and create the histogram summaries. | |
void | onProcessStart () override |
Method executed before processing of events begins. | |
constexpr bool | isLightIon (const int pdgCode) const |
Check if the PDG code corresponds to a light ion. | |
Public Member Functions inherited from framework::Analyzer | |
Analyzer (const std::string &name, Process &process) | |
Class constructor. | |
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 | 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. | |
Public Attributes | |
bool | verbose_ |
bool | count_light_ions_ |
Private Member Functions | |
EventType | classifyEvent (const std::vector< const ldmx::SimParticle * > daughters, double threshold) |
Method used to classify events. | |
CompactEventType | classifyCompactEvent (const ldmx::SimParticle *pnGamma, const std::vector< const ldmx::SimParticle * > daughters, double threshold) |
Method used to classify events in a compact manner. | |
void | findRecoilProperties (const ldmx::SimParticle *recoil) |
Fill the recoil electron-histograms. | |
std::vector< const ldmx::SimParticle * > | findDaughters (const std::map< int, ldmx::SimParticle > &particleMap, const ldmx::SimParticle *parent) const |
Find all daughter particles of a parent. | |
void | findParticleKinematics (const std::vector< const ldmx::SimParticle * > &pnDaughters) |
Fill histograms related to kinematics of PN products. | |
void | findSubleadingKinematics (const ldmx::SimParticle *pnGamma, const std::vector< const ldmx::SimParticle * > &pnDaughters, const EventType eventType) |
Fill histograms related to the kinematics and subleading particles for 1n, kaon, and 2n type events. | |
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::Analyzer | |
static const int | CLASSTYPE {2} |
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. | |
Definition at line 16 of file PhotoNuclearDQM.h.
|
strongprivate |
Definition at line 18 of file PhotoNuclearDQM.h.
|
strongprivate |
Definition at line 26 of file PhotoNuclearDQM.h.
dqm::PhotoNuclearDQM::PhotoNuclearDQM | ( | const std::string & | name, |
framework::Process & | process | ||
) |
Constructor.
Definition at line 25 of file PhotoNuclearDQM.cxx.
|
virtual |
|
overridevirtual |
Process the event and create the histogram summaries.
event | The event to analyze. |
Implements framework::Analyzer.
Definition at line 254 of file PhotoNuclearDQM.cxx.
References classifyCompactEvent(), classifyEvent(), framework::HistogramHelper::fill(), findDaughters(), findParticleKinematics(), findRecoilProperties(), findSubleadingKinematics(), and framework::EventProcessor::histograms_.
|
private |
Method used to classify events in a compact manner.
Definition at line 441 of file PhotoNuclearDQM.cxx.
References ldmx::SimParticle::getEnergy().
Referenced by analyze().
|
private |
Method used to classify events.
Note: Assumes that daughters is sorted by kinetic energy.
Definition at line 335 of file PhotoNuclearDQM.cxx.
Referenced by analyze().
|
overridevirtual |
Configure this analyzer using the user specified parameters.
parameters | Set of parameters used to configure this analyzer. |
Reimplemented from framework::EventProcessor.
Definition at line 249 of file PhotoNuclearDQM.cxx.
References framework::config::Parameters::getParameter().
|
private |
Find all daughter particles of a parent.
Particles are included if they>
The products are sorted by kinetic energy, in descending order.
Definition at line 30 of file PhotoNuclearDQM.cxx.
References ldmx::SimParticle::getDaughters(), and isLightIon().
Referenced by analyze().
|
private |
Fill histograms related to kinematics of PN products.
Definition at line 69 of file PhotoNuclearDQM.cxx.
References framework::HistogramHelper::fill(), and framework::EventProcessor::histograms_.
Referenced by analyze().
|
private |
Fill the recoil electron-histograms.
Definition at line 62 of file PhotoNuclearDQM.cxx.
References framework::HistogramHelper::fill(), ldmx::SimParticle::getVertex(), and framework::EventProcessor::histograms_.
Referenced by analyze().
|
private |
Fill histograms related to the kinematics and subleading particles for 1n, kaon, and 2n type events.
Note: This assumes that the daughter particles are sorted by energy.
Definition at line 136 of file PhotoNuclearDQM.cxx.
References framework::HistogramHelper::fill(), ldmx::SimParticle::getEnergy(), and framework::EventProcessor::histograms_.
Referenced by analyze().
|
inlineconstexpr |
Check if the PDG code corresponds to a light ion.
Nuclear PDG codes are given by ±10LZZZAAAI So to find the atomic number, we first divide by 10 (to lose the I-component) and then take the modulo with 1000.
TODO: Repeated code from SimCore, could probably live elsewhere.
Definition at line 137 of file PhotoNuclearDQM.h.
Referenced by findDaughters().
|
overridevirtual |
Method executed before processing of events begins.
Reimplemented from framework::EventProcessor.
Definition at line 176 of file PhotoNuclearDQM.cxx.
References framework::HistogramHelper::get(), and framework::EventProcessor::histograms_.
bool dqm::PhotoNuclearDQM::count_light_ions_ |
Definition at line 146 of file PhotoNuclearDQM.h.
bool dqm::PhotoNuclearDQM::verbose_ |
Definition at line 145 of file PhotoNuclearDQM.h.