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(
"/");
296 emap=conditions_->getHcalMapping();
304 for (std::vector<DetId>::const_iterator
i = mydetids.begin();
i!=mydetids.end();++
i){
443 static int lastPEDorbit,nChecksPED;
444 if(
ievt_==-1){
ievt_=0; PEDseq=
false; lastPEDorbit=-1;nChecksPED=0; }
448 bool PedestalEvent=
false;
454 if((trigger_data->triggerWord())==5) PedestalEvent=
true;
458 if(
LocalRun && !PedestalEvent)
return;
461 if(PEDseq && (orbit-lastPEDorbit)>(11223*10) &&
ievt_>500){
466 if(nChecksPED==1 || (nChecksPED>1 && ((nChecksPED-1)%12)==0)){
486 if ( fedData.
size() < 24 )
continue ;
488 if ( calibType < 0 ) calibType =
value ;
489 if(value==
hc_Pedestal){ PEDseq=
true; lastPEDorbit=orbit;
break;}
507 eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size();
509 if(nTS<8 && nTS>=4) nTS=4;
523 eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size();
525 if(nTS<8 && nTS>=4) nTS=4;
534 eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size();
536 if(nTS<8 && nTS>=4) nTS=4;
560 double PED=0,
RMS=0,nped=0,nrms=0,ave=0,
rms=0;
561 for(
int depth=1;depth<=3;depth++){
589 double PED=0,
RMS=0,nped=0,nrms=0,ave=0,
rms=0;
600 for(
int eta=-16;
eta<=16;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=1;depth<=2;depth++){
602 double ave=0,
rms=0,sum=0;
611 for(
int eta=-29;
eta<=29;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=1;depth<=3;depth++){
613 double ave=0,
rms=0,sum=0;
622 for(
int eta=-10;
eta<=15;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=4;depth<=4;depth++){
625 double ave=0,
rms=0,sum=0;
626 if((
eta>=11 && eta<=15 && phi>=59 &&
phi<=70) || (
eta>=5 && eta<=10 && phi>=47 &&
phi<=58)){
642 for(
int eta=-42;
eta<=42;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=1;depth<=2;depth++){
644 double ave=0,
rms=0,sum=0;
654 for(
int i=0;
i<4;
i++){
675 for (std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin(); eid != AllElIds.end(); eid++) {
679 if(!(!(gid.null()) &&
698 double ped[4],
rms[4],ped_ref[4],rms_ref[4];
709 if(stat>0 && stat!=(
ievt_*2)){
if(
nTS_HBHE==8) status=(double)stat/(
double)(
ievt_*2);
else status=(double)stat/(
double)(
ievt_);
719 if(
hb_data[eta+42][
phi-1][depth-1][0].get_reference(&ped_ref[0],&rms_ref[0])
720 &&
hb_data[eta+42][
phi-1][depth-1][0].get_average(&ped[0],&rms[0])){
727 double ave=(ped[0]+ped[1]+ped[2]+ped[3])/4.0;
728 double ave_ref=(ped_ref[0]+ped_ref[1]+ped_ref[2]+ped_ref[3])/4.0;
730 double deltaRms=rms[0]-rms_ref[0];
PedestalsRmsHBref->
Fill(deltaRms);
if(deltaRms<0) deltaRms=-deltaRms;
731 for(
int i=1;
i<4;
i++){
733 if(fabs(tmp)>fabs(deltaRms)) deltaRms=
tmp;
757 double ped[4],
rms[4],ped_ref[4],rms_ref[4];
768 if(stat>0 && stat!=(
ievt_*2)){
if(
nTS_HBHE==8) status=(double)stat/(
double)(
ievt_*2);
else status=(double)stat/(
double)(
ievt_);
778 if(
he_data[eta+42][
phi-1][depth-1][0].get_reference(&ped_ref[0],&rms_ref[0])
779 &&
he_data[eta+42][
phi-1][depth-1][0].get_average(&ped[0],&rms[0])){
786 double ave=(ped[0]+ped[1]+ped[2]+ped[3])/4.0;
787 double ave_ref=(ped_ref[0]+ped_ref[1]+ped_ref[2]+ped_ref[3])/4.0;
789 double deltaRms=rms[0]-rms_ref[0];
PedestalsRmsHEref->
Fill(deltaRms);
if(deltaRms<0) deltaRms=-deltaRms;
790 for(
int i=1;
i<4;
i++){
792 if(fabs(tmp)>fabs(deltaRms)) deltaRms=
tmp;
816 double ped[4],
rms[4],ped_ref[4],rms_ref[4];
827 if(stat>0 && stat!=(
ievt_*2)){
if(
nTS_HO==8) status=(double)stat/(
double)(
ievt_*2);
else status=(double)stat/(
double)(
ievt_);
837 if(
ho_data[eta+42][
phi-1][depth-1][0].get_reference(&ped_ref[0],&rms_ref[0])
838 &&
ho_data[eta+42][
phi-1][depth-1][0].get_average(&ped[0],&rms[0])){
847 if((eta>=11 && eta<=15 && phi>=59 &&
phi<=70) || (eta>=5 && eta<=10 && phi>=47 &&
phi<=58))THRESTHOLD*=2;
848 double ave=(ped[0]+ped[1]+ped[2]+ped[3])/4.0;
849 double ave_ref=(ped_ref[0]+ped_ref[1]+ped_ref[2]+ped_ref[3])/4.0;
851 double deltaRms=rms[0]-rms_ref[0];
PedestalsRmsHOref->
Fill(deltaRms);
if(deltaRms<0) deltaRms=-deltaRms;
852 for(
int i=1;
i<4;
i++){
854 if(fabs(tmp)>fabs(deltaRms)) deltaRms=
tmp;
864 if(deltaRms>THRESTHOLD){
878 double ped[4],
rms[4],ped_ref[4],rms_ref[4];
889 if(stat>0 && stat!=(
ievt_*2)){
if(
nTS_HF==8) status=(double)stat/(
double)(
ievt_*2);
else status=(double)stat/(
double)(
ievt_);
899 if(
hf_data[eta+42][
phi-1][depth-1][0].get_reference(&ped_ref[0],&rms_ref[0])
900 &&
hf_data[eta+42][
phi-1][depth-1][0].get_average(&ped[0],&rms[0])){
907 double ave=(ped[0]+ped[1]+ped[2]+ped[3])/4.0;
908 double ave_ref=(ped_ref[0]+ped_ref[1]+ped_ref[2]+ped_ref[3])/4.0;
910 double deltaRms=rms[0]-rms_ref[0];
PedestalsRmsHFref->
Fill(deltaRms);
if(deltaRms<0) deltaRms=-deltaRms;
911 for(
int i=1;
i<4;
i++){
913 if(fabs(tmp)>fabs(deltaRms)) deltaRms=
tmp;
946 double ped[4],
rms[4];
948 char Subdet[10],str[500];
953 sprintf(str,
"%sHcalDetDiagPedestalData.root",
OutputFilePath.c_str());
955 TFile *
theFile =
new TFile(str,
"RECREATE");
956 if(!theFile->IsOpen())
return;
958 sprintf(str,
"%d",
run_number); TObjString
run(str); run.Write(
"run number");
959 sprintf(str,
"%d",
ievt_); TObjString
events(str); events.Write(
"Total events processed");
960 sprintf(str,
"%d",
dataset_seq_number); TObjString dsnum(str); dsnum.Write(
"Dataset number");
961 Long_t
t; t=
time(0); strftime(str,30,
"%F %T",localtime(&t)); TObjString tm(str); tm.Write(
"Dataset creation time");
963 TTree *
tree =
new TTree(
"HCAL Pedestal data",
"HCAL Pedestal data");
965 tree->Branch(
"Subdet", &Subdet,
"Subdet/C");
966 tree->Branch(
"eta", &Eta,
"Eta/I");
967 tree->Branch(
"phi", &Phi,
"Phi/I");
968 tree->Branch(
"depth", &Depth,
"Depth/I");
969 tree->Branch(
"statistic",&Statistic,
"Statistic/I");
970 tree->Branch(
"status", &Status,
"Status/I");
971 tree->Branch(
"cap0_ped", &ped[0],
"cap0_ped/D");
972 tree->Branch(
"cap0_rms", &rms[0],
"cap0_rms/D");
973 tree->Branch(
"cap1_ped", &ped[1],
"cap1_ped/D");
974 tree->Branch(
"cap1_rms", &rms[1],
"cap1_rms/D");
975 tree->Branch(
"cap2_ped", &ped[2],
"cap2_ped/D");
976 tree->Branch(
"cap2_rms", &rms[2],
"cap2_rms/D");
977 tree->Branch(
"cap3_ped", &ped[3],
"cap3_ped/D");
978 tree->Branch(
"cap3_rms", &rms[3],
"cap3_rms/D");
979 sprintf(Subdet,
"HB");
980 for(
int eta=-16;
eta<=16;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=1;depth<=2;depth++){
981 if((Statistic=
hb_data[
eta+42][
phi-1][depth-1][0].get_statistics())>100){
982 Eta=
eta; Phi=
phi; Depth=depth;
991 sprintf(Subdet,
"HE");
992 for(
int eta=-29;
eta<=29;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=1;depth<=3;depth++){
993 if((Statistic=
he_data[
eta+42][
phi-1][depth-1][0].get_statistics())>100){
994 Eta=
eta; Phi=
phi; Depth=depth;
1003 sprintf(Subdet,
"HO");
1004 for(
int eta=-15;
eta<=15;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=4;depth<=4;depth++){
1005 if((Statistic=
ho_data[
eta+42][
phi-1][depth-1][0].get_statistics())>100){
1006 Eta=
eta; Phi=
phi; Depth=depth;
1015 sprintf(Subdet,
"HF");
1016 for(
int eta=-42;
eta<=42;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=1;depth<=2;depth++){
1017 if((Statistic=
hf_data[
eta+42][
phi-1][depth-1][0].get_statistics())>100){
1018 Eta=
eta; Phi=
phi; Depth=depth;
1036 sprintf(str,
"HcalDetDiagPedestals.xml");
1041 xmlFile.open(xmlName.c_str());
1043 xmlFile<<
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n";
1044 xmlFile<<
"<ROOT>\n";
1045 xmlFile<<
" <HEADER>\n";
1046 xmlFile<<
" <HINTS mode='only-det-root'/>\n";
1047 xmlFile<<
" <TYPE>\n";
1048 xmlFile<<
" <EXTENSION_TABLE_NAME>HCAL_DETMON_PEDESTALS_V1</EXTENSION_TABLE_NAME>\n";
1049 xmlFile<<
" <NAME>HCAL Pedestals [abort gap global]</NAME>\n";
1050 xmlFile<<
" </TYPE>\n";
1051 xmlFile<<
" <!-- run details -->\n";
1052 xmlFile<<
" <RUN>\n";
1053 xmlFile<<
" <RUN_TYPE>GLOBAL-RUN</RUN_TYPE>\n";
1054 xmlFile<<
" <RUN_NUMBER>"<<
run_number<<
"</RUN_NUMBER>\n";
1055 xmlFile<<
" <RUN_BEGIN_TIMESTAMP>2009-01-01 00:00:00</RUN_BEGIN_TIMESTAMP>\n";
1056 xmlFile<<
" <COMMENT_DESCRIPTION>hcal ped data</COMMENT_DESCRIPTION>\n";
1057 xmlFile<<
" <LOCATION>P5</LOCATION>\n";
1058 xmlFile<<
" <INITIATED_BY_USER>dma</INITIATED_BY_USER>\n";
1059 xmlFile<<
" </RUN>\n";
1060 xmlFile<<
" </HEADER>\n";
1061 xmlFile<<
" <DATA_SET>\n";
1062 xmlFile<<
" <!-- optional dataset metadata -->\n\n";
1064 xmlFile<<
" <SET_BEGIN_TIMESTAMP>2009-01-01 00:00:00</SET_BEGIN_TIMESTAMP>\n";
1065 xmlFile<<
" <SET_END_TIMESTAMP>2009-01-01 00:00:00</SET_END_TIMESTAMP>\n";
1066 xmlFile<<
" <NUMBER_OF_EVENTS_IN_SET>"<<
ievt_<<
"</NUMBER_OF_EVENTS_IN_SET>\n";
1067 xmlFile<<
" <COMMENT_DESCRIPTION>Automatic DQM output</COMMENT_DESCRIPTION>\n";
1068 xmlFile<<
" <DATA_FILE_NAME>"<< xmlName <<
"</DATA_FILE_NAME>\n";
1069 xmlFile<<
" <IMAGE_FILE_NAME>data plot url or file path</IMAGE_FILE_NAME>\n";
1070 xmlFile<<
" <!-- who and when created this dataset-->\n\n";
1071 Long_t
t; t=
time(0); strftime(str,30,
"%F %T",localtime(&t));
1072 xmlFile<<
" <CREATE_TIMESTAMP>"<<str<<
"</CREATE_TIMESTAMP>\n";
1073 xmlFile<<
" <CREATED_BY_USER>dma</CREATED_BY_USER>\n";
1074 xmlFile<<
" <!-- version (string) and subversion (number) -->\n";
1075 xmlFile<<
" <!-- fields are used to read data back from the database -->\n\n";
1076 xmlFile<<
" <VERSION>"<<run_number<<dataset_seq_number<<
"</VERSION>\n";
1077 xmlFile<<
" <SUBVERSION>1</SUBVERSION>\n";
1078 xmlFile<<
" <!-- Assign predefined dataset attributes -->\n\n";
1079 xmlFile<<
" <PREDEFINED_ATTRIBUTES>\n";
1080 xmlFile<<
" <ATTRIBUTE>\n";
1081 xmlFile<<
" <NAME>HCAL Dataset Status</NAME>\n";
1082 xmlFile<<
" <VALUE>VALID</VALUE>\n";
1083 xmlFile<<
" </ATTRIBUTE>\n";
1084 xmlFile<<
" </PREDEFINED_ATTRIBUTES>\n";
1085 xmlFile<<
" <!-- multiple data block records -->\n\n";
1088 for(std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin(); eid != AllElIds.end(); eid++){
1092 if(!(!(gid.null()) &&
1104 double ped[4]={0,0,0,0},rms[4]={0,0,0,0};
1138 xmlFile<<
" <DATA>\n";
1139 xmlFile<<
" <NUMBER_OF_EVENTS_USED>"<<Statistic<<
"</NUMBER_OF_EVENTS_USED>\n";
1140 xmlFile<<
" <MEAN0>"<<ped[0]<<
"</MEAN0>\n";
1141 xmlFile<<
" <MEAN1>"<<ped[1]<<
"</MEAN1>\n";
1142 xmlFile<<
" <MEAN2>"<<ped[2]<<
"</MEAN2>\n";
1143 xmlFile<<
" <MEAN3>"<<ped[3]<<
"</MEAN3>\n";
1144 xmlFile<<
" <RMS0>"<<rms[0]<<
"</RMS0>\n";
1145 xmlFile<<
" <RMS1>"<<rms[1]<<
"</RMS1>\n";
1146 xmlFile<<
" <RMS2>"<<rms[2]<<
"</RMS2>\n";
1147 xmlFile<<
" <RMS3>"<<rms[3]<<
"</RMS3>\n";
1148 xmlFile<<
" <CHANNEL_STATUS_WORD>"<<Status<<
"</CHANNEL_STATUS_WORD>\n";
1149 xmlFile<<
" <CHANNEL_OBJECTNAME>HcalDetId</CHANNEL_OBJECTNAME>\n";
1150 xmlFile<<
" <SUBDET>"<<subdet<<
"</SUBDET>\n";
1151 xmlFile<<
" <IETA>"<<eta<<
"</IETA>\n";
1152 xmlFile<<
" <IPHI>"<<phi<<
"</IPHI>\n";
1153 xmlFile<<
" <DEPTH>"<<depth<<
"</DEPTH>\n";
1154 xmlFile<<
" <TYPE>0</TYPE>\n";
1155 xmlFile<<
" </DATA>\n";
1158 xmlFile<<
" </DATA_SET>\n";
1159 xmlFile<<
"</ROOT>\n";
1161 sprintf(str,
"zip %s.zip %s",xmlName.c_str(),xmlName.c_str());
1163 sprintf(str,
"rm -f %s",xmlName.c_str());
1165 sprintf(str,
"mv -f %s.zip %s",xmlName.c_str(),
XmlFilePath.c_str());
1172 double ped[4],
rms[4];
1178 if(!f->IsOpen())
return ;
1179 TObjString *STR=(TObjString *)f->Get(
"run number");
1183 TTree*
t=(TTree*)f->Get(
"HCAL Pedestal data");
1185 t->SetBranchAddress(
"Subdet", subdet);
1186 t->SetBranchAddress(
"eta", &Eta);
1187 t->SetBranchAddress(
"phi", &Phi);
1188 t->SetBranchAddress(
"depth", &Depth);
1189 t->SetBranchAddress(
"cap0_ped", &ped[0]);
1190 t->SetBranchAddress(
"cap0_rms", &rms[0]);
1191 t->SetBranchAddress(
"cap1_ped", &ped[1]);
1192 t->SetBranchAddress(
"cap1_rms", &rms[1]);
1193 t->SetBranchAddress(
"cap2_ped", &ped[2]);
1194 t->SetBranchAddress(
"cap2_rms", &rms[2]);
1195 t->SetBranchAddress(
"cap3_ped", &ped[3]);
1196 t->SetBranchAddress(
"cap3_rms", &rms[3]);
1197 for(
int ievt=0;ievt<t->GetEntries();ievt++){
1199 if(strcmp(subdet,
"HB")==0){
1205 if(strcmp(subdet,
"HE")==0){
1211 if(strcmp(subdet,
"HO")==0){
1217 if(strcmp(subdet,
"HF")==0){
1229 double ped[4],
rms[4];
1235 if(gSystem->AccessPathName(
DatasetName.c_str()))
return;
1237 if(!f->IsOpen())
return ;
1240 t=(TTree*)f->Get(
"HCAL Pedestal data");
1242 t->SetBranchAddress(
"Subdet", subdet);
1243 t->SetBranchAddress(
"eta", &Eta);
1244 t->SetBranchAddress(
"phi", &Phi);
1245 t->SetBranchAddress(
"depth", &Depth);
1246 t->SetBranchAddress(
"cap0_ped", &ped[0]);
1247 t->SetBranchAddress(
"cap0_rms", &rms[0]);
1248 t->SetBranchAddress(
"cap1_ped", &ped[1]);
1249 t->SetBranchAddress(
"cap1_rms", &rms[1]);
1250 t->SetBranchAddress(
"cap2_ped", &ped[2]);
1251 t->SetBranchAddress(
"cap2_rms", &rms[2]);
1252 t->SetBranchAddress(
"cap3_ped", &ped[3]);
1253 t->SetBranchAddress(
"cap3_rms", &rms[3]);
1254 t->SetBranchAddress(
"statistic",&Statistic);
1256 for(
int ievt=0;ievt<t->GetEntries();ievt++){
1258 if(strcmp(subdet,
"HB")==0){
nHB++;
1268 if(strcmp(subdet,
"HE")==0){
nHE++;
1278 if(strcmp(subdet,
"HO")==0){
nHO++;
1288 if(strcmp(subdet,
"HF")==0){
nHF++;
1299 TObjString *STR1=(TObjString *)f->Get(
"run number");
1302 TObjString *STR2=(TObjString *)f->Get(
"Total events processed");
1305 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
void beginRun(const edm::Run &run, const edm::EventSetup &c) override
MonitorElement * PedestalsRmsHOref
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
MonitorElement * PedestalsRmsHEref
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
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]
std::vector< HBHEDataFrame >::const_iterator const_iterator
void setup(DQMStore *&m_dbe, std::string Name, std::string Units="")
EtaPhiHists * ProblemCellsByDepth_badped
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
MonitorElement * bookString(const char *name, const char *value)
Book string.
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
Abs< T >::type abs(const T &t)
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
MonitorElement * PedestalsRmsHO
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_
MonitorElement * bookInt(const char *name)
Book int.
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
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)
const DetId lookup(HcalElectronicsId fId) const
lookup the logical detid associated with the given electronics id
MonitorElement * Pedestals2DHBHEHF
void setCurrentFolder(const std::string &fullpath)
MonitorElement * Pedestals2DErrorHO
HcalDetDiagPedestalData hf_data[85][72][4][4]
MonitorElement * Pedestals2DRmsHO