48 sprintf(sTileIndex,
"Tile(=module*16+sector)");
55 h2digierr=ibooker.
bookProfile2D(s2,s2,14,0.,14., 16,0.,16.,100,0,1.e10,
"");
62 sprintf(s,
"CASTOR DeadChannelsMap");
68 sprintf(s,
"CASTOR AverageToMaxRatioMap");
74 sprintf(s,
"CASTOR AverageToMaxRatio");
77 sprintf(s,
"DigiSize");
79 sprintf(s,
"Module(fC)_allTS");
83 sprintf(s,
"Sector(fC)_allTS");
88 sprintf(s,
"QfC=f(x=Tile y=TS) (cumulative)");
94 sprintf(s,
"QmeanfC=f(Tile TS)");
100 sprintf(s,
"QrmsfC=f(Tile TS)");
106 sprintf(s,
"CASTORreportSummaryMap");
114 sprintf(s,
"QmeanfC_map(allTS)");
120 for(
int ts=0; ts<=1; ts++) {
121 sprintf(s,
"QIErms_TS=%d",ts);
126 for(
int ind=0; ind<224; ind++)
for(
int ts=0; ts<10; ts++)
139 if(castorDigis.
size() <= 0) {
145 j!=castorDigis.
end();
j++)
152 for (
int i=0;
i<digi.
size();
i++) {
160 int err = (capid != capid1) | er<<1 | (!dv)<<2;
171 capid <<
"="<< capid1 <<
" "<< dv <<
" "<< er<<
" "<< err << std::endl;
172 if(capid1 < 3) capid1 = capid+1;
180 const float repChanBAD = 0.9;
181 const float repChanWarning = 0.95;
182 if(
ievt_ %100 != 0)
return;
183 float ModuleSum[14], SectorSum[16];
184 for(
int m=0;
m<14;
m++) ModuleSum[
m]=0.;
185 for(
int s=0;
s<16;
s++) SectorSum[
s]=0.;
186 for(
int mod=0;
mod<14;
mod++)
for(
int sec=0; sec<16; sec++) {
187 for(
int ts=0; ts<=1; ts++) {
195 for(
int ts=1; ts<=
TS_MAX; ts++) {
201 double Qrms =
QrmsTS[ind-1][ts-1]/
ievt_ - Qmean*Qmean;
204 sum /= double(
ievt_);
205 ModuleSum[
mod] += sum;
206 SectorSum[sec] += sum;
207 float isum = float(
int(sum*10.+0.5))/10.;
213 for(
int sec=0; sec<16; sec++)
217 for(
int mod=0; mod<14; mod++)
for(
int sec=0; sec<16;sec++) {
221 float ChanStatus = 0.;
227 for(
int ts=0; ts<
TS_MAX; ts++) {
229 if(am < a) {am =
a; tsm = ts;}
233 for(
int ts=0; ts<
TS_MAX; ts++)
if(ts != tsm)
236 if(am > 0.) r = sum/(TS_MAX-1)/am;
239 float statusTS = 1.0;
241 else if(r > 0.99) statusTS = repChanBAD;
242 float gChanStatus = statusTS;
243 if(ChanStatus > 0.) gChanStatus = repChanBAD;
245 gChanStatus = repChanBAD;
247 if(gChanStatus > repChanBAD) ++nGoodCh;
254 int ind = sector + module*16;
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * h2TSratio
TProfile2D * getTProfile2D(void) const
int sector() const
get the sector (1-16)
MonitorElement * h2reportMap
MonitorElement * hTSratio
int adc() const
get the ADC sample
const HcalQIESample & sample(int i) const
access a sample
std::vector< CastorDataFrame >::const_iterator const_iterator
bool dv() const
is the Data Valid bit set?
int module() const
get the module (1-2 for EM, 1-12 for HAD)
MonitorElement * h2status
CastorDigiMonitor(const edm::ParameterSet &ps)
MonitorElement * h2digierr
MonitorElement * bookProfile2D(Args &&...args)
MonitorElement * book1D(Args &&...args)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
MonitorElement * h2QmeanMap
void setup(const edm::ParameterSet &ps)
MonitorElement * h2QtsvsCh
std::string subsystemname_
const_iterator end() const
MonitorElement * h2QrmsTSvsCh
void setCurrentFolder(const std::string &fullpath)
static const float LedMonAdc2fc[128]
int capid() const
get the Capacitor id
MonitorElement * book2D(Args &&...args)
int ModSecToIndex(int module, int sector)
TH1F * getTH1F(void) const
MonitorElement * hdigisize
virtual void setup(const edm::ParameterSet &ps)
void processEvent(const CastorDigiCollection &cast, const CastorDbService &cond)
MonitorElement * bookFloat(Args &&...args)
MonitorElement * hQIErms[10]
TH2F * getTH2F(void) const
const HcalCastorDetId & id() const
T mod(const T &a, const T &b)
int size() const
total number of samples in the digi
bool er() const
is the error bit set?
const_iterator begin() const
MonitorElement * h2QmeantsvsCh