10#include <framework/core/HistoModule.h>
11#include <framework/datastore/StoreArray.h>
12#include <framework/datastore/StoreObjPtr.h>
13#include <framework/database/DBObjPtr.h>
14#include <framework/dbobjects/BunchStructure.h>
15#include <framework/dbobjects/HardwareClockSettings.h>
16#include <svd/dataobjects/SVDShaperDigit.h>
17#include <cdc/dataobjects/CDCHit.h>
18#include <ecl/dataobjects/ECLDigit.h>
19#include <mdst/dataobjects/TRGSummary.h>
20#include <mdst/dataobjects/SoftwareTriggerResult.h>
21#include <mdst/dataobjects/EventLevelTriggerTimeInfo.h>
33 namespace SoftwareTrigger {
47 void event()
override;
150 std::vector<std::string>
m_param_overviewModuleList = {
"Sum_Wait",
"Sum_Initialization",
"Sum_Unpackers",
"Sum_EventsofDoomBuster",
"Sum_Clustering",
"Sum_Prefilter_Tracking",
"Sum_Posttracking_Reconstruction",
"Sum_HLT_Filter_Calculation",
"Sum_HLT_DQM_before_filter",
"Sum_HLT_Discard",
"Sum_Postfilter_Reconstruction",
"Sum_HLT_Skim_Calculation",
"Sum_ROI_Finder",
"Sum_HLT_DQM_filtered",
"Sum_ROI_Payload_Assembler",
"Sum_HLT_DQM_all_events",
"Sum_Close_Event"};
153 std::vector<std::string>
m_summaryModuleList = {
"Sum_Initialization",
"Sum_Unpackers",
"Sum_EventsofDoomBuster",
"Sum_Clustering",
"Sum_Prefilter_Tracking",
"Sum_Posttracking_Reconstruction",
"Sum_HLT_Filter_Calculation",
"Sum_HLT_DQM_before_filter",
"Sum_HLT_Discard",
"Sum_Postfilter_Reconstruction",
"Sum_HLT_Skim_Calculation",
"Sum_ROI_Finder",
"Sum_HLT_DQM_filtered",
"Sum_ROI_Payload_Assembler",
"Sum_HLT_DQM_all_events",
"Sum_Close_Event"};
Class for accessing objects in the database.
HistoModule.h is supposed to be used instead of Module.h for the modules with histogram definitions t...
Module for Event Time Statistics DQM plots.
std::map< std::string, TH1F * > m_moduleTimeHistograms
Time distribution of certain modules.
const double m_nSVDShaperDigitsNBins
Number of bins for the histograms of nSVDShaperDigits.
TH1F * m_fullMemoryHistogram
Total memory usage distribution of all events.
const double m_processingTimeNBins
Number of bins for the histograms of processingTime.
StoreObjPtr< EventLevelTriggerTimeInfo > m_TTDInfo
Store array object for injection time info.
TH1F * m_meanTimeHistogram
Mean time of certain modules.
TH1F * m_processingTimeNotPassiveVetoTimingCut
Processing time distribution of events not passing passive injection veto and retained after HLTprefi...
std::map< unsigned int, double > m_lastProcessingTimeSumPerUnit
Storage for the last processing time sum per unit.
int m_hlt_unit
Store HLT unit number on initialization.
const double m_processingTimeMax
Maximum for the histograms of processingTime.
std::map< unsigned int, TH1F * > m_processingTimePerUnitHistograms
Processing time distribution of events per unit.
void initialize() override
Define the histograms.
DBObjPtr< HardwareClockSettings > m_clockSettings
Define object for HardwareClockSettings class.
void event() override
Full the histograms.
double m_lastProcessingTimeSum
Storage for the last processing time sum.
const double m_nECLDigitsMax
Maximum for the histograms of nECLDigits.
StoreObjPtr< SoftwareTriggerResult > m_triggerResult
TRG result.
TH2F * m_procTimeVsnCDCHitsNotPassiveVeto
Processing time vs nCDCHits distribution of events not passing passive injection veto.
TH2F * m_procTimeVsnSVDShaperDigitsPassiveVeto
Processing time vs nSVDShaperDigits distribution of events passing passive injection veto.
TH1F * m_processingTimeNotPassiveVeto
Processing time distribution of events not passing passive injection veto.
TH2F * m_procTimeVsnCDCHitsPassiveVeto
Processing time vs nCDCHits distribution of events passing passive injection veto.
const double m_fullMemoryMax
Maximum for the histograms of fullMemory.
StoreObjPtr< TRGSummary > m_trgSummary
TRG Summary.
std::vector< std::string > m_param_overviewModuleList
Parameter: which modules should be shown in the overview list.
TH1F * m_fullTimeMeanPerUnitHistogram
Mean budget time of events per unit.
TH2F * m_procTimeVsnECLDigitsNotPassiveVeto
Processing time vs nECLDigits distribution of events not passing passive injection veto.
StoreArray< ECLDigit > m_eclDigits
ECL Digits.
const double m_fullTimeNBins
Number of bins for the histograms of fullTime.
TH2F * m_procTimeVsnSVDShaperDigitsNotPassiveVeto
Processing time vs nSVDShaperDigits distribution of events not passing passive injection veto.
StoreArray< SVDShaperDigit > m_svdShaperDigits
SVD strips.
TH1F * m_processingTimeHistogram
Processing time distribution of all events.
TH1F * m_processingTimeNotPassiveVetoCDCECLCut
Processing time distribution of events not passing passive injection veto and retained after HLTprefi...
std::map< std::string, double > m_lastModuleTimeSum
Storage for the last time sum of certain modules.
void beginRun() override
Reset histogram entries.
TH1F * m_processingTimeMeanPerUnitHistogram
Mean processing time of events per unit.
TH1F * m_meanMemoryHistogram
Mean memory of certain modules.
DBObjPtr< BunchStructure > m_bunchStructure
Define object for BunchStructure class.
bool m_param_create_hlt_unit_histograms
Parameter: Create HLT unit number histograms?
std::map< unsigned int, double > m_lastFullTimeSumPerUnit
Storage for the last full time sum per unit.
const double m_nSVDShaperDigitsMax
Maximum for the histograms of nSVDShaperDigits.
double m_lastFullTimeSum
Storage for the last full time sum.
const double m_nCDCHitsNBins
Number of bins for the histograms of nCDCHits.
std::map< unsigned int, TH1F * > m_fullTimePerUnitHistograms
Budget time distribution of events per unit.
TH1F * m_processingTimePassiveVeto
Processing time distribution of events passing passive injection veto.
const double m_fullTimeMax
Maximum for the histograms of fullTime.
StoreArray< CDCHit > m_cdcHits
CDC Hits.
std::string m_param_histogramDirectoryName
Parameter: Directory to put the generated histograms.
std::vector< std::string > m_summaryModuleList
Summary modules of the actual processing.
const double m_nCDCHitsMax
Maximum for the histograms of nCDCHits.
std::map< std::string, TH1F * > m_moduleMemoryHistograms
Memory distribution of certain modules.
const double m_fullMemoryNBins
Number of bins for the histograms of fullMemory.
const double m_nECLDigitsNBins
Number of bins for the histograms of nECLDigits.
TH2F * m_procTimeVsnECLDigitsPassiveVeto
Processing time vs nECLDigits distribution of events passing passive injection veto.
TH2F * m_TimeSinceLastInjectionVsTimeInBeamCycle
Histogram to monitor injection strip.
TH1F * m_fullTimeHistogram
Budget time distribution of all events.
TH1F * m_processesPerUnitHistogram
Number of processes per unit.
std::map< unsigned int, TH1F * > m_fullMemoryPerUnitHistograms
Total memory distribution of events per unit.
StatisticsTimingHLTDQMModule()
Constructor for module parameters.
void defineHisto() override
Histogram definition.
Accessor to arrays stored in the data store.
Type-safe access to single objects in the data store.
Abstract base class for different kinds of events.