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(
auto hU,
auto hV,
int nEvents,
int layer = -1,
int ladder = -1,
int sensor = -1)
const;
102 std::pair<float, float>
avgEfficiencyUV(
auto hMCU,
auto hMCV,
auto hFTU,
auto 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.
TCanvas * m_c_MPVTimeClusterOnTrack
time for clusters on track
~DQMHistAnalysisSVDOnMiraBelleModule() override
Destructor.
TCanvas * m_c_MeanSVDEventT0
Mean Event T0 from SVD.
static Int_t findBinY(Int_t layer, Int_t sensor)
find the Y bin given the layer and sensor number
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.
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.
static Int_t getNumberOfLadders(Int_t layer)
get number of ladders per layer
std::pair< float, float > avgOccupancyUV(auto hU, auto hV, int nEvents, int layer=-1, int ladder=-1, int sensor=-1) const
Calculate avg offline occupancy for one specific sensor, especially.
TCanvas * m_c_MPVSNRClusterOnTrack
SNR for clusters on track.
static Int_t getNumberOfSensors(Int_t layer)
get number of sensors per layer
void endRun() override final
Module function endRun.
TCanvas * m_c_avgOffOccupancy
number of ZS5 fired strips
void beginRun() override final
Module function beginRun.
std::pair< float, float > avgEfficiencyUV(auto hMCU, auto hMCV, auto hFTU, auto hFTV, int layer=-1, int ladder=-1, int sensor=-1) const
Calculate avg efficiency for specified sensors.
static float histFWHM(auto h)
Calculate full width at half maximum of histogram.
static float xForMaxY(auto h)
Calculate abscissa of max Y bin.
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)
MonitoringObject is a basic object to hold data for the run-dependency monitoring Run summary TCanvas...
Abstract base class for different kinds of events.