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.
The base class for the histogram analysis module.
Class derived from HistoModule, for SVD monitoring variables at MiraBelle.
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.