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);
261 if (prefixME_.size()>0 && prefixME_.substr(prefixME_.size()-1,prefixME_.size())!=
"/")
262 prefixME_.append(
"/");
282 emap=conditions_->getHcalMapping();
290 for (std::vector<DetId>::const_iterator
i = mydetids.begin();
i!=mydetids.end();++
i){
429 static int lastPEDorbit,nChecksPED;
430 if(
ievt_==-1){
ievt_=0; PEDseq=
false; lastPEDorbit=-1;nChecksPED=0; }
434 bool PedestalEvent=
false;
440 if((trigger_data->triggerWord())==5) PedestalEvent=
true;
444 if(
LocalRun && !PedestalEvent)
return;
447 if(PEDseq && (orbit-lastPEDorbit)>(11223*10) &&
ievt_>500){
452 if(nChecksPED==1 || (nChecksPED>1 && ((nChecksPED-1)%12)==0)){
472 if ( fedData.
size() < 24 )
continue ;
474 if ( calibType < 0 ) calibType =
value ;
475 if(value==
hc_Pedestal){ PEDseq=
true; lastPEDorbit=orbit;
break;}
493 eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size();
495 if(nTS<8 && nTS>=4) nTS=4;
509 eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size();
511 if(nTS<8 && nTS>=4) nTS=4;
520 eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size();
522 if(nTS<8 && nTS>=4) nTS=4;
546 double PED=0,RMS=0,nped=0,nrms=0,ave=0,
rms=0;
547 for(
int depth=1;depth<=3;depth++){
575 double PED=0,RMS=0,nped=0,nrms=0,ave=0,
rms=0;
586 for(
int eta=-16;
eta<=16;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=1;depth<=2;depth++){
588 double ave=0,
rms=0,sum=0;
597 for(
int eta=-29;
eta<=29;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=1;depth<=3;depth++){
599 double ave=0,
rms=0,sum=0;
608 for(
int eta=-10;
eta<=15;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=4;depth<=4;depth++){
611 double ave=0,
rms=0,sum=0;
612 if((
eta>=11 && eta<=15 && phi>=59 &&
phi<=70) || (
eta>=5 && eta<=10 && phi>=47 &&
phi<=58)){
628 for(
int eta=-42;
eta<=42;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=1;depth<=2;depth++){
630 double ave=0,
rms=0,sum=0;
640 for(
int i=0;
i<4;
i++){
661 for (std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin(); eid != AllElIds.end(); eid++) {
665 if(!(!(gid.null()) &&
684 double ped[4],
rms[4],ped_ref[4],rms_ref[4];
695 if(stat>0 && stat!=(
ievt_*2)){
if(
nTS_HBHE==8) status=(double)stat/(
double)(
ievt_*2);
else status=(double)stat/(
double)(
ievt_);
705 if(
hb_data[eta+42][
phi-1][depth-1][0].get_reference(&ped_ref[0],&rms_ref[0])
706 &&
hb_data[eta+42][
phi-1][depth-1][0].get_average(&ped[0],&rms[0])){
713 double ave=(ped[0]+ped[1]+ped[2]+ped[3])/4.0;
714 double ave_ref=(ped_ref[0]+ped_ref[1]+ped_ref[2]+ped_ref[3])/4.0;
716 double deltaRms=rms[0]-rms_ref[0];
PedestalsRmsHBref->
Fill(deltaRms);
if(deltaRms<0) deltaRms=-deltaRms;
717 for(
int i=1;
i<4;
i++){
719 if(fabs(tmp)>fabs(deltaRms)) deltaRms=
tmp;
743 double ped[4],
rms[4],ped_ref[4],rms_ref[4];
754 if(stat>0 && stat!=(
ievt_*2)){
if(
nTS_HBHE==8) status=(double)stat/(
double)(
ievt_*2);
else status=(double)stat/(
double)(
ievt_);
764 if(
he_data[eta+42][
phi-1][depth-1][0].get_reference(&ped_ref[0],&rms_ref[0])
765 &&
he_data[eta+42][
phi-1][depth-1][0].get_average(&ped[0],&rms[0])){
772 double ave=(ped[0]+ped[1]+ped[2]+ped[3])/4.0;
773 double ave_ref=(ped_ref[0]+ped_ref[1]+ped_ref[2]+ped_ref[3])/4.0;
775 double deltaRms=rms[0]-rms_ref[0];
PedestalsRmsHEref->
Fill(deltaRms);
if(deltaRms<0) deltaRms=-deltaRms;
776 for(
int i=1;
i<4;
i++){
778 if(fabs(tmp)>fabs(deltaRms)) deltaRms=
tmp;
802 double ped[4],
rms[4],ped_ref[4],rms_ref[4];
813 if(stat>0 && stat!=(
ievt_*2)){
if(
nTS_HO==8) status=(double)stat/(
double)(
ievt_*2);
else status=(double)stat/(
double)(
ievt_);
823 if(
ho_data[eta+42][
phi-1][depth-1][0].get_reference(&ped_ref[0],&rms_ref[0])
824 &&
ho_data[eta+42][
phi-1][depth-1][0].get_average(&ped[0],&rms[0])){
833 if((eta>=11 && eta<=15 && phi>=59 &&
phi<=70) || (eta>=5 && eta<=10 && phi>=47 &&
phi<=58))THRESTHOLD*=2;
834 double ave=(ped[0]+ped[1]+ped[2]+ped[3])/4.0;
835 double ave_ref=(ped_ref[0]+ped_ref[1]+ped_ref[2]+ped_ref[3])/4.0;
837 double deltaRms=rms[0]-rms_ref[0];
PedestalsRmsHOref->
Fill(deltaRms);
if(deltaRms<0) deltaRms=-deltaRms;
838 for(
int i=1;
i<4;
i++){
840 if(fabs(tmp)>fabs(deltaRms)) deltaRms=
tmp;
850 if(deltaRms>THRESTHOLD){
864 double ped[4],
rms[4],ped_ref[4],rms_ref[4];
875 if(stat>0 && stat!=(
ievt_*2)){
if(
nTS_HF==8) status=(double)stat/(
double)(
ievt_*2);
else status=(double)stat/(
double)(
ievt_);
885 if(
hf_data[eta+42][
phi-1][depth-1][0].get_reference(&ped_ref[0],&rms_ref[0])
886 &&
hf_data[eta+42][
phi-1][depth-1][0].get_average(&ped[0],&rms[0])){
893 double ave=(ped[0]+ped[1]+ped[2]+ped[3])/4.0;
894 double ave_ref=(ped_ref[0]+ped_ref[1]+ped_ref[2]+ped_ref[3])/4.0;
896 double deltaRms=rms[0]-rms_ref[0];
PedestalsRmsHFref->
Fill(deltaRms);
if(deltaRms<0) deltaRms=-deltaRms;
897 for(
int i=1;
i<4;
i++){
899 if(fabs(tmp)>fabs(deltaRms)) deltaRms=
tmp;
932 double ped[4],
rms[4];
934 char Subdet[10],str[500];
939 sprintf(str,
"%sHcalDetDiagPedestalData.root",
OutputFilePath.c_str());
941 TFile *
theFile =
new TFile(str,
"RECREATE");
942 if(!theFile->IsOpen())
return;
944 sprintf(str,
"%d",
run_number); TObjString
run(str); run.Write(
"run number");
945 sprintf(str,
"%d",
ievt_); TObjString
events(str); events.Write(
"Total events processed");
946 sprintf(str,
"%d",
dataset_seq_number); TObjString dsnum(str); dsnum.Write(
"Dataset number");
947 Long_t
t; t=
time(0); strftime(str,30,
"%F %T",localtime(&t)); TObjString tm(str); tm.Write(
"Dataset creation time");
949 TTree *
tree =
new TTree(
"HCAL Pedestal data",
"HCAL Pedestal data");
951 tree->Branch(
"Subdet", &Subdet,
"Subdet/C");
952 tree->Branch(
"eta", &Eta,
"Eta/I");
953 tree->Branch(
"phi", &Phi,
"Phi/I");
954 tree->Branch(
"depth", &Depth,
"Depth/I");
955 tree->Branch(
"statistic",&Statistic,
"Statistic/I");
956 tree->Branch(
"status", &Status,
"Status/I");
957 tree->Branch(
"cap0_ped", &ped[0],
"cap0_ped/D");
958 tree->Branch(
"cap0_rms", &rms[0],
"cap0_rms/D");
959 tree->Branch(
"cap1_ped", &ped[1],
"cap1_ped/D");
960 tree->Branch(
"cap1_rms", &rms[1],
"cap1_rms/D");
961 tree->Branch(
"cap2_ped", &ped[2],
"cap2_ped/D");
962 tree->Branch(
"cap2_rms", &rms[2],
"cap2_rms/D");
963 tree->Branch(
"cap3_ped", &ped[3],
"cap3_ped/D");
964 tree->Branch(
"cap3_rms", &rms[3],
"cap3_rms/D");
965 sprintf(Subdet,
"HB");
966 for(
int eta=-16;
eta<=16;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=1;depth<=2;depth++){
967 if((Statistic=
hb_data[
eta+42][
phi-1][depth-1][0].get_statistics())>100){
968 Eta=
eta; Phi=
phi; Depth=depth;
977 sprintf(Subdet,
"HE");
978 for(
int eta=-29;
eta<=29;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=1;depth<=3;depth++){
979 if((Statistic=
he_data[
eta+42][
phi-1][depth-1][0].get_statistics())>100){
980 Eta=
eta; Phi=
phi; Depth=depth;
989 sprintf(Subdet,
"HO");
990 for(
int eta=-15;
eta<=15;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=4;depth<=4;depth++){
991 if((Statistic=
ho_data[
eta+42][
phi-1][depth-1][0].get_statistics())>100){
992 Eta=
eta; Phi=
phi; Depth=depth;
1001 sprintf(Subdet,
"HF");
1002 for(
int eta=-42;
eta<=42;
eta++)
for(
int phi=1;
phi<=72;
phi++)
for(
int depth=1;depth<=2;depth++){
1003 if((Statistic=
hf_data[
eta+42][
phi-1][depth-1][0].get_statistics())>100){
1004 Eta=
eta; Phi=
phi; Depth=depth;
1022 sprintf(str,
"HcalDetDiagPedestals.xml");
1025 std::string xmlName=str;
1027 xmlFile.open(xmlName.c_str());
1029 xmlFile<<
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n";
1030 xmlFile<<
"<ROOT>\n";
1031 xmlFile<<
" <HEADER>\n";
1032 xmlFile<<
" <HINTS mode='only-det-root'/>\n";
1033 xmlFile<<
" <TYPE>\n";
1034 xmlFile<<
" <EXTENSION_TABLE_NAME>HCAL_DETMON_PEDESTALS_V1</EXTENSION_TABLE_NAME>\n";
1035 xmlFile<<
" <NAME>HCAL Pedestals [abort gap global]</NAME>\n";
1036 xmlFile<<
" </TYPE>\n";
1037 xmlFile<<
" <!-- run details -->\n";
1038 xmlFile<<
" <RUN>\n";
1039 xmlFile<<
" <RUN_TYPE>GLOBAL-RUN</RUN_TYPE>\n";
1040 xmlFile<<
" <RUN_NUMBER>"<<
run_number<<
"</RUN_NUMBER>\n";
1041 xmlFile<<
" <RUN_BEGIN_TIMESTAMP>2009-01-01 00:00:00</RUN_BEGIN_TIMESTAMP>\n";
1042 xmlFile<<
" <COMMENT_DESCRIPTION>hcal ped data</COMMENT_DESCRIPTION>\n";
1043 xmlFile<<
" <LOCATION>P5</LOCATION>\n";
1044 xmlFile<<
" <INITIATED_BY_USER>dma</INITIATED_BY_USER>\n";
1045 xmlFile<<
" </RUN>\n";
1046 xmlFile<<
" </HEADER>\n";
1047 xmlFile<<
" <DATA_SET>\n";
1048 xmlFile<<
" <!-- optional dataset metadata -->\n\n";
1050 xmlFile<<
" <SET_BEGIN_TIMESTAMP>2009-01-01 00:00:00</SET_BEGIN_TIMESTAMP>\n";
1051 xmlFile<<
" <SET_END_TIMESTAMP>2009-01-01 00:00:00</SET_END_TIMESTAMP>\n";
1052 xmlFile<<
" <NUMBER_OF_EVENTS_IN_SET>"<<
ievt_<<
"</NUMBER_OF_EVENTS_IN_SET>\n";
1053 xmlFile<<
" <COMMENT_DESCRIPTION>Automatic DQM output</COMMENT_DESCRIPTION>\n";
1054 xmlFile<<
" <DATA_FILE_NAME>"<< xmlName <<
"</DATA_FILE_NAME>\n";
1055 xmlFile<<
" <IMAGE_FILE_NAME>data plot url or file path</IMAGE_FILE_NAME>\n";
1056 xmlFile<<
" <!-- who and when created this dataset-->\n\n";
1057 Long_t
t; t=
time(0); strftime(str,30,
"%F %T",localtime(&t));
1058 xmlFile<<
" <CREATE_TIMESTAMP>"<<str<<
"</CREATE_TIMESTAMP>\n";
1059 xmlFile<<
" <CREATED_BY_USER>dma</CREATED_BY_USER>\n";
1060 xmlFile<<
" <!-- version (string) and subversion (number) -->\n";
1061 xmlFile<<
" <!-- fields are used to read data back from the database -->\n\n";
1062 xmlFile<<
" <VERSION>"<<run_number<<dataset_seq_number<<
"</VERSION>\n";
1063 xmlFile<<
" <SUBVERSION>1</SUBVERSION>\n";
1064 xmlFile<<
" <!-- Assign predefined dataset attributes -->\n\n";
1065 xmlFile<<
" <PREDEFINED_ATTRIBUTES>\n";
1066 xmlFile<<
" <ATTRIBUTE>\n";
1067 xmlFile<<
" <NAME>HCAL Dataset Status</NAME>\n";
1068 xmlFile<<
" <VALUE>VALID</VALUE>\n";
1069 xmlFile<<
" </ATTRIBUTE>\n";
1070 xmlFile<<
" </PREDEFINED_ATTRIBUTES>\n";
1071 xmlFile<<
" <!-- multiple data block records -->\n\n";
1074 for(std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin(); eid != AllElIds.end(); eid++){
1078 if(!(!(gid.null()) &&
1084 std::string subdet=
"";
1090 double ped[4]={0,0,0,0},rms[4]={0,0,0,0};
1124 xmlFile<<
" <DATA>\n";
1125 xmlFile<<
" <NUMBER_OF_EVENTS_USED>"<<Statistic<<
"</NUMBER_OF_EVENTS_USED>\n";
1126 xmlFile<<
" <MEAN0>"<<ped[0]<<
"</MEAN0>\n";
1127 xmlFile<<
" <MEAN1>"<<ped[1]<<
"</MEAN1>\n";
1128 xmlFile<<
" <MEAN2>"<<ped[2]<<
"</MEAN2>\n";
1129 xmlFile<<
" <MEAN3>"<<ped[3]<<
"</MEAN3>\n";
1130 xmlFile<<
" <RMS0>"<<rms[0]<<
"</RMS0>\n";
1131 xmlFile<<
" <RMS1>"<<rms[1]<<
"</RMS1>\n";
1132 xmlFile<<
" <RMS2>"<<rms[2]<<
"</RMS2>\n";
1133 xmlFile<<
" <RMS3>"<<rms[3]<<
"</RMS3>\n";
1134 xmlFile<<
" <CHANNEL_STATUS_WORD>"<<Status<<
"</CHANNEL_STATUS_WORD>\n";
1135 xmlFile<<
" <CHANNEL_OBJECTNAME>HcalDetId</CHANNEL_OBJECTNAME>\n";
1136 xmlFile<<
" <SUBDET>"<<subdet<<
"</SUBDET>\n";
1137 xmlFile<<
" <IETA>"<<eta<<
"</IETA>\n";
1138 xmlFile<<
" <IPHI>"<<phi<<
"</IPHI>\n";
1139 xmlFile<<
" <DEPTH>"<<depth<<
"</DEPTH>\n";
1140 xmlFile<<
" <TYPE>0</TYPE>\n";
1141 xmlFile<<
" </DATA>\n";
1144 xmlFile<<
" </DATA_SET>\n";
1145 xmlFile<<
"</ROOT>\n";
1147 sprintf(str,
"zip %s.zip %s",xmlName.c_str(),xmlName.c_str());
1149 sprintf(str,
"rm -f %s",xmlName.c_str());
1151 sprintf(str,
"mv -f %s.zip %s",xmlName.c_str(),
XmlFilePath.c_str());
1158 double ped[4],
rms[4];
1164 if(!f->IsOpen())
return ;
1165 TObjString *STR=(TObjString *)f->Get(
"run number");
1169 TTree*
t=(TTree*)f->Get(
"HCAL Pedestal data");
1171 t->SetBranchAddress(
"Subdet", subdet);
1172 t->SetBranchAddress(
"eta", &Eta);
1173 t->SetBranchAddress(
"phi", &Phi);
1174 t->SetBranchAddress(
"depth", &Depth);
1175 t->SetBranchAddress(
"cap0_ped", &ped[0]);
1176 t->SetBranchAddress(
"cap0_rms", &rms[0]);
1177 t->SetBranchAddress(
"cap1_ped", &ped[1]);
1178 t->SetBranchAddress(
"cap1_rms", &rms[1]);
1179 t->SetBranchAddress(
"cap2_ped", &ped[2]);
1180 t->SetBranchAddress(
"cap2_rms", &rms[2]);
1181 t->SetBranchAddress(
"cap3_ped", &ped[3]);
1182 t->SetBranchAddress(
"cap3_rms", &rms[3]);
1183 for(
int ievt=0;ievt<t->GetEntries();ievt++){
1185 if(strcmp(subdet,
"HB")==0){
1191 if(strcmp(subdet,
"HE")==0){
1197 if(strcmp(subdet,
"HO")==0){
1203 if(strcmp(subdet,
"HF")==0){
1215 double ped[4],
rms[4];
1216 int Eta,
Phi,Depth,Statistic;
1221 if(gSystem->AccessPathName(
DatasetName.c_str()))
return;
1223 if(!f->IsOpen())
return ;
1226 t=(TTree*)f->Get(
"HCAL Pedestal data");
1228 t->SetBranchAddress(
"Subdet", subdet);
1229 t->SetBranchAddress(
"eta", &Eta);
1230 t->SetBranchAddress(
"phi", &Phi);
1231 t->SetBranchAddress(
"depth", &Depth);
1232 t->SetBranchAddress(
"cap0_ped", &ped[0]);
1233 t->SetBranchAddress(
"cap0_rms", &rms[0]);
1234 t->SetBranchAddress(
"cap1_ped", &ped[1]);
1235 t->SetBranchAddress(
"cap1_rms", &rms[1]);
1236 t->SetBranchAddress(
"cap2_ped", &ped[2]);
1237 t->SetBranchAddress(
"cap2_rms", &rms[2]);
1238 t->SetBranchAddress(
"cap3_ped", &ped[3]);
1239 t->SetBranchAddress(
"cap3_rms", &rms[3]);
1240 t->SetBranchAddress(
"statistic",&Statistic);
1242 for(
int ievt=0;ievt<t->GetEntries();ievt++){
1244 if(strcmp(subdet,
"HB")==0){
nHB++;
1254 if(strcmp(subdet,
"HE")==0){
nHE++;
1264 if(strcmp(subdet,
"HO")==0){
nHO++;
1274 if(strcmp(subdet,
"HF")==0){
nHF++;
1285 TObjString *STR1=(TObjString *)f->Get(
"run number");
1288 TObjString *STR2=(TObjString *)f->Get(
"Total events processed");
1291 TObjString *STR3=(TObjString *)f->Get(
"Dataset number");
MonitorElement * PedestalsAve4HEref
EtaPhiHists * ProblemCellsByDepth_badped_val
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * Pedestals2DHO
edm::InputTag inputLabelRawData_
edm::Ref< Container > Ref
MonitorElement * PedestalsRmsHFref
std::vector< HcalElectronicsId > allElectronicsIdPrecision() const
MonitorElement * PedestalsAve4HB
MonitorElement * PedestalsRmsHOref
void beginRun(const edm::Run &run, const edm::EventSetup &c)
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_
EtaPhiHists * ProblemCellsByDepth_missing_val
#define DEFINE_FWK_MODULE(type)
MonitorElement * PedestalsAve4HE
HcalDetDiagPedestalData ho_data[85][72][4][4]
std::vector< T >::const_iterator const_iterator
void setup(DQMStore *&m_dbe, std::string Name, std::string Units="")
EtaPhiHists * ProblemCellsByDepth_badped
const HcalElectronicsMap * emap
bool getByType(Handle< PROD > &result) const
HcalDetDiagPedestalData he_data[85][72][4][4]
bool get_average(double *ave, double *rms)
std::map< unsigned int, int > KnownBadCells_
void set_statistics(int stat)
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
MonitorElement * PedestalsAve4HBref
size_t size() const
Lenght of the data buffer in bytes.
MonitorElement * PedestalsAve4Simp
EtaPhiHists * ProblemCellsByDepth_badrms_val
void analyze(const edm::Event &, const edm::EventSetup &)
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()
const T & max(const T &a, const T &b)
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
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
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
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
std::string htmlOutputPath
static std::string from(" from ")
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
EtaPhiHists * ProblemCellsByDepth_unstable
const JetExtendedData & getValue(const Container &, const reco::JetBaseRef &)
get value for the association. Throw exception if no association found
void endRun(const edm::Run &run, const edm::EventSetup &c)
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.
const Item * getValues(DetId fId) const
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