14 #ifndef TILEMONITORING_TILERAWCHANNELMONTOOL_H
15 #define TILEMONITORING_TILERAWCHANNELMONTOOL_H
51 void drawHists(
int ros,
int drawer,
const std::string& moduleName);
53 void rangeErrorBar(
double&
xmin,
double&
max,
double mean);
55 StatusCode fillDsp(std::map<
int, std::vector<double> > &efitMap, std::map<
int, std::vector<double> > &tfitMap);
58 void drawDsp(
int ros,
int drawer,
const std::string& moduleName);
60 TF1* GetTimeFitFunc(TH2S* hist2d);
61 void LaserFancyPlotting(
int ros,
int drawer,
int maxgain,
const std::string& moduleName);
65 void bookSummaryHistograms(
int ros,
int drawer);
67 void resetSummaryHistograms();
71 bool m_overlaphists{};
78 double m_lo_IntegralLimit{};
79 double m_med_IntegralLimit{};
80 double m_hi_IntegralLimit{};
81 bool m_useratioerror{};
88 double m_efitThresh{};
94 bool checkDmuHeader(std::vector<uint32_t>* headerVec,
int dmu);
97 bool m_corrup[5][64][2][16]={};
115 for (
int i = 0;
i < 32; ++
i)
118 if ((parity % 2) == 1)
return false;
134 Edsp = 0, Tdsp = 1, chi2dsp = 2, Edsp_fit = 3, Tdsp_fit = 4
138 sumEdsp_fit = 0, sumTdsp_fit = 1, sumEdsp = 2, NsumDsp = 3
144 int m_nEventsTileMon{};
146 float m_rangeQ[2][2][3][48];
147 double m_timeCov[5][64][48][2][2][6];
148 double m_timeCovCorr[5][64][48][2][2][3];
151 std::vector<TH1S *> m_hist1[5][64][48][2];
152 std::vector<TH2S *> m_hist2[5][64][48][2];
153 std::vector<TH1F *> m_finalHist1[5][64][2][2];
154 std::vector<TH2F *> m_finalHist2[256][2];
156 std::vector<TH1F *> m_histDsp1[5][64][48][2];
157 std::vector<TH2F *> m_histDsp2[5][64][48][2];
158 std::vector<TH1F *> m_finalHistDsp1[5][64][2];
159 std::vector<TH2F *> m_finalHistDsp2[5][64][2];
160 std::vector<TH1F *> m_hBarDsp1[5][64][2];
162 std::vector<TH1F *> m_summaryPmts[5][64][2][2];
168 int m_summaryUpdateFrequency{};
169 bool m_resetAfterSummaryUpdate{};
170 bool m_doLaserSummaryVsPMT{};
172 float m_minAmpForCorrectedTime{};
174 std::string m_infoName{};
178 int m_intCalibUnit{};
179 double m_dac2Charge[3]={};