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

DQM Histogram Analysis for PXD Efficiency. More...

#include <DQMHistAnalysisPXDEff.h>

Inheritance diagram for DQMHistAnalysisPXDEffModule:
Collaboration diagram for DQMHistAnalysisPXDEffModule:

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

 DQMHistAnalysisPXDEffModule ()
 Constructor.
 
 ~DQMHistAnalysisPXDEffModule ()
 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...
 
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
 
int m_u_bins
 u binning for 2d plots
 
int m_v_bins
 v binning for 2d plots
 
double m_confidence
 confidence level for error bars
 
double m_warnlevel
 warn level for alarm
 
double m_errorlevel
 error level for alarm
 
int m_minEntries = 1000
 Update entry intervall.
 
bool m_perModuleAlarm
 use alarm level per module
 
bool m_alarmAdhoc
 generate alarm from adhoc values
 
std::vector< VxdIDm_PXDModules
 IDs of all PXD Modules to iterate over.
 
std::map< VxdID, TEfficiency * > m_hEffModules
 Individual efficiency for each module, 2d histogram.
 
std::map< VxdID, TCanvas * > m_cEffModules
 Individual efficiency for each module, canvas.
 
TEfficiency * m_hEffAll = nullptr
 One bin for each module in the geometry.
 
TCanvas * m_cEffAll = nullptr
 Final Canvas.
 
TH1 * m_hEffAllLastTotal = nullptr
 TH1, last state, total.
 
TH1 * m_hEffAllLastPassed = nullptr
 TH1, last state, passed.
 
TEfficiency * m_hEffAllUpdate = nullptr
 Efficiency, last state, updated.
 
TCanvas * m_cEffAllUpdate = nullptr
 Final Canvas for Update.
 
TH2F * m_hInnerMap {}
 Full Eff Map Inner Layer.
 
TH2F * m_hOuterMap {}
 Full Eff Map Outer Layer.
 
TCanvas * m_cInnerMap {}
 Full Eff Map Inner Layer.
 
TCanvas * m_cOuterMap {}
 Full Eff Map Outer Layer.
 
TH1F * m_hWarnLine {}
 TLine object for warning limit.
 
TH1F * m_hErrorLine {}
 TLine object for error error.
 
std::map< VxdID, double > m_warnlevelmod
 warn level for alarm per module
 
std::map< VxdID, double > m_errorlevelmod
 error level for alarm per module
 
MonitoringObjectm_monObj {}
 Monitoring Object.
 
bool m_useEpics
 flag if to export to EPICS
 
bool m_useEpicsRO
 flag if to import from EPICS only
 
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 34 of file DQMHistAnalysisPXDEff.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.

TODO: one value per module, and please change to the "delta" instead of integral

check for val > 0.0) { would exclude all zero efficient modules!!!

check for val > 0.0) { would exclude all zero efficient modules!!!

we wont use "white" =1 in this module

Reimplemented from Module.

Definition at line 267 of file DQMHistAnalysisPXDEff.cc.

268 {
269  //Count how many of each type of histogram there are for the averaging
270  //std::map<std::string, int> typeCounter;
271 
272  m_hInnerMap->Reset();
273  m_hOuterMap->Reset();
274 
275  for (unsigned int i = 1; i <= m_PXDModules.size(); i++) {
276  VxdID& aPXDModule = m_PXDModules[i - 1];
277 
278  TString buff = (std::string)aPXDModule;
279  buff.ReplaceAll(".", "_");
280 
281  TH1* Hits, *Matches;
282  TString locationHits = "track_hits_" + buff;
283  if (m_histogramDirectoryName != "") {
284  locationHits = m_histogramDirectoryName + "/" + locationHits;
285  }
286  Hits = (TH1*)findHist(locationHits.Data());
287  TString locationMatches = "matched_cluster_" + buff;
288  if (m_histogramDirectoryName != "") {
289  locationMatches = m_histogramDirectoryName + "/" + locationMatches;
290  }
291  Matches = (TH1*)findHist(locationMatches.Data());
292 
293  // Finding only one of them should only happen in very strange situations...
294  if (Hits == nullptr || Matches == nullptr) {
295  B2ERROR("Missing histogram for sensor " << aPXDModule);
296  } else {
297  if (m_cEffModules[aPXDModule] && m_hEffModules[aPXDModule]) {// this check creates them with a nullptr ..bad
298  m_hEffModules[aPXDModule]->SetTotalHistogram(*Hits, "f");
299  m_hEffModules[aPXDModule]->SetPassedHistogram(*Matches, "f");
300 
301  m_cEffModules[aPXDModule]->cd();
302  m_hEffModules[aPXDModule]->Paint("colz"); // not Draw, enforce to create GetPaintedHistogram?
303  m_cEffModules[aPXDModule]->Modified();
304  m_cEffModules[aPXDModule]->Update();
305 
306  auto h = m_hEffModules[aPXDModule]->GetPaintedHistogram();
307  int s = (2 - aPXDModule.getSensorNumber()) * m_v_bins;
308  int l = (aPXDModule.getLadderNumber() - 1) * m_u_bins;
309  if (m_hInnerMap && aPXDModule.getLayerNumber() == 1) {
310  for (int u = 0; u < m_u_bins; u++) {
311  for (int v = 0; v < m_v_bins; v++) {
312  auto b = h->GetBin(u + 1, v + 1);
313  m_hInnerMap->Fill(u + l, v + s, h->GetBinContent(b));
314  }
315  }
316  }
317  if (m_hOuterMap && aPXDModule.getLayerNumber() == 2) {
318  for (int u = 0; u < m_u_bins; u++) {
319  for (int v = 0; v < m_v_bins; v++) {
320  auto b = h->GetBin(u + 1, v + 1);
321  m_hOuterMap->Fill(u + l, v + s, h->GetBinContent(b));
322  }
323  }
324  }
325  }
326  }
327  }// Single-Module histos + 2d overview finished
328 
329  m_cInnerMap->cd();
330  m_hInnerMap->Draw("colz");
331  m_cInnerMap->Modified();
332  m_cInnerMap->Update();
333  m_cOuterMap->cd();
334  m_hOuterMap->Draw("colz");
335  m_cOuterMap->Modified();
336  m_cOuterMap->Update();
337 
338  // Change: We now use one histogram for hits and matches to make
339  // sure that we have an atomic update which is otherwise not
340  // guaranteed by DQM framework
341  TString locationHits = "PXD_Eff_combined";
342  if (m_histogramDirectoryName != "") {
343  locationHits = m_histogramDirectoryName + "/" + locationHits;
344  }
345  TH1* Combined = (TH1*)findHist(locationHits.Data());
346 
347  double stat_data = 0;
348  bool error_flag = false;
349  bool warn_flag = false;
350  double all = 0.0;
351 
352  double imatch = 0.0, ihit = 0.0;
353  int ieff = 0;
354 
355  std::map <VxdID, bool> updated{}; // init to false, keep track of updated histograms
356  for (unsigned int i = 0; i < m_PXDModules.size(); i++) {
357  int j = i + 1;
358 
359  if (Combined == nullptr) {
360  m_hEffAll->SetPassedEvents(j, 0); // order, otherwise it might happen that SetTotalEvents is NOT filling the value!
361  m_hEffAll->SetTotalEvents(j, 0);
362  } else {
363  VxdID& aModule = m_PXDModules[i];
364  double nmatch = Combined->GetBinContent(i * 2 + 2);
365  double nhit = Combined->GetBinContent(i * 2 + 1);
366  if (nmatch > 10 && nhit > 10) { // could be zero, too
367  imatch += nmatch;
368  ihit += nhit;
369  ieff++; // only count in modules working
370  double var_e = nmatch / nhit; // can never be zero
371  if (j == 6) continue; // workaround for 1.3.2 module
372  m_monObj->setVariable(Form("efficiency_%d_%d_%d", aModule.getLayerNumber(), aModule.getLadderNumber(), aModule.getSensorNumber()),
373  var_e);
374  }
375 
377  all += nhit;
378  m_hEffAll->SetPassedEvents(j, 0); // otherwise it might happen that SetTotalEvents is NOT filling the value!
379  m_hEffAll->SetTotalEvents(j, nhit);
380  m_hEffAll->SetPassedEvents(j, nmatch);
381 
382  if (nhit < m_minEntries) {
383  // update the first entries directly (short runs)
384  m_hEffAllUpdate->SetPassedEvents(j, 0); // otherwise it might happen that SetTotalEvents is NOT filling the value!
385  m_hEffAllUpdate->SetTotalEvents(j, nhit);
386  m_hEffAllUpdate->SetPassedEvents(j, nmatch);
387  m_hEffAllLastTotal->SetBinContent(j, nhit);
388  m_hEffAllLastPassed->SetBinContent(j, nmatch);
389  updated[aModule] = true;
390  } else if (nhit - m_hEffAllLastTotal->GetBinContent(j) > m_minEntries) {
391  m_hEffAllUpdate->SetPassedEvents(j, 0); // otherwise it might happen that SetTotalEvents is NOT filling the value!
392  m_hEffAllUpdate->SetTotalEvents(j, nhit - m_hEffAllLastTotal->GetBinContent(j));
393  m_hEffAllUpdate->SetPassedEvents(j, nmatch - m_hEffAllLastPassed->GetBinContent(j));
394  m_hEffAllLastTotal->SetBinContent(j, nhit);
395  m_hEffAllLastPassed->SetBinContent(j, nmatch);
396  updated[aModule] = true;
397  }
398 
399  if (j == 6) continue; // workaround for 1.3.2 module
400 
401  // get the errors and check for limits for each bin seperately ...
402 
403  if (nhit > 50) {
404  error_flag |= (m_hEffAll->GetEfficiency(j) + m_hEffAll->GetEfficiencyErrorUp(j) <
405  m_errorlevelmod[aModule]); // error if upper error value is below limit
406  warn_flag |= (m_hEffAll->GetEfficiency(j) + m_hEffAll->GetEfficiencyErrorUp(j) <
407  m_warnlevelmod[aModule]); // (and not only the actual eff value)
408  if (m_alarmAdhoc) {
409  error_flag |= (m_hEffAllUpdate->GetEfficiency(j) + m_hEffAllUpdate->GetEfficiencyErrorUp(j) <
410  m_errorlevelmod[aModule]); // error if upper error value is below limit
411  warn_flag |= (m_hEffAllUpdate->GetEfficiency(j) + m_hEffAllUpdate->GetEfficiencyErrorUp(j) <
412  m_warnlevelmod[aModule]); // (and not only the actual eff value)
413  }
414  }
415  }
416  }
417 
418  {
419  m_cEffAll->cd();
420  m_cEffAll->cd(0);
421  m_hEffAll->Paint("AP");
422  m_cEffAll->Clear();
423  m_cEffAll->cd(0);
424 
425  auto gr = m_hEffAll->GetPaintedGraph();
426  if (gr) {
427  double scale_min = 1.0;
428  for (int i = 0; i < gr->GetN(); i++) {
429  gr->SetPointEXhigh(i, 0.);
430  gr->SetPointEXlow(i, 0.);
431  // this has to be done first, as it will recalc Min/Max and destroy axis
432  Double_t x, y;
433  gr->GetPoint(i, x, y);
434  gr->SetPoint(i, x - 0.01, y); // workaround for jsroot bug (fixed upstream)
435  auto val = y - gr->GetErrorYlow(i); // Error is relative to value
436  if (i != 5) { // exclude 1.3.2
438  if (scale_min > val) scale_min = val;
439  }
440  }
441  if (scale_min == 1.0) scale_min = 0.0;
442  if (scale_min > 0.9) scale_min = 0.9;
443  gr->SetMinimum(0);
444  gr->SetMaximum(m_PXDModules.size());
445  auto ay = gr->GetYaxis();
446  if (ay) ay->SetRangeUser(scale_min, 1.0);
447  auto ax = gr->GetXaxis();
448  if (ax) {
449  ax->Set(m_PXDModules.size(), 0, m_PXDModules.size());
450  for (unsigned int i = 0; i < m_PXDModules.size(); i++) {
451  TString ModuleName = (std::string)m_PXDModules[i];
452  ax->SetBinLabel(i + 1, ModuleName);
453  }
454  }
455 
456  gr->SetLineColor(4);
457  gr->SetLineWidth(2);
458  gr->SetMarkerStyle(8);
459 
460  gr->Draw("AP");
461 
462  auto tt = new TLatex(5.5, scale_min, " 1.3.2 Module is excluded, please ignore");
463  tt->SetTextAngle(90);// Rotated
464  tt->SetTextAlign(12);// Centered
465  tt->Draw();
466 
467  if (all < 100.) {
468  m_cEffAll->Pad()->SetFillColor(kGray);// Magenta or Gray
469  } else {
470  if (error_flag) {
471  m_cEffAll->Pad()->SetFillColor(kRed);// Red
472  } else if (warn_flag) {
473  m_cEffAll->Pad()->SetFillColor(kYellow);// Yellow
474  } else {
475  m_cEffAll->Pad()->SetFillColor(kGreen);// Green
476  // m_cEffAll->Pad()->SetFillColor(kWhite);// White
477  }
478  }
479 
480  m_cEffAll->Pad()->SetFrameFillColor(kWhite - 1); // White
481  m_cEffAll->Pad()->SetFrameFillStyle(1001);// White
482  m_cEffAll->Pad()->Modified();
483  m_cEffAll->Pad()->Update();
484  m_hWarnLine->Draw("same,hist");
485  m_hErrorLine->Draw("same,hist");
486  }
487 
488  m_cEffAll->Modified();
489  m_cEffAll->Update();
490  }
491 
492  {
493  m_cEffAllUpdate->cd();
494  m_hEffAllUpdate->Paint("AP");
495  m_cEffAllUpdate->Clear();
496  m_cEffAllUpdate->cd(0);
497 
498  auto gr = m_hEffAllUpdate->GetPaintedGraph();
499  auto gr3 = (TGraphAsymmErrors*) m_hEffAll->GetPaintedGraph()->Clone();
500  if (gr3) {
501  for (int i = 0; i < gr3->GetN(); i++) {
502  Double_t x, y;
503  gr3->GetPoint(i, x, y);
504  gr3->SetPoint(i, x + 0.2, y);
505  }
506  }
507 
508  double scale_min = 1.0;
509  if (gr) {
510  for (int i = 0; i < gr->GetN(); i++) {
511  gr->SetPointEXhigh(i, 0.);
512  gr->SetPointEXlow(i, 0.);
513  // this has to be done first, as it will recalc Min/Max and destroy axis
514  Double_t x, y;
515  gr->GetPoint(i, x, y);
516  gr->SetPoint(i, x - 0.2, y); // shift a bit if in same plot
517  auto val = y - gr->GetErrorYlow(i); // Error is relative to value
518  if (i != 5) { // exclude 1.3.2
520  if (scale_min > val) scale_min = val;
521  }
522  }
523  if (scale_min == 1.0) scale_min = 0.0;
524  if (scale_min > 0.9) scale_min = 0.9;
525  gr->SetMinimum(0);
526  gr->SetMaximum(m_PXDModules.size());
527  auto ay = gr->GetYaxis();
528  if (ay) ay->SetRangeUser(scale_min, 1.0);
529  auto ax = gr->GetXaxis();
530  if (ax) {
531  ax->Set(m_PXDModules.size() , 0, m_PXDModules.size());
532  for (unsigned int i = 0; i < m_PXDModules.size(); i++) {
533  TString ModuleName = (std::string)m_PXDModules[i];
534  ax->SetBinLabel(i + 1, ModuleName);
535  }
536  }
537 #ifdef _BELLE2_EPICS
538  if (m_useEpics && !m_useEpicsRO) {
539  for (unsigned int i = 0; i < m_PXDModules.size(); i++) {
540  if (updated[m_PXDModules[i]]) {
541  Double_t x, y;// we assume that double and Double_t are same!
542  gr->GetPoint(i, x, y);
543  auto& my = mychid_eff[m_PXDModules[i]];// as the same array as above, we assume it exists
544  // we should only write if it was updated!
545  SEVCHK(ca_put(DBR_DOUBLE, my, (void*)&y), "ca_set failure");
546  }
547  }
548  }
549 #endif
550  gr->SetLineColor(kBlack);
551  gr->SetLineWidth(3);
552  gr->SetMarkerStyle(33);
553  } else scale_min = 0.0;
554  if (gr) gr->Draw("AP");
555  if (gr3) gr3->Draw("P");
556  auto tt = new TLatex(5.5, scale_min, " 1.3.2 Module is excluded, please ignore");
557  tt->SetTextSize(0.035);
558  tt->SetTextAngle(90);// Rotated
559  tt->SetTextAlign(12);// Centered
560  tt->Draw();
561 
562  if (all < 100.) {
563  m_cEffAllUpdate->Pad()->SetFillColor(kGray);// Magenta or Gray
564  stat_data = 0.;
565  } else {
566  if (error_flag) {
567  m_cEffAllUpdate->Pad()->SetFillColor(kRed);// Red
568  stat_data = 4.;
569  } else if (warn_flag) {
570  m_cEffAllUpdate->Pad()->SetFillColor(kYellow);// Yellow
571  stat_data = 3.;
572  } else {
573  m_cEffAllUpdate->Pad()->SetFillColor(kGreen);// Green
574  stat_data = 2.;
576  // m_cEffAllUpdate->Pad()->SetFillColor(kWhite);// White
577  }
578  }
579  m_cEffAllUpdate->Pad()->SetFrameFillColor(kWhite - 1); // White
580  m_cEffAllUpdate->Pad()->SetFrameFillStyle(1001);// White
581  m_cEffAllUpdate->Pad()->Modified();
582  m_cEffAllUpdate->Pad()->Update();
583  m_hWarnLine->Draw("same,hist");
584  m_hErrorLine->Draw("same,hist");
585  }
586  m_cEffAllUpdate->Modified();
587  m_cEffAllUpdate->Update();
588 
589 
590  double var_efficiency = ihit > 0 ? imatch / ihit : 0.0;
591  m_monObj->setVariable("efficiency", var_efficiency);
592  m_monObj->setVariable("nmodules", ieff);
593 
594 #ifdef _BELLE2_EPICS
595  if (m_useEpics && !m_useEpicsRO) {
596  SEVCHK(ca_put(DBR_DOUBLE, mychid_status[0], (void*)&stat_data), "ca_set failure");
597  // only update if statistics is reasonable, we dont want "0" drops between runs!
598  if (stat_data != 0) SEVCHK(ca_put(DBR_DOUBLE, mychid_status[1], (void*)&var_efficiency), "ca_set failure");
599  SEVCHK(ca_pend_io(5.0), "ca_pend_io failure");
600  }
601 #endif
602 }
static TH1 * findHist(const std::string &histname)
Find histogram.
TCanvas * m_cOuterMap
Full Eff Map Outer Layer.
TCanvas * m_cInnerMap
Full Eff Map Inner Layer.
int m_minEntries
Update entry intervall.
std::map< VxdID, double > m_warnlevelmod
warn level for alarm per module
TEfficiency * m_hEffAll
One bin for each module in the geometry.
std::map< VxdID, TCanvas * > m_cEffModules
Individual efficiency for each module, canvas.
TEfficiency * m_hEffAllUpdate
Efficiency, last state, updated.
std::map< VxdID, double > m_errorlevelmod
error level for alarm per module
TH1 * m_hEffAllLastTotal
TH1, last state, total.
TH1 * m_hEffAllLastPassed
TH1, last state, passed.
TH2F * m_hOuterMap
Full Eff Map Outer Layer.
MonitoringObject * m_monObj
Monitoring Object.
std::vector< VxdID > m_PXDModules
IDs of all PXD Modules to iterate over.
std::string m_histogramDirectoryName
name of histogram directory
TCanvas * m_cEffAllUpdate
Final Canvas for Update.
TH2F * m_hInnerMap
Full Eff Map Inner Layer.
TH1F * m_hWarnLine
TLine object for warning limit.
bool m_useEpicsRO
flag if to import from EPICS only
std::map< VxdID, TEfficiency * > m_hEffModules
Individual efficiency for each module, 2d histogram.
bool m_useEpics
flag if to export to EPICS
TH1F * m_hErrorLine
TLine object for error error.
bool m_alarmAdhoc
generate alarm from adhoc values
void setVariable(const std::string &var, float val, float upErr=-1., float dwErr=-1)
set value to float variable (new variable is made if not yet existing)
Class to uniquely identify a any structure of the PXD and SVD.
Definition: VxdID.h:33
baseType getSensorNumber() const
Get the sensor id.
Definition: VxdID.h:100
baseType getLadderNumber() const
Get the ladder id.
Definition: VxdID.h:98
baseType getLayerNumber() const
Get the layer id.
Definition: VxdID.h:96

◆ 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 604 of file DQMHistAnalysisPXDEff.cc.


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