11#include <dqm/core/DQMHistAnalysis.h>
12#include <vxd/dataobjects/VxdID.h>
13#include <vxd/geometry/GeoTools.h>
14#include <svd/dbobjects/SVDDQMPlotsConfiguration.h>
15#include <framework/database/DBObjPtr.h>
44 void event()
override final;
46 void endRun()
override final;
85 std::pair<float, float>
avgOccupancyUV(TH1F* hU, TH1F* hV,
int nEvents,
int layer = -1,
int ladder = -1,
int sensor = -1)
const;
102 std::pair<float, float>
avgEfficiencyUV(TH2F* hMCU, TH2F* hMCV, TH2F* hFTU, TH2F* hFTV,
int layer = -1,
int ladder = -1,
103 int sensor = -1)
const;
124 void addVariable(std::string name, std::pair<float, float>& varUV);
133 return 2 + 1 + sensor;
135 return 6 + 1 + sensor;
137 return 11 + 1 + sensor;
177#define SetVariable(x) addVariable(#x , x)
Class for accessing objects in the database.
DQMHistAnalysisModule()
Constructor / Destructor.
DQMHistAnalysisSVDOnMiraBelleModule()
Constructor.
void initialize() override final
Module function initialize.
float histFWHM(TH1F *h) const
Calculate full width at half maximum of histogram.
TCanvas * m_c_MPVTimeClusterOnTrack
time for clusters on track
TCanvas * m_c_MeanSVDEventT0
Mean Event T0 from SVD.
std::vector< VxdID > m_SVDModules
IDs of all SVD Modules to iterate over.
const VXD::GeoTools * m_gTools
geometrical tool pointer
void addVariable(std::string name, std::pair< float, float > &varUV)
Add variable to object monitoring.
TCanvas * m_c_MPVChargeClusterOnTrack
charge for clusters on track
DBObjPtr< SVDDQMPlotsConfiguration > m_svdPlotsConfig
SVD DQM plots configuration.
MonitoringObject * m_monObj
Monitoring Object to be produced by this module, which contain defined canvases and monitoring variab...
TCanvas * m_c_avgEfficiency
List of canvases to be added to MonitoringObject.
void terminate() override final
Module function terminate.
~DQMHistAnalysisSVDOnMiraBelleModule()
Destructor.
Int_t findBinY(Int_t layer, Int_t sensor) const
find the Y bin given the layer and sensor number
void event() override final
Module function event.
std::pair< float, float > avgOccupancyGrpId0UV(int iLayer, int nEvents) const
Calculate avg offline occupancy for specified layer for time group id = 0.
std::pair< float, float > avgOccupancyUV(TH1F *hU, TH1F *hV, int nEvents, int layer=-1, int ladder=-1, int sensor=-1) const
Calculate avg offline occupancy for one specific sensor, especially.
std::pair< float, float > avgEfficiencyUV(TH2F *hMCU, TH2F *hMCV, TH2F *hFTU, TH2F *hFTV, int layer=-1, int ladder=-1, int sensor=-1) const
Calculate avg efficiency for specified sensors.
TCanvas * m_c_MPVSNRClusterOnTrack
SNR for clusters on track.
Int_t getNumberOfLadders(Int_t layer) const
get number of ladders per layer
void endRun() override final
Module function endRun.
float xForMaxY(TH1F *h) const
Calculate abscissa of max Y bin.
TCanvas * m_c_avgOffOccupancy
number of ZS5 fired strips
void beginRun() override final
Module function beginRun.
TCanvas * m_c_avgMaxBinClusterOnTrack
average number of the APV sample which corresponds to the maximum amplitude for clusters on track
std::vector< std::string > m_listOfSensorsToMonitor
list of sensor to monitor (Charge, SNR, time; U/V) taken from DB (payload)
Int_t getNumberOfSensors(Int_t layer) const
get number of sensors per layer
MonitoringObject is a basic object to hold data for the run-dependency monitoring Run summary TCanvas...
Abstract base class for different kinds of events.