69 for(
int i=0;
i<128;
i++)
adc[
i]=0;
96 for(
int i=1;i<128;i++) if(adc[i]>
max){ max=
adc[
i]; maxi=
i;}
97 from=0; to=maxi+6;
if(to>127) to=127;
98 for(
int i=from;
i<=to;
i++){
102 if(nSum>0) *ave=Sum/nSum;
else return false;
104 for(
int i=from;
i<=to;
i++) Sum+=
adc[
i]*(
i-*ave)*(
i-*ave);
266 if (prefixME_.size()>0 && prefixME_.substr(prefixME_.size()-1,prefixME_.size())!=
"/")
267 prefixME_.append(
"/");
319 emap=conditions_->getHcalMapping();
327 for (std::vector<DetId>::const_iterator
i = mydetids.begin();
i!=mydetids.end();++
i){
341 meEVT_ = ib.
bookInt(
"HcalDetDiagPedestalMonitor Event Number");
342 meRUN_ = ib.
bookInt(
"HcalDetDiagPedestalMonitor Run Number");
382 name=
"HB Pedestal Distribution (average over 4 caps)";
PedestalsAve4HB = ib.
book1D(name,name,200,0,6);
383 name=
"HE Pedestal Distribution (average over 4 caps)";
PedestalsAve4HE = ib.
book1D(name,name,200,0,6);
384 name=
"HO Pedestal Distribution (average over 4 caps)";
PedestalsAve4HO = ib.
book1D(name,name,200,0,6);
385 name=
"HF Pedestal Distribution (average over 4 caps)";
PedestalsAve4HF = ib.
book1D(name,name,200,0,6);
388 name=
"HB Pedestal-Reference Distribution (average over 4 caps)";
PedestalsAve4HBref= ib.
book1D(name,name,1500,-3,3);
389 name=
"HE Pedestal-Reference Distribution (average over 4 caps)";
PedestalsAve4HEref= ib.
book1D(name,name,1500,-3,3);
390 name=
"HO Pedestal-Reference Distribution (average over 4 caps)";
PedestalsAve4HOref= ib.
book1D(name,name,1500,-3,3);
391 name=
"HF Pedestal-Reference Distribution (average over 4 caps)";
PedestalsAve4HFref= ib.
book1D(name,name,1500,-3,3);
393 name=
"HB Pedestal RMS Distribution (individual cap)";
PedestalsRmsHB = ib.
book1D(name,name,200,0,2);
394 name=
"HE Pedestal RMS Distribution (individual cap)";
PedestalsRmsHE = ib.
book1D(name,name,200,0,2);
395 name=
"HO Pedestal RMS Distribution (individual cap)";
PedestalsRmsHO = ib.
book1D(name,name,200,0,2);
396 name=
"HF Pedestal RMS Distribution (individual cap)";
PedestalsRmsHF = ib.
book1D(name,name,200,0,2);
465 static int lastPEDorbit,nChecksPED;
466 if(
ievt_==-1){
ievt_=0; PEDseq=
false; lastPEDorbit=-1;nChecksPED=0; }
470 bool PedestalEvent=
false;
476 if((trigger_data->triggerWord())==5) PedestalEvent=
true;
480 if(
LocalRun && !PedestalEvent)
return;
483 if(PEDseq && (orbit-lastPEDorbit)>(11223*10) &&
ievt_>500){
488 if(nChecksPED==1 || (nChecksPED>1 && ((nChecksPED-1)%12)==0)){
508 if ( fedData.
size() < 24 )
continue ;
510 if ( calibType < 0 ) calibType =
value ;
511 if(value==
hc_Pedestal){ PEDseq=
true; lastPEDorbit=orbit;
break;}
529 eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size();
531 if(nTS<8 && nTS>=4) nTS=4;
545 eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size();
547 if(nTS<8 && nTS>=4) nTS=4;
556 eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size();
558 if(nTS<8 && nTS>=4) nTS=4;
582 double PED=0,
RMS=0,nped=0,nrms=0,ave=0,
rms=0;
611 double PED=0,
RMS=0,nped=0,nrms=0,ave=0,
rms=0;
624 double ave=0,
rms=0,sum=0;
635 double ave=0,
rms=0,sum=0;
647 double ave=0,
rms=0,sum=0;
648 if((
eta>=11 && eta<=15 && phi>=59 &&
phi<=70) || (
eta>=5 && eta<=10 && phi>=47 &&
phi<=58)){
666 double ave=0,
rms=0,sum=0;
676 for(
int i=0;
i<4;
i++){
697 for (std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin(); eid != AllElIds.end(); eid++) {
701 if(!(!(gid.null()) &&
720 double ped[4],
rms[4],ped_ref[4],rms_ref[4];
731 if(stat>0 && stat!=(
ievt_*2)){
if(
nTS_HBHE==8) status=(double)stat/(
double)(
ievt_*2);
else status=(double)stat/(
double)(
ievt_);
741 if(
hb_data[eta+42][
phi-1][
depth-1][0].get_reference(&ped_ref[0],&rms_ref[0])
749 double ave=(ped[0]+ped[1]+ped[2]+ped[3])/4.0;
750 double ave_ref=(ped_ref[0]+ped_ref[1]+ped_ref[2]+ped_ref[3])/4.0;
752 double deltaRms=rms[0]-rms_ref[0];
PedestalsRmsHBref->
Fill(deltaRms);
if(deltaRms<0) deltaRms=-deltaRms;
753 for(
int i=1;
i<4;
i++){
755 if(fabs(tmp)>fabs(deltaRms)) deltaRms=
tmp;
779 double ped[4],
rms[4],ped_ref[4],rms_ref[4];
790 if(stat>0 && stat!=(
ievt_*2)){
if(
nTS_HBHE==8) status=(double)stat/(
double)(
ievt_*2);
else status=(double)stat/(
double)(
ievt_);
800 if(
he_data[eta+42][
phi-1][
depth-1][0].get_reference(&ped_ref[0],&rms_ref[0])
808 double ave=(ped[0]+ped[1]+ped[2]+ped[3])/4.0;
809 double ave_ref=(ped_ref[0]+ped_ref[1]+ped_ref[2]+ped_ref[3])/4.0;
811 double deltaRms=rms[0]-rms_ref[0];
PedestalsRmsHEref->
Fill(deltaRms);
if(deltaRms<0) deltaRms=-deltaRms;
812 for(
int i=1;
i<4;
i++){
814 if(fabs(tmp)>fabs(deltaRms)) deltaRms=
tmp;
838 double ped[4],
rms[4],ped_ref[4],rms_ref[4];
849 if(stat>0 && stat!=(
ievt_*2)){
if(
nTS_HO==8) status=(double)stat/(
double)(
ievt_*2);
else status=(double)stat/(
double)(
ievt_);
859 if(
ho_data[eta+42][
phi-1][
depth-1][0].get_reference(&ped_ref[0],&rms_ref[0])
869 if((eta>=11 && eta<=15 && phi>=59 &&
phi<=70) || (eta>=5 && eta<=10 && phi>=47 &&
phi<=58))THRESTHOLD*=2;
870 double ave=(ped[0]+ped[1]+ped[2]+ped[3])/4.0;
871 double ave_ref=(ped_ref[0]+ped_ref[1]+ped_ref[2]+ped_ref[3])/4.0;
873 double deltaRms=rms[0]-rms_ref[0];
PedestalsRmsHOref->
Fill(deltaRms);
if(deltaRms<0) deltaRms=-deltaRms;
874 for(
int i=1;
i<4;
i++){
876 if(fabs(tmp)>fabs(deltaRms)) deltaRms=
tmp;
886 if(deltaRms>THRESTHOLD){
900 double ped[4],
rms[4],ped_ref[4],rms_ref[4];
911 if(stat>0 && stat!=(
ievt_*2)){
if(
nTS_HF==8) status=(double)stat/(
double)(
ievt_*2);
else status=(double)stat/(
double)(
ievt_);
921 if(
hf_data[eta+42][
phi-1][
depth-1][0].get_reference(&ped_ref[0],&rms_ref[0])
929 double ave=(ped[0]+ped[1]+ped[2]+ped[3])/4.0;
930 double ave_ref=(ped_ref[0]+ped_ref[1]+ped_ref[2]+ped_ref[3])/4.0;
932 double deltaRms=rms[0]-rms_ref[0];
PedestalsRmsHFref->
Fill(deltaRms);
if(deltaRms<0) deltaRms=-deltaRms;
933 for(
int i=1;
i<4;
i++){
935 if(fabs(tmp)>fabs(deltaRms)) deltaRms=
tmp;
968 double ped[4],
rms[4];
970 char Subdet[10],str[500];
975 sprintf(str,
"%sHcalDetDiagPedestalData.root",
OutputFilePath.c_str());
977 TFile *
theFile =
new TFile(str,
"RECREATE");
978 if(!theFile->IsOpen())
return;
980 sprintf(str,
"%d",
run_number); TObjString
run(str); run.Write(
"run number");
981 sprintf(str,
"%d",
ievt_); TObjString
events(str); events.Write(
"Total events processed");
982 sprintf(str,
"%d",
dataset_seq_number); TObjString dsnum(str); dsnum.Write(
"Dataset number");
983 Long_t
t; t=
time(0); strftime(str,30,
"%F %T",localtime(&t)); TObjString tm(str); tm.Write(
"Dataset creation time");
985 TTree *
tree =
new TTree(
"HCAL Pedestal data",
"HCAL Pedestal data");
987 tree->Branch(
"Subdet", &Subdet,
"Subdet/C");
988 tree->Branch(
"eta", &Eta,
"Eta/I");
989 tree->Branch(
"phi", &Phi,
"Phi/I");
990 tree->Branch(
"depth", &Depth,
"Depth/I");
991 tree->Branch(
"statistic",&Statistic,
"Statistic/I");
992 tree->Branch(
"status", &Status,
"Status/I");
993 tree->Branch(
"cap0_ped", &ped[0],
"cap0_ped/D");
994 tree->Branch(
"cap0_rms", &rms[0],
"cap0_rms/D");
995 tree->Branch(
"cap1_ped", &ped[1],
"cap1_ped/D");
996 tree->Branch(
"cap1_rms", &rms[1],
"cap1_rms/D");
997 tree->Branch(
"cap2_ped", &ped[2],
"cap2_ped/D");
998 tree->Branch(
"cap2_rms", &rms[2],
"cap2_rms/D");
999 tree->Branch(
"cap3_ped", &ped[3],
"cap3_ped/D");
1000 tree->Branch(
"cap3_rms", &rms[3],
"cap3_rms/D");
1001 sprintf(Subdet,
"HB");
1013 sprintf(Subdet,
"HE");
1025 sprintf(Subdet,
"HO");
1037 sprintf(Subdet,
"HF");
1059 sprintf(str,
"HcalDetDiagPedestals.xml");
1064 xmlFile.open(xmlName.c_str());
1066 xmlFile<<
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n";
1067 xmlFile<<
"<ROOT>\n";
1068 xmlFile<<
" <HEADER>\n";
1069 xmlFile<<
" <HINTS mode='only-det-root'/>\n";
1070 xmlFile<<
" <TYPE>\n";
1071 xmlFile<<
" <EXTENSION_TABLE_NAME>HCAL_DETMON_PEDESTALS_V1</EXTENSION_TABLE_NAME>\n";
1072 xmlFile<<
" <NAME>HCAL Pedestals [abort gap global]</NAME>\n";
1073 xmlFile<<
" </TYPE>\n";
1074 xmlFile<<
" <!-- run details -->\n";
1075 xmlFile<<
" <RUN>\n";
1076 xmlFile<<
" <RUN_TYPE>GLOBAL-RUN</RUN_TYPE>\n";
1077 xmlFile<<
" <RUN_NUMBER>"<<
run_number<<
"</RUN_NUMBER>\n";
1078 xmlFile<<
" <RUN_BEGIN_TIMESTAMP>2009-01-01 00:00:00</RUN_BEGIN_TIMESTAMP>\n";
1079 xmlFile<<
" <COMMENT_DESCRIPTION>hcal ped data</COMMENT_DESCRIPTION>\n";
1080 xmlFile<<
" <LOCATION>P5</LOCATION>\n";
1081 xmlFile<<
" <INITIATED_BY_USER>dma</INITIATED_BY_USER>\n";
1082 xmlFile<<
" </RUN>\n";
1083 xmlFile<<
" </HEADER>\n";
1084 xmlFile<<
" <DATA_SET>\n";
1085 xmlFile<<
" <!-- optional dataset metadata -->\n\n";
1087 xmlFile<<
" <SET_BEGIN_TIMESTAMP>2009-01-01 00:00:00</SET_BEGIN_TIMESTAMP>\n";
1088 xmlFile<<
" <SET_END_TIMESTAMP>2009-01-01 00:00:00</SET_END_TIMESTAMP>\n";
1089 xmlFile<<
" <NUMBER_OF_EVENTS_IN_SET>"<<
ievt_<<
"</NUMBER_OF_EVENTS_IN_SET>\n";
1090 xmlFile<<
" <COMMENT_DESCRIPTION>Automatic DQM output</COMMENT_DESCRIPTION>\n";
1091 xmlFile<<
" <DATA_FILE_NAME>"<< xmlName <<
"</DATA_FILE_NAME>\n";
1092 xmlFile<<
" <IMAGE_FILE_NAME>data plot url or file path</IMAGE_FILE_NAME>\n";
1093 xmlFile<<
" <!-- who and when created this dataset-->\n\n";
1094 Long_t
t; t=
time(0); strftime(str,30,
"%F %T",localtime(&t));
1095 xmlFile<<
" <CREATE_TIMESTAMP>"<<str<<
"</CREATE_TIMESTAMP>\n";
1096 xmlFile<<
" <CREATED_BY_USER>dma</CREATED_BY_USER>\n";
1097 xmlFile<<
" <!-- version (string) and subversion (number) -->\n";
1098 xmlFile<<
" <!-- fields are used to read data back from the database -->\n\n";
1099 xmlFile<<
" <VERSION>"<<run_number<<dataset_seq_number<<
"</VERSION>\n";
1100 xmlFile<<
" <SUBVERSION>1</SUBVERSION>\n";
1101 xmlFile<<
" <!-- Assign predefined dataset attributes -->\n\n";
1102 xmlFile<<
" <PREDEFINED_ATTRIBUTES>\n";
1103 xmlFile<<
" <ATTRIBUTE>\n";
1104 xmlFile<<
" <NAME>HCAL Dataset Status</NAME>\n";
1105 xmlFile<<
" <VALUE>VALID</VALUE>\n";
1106 xmlFile<<
" </ATTRIBUTE>\n";
1107 xmlFile<<
" </PREDEFINED_ATTRIBUTES>\n";
1108 xmlFile<<
" <!-- multiple data block records -->\n\n";
1111 for(std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin(); eid != AllElIds.end(); eid++){
1115 if(!(!(gid.null()) &&
1127 double ped[4]={0,0,0,0},rms[4]={0,0,0,0};
1161 xmlFile<<
" <DATA>\n";
1162 xmlFile<<
" <NUMBER_OF_EVENTS_USED>"<<Statistic<<
"</NUMBER_OF_EVENTS_USED>\n";
1163 xmlFile<<
" <MEAN0>"<<ped[0]<<
"</MEAN0>\n";
1164 xmlFile<<
" <MEAN1>"<<ped[1]<<
"</MEAN1>\n";
1165 xmlFile<<
" <MEAN2>"<<ped[2]<<
"</MEAN2>\n";
1166 xmlFile<<
" <MEAN3>"<<ped[3]<<
"</MEAN3>\n";
1167 xmlFile<<
" <RMS0>"<<rms[0]<<
"</RMS0>\n";
1168 xmlFile<<
" <RMS1>"<<rms[1]<<
"</RMS1>\n";
1169 xmlFile<<
" <RMS2>"<<rms[2]<<
"</RMS2>\n";
1170 xmlFile<<
" <RMS3>"<<rms[3]<<
"</RMS3>\n";
1171 xmlFile<<
" <CHANNEL_STATUS_WORD>"<<Status<<
"</CHANNEL_STATUS_WORD>\n";
1172 xmlFile<<
" <CHANNEL_OBJECTNAME>HcalDetId</CHANNEL_OBJECTNAME>\n";
1173 xmlFile<<
" <SUBDET>"<<subdet<<
"</SUBDET>\n";
1174 xmlFile<<
" <IETA>"<<eta<<
"</IETA>\n";
1175 xmlFile<<
" <IPHI>"<<phi<<
"</IPHI>\n";
1176 xmlFile<<
" <DEPTH>"<<depth<<
"</DEPTH>\n";
1177 xmlFile<<
" <TYPE>0</TYPE>\n";
1178 xmlFile<<
" </DATA>\n";
1181 xmlFile<<
" </DATA_SET>\n";
1182 xmlFile<<
"</ROOT>\n";
1184 sprintf(str,
"zip %s.zip %s",xmlName.c_str(),xmlName.c_str());
1186 sprintf(str,
"rm -f %s",xmlName.c_str());
1188 sprintf(str,
"mv -f %s.zip %s",xmlName.c_str(),
XmlFilePath.c_str());
1195 double ped[4],
rms[4];
1201 if(!f->IsOpen())
return ;
1202 TObjString *STR=(TObjString *)f->Get(
"run number");
1206 TTree*
t=(TTree*)f->Get(
"HCAL Pedestal data");
1208 t->SetBranchAddress(
"Subdet", subdet);
1209 t->SetBranchAddress(
"eta", &Eta);
1210 t->SetBranchAddress(
"phi", &Phi);
1211 t->SetBranchAddress(
"depth", &Depth);
1212 t->SetBranchAddress(
"cap0_ped", &ped[0]);
1213 t->SetBranchAddress(
"cap0_rms", &rms[0]);
1214 t->SetBranchAddress(
"cap1_ped", &ped[1]);
1215 t->SetBranchAddress(
"cap1_rms", &rms[1]);
1216 t->SetBranchAddress(
"cap2_ped", &ped[2]);
1217 t->SetBranchAddress(
"cap2_rms", &rms[2]);
1218 t->SetBranchAddress(
"cap3_ped", &ped[3]);
1219 t->SetBranchAddress(
"cap3_rms", &rms[3]);
1220 for(
int ievt=0;ievt<t->GetEntries();ievt++){
1222 if(strcmp(subdet,
"HB")==0){
1228 if(strcmp(subdet,
"HE")==0){
1234 if(strcmp(subdet,
"HO")==0){
1240 if(strcmp(subdet,
"HF")==0){
1253 double ped[4],
rms[4];
1259 if(gSystem->AccessPathName(
DatasetName.c_str()))
return;
1261 if(!f->IsOpen())
return ;
1264 t=(TTree*)f->Get(
"HCAL Pedestal data");
1266 t->SetBranchAddress(
"Subdet", subdet);
1267 t->SetBranchAddress(
"eta", &Eta);
1268 t->SetBranchAddress(
"phi", &Phi);
1269 t->SetBranchAddress(
"depth", &Depth);
1270 t->SetBranchAddress(
"cap0_ped", &ped[0]);
1271 t->SetBranchAddress(
"cap0_rms", &rms[0]);
1272 t->SetBranchAddress(
"cap1_ped", &ped[1]);
1273 t->SetBranchAddress(
"cap1_rms", &rms[1]);
1274 t->SetBranchAddress(
"cap2_ped", &ped[2]);
1275 t->SetBranchAddress(
"cap2_rms", &rms[2]);
1276 t->SetBranchAddress(
"cap3_ped", &ped[3]);
1277 t->SetBranchAddress(
"cap3_rms", &rms[3]);
1278 t->SetBranchAddress(
"statistic",&Statistic);
1280 for(
int ievt=0;ievt<t->GetEntries();ievt++){
1282 if(strcmp(subdet,
"HB")==0){
nHB++;
1292 if(strcmp(subdet,
"HE")==0){
nHE++;
1302 if(strcmp(subdet,
"HO")==0){
nHO++;
1312 if(strcmp(subdet,
"HF")==0){
nHF++;
1323 TObjString *STR1=(TObjString *)f->Get(
"run number");
1326 TObjString *STR2=(TObjString *)f->Get(
"Total events processed");
1329 TObjString *STR3=(TObjString *)f->Get(
"Dataset number");
MonitorElement * PedestalsAve4HEref
EtaPhiHists * ProblemCellsByDepth_badped_val
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * Pedestals2DHO
edm::Ref< Container > Ref
MonitorElement * PedestalsRmsHFref
std::vector< HcalElectronicsId > allElectronicsIdPrecision() const
MonitorElement * PedestalsAve4HB
MonitorElement * PedestalsRmsHOref
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
MonitorElement * PedestalsRmsHEref
void setAxisRange(double xmin, double xmax, int axis=1)
set x-, y- or z-axis range (axis=1, 2, 3 respectively)
MonitorElement * PedestalsRmsHB
std::vector< std::string > problemnames_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
EtaPhiHists * ProblemCellsByDepth_missing_val
edm::EDGetTokenT< HcalTBTriggerData > tok_tb_
#define DEFINE_FWK_MODULE(type)
MonitorElement * PedestalsAve4HE
HcalDetDiagPedestalData ho_data[85][72][4][4]
void bookHistograms(DQMStore::IBooker &ib, const edm::Run &run, const edm::EventSetup &c) override
MonitorElement * bookInt(Args &&...args)
std::vector< HBHEDataFrame >::const_iterator const_iterator
EtaPhiHists * ProblemCellsByDepth_badped
MonitorElement * bookString(Args &&...args)
const HcalElectronicsMap * emap
HcalDetDiagPedestalData he_data[85][72][4][4]
bool get_average(double *ave, double *rms)
const Item * getValues(DetId fId, bool throwOnFail=true) const
std::map< unsigned int, int > KnownBadCells_
void set_statistics(int stat)
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * PedestalsAve4HBref
edm::EDGetTokenT< FEDRawDataCollection > tok_raw_
void endRun(const edm::Run &run, const edm::EventSetup &c) override
size_t size() const
Lenght of the data buffer in bytes.
MonitorElement * PedestalsAve4Simp
EtaPhiHists * ProblemCellsByDepth_badrms_val
uint32_t rawId() const
get the raw id
bool get_reference(double *val, double *rms)
bool isSiPM(int ieta, int iphi, int depth)
std::string OutputFilePath
int depth() const
get the tower depth
std::vector< MonitorElement * > depth
MonitorElement * PedestalsRmsHF
MonitorElement * PedestalsRmsHBref
~HcalDetDiagPedestalMonitor()
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c) override
std::vector< DetId > getAllChannels() const
HcalDetDiagPedestalData hb_data[85][72][4][4]
MonitorElement * PedestalsAve4HF
HcalDetDiagPedestalMonitor(const edm::ParameterSet &)
int ieta() const
get the cell ieta
MonitorElement * book1D(Args &&...args)
Abs< T >::type abs(const T &t)
void setup(DQMStore::IBooker &m_dbe, std::string Name, std::string Units="")
MonitorElement * PedestalsRmsHE
edm::InputTag inputLabelDigi_
void add_statistics(unsigned int val)
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
MonitorElement * PedestalsAve4HFref
std::string htmlOutputPath
edm::EDGetTokenT< HODigiCollection > tok_ho_
int iphi() const
get the cell iphi
MonitorElement * Pedestals2DErrorHBHEHF
std::string ReferenceData
void setCurrentFolder(const std::string &fullpath)
MonitorElement * PedestalsRmsHO
MonitorElement * book2D(Args &&...args)
EtaPhiHists * ProblemCellsByDepth_unstable_val
HcalDetDiagPedestalData()
void change_status(int val)
MonitorElement * htmlFolder
T const * product() const
bool xmlFile(const std::string fParam)
int CalcEtaBin(int subdet, int ieta, int depth)
MonitorElement * PedestalsAve4HO
std::vector< std::vector< double > > tmp
EtaPhiHists * ProblemCellsByDepth_badrms
void set_reference(float val, float rms)
EtaPhiHists * ProblemCellsByDepth_missing
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
MonitorElement * PedestalsAve4HOref
MonitorElement * Pedestals2DRmsHBHEHF
edm::EDGetTokenT< HBHEDigiCollection > tok_hbhe_
EtaPhiHists * ProblemCellsByDepth_unstable
const JetExtendedData & getValue(const Container &, const reco::JetBaseRef &)
get value for the association. Throw exception if no association found
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c) override
edm::EDGetTokenT< HFDigiCollection > tok_hf_
Detector det() const
get the detector field from this detid
MonitorElement * PedestalsRmsSimp
void set_data(float val, float rms)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void Reset(void)
reset ME (ie. contents, errors, etc)
virtual void setup(DQMStore::IBooker &)
const DetId lookup(HcalElectronicsId fId) const
lookup the logical detid associated with the given electronics id
MonitorElement * Pedestals2DHBHEHF
MonitorElement * Pedestals2DErrorHO
HcalDetDiagPedestalData hf_data[85][72][4][4]
MonitorElement * Pedestals2DRmsHO