Belle II Software  release-06-00-14
DQMHistInjectionModule Class Reference

DQM Histogram Analysis for PXD Efficiency. More...

#include <DQMHistInjection.h>

Inheritance diagram for DQMHistInjectionModule:
Collaboration diagram for DQMHistInjectionModule:

Public Types

enum  EParamType {
  c_ParamINT ,
  c_ParamFLOAT ,
  c_ParamTEXT
}
 The enumeration types for the module parameters. More...
 
typedef std::map< std::string, EParamTypeParamTypeList
 The type of list of module parameter types.
 
typedef std::map< std::string, int > IntValueList
 The type of list of integer module parameter.
 
typedef std::map< std::string, float > FloatValueList
 The type of list of float module parameter.
 
typedef std::map< std::string, std::string > TextList
 The type of list of string module parameter.
 
typedef std::map< std::string, TH1 * > HistList
 The type of list of histograms.
 
typedef std::map< std::string, MonitoringObject * > MonObjList
 The type of list of MonitoringObjects.
 
enum  EModulePropFlags {
  c_Input = 1 ,
  c_Output = 2 ,
  c_ParallelProcessingCertified = 4 ,
  c_HistogramManager = 8 ,
  c_InternalSerializer = 16 ,
  c_TerminateInAllProcesses = 32 ,
  c_DontCollectStatistics = 64
}
 Each module can be tagged with property flags, which indicate certain features of the module. More...
 
typedef ModuleCondition::EAfterConditionPath EAfterConditionPath
 Forward the EAfterConditionPath definition from the ModuleCondition.
 

Public Member Functions

 DQMHistInjectionModule ()
 Constructor.
 
 ~DQMHistInjectionModule ()
 Destructor.
 
TCanvas * find_canvas (TString cname)
 Find canvas by name. More...
 
virtual std::vector< std::string > getFileNames (bool outputFiles)
 Return a list of output filenames for this modules. More...
 
virtual void endRun ()
 This method is called if the current run ends. More...
 
const std::string & getName () const
 Returns the name of the module. More...
 
const std::string & getType () const
 Returns the type of the module (i.e. More...
 
const std::string & getPackage () const
 Returns the package this module is in.
 
const std::string & getDescription () const
 Returns the description of the module.
 
void setName (const std::string &name)
 Set the name of the module. More...
 
void setPropertyFlags (unsigned int propertyFlags)
 Sets the flags for the module properties. More...
 
LogConfiggetLogConfig ()
 Returns the log system configuration.
 
void setLogConfig (const LogConfig &logConfig)
 Set the log system configuration.
 
void setLogLevel (int logLevel)
 Configure the log level.
 
void setDebugLevel (int debugLevel)
 Configure the debug messaging level.
 
void setAbortLevel (int abortLevel)
 Configure the abort log level.
 
void setLogInfo (int logLevel, unsigned int logInfo)
 Configure the printed log information for the given level. More...
 
void if_value (const std::string &expression, const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 Add a condition to the module. More...
 
void if_false (const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 A simplified version to add a condition to the module. More...
 
void if_true (const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 A simplified version to set the condition of the module. More...
 
bool hasCondition () const
 Returns true if at least one condition was set for the module.
 
const ModuleConditiongetCondition () const
 Return a pointer to the first condition (or nullptr, if none was set)
 
const std::vector< ModuleCondition > & getAllConditions () const
 Return all set conditions for this module.
 
bool evalCondition () const
 If at least one condition was set, it is evaluated and true returned if at least one condition returns true. More...
 
std::shared_ptr< PathgetConditionPath () const
 Returns the path of the last true condition (if there is at least one, else reaturn a null pointer). More...
 
Module::EAfterConditionPath getAfterConditionPath () const
 What to do after the conditional path is finished. More...
 
std::vector< std::shared_ptr< Path > > getAllConditionPaths () const
 Return all condition paths currently set (no matter if the condition is true or not).
 
bool hasProperties (unsigned int propertyFlags) const
 Returns true if all specified property flags are available in this module. More...
 
bool hasUnsetForcedParams () const
 Returns true and prints error message if the module has unset parameters which the user has to set in the steering file.
 
const ModuleParamListgetParamList () const
 Return module param list.
 
template<typename T >
ModuleParam< T > & getParam (const std::string &name) const
 Returns a reference to a parameter. More...
 
bool hasReturnValue () const
 Return true if this module has a valid return value set.
 
int getReturnValue () const
 Return the return value set by this module. More...
 
std::shared_ptr< PathElementclone () const override
 Create an independent copy of this module. More...
 
std::shared_ptr< boost::python::list > getParamInfoListPython () const
 Returns a python list of all parameters. More...
 

Static Public Member Functions

static const HistListgetHistList ()
 Get the list of the histograms. More...
 
static const MonObjListgetMonObjList ()
 Get the list of MonitoringObjects. More...
 
static TH1 * findHist (const std::string &histname)
 Find histogram. More...
 
static TH1 * findHist (const std::string &dirname, const std::string &histname)
 Find histogram. More...
 
static TH1 * findHist (const TDirectory *histdir, const TString &histname)
 Find histogram. More...
 
static MonitoringObjectfindMonitoringObject (const std::string &objName)
 Find MonitoringObject. More...
 
static void setIntValue (const std::string &parname, int vint)
 Set the integer value of the parameter. More...
 
static void setFloatValue (const std::string &parname, float vfloat)
 Set the float value of the parameter. More...
 
static void setText (const std::string &parname, const std::string &text)
 Set the string value of the parameter. More...
 
static void addHist (const std::string &dirname, const std::string &histname, TH1 *h)
 Add histogram. More...
 
static MonitoringObjectgetMonitoringObject (const std::string &histname)
 Get MonitoringObject with given name (new object is created if non-existing) More...
 
static void resetHist ()
 Clear and reset the list of histograms.
 
static HistListgetHists ()
 Get the list of histograms. More...
 
static ParamTypeListgetParNames ()
 Get the list of the names and types of the parameters. More...
 
static IntValueListgetIntValues ()
 Get the list of integer parameters. More...
 
static FloatValueListgetFloatValues ()
 Get the list of float parameters. More...
 
static TextListgetTexts ()
 Get the list of string parameters. More...
 
static void exposePythonAPI ()
 Exposes methods of the Module class to Python.
 

Protected Member Functions

virtual void def_initialize ()
 Wrappers to make the methods without "def_" prefix callable from Python. More...
 
virtual void def_beginRun ()
 Wrapper method for the virtual function beginRun() that has the implementation to be used in a call from Python.
 
virtual void def_event ()
 Wrapper method for the virtual function event() that has the implementation to be used in a call from Python.
 
virtual void def_endRun ()
 This method can receive that the current run ends as a call from the Python side. More...
 
virtual void def_terminate ()
 Wrapper method for the virtual function terminate() that has the implementation to be used in a call from Python.
 
void setDescription (const std::string &description)
 Sets the description of the module. More...
 
void setType (const std::string &type)
 Set the module type. More...
 
template<typename T >
void addParam (const std::string &name, T &paramVariable, const std::string &description, const T &defaultValue)
 Adds a new parameter to the module. More...
 
template<typename T >
void addParam (const std::string &name, T &paramVariable, const std::string &description)
 Adds a new enforced parameter to the module. More...
 
void setReturnValue (int value)
 Sets the return value for this module as integer. More...
 
void setReturnValue (bool value)
 Sets the return value for this module as bool. More...
 
void setParamList (const ModuleParamList &params)
 Replace existing parameter list.
 

Private Member Functions

void initialize (void) override final
 Module functions to be called from main process.
 
void beginRun (void) override final
 Module functions to be called from event process.
 
void event (void) override final
 This method is the core of the module. More...
 
void terminate (void) override final
 This method is called at the end of the event processing. More...
 
void cleanPVs (void)
 Clean up PVs.
 
std::list< ModulePtrgetModules () const override
 no submodules, return empty list
 
std::string getPathString () const override
 return the module name.
 
void setParamPython (const std::string &name, const boost::python::object &pyObj)
 Implements a method for setting boost::python objects. More...
 
void setParamPythonDict (const boost::python::dict &dictionary)
 Implements a method for reading the parameter values from a boost::python dictionary. More...
 

Private Attributes

std::string m_histogramDirectoryName
 name of histogram directory
 
std::string m_pvPrefix
 prefix for EPICS PVs
 
bool m_useEpics
 whether to use EPICs
 
TH1F * m_hInjectionLERPXD = nullptr
 PXD Hits.
 
TCanvas * m_cInjectionLERPXD = nullptr
 Final Canvas.
 
TH1F * m_hInjectionLERPXDOcc = nullptr
 PXD Occ norm.
 
TCanvas * m_cInjectionLERPXDOcc = nullptr
 Final Canvas.
 
TH1F * m_hInjectionLERSVD = nullptr
 SVD Hits.
 
TCanvas * m_cInjectionLERSVD = nullptr
 Final Canvas.
 
TH1F * m_hInjectionLERSVDOcc = nullptr
 SVD Occ norm.
 
TCanvas * m_cInjectionLERSVDOcc = nullptr
 Final Canvas.
 
TH1F * m_hInjectionLERECL = nullptr
 ECL Hits.
 
TCanvas * m_cInjectionLERECL = nullptr
 Final Canvas.
 
TH1F * m_hBurstLERECL = nullptr
 ECL Bursts.
 
TCanvas * m_cBurstLERECL = nullptr
 Final Canvas.
 
TH1F * m_hInjectionLERTOP = nullptr
 TOP Occ.
 
TCanvas * m_cInjectionLERTOP = nullptr
 Final Canvas.
 
TH1F * m_hInjectionLERARICH = nullptr
 ARICH Occ.
 
TCanvas * m_cInjectionLERARICH = nullptr
 Final Canvas.
 
TH1F * m_hInjectionLERKLM = nullptr
 KLM occupancy after LER injection.
 
TCanvas * m_cInjectionLERKLM = nullptr
 Canvas for KLM occupancy after LER injection.
 
TH1F * m_hInjectionHERPXD = nullptr
 PXD Hits.
 
TCanvas * m_cInjectionHERPXD = nullptr
 Final Canvas.
 
TH1F * m_hInjectionHERPXDOcc = nullptr
 PXD Occ norm.
 
TCanvas * m_cInjectionHERPXDOcc = nullptr
 Final Canvas.
 
TH1F * m_hInjectionHERSVD = nullptr
 SVD Hits.
 
TCanvas * m_cInjectionHERSVD = nullptr
 Final Canvas.
 
TH1F * m_hInjectionHERSVDOcc = nullptr
 SVD Occ norm.
 
TCanvas * m_cInjectionHERSVDOcc = nullptr
 Final Canvas.
 
TH1F * m_hInjectionHERECL = nullptr
 ECL Hits.
 
TCanvas * m_cInjectionHERECL = nullptr
 Final Canvas.
 
TH1F * m_hBurstHERECL = nullptr
 ECL Bursts.
 
TCanvas * m_cBurstHERECL = nullptr
 Final Canvas.
 
TH1F * m_hInjectionHERTOP = nullptr
 TOP Occ.
 
TCanvas * m_cInjectionHERTOP = nullptr
 Final Canvas.
 
TH1F * m_hInjectionHERARICH = nullptr
 ARICH Occ.
 
TCanvas * m_cInjectionHERARICH = nullptr
 Final Canvas.
 
TH1F * m_hInjectionHERKLM = nullptr
 KLM occupancy after HER injection.
 
TCanvas * m_cInjectionHERKLM = nullptr
 Canvas for KLM occupancy after HER injection.
 
std::string m_name
 The name of the module, saved as a string (user-modifiable)
 
std::string m_type
 The type of the module, saved as a string.
 
std::string m_package
 Package this module is found in (may be empty).
 
std::string m_description
 The description of the module.
 
unsigned int m_propertyFlags
 The properties of the module as bitwise or (with |) of EModulePropFlags.
 
LogConfig m_logConfig
 The log system configuration of the module.
 
ModuleParamList m_moduleParamList
 List storing and managing all parameter of the module.
 
bool m_hasReturnValue
 True, if the return value is set.
 
int m_returnValue
 The return value.
 
std::vector< ModuleConditionm_conditions
 Module condition, only non-null if set.
 

Static Private Attributes

static ParamTypeList g_parname
 The list of module parameter types.
 
static IntValueList g_vint
 The list of integer module parameter.
 
static FloatValueList g_vfloat
 The list of float module parameter.
 
static TextList g_text
 The list of string module parameter.
 
static HistList g_hist
 The list of histograms.
 
static MonObjList g_monObj
 The list of MonitoringObjects.
 

Detailed Description

DQM Histogram Analysis for PXD Efficiency.

Definition at line 32 of file DQMHistInjection.h.

Member Enumeration Documentation

◆ EModulePropFlags

enum EModulePropFlags
inherited

Each module can be tagged with property flags, which indicate certain features of the module.

Enumerator
c_Input 

This module is an input module (reads data).

c_Output 

This module is an output module (writes data).

c_ParallelProcessingCertified 

This module can be run in parallel processing mode safely (All I/O must be done through the data store, in particular, the module must not write any files.)

c_HistogramManager 

This module is used to manage histograms accumulated by other modules.

c_InternalSerializer 

This module is an internal serializer/deserializer for parallel processing.

c_TerminateInAllProcesses 

When using parallel processing, call this module's terminate() function in all processes().

This will also ensure that there is exactly one process (single-core if no parallel modules found) or at least one input, one main and one output process.

c_DontCollectStatistics 

No statistics is collected for this module.

Definition at line 77 of file Module.h.

◆ EParamType

enum EParamType
inherited

The enumeration types for the module parameters.

Enumerator
c_ParamINT 

The integer type for module parameter.

c_ParamFLOAT 

The float type for module parameter.

c_ParamTEXT 

The string type for module parameter.

Definition at line 37 of file DQMHistAnalysis.h.

Member Function Documentation

◆ addHist()

void addHist ( const std::string &  dirname,
const std::string &  histname,
TH1 *  h 
)
staticinherited

Add histogram.

Parameters
dirnameThe name of the directory.
histnameThe name of the histogram.
hThe TH1 pointer for the histogram.

Definition at line 64 of file DQMHistAnalysis.cc.

◆ clone()

std::shared_ptr< PathElement > clone ( ) const
overridevirtualinherited

Create an independent copy of this module.

Note that parameters are shared, so changing them on a cloned module will also affect the original module.

Implements PathElement.

Definition at line 179 of file Module.cc.

◆ def_endRun()

virtual void def_endRun ( )
inlineprotectedvirtualinherited

This method can receive that the current run ends as a call from the Python side.

For regular C++-Modules that forwards the call to the regular endRun() method.

Reimplemented in PyModule.

Definition at line 439 of file Module.h.

◆ def_initialize()

virtual void def_initialize ( )
inlineprotectedvirtualinherited

Wrappers to make the methods without "def_" prefix callable from Python.

Overridden in PyModule. Wrapper method for the virtual function initialize() that has the implementation to be used in a call from Python.

Reimplemented in PyModule.

Definition at line 420 of file Module.h.

◆ endRun()

virtual void endRun ( void  )
inlinevirtualinherited

This method is called if the current run ends.

Use this method to store information, which should be aggregated over one run.

This method can be implemented by subclasses.

Reimplemented in DQMHistOutputToEPICSModule, DQMHistAnalysisRooFitExampleModule, DQMHistAnalysisPXDTrackChargeModule, DQMHistAnalysisPXDChargeModule, vxdDigitMaskingModule, TrackSetEvaluatorHopfieldNNDEVModule, SVDUnpackerDQMModule, PyModule, DQMHistComparitorModule, DQMHistAnalysisSVDDoseModule, DQMHistAnalysisPXDFitsModule, DQMHistAnalysisPXDERModule, DQMHistAnalysisInputRootFileModule, DQMHistAnalysisExampleFlagsModule, DQMHistAnalysisEpicsExampleModule, TRGRAWDATAModule, TRGTOPUnpackerModule, TRGTOPDQMModule, KLMTriggerModule, TRGGRLUnpackerModule, TRGGRLDQMModule, TRGGRLProjectsModule, TRGGRLModule, TRGGRLMatchModule, TRGGDLUnpackerModule, TRGGDLSummaryModule, TRGGDLDSTModule, TRGGDLDQMModule, TRGGDLModule, TRGECLUnpackerModule, TRGECLTimingCalModule, TRGECLRawdataAnalysisModule, TRGECLQAMModule, TRGECLDQMModule, TRGECLBGTCHitModule, TRGECLModule, TRGECLFAMModule, MCMatcherTRGECLModule, TRGCDCTSStreamModule, TRGCDCTSFUnpackerModule, TRGCDCTSFDQMModule, TRGCDCT3DUnpackerModule, TRGCDCT3DDQMModule, TRGCDCT3DConverterModule, TRGCDCT2DDQMModule, TRGCDCETFUnpackerModule, TRGCDCModule, CDCTriggerNDFinderModule, CDCTriggerNeuroDQMModule, FindletModule< AFindlet >, FindletModule< TrackFinderAutomaton >, FindletModule< FacetCreator >, FindletModule< CKFToCDCFromEclFindlet >, FindletModule< AxialTrackCreatorMCTruth >, FindletModule< AxialStraightTrackFinder >, FindletModule< CKFToCDCFindlet >, FindletModule< CKFToSVDSeedFindlet >, FindletModule< SegmentLinker >, FindletModule< TrackCreatorSegmentTripleAutomaton >, FindletModule< TrackCreatorSegmentPairAutomaton >, FindletModule< SegmentOrienter >, FindletModule< SegmentCreatorFacetAutomaton >, FindletModule< TrackFinderSegmentTripleAutomaton >, FindletModule< SegmentFinderFacetAutomaton >, FindletModule< CKFToSVDFindlet >, FindletModule< TrackRejecter >, FindletModule< SegmentCreatorMCTruth >, FindletModule< TrackFinderCosmics >, FindletModule< TrackExporter >, FindletModule< SuperClusterCreator >, FindletModule< AsicBackgroundLibraryCreator >, FindletModule< HitBasedT0Extractor >, FindletModule< TrackFinderSegmentPairAutomaton >, FindletModule< ClusterPreparer >, FindletModule< AxialTrackFinderHough >, FindletModule< CosmicsTrackMergerFindlet >, FindletModule< TrackOrienter >, FindletModule< TrackLinker >, FindletModule< vxdHoughTracking::VXDHoughTracking >, FindletModule< TrackFinder >, FindletModule< SegmentPairCreator >, FindletModule< MonopoleAxialTrackFinderLegendre >, FindletModule< HitReclaimer >, FindletModule< ClusterRefiner< BridgingWireHitRelationFilter > >, FindletModule< AxialTrackFinderLegendre >, FindletModule< AxialTrackCreatorSegmentHough >, FindletModule< TrackQualityEstimator >, FindletModule< StereoHitFinder >, FindletModule< CKFToPXDFindlet >, FindletModule< WireHitPreparer >, FindletModule< TrackFlightTimeAdjuster >, FindletModule< TrackCreatorSingleSegments >, FindletModule< SegmentRejecter >, FindletModule< SegmentFitter >, FindletModule< SegmentTripleCreator >, FindletModule< SegmentTrackCombiner >, FindletModule< MCVXDCDCTrackMergerFindlet >, FindletModule< TrackCombiner >, FindletModule< MonopoleStereoHitFinder >, FindletModule< DATCONFPGAFindlet >, FindletModule< WireHitBackgroundDetector >, FindletModule< AxialSegmentPairCreator >, FindletModule< WireHitCreator >, FindletModule< TrackQualityAsserter >, FindletModule< MonopoleStereoHitFinderQuadratic >, FindletModule< ClusterBackgroundDetector >, FindletModule< CDCTrackingEventLevelMdstInfoFillerFindlet >, VXDTFTrainingDataCollectorModule, SectorMapBootstrapModule, NoKickCutsEvalModule, VXDSimpleClusterizerModule, TrackFinderVXDAnalizerModule, SecMapTrainerVXDTFModule, SecMapTrainerBaseModule, V0findingPerformanceEvaluationModule, TrackingPerformanceEvaluationModule, HitXPModule, EffPlotsModule, TrackFinderMCTruthRecoTracksModule, SVDROIFinderModule, SVDROIFinderAnalysisModule, SVDROIDQMModule, SPTCvirtualIPRemoverModule, SPTCmomentumSeedRetrieverModule, RT2SPTCConverterModule, PXDROIFinderModule, MuidModule, MCTrackCandClassifierModule, MCV0MatcherModule, GenfitVisModule, ExtModule, TOPXTalkChargeShareSetterModule, TOPWaveformQualityPlotterModule, TOPWaveformFeatureExtractorModule, TOPUnpackerModule, TOPTimeBaseCalibratorModule, TOPTBCComparatorModule, TOPRawDigitConverterModule, TOPPackerModule, TOPNtupleModule, TOPMCTrackMakerModule, TOPLaserCalibratorModule, TOPInterimFENtupleModule, TOPLaserHitSelectorModule, TOPGainEfficiencyCalculatorModule, TOPDQMModule, TOPDoublePulseGeneratorModule, TOPTriggerDigitizerModule, TOPChannelT0MCModule, TOPBackgroundModule, OpticalGunModule, SVDUnpackerModule, SVDTriggerQualityGeneratorModule, SVD3SamplesEmulatorModule, SVDRecoDigitCreatorModule, SVDDataFormatCheckModule, SVDCoGTimeEstimatorModule, SVDClusterizerModule, SVDShaperDigitsFromTracksModule, SVDPerformanceModule, SVDOccupancyAnalysisModule, SVDClusterFilterModule, SVDClusterEvaluationTrueInfoModule, SVDClusterEvaluationModule, SVDB4CommissioningPlotsModule, SVDPackerModule, svdDumpModule, SVDTimeCalibrationsMonitorModule, SVDPositionErrorScaleFactorImporterModule, SVDLocalCalibrationsMonitorModule, SVDLatencyCalibrationModule, SVDHotStripFinderModule, SVDClusterCalibrationsMonitorModule, SVDBackgroundModule, FullSimModule, PIDNtupleModule, MdstPIDModule, KlongValidationModule, DataWriterModule, EventT0DQMModule, CDCDedxValidationModule, CDCDedxDQMModule, Root2BinaryModule, PrintEventRateModule, PrintDataModule, Convert2RawDetModule, PXDPerformanceModule, PXDClustersFromTracksModule, PXDBackgroundModule, AWESOMEBasicModule, MCMatcherKLMClustersModule, KLMUnpackerModule, KLMReconstructorModule, KLMPackerModule, KLMDQMModule, KLMDigitizerModule, KLMClustersReconstructorModule, KLMClusterEfficiencyModule, EKLMDataCheckerModule, EKLMADCModule, BKLMTrackingModule, BKLMSimHistogrammerModule, BKLMDigitAnalyzerModule, BKLMAnaModule, OverrideGenerationFlagsModule, EvtGenDecayModule, TxModule, RxModule, SeqRootOutputModule, SeqRootInputModule, StatisticsSummaryModule, HistoManagerModule, RandomBarrierModule, EventInfoPrinterModule, SwitchDataStoreModule, SubEventModule, HistoModule, MCMatcherECLClustersModule, ECLWaveformFitModule, ECLUnpackerModule, ECLSplitterN2Module, ECLSplitterN1Module, ECLShowerShapeModule, ECLShowerCorrectorModule, ECLShowerCalibratorModule, ECLPackerModule, ECLLocalRunCalibratorModule, ECLLocalMaximumFinderModule, ECLHitDebugModule, ECLFinalizerModule, ECLDQMEXTENDEDModule, ECLDQMModule, EclDisplayModule, ECLDigitizerPureCsIModule, ECLDigitizerModule, ECLDigitCalibratorModule, ECLDataAnalysisModule, ECLCRFinderModule, ECLCovarianceMatrixModule, ECLClusterPSDModule, ECLChargedPIDDataAnalysisValidationModule, ECLChargedPIDDataAnalysisModule, ECLChargedPIDModule, ECLBackgroundModule, PhysicsObjectsMiraBelleModule, PhysicsObjectsMiraBelleDstModule, PhysicsObjectsMiraBelleDst2Module, PhysicsObjectsDQMModule, IPDQMExpressRecoModule, DQMHistSnapshotsModule, DQMHistDeltaHistoModule, DQMHistAnalysisTRGGDLModule, DQMHistAnalysisTOPModule, DQMHistAnalysisSVDOnMiraBelleModule, DQMHistAnalysisSVDGeneralModule, DQMHistAnalysisSVDEfficiencyModule, DQMHistAnalysisPlotOnlyModule, DQMHistAnalysisOutputRelayMsgModule, DQMHistAnalysisOutputNSMModule, DQMHistAnalysisOutputMonObjModule, DQMHistAnalysisOutputFileModule, DQMHistAnalysisOutputModule, DQMHistAnalysisMonObjModule, DQMHistAnalysisMiraBelleModule, DQMHistAnalysisKLMModule, DQMHistAnalysisInputSrvModule, DQMHistAnalysisInputPVSrvModule, DQMHistAnalysisInputModule, DQMHistAnalysisHLTMonObjModule, DQMHistAnalysisExampleModule, DQMHistAnalysisEventT0Module, DQMHistAnalysisECLModule, DQMHistAnalysisCDCMonObjModule, DQMHistAnalysisCDCDedxModule, DQMHistAnalysisARICHMonObjModule, DQMHistAnalysisARICHModule, HLTDs2ZMQModule, HLTDQM2ZMQModule, CDCUnpackerModule, CDCRecoTrackFilterModule, CDCPackerModule, CDCDQMModule, cdcDQM7Module, CDCCRTestModule, CDCCosmicAnalysisModule, QcsmonitorStudyModule, QcsmonitorDigitizerModule, PlumeDigitizerModule, PindiodeStudyModule, PinDigitizerModule, TPCStudyModule, TpcDigitizerModule, MicrotpcStudyModule, He3tubeStudyModule, He3DigitizerModule, FANGSStudyModule, FANGSDigitizerModule, DosiStudyModule, DosiDigitizerModule, CsIStudyModule, CsiStudy_v2Module, CsiModule, CsIDigitizerModule, CsiDigitizer_v2Module, ClawsStudyModule, ClawsDigitizerModule, ClawStudyModule, ClawDigitizerModule, BgoStudyModule, BgoDigitizerModule, BeamDigitizerModule, BeamabortStudyModule, ReprocessorModule, NtuplePhase1_v6Module, AnalysisPhase1StudyModule, BGOverlayInputModule, BeamBkgTagSetterModule, BeamBkgMixerModule, BeamBkgHitRateMonitorModule, BeamBkgGeneratorModule, BelleMCOutputModule, B2BIIMdstInputModule, B2BIIConvertMdstModule, B2BIIMCParticlesMonitorModule, ARICHUnpackerModule, ARICHRelateModule, ARICHReconstructorModule, ARICHRawUnpackerModule, ARICHRateCalModule, ARICHPackerModule, ARICHNtupleModule, ARICHMCParticlesModule, ARICHFillHitsModule, ARICHDQMModule, ARICHDigitizerModule, arichBtestModule, CurlTaggerModule, CosmicsAlignmentValidationModule, AlignDQMModule, CalibrationCollectorModule, StorageSerializerModule, StorageDeserializerModule, SeqRootMergerModule, PartialSeqRootReaderModule, Ds2RawFileModule, Rbuf2RbufModule, Rbuf2DsModule, RawInputModule, Raw2DsModule, FastRbuf2DsModule, EvReductionModule, Ds2RbufModule, Ds2RawModule, CertifyParallelModule, SerializerModule, Root2RawModule, MonitorDataCOPPERModule, GenRawSendModule, DeSerializerPXDModule, ElapsedTimeModule, ReceiveEventModule, GetEventFromSocketModule, Ds2SampleModule, TrackAnaModule, MonitorDataModule, DqmHistoManagerModule, TxSocketModule, RxSocketModule, DAQPerfModule, SrsensorModule, QcsmonitorModule, PlumeModule, PindiodeModule, Ph1sustrModule, Ph1bpipeModule, MicrotpcModule, He3tubeModule, FANGSModule, DosiModule, CLAWSModule, ClawModule, CaveModule, BgoModule, BeamabortModule, and ARICHBackgroundModule.

Definition at line 166 of file Module.h.

◆ evalCondition()

bool evalCondition ( ) const
inherited

If at least one condition was set, it is evaluated and true returned if at least one condition returns true.

If no condition or result value was defined, the method returns false. Otherwise, the condition is evaluated and true returned, if at least one condition returns true. To speed up the evaluation, the condition strings were already parsed in the method if_value().

Returns
True if at least one condition and return value exists and at least one condition expression was evaluated to true.

Definition at line 96 of file Module.cc.

◆ event()

void event ( void  )
finaloverrideprivatevirtual

This method is the core of the module.

This method is called for each event. All processing of the event has to take place in this method.

This method can be implemented by subclasses.

Reimplemented from Module.

Definition at line 164 of file DQMHistInjection.cc.

165 {
166  TH1* Hits = nullptr, *Triggers = nullptr;
167  TString locationHits = "";
168  TString locationTriggers = "";
169  //PXD
170  m_histogramDirectoryName = "PXDINJ";
171 
172  locationHits = "PXDOccInjLER";
173  if (m_histogramDirectoryName != "") {
174  locationHits = m_histogramDirectoryName + "/" + locationHits;
175  }
176  Hits = (TH1*)findHist(locationHits.Data());
177  locationTriggers = "PXDEOccInjLER";
178  if (m_histogramDirectoryName != "") {
179  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
180  }
181  Triggers = (TH1*)findHist(locationTriggers.Data());
182 
183  //Finding only one of them should only happen in very strange situations...
184  //m_nodes[0].histo = Triggers;
185  if (Hits && Triggers) {
186  m_hInjectionLERPXD->Divide(Hits, Triggers);
187  m_hInjectionLERPXDOcc->Divide(Hits, Triggers, 100, 768 * 250); // to percent
188  }
189 
190  m_cInjectionLERPXD->Clear();
191  m_cInjectionLERPXD->cd(0);
192  m_hInjectionLERPXD->Draw("hist");
193 
194  m_cInjectionLERPXDOcc->Clear();
195  m_cInjectionLERPXDOcc->cd(0);
196  m_hInjectionLERPXDOcc->Draw("hist");
197 
198  locationHits = "PXDOccInjHER";
199  if (m_histogramDirectoryName != "") {
200  locationHits = m_histogramDirectoryName + "/" + locationHits;
201  }
202  Hits = (TH1*)findHist(locationHits.Data());
203  locationTriggers = "PXDEOccInjHER";
204  if (m_histogramDirectoryName != "") {
205  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
206  }
207  Triggers = (TH1*)findHist(locationTriggers.Data());
208 
209  //Finding only one of them should only happen in very strange situations...
210  //m_nodes[3].histo = Triggers;
211  if (Hits && Triggers) {
212  m_hInjectionHERPXD->Divide(Hits, Triggers);
213  m_hInjectionHERPXDOcc->Divide(Hits, Triggers, 100, 768 * 250); // to percent
214  }
215 
216  m_cInjectionHERPXD->Clear();
217  m_cInjectionHERPXD->cd(0);
218  m_hInjectionHERPXD->Draw("hist");
219 
220  m_cInjectionHERPXDOcc->Clear();
221  m_cInjectionHERPXDOcc->cd(0);
222  m_hInjectionHERPXDOcc->Draw("hist");
223 
224  //SVD
225  m_histogramDirectoryName = "SVDInjection";
226 
227  locationHits = "SVDOccInjLER";
228  if (m_histogramDirectoryName != "") {
229  locationHits = m_histogramDirectoryName + "/" + locationHits;
230  }
231  Hits = (TH1*)findHist(locationHits.Data());
232  locationTriggers = "SVDTrgOccInjLER";
233  if (m_histogramDirectoryName != "") {
234  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
235  }
236  Triggers = (TH1*)findHist(locationTriggers.Data());
237 
238  //Finding only one of them should only happen in very strange situations...
239  //m_nodes[0].histo = Triggers;
240  if (Hits && Triggers) {
241  m_hInjectionLERSVD->Divide(Hits, Triggers);
242  m_hInjectionLERSVDOcc->Divide(Hits, Triggers, 100, 768 * 7 * 2); // to percent (L3V has 768 strips * 2 * 7 sides)
243  }
244 
245  m_cInjectionLERSVD->Clear();
246  m_cInjectionLERSVD->cd(0);
247  m_hInjectionLERSVD->Draw("hist");
248 
249  m_cInjectionLERSVDOcc->Clear();
250  m_cInjectionLERSVDOcc->cd(0);
251  m_hInjectionLERSVDOcc->Draw("hist");
252 
253  locationHits = "SVDOccInjHER";
254  if (m_histogramDirectoryName != "") {
255  locationHits = m_histogramDirectoryName + "/" + locationHits;
256  }
257  Hits = (TH1*)findHist(locationHits.Data());
258  locationTriggers = "SVDTrgOccInjHER";
259  if (m_histogramDirectoryName != "") {
260  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
261  }
262  Triggers = (TH1*)findHist(locationTriggers.Data());
263 
264  //Finding only one of them should only happen in very strange situations...
265  //m_nodes[3].histo = Triggers;
266  if (Hits && Triggers) {
267  m_hInjectionHERSVD->Divide(Hits, Triggers);
268  m_hInjectionHERSVDOcc->Divide(Hits, Triggers, 100, 768 * 2 * 7); // to percent (L3V has 768 strips * 2 * 7 sides)
269  }
270 
271  m_cInjectionHERSVD->Clear();
272  m_cInjectionHERSVD->cd(0);
273  m_hInjectionHERSVD->Draw("hist");
274 
275  m_cInjectionHERSVDOcc->Clear();
276  m_cInjectionHERSVDOcc->cd(0);
277  m_hInjectionHERSVDOcc->Draw("hist");
278 
279 
280  //ECL
281  m_histogramDirectoryName = "ECLINJ";
282 
283  locationHits = "ECLHitsInjLER";
284  if (m_histogramDirectoryName != "") {
285  locationHits = m_histogramDirectoryName + "/" + locationHits;
286  }
287  Hits = (TH1*)findHist(locationHits.Data());
288  locationTriggers = "ECLEHitsInjLER";
289  if (m_histogramDirectoryName != "") {
290  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
291  }
292  Triggers = (TH1*)findHist(locationTriggers.Data());
293 
294  //Finding only one of them should only happen in very strange situations...
295 #ifdef _BELLE2_EPICS
296  if (m_useEpics) {
297  m_nodes[0].histo = Triggers;
298  }
299 #endif
300  if (Hits && Triggers) {
301  m_hInjectionLERECL->Divide(Hits, Triggers);
302  }
303 
304  m_cInjectionLERECL->Clear();
305  m_cInjectionLERECL->cd(0);
306  m_hInjectionLERECL->Draw("hist");
307 
308  locationHits = "ECLHitsInjHER";
309  if (m_histogramDirectoryName != "") {
310  locationHits = m_histogramDirectoryName + "/" + locationHits;
311  }
312  Hits = (TH1*)findHist(locationHits.Data());
313  locationTriggers = "ECLEHitsInjHER";
314  if (m_histogramDirectoryName != "") {
315  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
316  }
317  Triggers = (TH1*)findHist(locationTriggers.Data());
318 
319  //Finding only one of them should only happen in very strange situations...
320 #ifdef _BELLE2_EPICS
321  if (m_useEpics) {
322  m_nodes[3].histo = Triggers;
323  }
324 #endif
325  if (Hits && Triggers) {
326  m_hInjectionHERECL->Divide(Hits, Triggers);
327  }
328 
329  m_cInjectionHERECL->Clear();
330  m_cInjectionHERECL->cd(0);
331  m_hInjectionHERECL->Draw("hist");
332 // =====
333  locationHits = "ECLBurstsInjLER";
334  if (m_histogramDirectoryName != "") {
335  locationHits = m_histogramDirectoryName + "/" + locationHits;
336  }
337  Hits = (TH1*)findHist(locationHits.Data());
338  locationTriggers = "ECLEBurstsInjLER";
339  if (m_histogramDirectoryName != "") {
340  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
341  }
342  Triggers = (TH1*)findHist(locationTriggers.Data());
343 
344  if (Hits && Triggers) {
345  m_hBurstLERECL->Divide(Hits, Triggers);
346  }
347 
348  m_cBurstLERECL->Clear();
349  m_cBurstLERECL->cd(0);
350  m_hBurstLERECL->Draw("hist");
351 // =====
352 
353  locationHits = "ECLBurstsInjHER";
354  if (m_histogramDirectoryName != "") {
355  locationHits = m_histogramDirectoryName + "/" + locationHits;
356  }
357  Hits = (TH1*)findHist(locationHits.Data());
358  locationTriggers = "ECLEBurstsInjHER";
359  if (m_histogramDirectoryName != "") {
360  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
361  }
362  Triggers = (TH1*)findHist(locationTriggers.Data());
363 
364  if (Hits && Triggers) {
365  m_hBurstHERECL->Divide(Hits, Triggers);
366  }
367 
368  m_cBurstHERECL->Clear();
369  m_cBurstHERECL->cd(0);
370  m_hBurstHERECL->Draw("hist");
371 // =====
372 
373 
374  //TOP
375  m_histogramDirectoryName = "TOP";
376 
377  locationHits = "TOPOccInjLER";
378  if (m_histogramDirectoryName != "") {
379  locationHits = m_histogramDirectoryName + "/" + locationHits;
380  }
381  Hits = (TH1*)findHist(locationHits.Data());
382  locationTriggers = "TOPEOccInjLER";
383  if (m_histogramDirectoryName != "") {
384  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
385  }
386  Triggers = (TH1*)findHist(locationTriggers.Data());
387 
388  if (Hits && Triggers) {
389  m_hInjectionLERTOP->Divide(Hits, Triggers, 100, 8192);
390  }
391 
392  m_cInjectionLERTOP->Clear();
393  m_cInjectionLERTOP->cd(0);
394  m_hInjectionLERTOP->Draw("hist");
395 
396  locationHits = "TOPOccInjHER";
397  if (m_histogramDirectoryName != "") {
398  locationHits = m_histogramDirectoryName + "/" + locationHits;
399  }
400  Hits = (TH1*)findHist(locationHits.Data());
401  locationTriggers = "TOPEOccInjHER";
402  if (m_histogramDirectoryName != "") {
403  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
404  }
405  Triggers = (TH1*)findHist(locationTriggers.Data());
406 
407  if (Hits && Triggers) {
408  m_hInjectionHERTOP->Divide(Hits, Triggers, 100, 8192);
409  }
410 
411  m_cInjectionHERTOP->Clear();
412  m_cInjectionHERTOP->cd(0);
413  m_hInjectionHERTOP->Draw("hist");
414 
415 
416 
417  //ARICH
418  m_histogramDirectoryName = "ARICH";
419 
420  locationHits = "ARICHOccInjLER";
421  if (m_histogramDirectoryName != "") {
422  locationHits = m_histogramDirectoryName + "/" + locationHits;
423  }
424  Hits = (TH1*)findHist(locationHits.Data());
425  locationTriggers = "ARICHEOccInjLER";
426  if (m_histogramDirectoryName != "") {
427  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
428  }
429  Triggers = (TH1*)findHist(locationTriggers.Data());
430 
431  if (Hits && Triggers) {
432  m_hInjectionLERARICH->Divide(Hits, Triggers);
433  }
434 
435  m_cInjectionLERARICH->Clear();
436  m_cInjectionLERARICH->cd(0);
437  m_hInjectionLERARICH->Draw("hist");
438 
439  locationHits = "ARICHOccInjHER";
440  if (m_histogramDirectoryName != "") {
441  locationHits = m_histogramDirectoryName + "/" + locationHits;
442  }
443  Hits = (TH1*)findHist(locationHits.Data());
444  locationTriggers = "ARICHEOccInjHER";
445  if (m_histogramDirectoryName != "") {
446  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
447  }
448  Triggers = (TH1*)findHist(locationTriggers.Data());
449 
450  if (Hits && Triggers) {
451  m_hInjectionHERARICH->Divide(Hits, Triggers);
452  }
453 
454  m_cInjectionHERARICH->Clear();
455  m_cInjectionHERARICH->cd(0);
456  m_hInjectionHERARICH->Draw("hist");
457 
458  // KLM
459  m_histogramDirectoryName = "KLM";
460 
461  locationHits = "KLMOccInjLER";
462  if (m_histogramDirectoryName != "") {
463  locationHits = m_histogramDirectoryName + "/" + locationHits;
464  }
465  Hits = (TH1*)findHist(locationHits.Data());
466  locationTriggers = "KLMTrigInjLER";
467  if (m_histogramDirectoryName != "") {
468  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
469  }
470  Triggers = (TH1*)findHist(locationTriggers.Data());
471 
472  if (Hits && Triggers) {
473  m_hInjectionLERKLM->Divide(Hits, Triggers, 100, KLMElementNumbers::getTotalChannelNumber());
474  }
475 
476  m_cInjectionLERKLM->Clear();
477  m_cInjectionLERKLM->cd(0);
478  m_hInjectionLERKLM->Draw("hist");
479 
480  locationHits = "KLMOccInjHER";
481  if (m_histogramDirectoryName != "") {
482  locationHits = m_histogramDirectoryName + "/" + locationHits;
483  }
484  Hits = (TH1*)findHist(locationHits.Data());
485  locationTriggers = "KLMTrigInjHER";
486  if (m_histogramDirectoryName != "") {
487  locationTriggers = m_histogramDirectoryName + "/" + locationTriggers;
488  }
489  Triggers = (TH1*)findHist(locationTriggers.Data());
490 
491  if (Hits && Triggers) {
492  m_hInjectionHERKLM->Divide(Hits, Triggers, 100, KLMElementNumbers::getTotalChannelNumber());
493  }
494 
495  m_cInjectionHERKLM->Clear();
496  m_cInjectionHERKLM->cd(0);
497  m_hInjectionHERKLM->Draw("hist");
498 
499 #ifdef _BELLE2_EPICS
500  if (m_useEpics) {
501  for (auto& m : m_nodes) {
502  if (!m.mychid) continue;
503  int length = m.data.size();
504  if (length != int(ca_element_count(m.mychid)) && int(ca_element_count(m.mychid)) > 0) {
505  // FIXME, unclear why this is needed to prevent crashes on new run?
506  m.data.resize(int(ca_element_count(m.mychid)), 0.0);
507  length = m.data.size();
508  }
509  if (m.histo && m.histo->GetNcells() > 2 && length > 0 && length == int(ca_element_count(m.mychid))) {
510  // If bin count doesnt match, we loose bins but otherwise ca_array_put will complain
511  // We fill up the array with ZEROs otherwise
512  if (m.histo->GetDimension() == 1) {
513  int i = 0;
514  int nx = m.histo->GetNbinsX() + 1;
515  for (int x = 1; x < nx && i < length ; x++) {
516  m.data[i++] = m.histo->GetBinContent(x);
517  }
518 
519  } else if (m.histo->GetDimension() == 2) {
520  int i = 0;
521  int nx = m.histo->GetNbinsX() + 1;
522  int ny = m.histo->GetNbinsY() + 1;
523  for (int y = 1; y < ny && i < length; y++) {
524  for (int x = 1; x < nx && i < length ; x++) {
525  m.data[i++] = m.histo->GetBinContent(x, y);
526  }
527  }
528  }
529  SEVCHK(ca_array_put(DBR_DOUBLE, length, m.mychid, (void*)m.data.data()), "ca_put failure");
530  } else {
531  B2DEBUG(99, "Inj " << ca_name(m.mychid) << " , " << m.histo << " , " << (m.histo ? m.histo->GetNcells() : 0) << " , " << length <<
532  " , "
533  <<
534  ca_element_count(m.mychid));
535  }
536  }
537  SEVCHK(ca_pend_io(5.0), "ca_pend_io failure");
538  }
539 #endif
540 }
static TH1 * findHist(const std::string &histname)
Find histogram.
TH1F * m_hInjectionLERKLM
KLM occupancy after LER injection.
TCanvas * m_cInjectionLERSVD
Final Canvas.
TCanvas * m_cInjectionLERECL
Final Canvas.
TCanvas * m_cInjectionHERPXDOcc
Final Canvas.
TCanvas * m_cBurstLERECL
Final Canvas.
TCanvas * m_cInjectionHERSVDOcc
Final Canvas.
TCanvas * m_cInjectionLERKLM
Canvas for KLM occupancy after LER injection.
TCanvas * m_cInjectionLERPXDOcc
Final Canvas.
TCanvas * m_cInjectionLERPXD
Final Canvas.
TCanvas * m_cBurstHERECL
Final Canvas.
TCanvas * m_cInjectionHERECL
Final Canvas.
TCanvas * m_cInjectionLERTOP
Final Canvas.
TCanvas * m_cInjectionHERTOP
Final Canvas.
TCanvas * m_cInjectionHERKLM
Canvas for KLM occupancy after HER injection.
std::string m_histogramDirectoryName
name of histogram directory
TH1F * m_hInjectionHERKLM
KLM occupancy after HER injection.
TCanvas * m_cInjectionHERARICH
Final Canvas.
TH1F * m_hInjectionHERSVDOcc
SVD Occ norm.
TCanvas * m_cInjectionLERARICH
Final Canvas.
TH1F * m_hInjectionHERPXDOcc
PXD Occ norm.
bool m_useEpics
whether to use EPICs
TCanvas * m_cInjectionLERSVDOcc
Final Canvas.
TH1F * m_hInjectionLERSVDOcc
SVD Occ norm.
TCanvas * m_cInjectionHERSVD
Final Canvas.
TH1F * m_hInjectionLERPXDOcc
PXD Occ norm.
TCanvas * m_cInjectionHERPXD
Final Canvas.
static constexpr int getTotalChannelNumber()
Get total number of channels.

◆ find_canvas()

TCanvas * find_canvas ( TString  cname)
inherited

Find canvas by name.

Parameters
cnameName of the canvas
Returns
The pointer to the canvas, or nullptr if not found.

Definition at line 50 of file DQMHistAnalysis.cc.

◆ findHist() [1/3]

TH1 * findHist ( const std::string &  dirname,
const std::string &  histname 
)
staticinherited

Find histogram.

Parameters
dirnameThe name of the directory.
histnameThe name of the histogram.
Returns
The found histogram, or nullptr if not found.

Definition at line 148 of file DQMHistAnalysis.cc.

◆ findHist() [2/3]

TH1 * findHist ( const std::string &  histname)
staticinherited

Find histogram.

Parameters
histnameThe name of the histogram.
Returns
The found histogram, or nullptr if not found.

Definition at line 101 of file DQMHistAnalysis.cc.

◆ findHist() [3/3]

TH1 * findHist ( const TDirectory *  histdir,
const TString &  histname 
)
staticinherited

Find histogram.

Parameters
histdirThe TDirectory of the directory.
histnameThe name of the histogram.
Returns
The found histogram, or nullptr if not found.

Definition at line 157 of file DQMHistAnalysis.cc.

◆ findMonitoringObject()

MonitoringObject * findMonitoringObject ( const std::string &  objName)
staticinherited

Find MonitoringObject.

Parameters
objNameThe name of the MonitoringObject.
Returns
The found MonitoringObject, or nullptr if not found.

Definition at line 171 of file DQMHistAnalysis.cc.

◆ getAfterConditionPath()

Module::EAfterConditionPath getAfterConditionPath ( ) const
inherited

What to do after the conditional path is finished.

(defaults to c_End if no condition is set)

Definition at line 133 of file Module.cc.

◆ getConditionPath()

std::shared_ptr< Path > getConditionPath ( ) const
inherited

Returns the path of the last true condition (if there is at least one, else reaturn a null pointer).


Definition at line 113 of file Module.cc.

◆ getFileNames()

virtual std::vector<std::string> getFileNames ( bool  outputFiles)
inlinevirtualinherited

Return a list of output filenames for this modules.

This will be called when basf2 is run with "--dry-run" if the module has set either the c_Input or c_Output properties.

If the parameter outputFiles is false (for modules with c_Input) the list of input filenames should be returned (if any). If outputFiles is true (for modules with c_Output) the list of output files should be returned (if any).

If a module has sat both properties this member is called twice, once for each property.

The module should return the actual list of requested input or produced output filenames (including handling of input/output overrides) so that the grid system can handle input/output files correctly.

This function should return the same value when called multiple times. This is especially important when taking the input/output overrides from Environment as they get consumed when obtained so the finalized list of output files should be stored for subsequent calls.

Reimplemented in RootOutputModule, and RootInputModule.

Definition at line 134 of file Module.h.

◆ getFloatValues()

static FloatValueList& getFloatValues ( )
inlinestaticinherited

Get the list of float parameters.

Returns
The list of float parameters.

Definition at line 210 of file DQMHistAnalysis.h.

◆ getHistList()

const DQMHistAnalysisModule::HistList & getHistList ( )
staticinherited

Get the list of the histograms.

Returns
The list of the histograms.

Definition at line 90 of file DQMHistAnalysis.cc.

◆ getHists()

static HistList& getHists ( )
inlinestaticinherited

Get the list of histograms.

Returns
The list of histograms.

Definition at line 195 of file DQMHistAnalysis.h.

◆ getIntValues()

static IntValueList& getIntValues ( )
inlinestaticinherited

Get the list of integer parameters.

Returns
The list of integer parameters.

Definition at line 205 of file DQMHistAnalysis.h.

◆ getMonitoringObject()

MonitoringObject * getMonitoringObject ( const std::string &  histname)
staticinherited

Get MonitoringObject with given name (new object is created if non-existing)

Parameters
histnamename of MonitoringObject to get

Definition at line 73 of file DQMHistAnalysis.cc.

◆ getMonObjList()

const DQMHistAnalysisModule::MonObjList & getMonObjList ( )
staticinherited

Get the list of MonitoringObjects.

Returns
The list of the MonitoringObjects.

Definition at line 95 of file DQMHistAnalysis.cc.

◆ getName()

const std::string& getName ( ) const
inlineinherited

Returns the name of the module.

This can be changed via e.g. set_name() in the steering file to give more useful names if there is more than one module of the same type.

For identifying the type of a module, using getType() (or type() in Python) is recommended.

Definition at line 187 of file Module.h.

◆ getParamInfoListPython()

std::shared_ptr< boost::python::list > getParamInfoListPython ( ) const
inherited

Returns a python list of all parameters.

Each item in the list consists of the name of the parameter, a string describing its type, a python list of all default values and the description of the parameter.

Returns
A python list containing the parameters of this parameter list.

Definition at line 279 of file Module.cc.

◆ getParNames()

static ParamTypeList& getParNames ( )
inlinestaticinherited

Get the list of the names and types of the parameters.

Returns
The list of the names and types of the parameters.

Definition at line 200 of file DQMHistAnalysis.h.

◆ getReturnValue()

int getReturnValue ( ) const
inlineinherited

Return the return value set by this module.

This value is only meaningful if hasReturnValue() is true

Definition at line 381 of file Module.h.

◆ getTexts()

static TextList& getTexts ( )
inlinestaticinherited

Get the list of string parameters.

Returns
The list of string parameters.

Definition at line 215 of file DQMHistAnalysis.h.

◆ getType()

const std::string & getType ( ) const
inherited

Returns the type of the module (i.e.

class name minus 'Module')

Definition at line 41 of file Module.cc.

◆ hasProperties()

bool hasProperties ( unsigned int  propertyFlags) const
inherited

Returns true if all specified property flags are available in this module.

Parameters
propertyFlagsOred EModulePropFlags which should be compared with the module flags.

Definition at line 160 of file Module.cc.

◆ if_false()

void if_false ( const std::shared_ptr< Path > &  path,
EAfterConditionPath  afterConditionPath = EAfterConditionPath::c_End 
)
inherited

A simplified version to add a condition to the module.

Please note that successive calls of this function will add more than one condition to the module. If more than one condition results in true, only the last of them will be used.

Please be careful: Avoid creating cyclic paths, e.g. by linking a condition to a path which is processed before the path where this module is located in.

It is equivalent to the if_value() method, using the expression "<1". This method is meant to be used together with the setReturnValue(bool value) method.

Parameters
pathShared pointer to the Path which will be executed if the return value is false.
afterConditionPathWhat to do after executing 'path'.

Definition at line 85 of file Module.cc.

◆ if_true()

void if_true ( const std::shared_ptr< Path > &  path,
EAfterConditionPath  afterConditionPath = EAfterConditionPath::c_End 
)
inherited

A simplified version to set the condition of the module.

Please note that successive calls of this function will add more than one condition to the module. If more than one condition results in true, only the last of them will be used.

Please be careful: Avoid creating cyclic paths, e.g. by linking a condition to a path which is processed before the path where this module is located in.

It is equivalent to the if_value() method, using the expression ">=1". This method is meant to be used together with the setReturnValue(bool value) method.

Parameters
pathShared pointer to the Path which will be executed if the return value is true.
afterConditionPathWhat to do after executing 'path'.

Definition at line 90 of file Module.cc.

◆ if_value()

void if_value ( const std::string &  expression,
const std::shared_ptr< Path > &  path,
EAfterConditionPath  afterConditionPath = EAfterConditionPath::c_End 
)
inherited

Add a condition to the module.

Please note that successive calls of this function will add more than one condition to the module. If more than one condition results in true, only the last of them will be used.

See https://confluence.desy.de/display/BI/Software+ModCondTut or ModuleCondition for a description of the syntax.

Please be careful: Avoid creating cyclic paths, e.g. by linking a condition to a path which is processed before the path where this module is located in.

Parameters
expressionThe expression of the condition.
pathShared pointer to the Path which will be executed if the condition is evaluated to true.
afterConditionPathWhat to do after executing 'path'.

Definition at line 79 of file Module.cc.

◆ setDescription()

void setDescription ( const std::string &  description)
protectedinherited

Sets the description of the module.

Parameters
descriptionA description of the module.

Definition at line 214 of file Module.cc.

◆ setFloatValue()

void setFloatValue ( const std::string &  parname,
float  vfloat 
)
staticinherited

Set the float value of the parameter.

Parameters
parnameThe name of the parameter.
vfloatThe value to be set.

Definition at line 199 of file DQMHistAnalysis.cc.

◆ setIntValue()

void setIntValue ( const std::string &  parname,
int  vint 
)
staticinherited

Set the integer value of the parameter.

Parameters
parnameThe name of the parameter.
vintThe value to be set.

Definition at line 187 of file DQMHistAnalysis.cc.

◆ setLogInfo()

void setLogInfo ( int  logLevel,
unsigned int  logInfo 
)
inherited

Configure the printed log information for the given level.

Parameters
logLevelThe log level (one of LogConfig::ELogLevel)
logInfoWhat kind of info should be printed? ORed combination of LogConfig::ELogInfo flags.

Definition at line 73 of file Module.cc.

◆ setName()

void setName ( const std::string &  name)
inlineinherited

Set the name of the module.

Note
The module name is set when using the REG_MODULE macro, but the module can be renamed before calling process() using the set_name() function in your steering file.
Parameters
nameThe name of the module

Definition at line 214 of file Module.h.

◆ setParamPython()

void setParamPython ( const std::string &  name,
const boost::python::object &  pyObj 
)
privateinherited

Implements a method for setting boost::python objects.

The method supports the following types: list, dict, int, double, string, bool The conversion of the python object to the C++ type and the final storage of the parameter value is done in the ModuleParam class.

Parameters
nameThe unique name of the parameter.
pyObjThe object which should be converted and stored as the parameter value.

Definition at line 234 of file Module.cc.

◆ setParamPythonDict()

void setParamPythonDict ( const boost::python::dict &  dictionary)
privateinherited

Implements a method for reading the parameter values from a boost::python dictionary.

The key of the dictionary has to be the name of the parameter and the value has to be of one of the supported parameter types.

Parameters
dictionaryThe python dictionary from which the parameter values are read.

Definition at line 249 of file Module.cc.

◆ setPropertyFlags()

void setPropertyFlags ( unsigned int  propertyFlags)
inherited

Sets the flags for the module properties.

Parameters
propertyFlagsbitwise OR of EModulePropFlags

Definition at line 208 of file Module.cc.

◆ setReturnValue() [1/2]

void setReturnValue ( bool  value)
protectedinherited

Sets the return value for this module as bool.

The bool value is saved as an integer with the convention 1 meaning true and 0 meaning false. The value can be used in the steering file to divide the analysis chain into several paths.

Parameters
valueThe value of the return value.

Definition at line 227 of file Module.cc.

◆ setReturnValue() [2/2]

void setReturnValue ( int  value)
protectedinherited

Sets the return value for this module as integer.

The value can be used in the steering file to divide the analysis chain into several paths.

Parameters
valueThe value of the return value.

Definition at line 220 of file Module.cc.

◆ setText()

void setText ( const std::string &  parname,
const std::string &  text 
)
staticinherited

Set the string value of the parameter.

Parameters
parnameThe name of the parameter.
textThe value to be set.

Definition at line 211 of file DQMHistAnalysis.cc.

◆ setType()

void setType ( const std::string &  type)
protectedinherited

Set the module type.

Only for use by internal modules (which don't use the normal REG_MODULE mechanism).

Definition at line 48 of file Module.cc.

◆ terminate()

void terminate ( void  )
finaloverrideprivatevirtual

This method is called at the end of the event processing.

This method is called only once after the event processing finished. Use this method for cleaning up, closing files, etc.

This method can be implemented by subclasses.

Reimplemented from Module.

Definition at line 563 of file DQMHistInjection.cc.


The documentation for this class was generated from the following files: