11#include <framework/database/DBArray.h>
12#include <framework/database/DBObjPtr.h>
13#include <dqm/core/DQMHistAnalysis.h>
61 void event()
override final;
66 void endRun()
override final;
76 void getHistStyle(TH1F*& htemp, std::string label,
double max)
const
78 gStyle->SetOptStat(
"ne");
79 if (strcmp(label.data(),
"adc") == 0)htemp->GetYaxis()->SetRangeUser(max * 0.25, max * 2.25);
80 else if (strcmp(label.data(),
"tdc") == 0)htemp->GetYaxis()->SetRangeUser(max * 0.90, max * 1.10);
97 void fillEffiTH2Poly(TH2F* hist, TH2Poly* attached, TH2Poly* expected, TH2Poly* efficiency) ;
102 void fillEffiTH2(TH2F* hist, TH2F* attached, TH2F* expected, TH2F* efficiency) ;
Make summary of data quality from reconstruction.
TCanvas * c_hist_adc
canvas for adc board median
TCanvas * c_hist_skimphi[8]
canvas for various phi distribution
std::string m_refDir
reference histogram dir of CDC DQMs
void initialize() override final
Initialize the Module.
double m_minadc
min adc median thershold accepted
TH1F * m_hist_wire_attach_eff_1d
for above
TH1D * m_hist_crphi
for above
double m_secondEffBoundary
The second boundary of the efficiency range.
TH1D * m_hist_skimphi[8]
for above
TLine * m_line_hadc
line for higher ADC window
int m_minevt
min events for single intra-run point
TCanvas * c_hist_effphi
canvas for tracking efficiency
std::string m_histoADC
ADC histogram names of CDC DQMs.
std::string m_histoDir
histogram dir of CDC DQMs
void fillEffiTH2Poly(TH2F *hist, TH2Poly *attached, TH2Poly *expected, TH2Poly *efficiency)
Populate the efficiency histograms.
TH2Poly * createEffiTH2Poly(const TString &name, const TString &title)
Convenient function to create a TH2Poly based on CDC geometry.
std::string m_histoTDC
TDC histogram names of CDC DQMs.
~DQMHistAnalysisCDCEpicsModule()
Destructor.
double m_phiwarn
warn thershold for phi differences
std::string m_refNamePhi
reference histogram of phi
std::string m_histoTrackingWireEff
Wire Eff histogram names of CDC DQMs.
TFile * m_fileRefPhi
reference histogram file point
TLine * m_line_htdc
line for higher TDC window
double m_phialarm
alram thershold for phi differences
double m_maxadc
max adc median thershold accepted
TH1F * m_hist_adc
for above
TH1D * m_hTDCs[300]
TDC histograms with track associated hits for each board (0-299)
TH2F * m_histref_phiindex
for above
std::string m_pvPrefix
Prefix of PVs.
double m_maxtdc
max tdc median thershold accepted
TH1F * m_hist_tdc
for above
void getHistStyle(TH1F *&htemp, std::string label, double max) const
get histogram styles
MonitoringObject * m_monObj
monitoring object
TCanvas * c_hist_crphi
canvas for control shifter phi
void terminate() override final
Termination action.
void event() override final
intra-run actions (EPICC PVs).
std::string m_histoPhiEff
Phi Eff histogram names of CDC DQMs.
TCanvas * c_hist_tdc
canvas for tdc board median
TH1D * m_hADCs[300]
ADC histograms with track associated hits for each board (0-299)
double m_phistop
stop thershold for phi differences
bool m_doTH2PolyTrackingWireEff
If true, creates TH2Poly instead of TH2F for TrackingWireEff Histos.
TCanvas * c_hist_hitsphi
expert canvas for hits vs phi
TH2Poly * m_hist_attach_eff_Poly[3]
for above
TH1D * m_hist_effphi
for above
TCanvas * c_hist_attach_eff[4]
canvas for layer efficiency
double m_firstEffBoundary
The first boundary of the efficiency range.
std::string m_histoHitsPhi
Phi Hits histogram names of CDC DQMs.
void endRun() override final
End-of-run action.
TH1D * m_hist_refphi
for above
std::string m_histoPhiIndex
Phi Inedx histogram names of CDC DQMs.
TLine * m_line_ltdc
line for lower TDC window
TLine * m_line_ladc
line for lower ADC window
void beginRun() override final
Called when entering a new run.
float getHistMedian(TH1D *h) const
Get median of given histogram.
TH2F * m_hist_attach_eff[3]
for above
DQMHistAnalysisCDCEpicsModule()
Constructor.
void fillEffiTH2(TH2F *hist, TH2F *attached, TH2F *expected, TH2F *efficiency)
Populate the efficiency histograms.
double m_mintdc
min tdc median thershold accepted
The base class for the histogram analysis module.
MonitoringObject is a basic object to hold data for the run-dependency monitoring Run summary TCanvas...
Abstract base class for different kinds of events.