87 LogVerbatim (
"DTDQM|DTMonitorClient|DTRunConditionVarClient")
88 <<
"DTRunConditionVarClient: end job";
92 glbVDriftSummary = ibooker.
book2D(
"VDriftGlbSummary",
"# of MBs with good mean and good sigma of vDrift",12,1,13,5,-2,3);
93 glbT0Summary = ibooker.
book2D(
"T0GlbSummary",
"# of MBs with good mean and good sigma of t0",12,1,13,5,-2,3);
97 summaryHistos[
"MeanVDriftGlbSummary"] = ibooker.
book2D(
"MeanVDriftGlbSummary",
"mean VDrift average per sector",12,1.,13.,5,-2.,3.);
98 allwheelHistos[
"allMeanVDrift"] = ibooker.
book1D(
"VDriftMeanAllWheels",
"mean VDrift for all chambers",60,0.0048,0.006);
102 summaryHistos[
"SigmaVDriftGlbSummary"] = ibooker.
book2D(
"SigmaVDriftGlbSummary",
"# of Chambers with good sigma VDrift",12,1.,13.,5,-2.,3.);
103 allwheelHistos[
"allSigmaVDrift"] = ibooker.
book1D(
"VDriftSigmaAllWheels",
"sigma VDrift for all chambers",30,0.,0.0006);
107 summaryHistos[
"MeanT0GlbSummary"] = ibooker.
book2D(
"MeanT0GlbSummary",
"mean T0 average per sector",12,1.,13.,5,-2.,3.);
108 allwheelHistos[
"allMeanT0"] = ibooker.
book1D(
"T0MeanAllWheels",
"mean T0 for all chambers",100,-25.,25.);
112 summaryHistos[
"SigmaT0GlbSummary"] = ibooker.
book2D(
"SigmaT0GlbSummary",
"# of Chambers with good sigma T0",12,1.,13.,5,-2.,3.);
113 allwheelHistos[
"allSigmaT0"] = ibooker.
book1D(
"T0SigmaAllWheels",
"sigma T0 for alla chambers",50,0,25);
115 for(
int wh=-2; wh<=2; wh++) {
116 bookWheelHistos(ibooker,
"MeanVDrift",
"02-MeanVDrift",wh,60,0.0048,0.006,
true);
117 bookWheelHistos(ibooker,
"SigmaVDrift",
"02-SigmaVDrift",wh,30,0.,0.0006);
123 for(
int wheel=-2;wheel<=2;wheel++){
124 for(
int sec=1; sec<=14; sec++) {
125 for(
int stat=1; stat<=4; stat++) {
127 if( (sec == 13 || sec == 14) && stat != 4 )
continue;
133 if (!VDriftME || !T0ME) {
134 edm::LogWarning(
"DTRunConditionVarClient") <<
"ME not available" << std::endl;
140 float vDriftMean = VDriftME->
getMean();
141 float t0Mean = T0ME->
getMean();
144 float vDriftSigma = VDriftME->
getRMS();
145 float t0Sigma = T0ME->
getRMS();
170 float vDriftDev(0.), errvDriftDev(0.);
171 percDevVDrift(indexCh, vDriftMean, vDriftSigma, vDriftDev, errvDriftDev);
174 if( sec == 13 || sec == 14 ) sec_ = ( sec == 13 ) ? 4 : 10;
185 if( sec == 13 || sec == 14 ) {
187 float binVDriftDev = (
wheelHistos[wheel])[
"MeanVDriftSummary"]->getBinContent(sec_,stat);
188 binVDriftDev = (fabs(binVDriftDev) > fabs(fillvDriftDev)) ? binVDriftDev : fillvDriftDev;
189 (
wheelHistos[wheel])[
"MeanVDriftSummary"] -> setBinContent(sec_,stat,binVDriftDev);
191 float binT0MeanVal = (
wheelHistos[wheel])[
"MeanT0Summary"] -> getBinContent(sec_,stat);
192 binT0MeanVal = (fabs(binT0MeanVal) > fabs(fillT0Mean)) ? binT0MeanVal : fillT0Mean;
193 (
wheelHistos[wheel])[
"MeanT0Summary"] -> setBinContent(sec_,stat,binT0MeanVal);
195 float binVDriftSigmVal = (
wheelHistos[wheel])[
"SigmaVDriftSummary"] -> getBinContent(sec_,stat);
196 binVDriftSigmVal = (binVDriftSigmVal > 0. && binVDriftSigmVal < vDriftSigmQ) ? binVDriftSigmVal : vDriftSigmQ;
197 (
wheelHistos[wheel])[
"SigmaVDriftSummary"] -> setBinContent(sec_,stat,binVDriftSigmVal);
199 float binT0SigmVal = (
wheelHistos[wheel])[
"SigmaT0Summary"] -> getBinContent(sec_,stat);
200 binT0SigmVal = (binT0SigmVal > 0. && binT0SigmVal < t0SigmQ) ? binT0SigmVal : t0SigmQ;
201 (
wheelHistos[wheel])[
"SigmaT0Summary"] -> setBinContent(sec_,stat,binT0SigmVal);
205 (
wheelHistos[wheel])[
"MeanVDriftSummary"] -> setBinContent(sec_,stat,fillvDriftDev);
206 (
wheelHistos[wheel])[
"MeanT0Summary"] -> setBinContent(sec_,stat,fillT0Mean);
207 (
wheelHistos[wheel])[
"SigmaVDriftSummary"] -> setBinContent(sec_,stat,vDriftSigmQ);
208 (
wheelHistos[wheel])[
"SigmaT0Summary"] -> setBinContent(sec_,stat,t0SigmQ);
213 if(( sec_ == 4 || sec_ == 10) && stat == 4) weight = 1/8.;
215 if( vDriftDevQ > 0.85 && vDriftSigmQ > 0.85 ) {
221 if( vDriftDevQ > 0.85 && vDriftSigmQ < 0.85 ) {
224 if( vDriftDevQ < 0.85 && vDriftSigmQ > 0.85 ) {
229 if( t0MeanQ > 0.85 && t0SigmQ > 0.85 ) {
234 if( t0MeanQ > 0.85 && t0SigmQ < 0.85 ) {
238 if( t0MeanQ < 0.85 && t0SigmQ > 0.85 ) {
std::map< std::string, MonitorElement * > summaryHistos
MonitorElement * getChamberHistos(DQMStore::IGetter &, const DTChamberId &, std::string)
double getEntries(void) const
get # of entries
double getMean(int axis=1) const
get mean value of histogram along x, y or z axis (axis=1, 2, 3 respectively)
float varQuality(float var, float maxGood, float minBad)
MonitorElement * glbVDriftSummary
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
void percDevVDrift(DTChamberId indexCh, float meanVD, float sigmaVD, float &devVD, float &errdevVD)
MonitorElement * book1D(Args &&...args)
void bookWheelHistos(DQMStore::IBooker &, std::string histoType, std::string subfolder, int wh, int nbins, float min, float max, bool isVDCorr=false)
book the report summary
MonitorElement * glbT0Summary
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
std::map< std::string, MonitorElement * > allwheelHistos
std::map< int, std::map< std::string, MonitorElement * > > wheelHistos
double getRMS(int axis=1) const
get RMS of histogram along x, y or z axis (axis=1, 2, 3 respectively)