14 #define PI 3.1415926535897932
15 #define HBETASIZE 34 // one more bin than needed, I think
16 #define HEETASIZE 60 // ""
17 #define HOETASIZE 32 // ""
18 #define HFETASIZE 84 // ""
42 if (prefixME_.substr(prefixME_.size()-1,prefixME_.size())!=
"/")
43 prefixME_.append(
"/");
64 if (lumiqualitydir_.size()>0 && lumiqualitydir_.substr(lumiqualitydir_.size()-1,lumiqualitydir_.size())!=
"/")
65 lumiqualitydir_.append(
"/");
153 if (
debug_>0)
std::cout <<
"<HcalBeamMonitor::setup> Setup in progress..."<<std::endl;
160 "Center Of Energy radius",
166 "Center of Energy;normalized x coordinate;normalize y coordinate",
171 "Center of Energy radius vs i#eta",
177 std::stringstream histname;
178 std::stringstream histtitle;
181 "HB Center Of Energy radius",
184 "HB Center of Energy",
189 for (
int i=-16;
i<=16;++
i)
194 histname<<
"HB_CenterOfEnergyRadius_ieta"<<
i;
195 histtitle<<
"HB Center Of Energy ieta = "<<
i;
197 histtitle.str().c_str(),
203 "HE Center Of Energy radius",
206 "HE Center of Energy",
212 for (
int i=-29;
i<=29;++
i)
217 histname<<
"HE_CenterOfEnergyRadius_ieta"<<
i;
218 histtitle<<
"HE Center Of Energy ieta = "<<
i;
220 histtitle.str().c_str(),
226 "HO Center Of Energy radius",
229 "HO Center of Energy",
234 for (
int i=-15;
i<=15;++
i)
239 histname<<
"HO_CenterOfEnergyRadius_ieta"<<
i;
240 histtitle<<
"HO Center Of Energy radius ieta = "<<
i;
242 histtitle.str().c_str(),
248 "HF Center Of Energy radius",
251 "HF Center of Energy",
256 for (
int i=-41;
i<=41;++
i)
261 histname<<
"HF_CenterOfEnergyRadius_ieta"<<
i;
262 histtitle<<
"HF Center Of Energy radius ieta = "<<
i;
264 histtitle.str().c_str(),
273 float radiusbins[13]={169,201,240,286,340,406,483,576,686,818,975,1162,1300};
274 float phibins[71]={-3.5,-3.4,-3.3,-3.2,-3.1,
275 -3.0,-2.9,-2.8,-2.7,-2.6,-2.5,-2.4,-2.3,-2.2,-2.1,
276 -2.0,-1.9,-1.8,-1.7,-1.6,-1.5,-1.4,-1.3,-1.2,-1.1,
277 -1.0,-0.9,-0.8,-0.7,-0.6,-0.5,-0.4,-0.3,-0.2,-0.1,
278 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9,
279 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9,
280 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9,
281 3.0, 3.1, 3.2, 3.3, 3.4, 3.5};
285 Etsum_phi_S=
dbe_->
bookProfile(
"Et Sum vs Phi Short Fiber",
"Et Sum per Area crossing vs Phi Short Fiber",36,0.5,72.5,100,0,100);
287 Etsum_ratio_p=
dbe_->
book1D(
"Occ vs PMT events HF+",
"Energy difference of Long and Short Fiber HF+ in PMT events",105,0.,1.05);
289 Etsum_ratio_m=
dbe_->
book1D(
"Occ vs PMT events HF-",
"Energy difference of Long and Short Fiber HF- in PMT events",105,0.,1.05);
290 Etsum_map_L=
dbe_->
book2D(
"EtSum 2D phi and eta Long Fiber",
"Et Sum 2D phi and eta Long Fiber",27,0,27,36,0.5,72.5);
291 Etsum_map_S=
dbe_->
book2D(
"EtSum 2D phi and eta Short Fiber",
"Et Sum 2D phi and eta Short Fiber",27,0,27,36,0.5,72.5);
293 Etsum_rphi_S=
dbe_->
book2D(
"EtSum 2D phi and radius Short Fiber",
"Et Sum 2D phi and radius Short Fiber",12, radiusbins, 70, phibins);
294 Etsum_rphi_L=
dbe_->
book2D(
"EtSum 2D phi and radius Long Fiber",
"Et Sum 2D phi and radius Long Fiber",12, radiusbins, 70, phibins);
320 Occ_rphi_S=
dbe_->
book2D(
"Occ 2D phi and radius Short Fiber",
"Occupancy 2D phi and radius Short Fiber",12, radiusbins, 70, phibins);
321 Occ_rphi_L=
dbe_->
book2D(
"Occ 2D phi and radius Long Fiber",
"Occupancy 2D phi and radius Long Fiber",12, radiusbins, 70, phibins);
322 Occ_eta_S=
dbe_->
bookProfile(
"Occ vs iEta Short Fiber",
"Occ per Bunch crossing vs iEta Short Fiber",27,0,27,40,0,800);
325 Occ_phi_L=
dbe_->
bookProfile(
"Occ vs iPhi Long Fiber",
"Occ per Bunch crossing vs iPhi Long Fiber",36,0.5,72.5,40,0,800);
327 Occ_phi_S=
dbe_->
bookProfile(
"Occ vs iPhi Short Fiber",
"Occ per Bunch crossing vs iPhi Short Fiber",36,0.5,72.5,40,0,800);
329 Occ_map_L=
dbe_->
book2D(
"Occ_map Long Fiber",
"Occ Map long Fiber (above threshold)",27,0,27,36,0.5,72.5);
330 Occ_map_S=
dbe_->
book2D(
"Occ_map Short Fiber",
"Occ Map Short Fiber (above threshold)",27,0,27,36,0.5,72.5);
332 std::stringstream binlabel;
333 for (
int zz=0;zz<27;++zz)
371 "HFlumi Occupancy per channel vs lumi-block (RING 1);LS; -ln(empty fraction)",
408 std::ofstream outStream(
outfile_.str().c_str());
409 outStream<<
"## Run "<<runNumber_<<std::endl;
410 outStream<<
"## LumiBlock\tRing1Status\t\tRing2Status\t\tGlobalStatus\tNentries"<<std::endl;
428 for (
unsigned int i=0;
i<mydetids.size();++
i)
434 if ((
id.depth()==1 && (
abs(
id.ieta())==33 ||
abs(
id.ieta())==34)) ||
435 (
id.depth()==2 && (
abs(
id.ieta())==35 ||
abs(
id.ieta())==36)))
516 if (
debug_>0)
std::cout <<
"HcalBeamMonitor::processEvent DQMStore not instantiated!!!"<<std::endl;
541 float hitsp[13][36][2];
542 float hitsm[13][36][2];
543 float hitsp_Et[13][36][2];
544 float hitsm_Et[13][36][2];
546 for(
int m=0;
m<13;
m++){
547 for(
int n=0;
n<36;
n++){
560 if(hbheHits.
size()>0)
572 for (HBHEiter=hbheHits.
begin();
573 HBHEiter!=hbheHits.
end();
578 if (HBHEiter->energy()<0)
continue;
586 HBtotalX+=HBHEiter->energy()*
cos(
PI*iphi/36.);
587 HBtotalY+=HBHEiter->energy()*
sin(
PI*iphi/36.);
588 HBtotalE+=HBHEiter->energy();
591 if (index<0 || index>=
HBETASIZE)
continue;
592 HB_weightedX[
index]+=HBHEiter->energy()*
cos(
PI*iphi/36.);
593 HB_weightedY[
index]+=HBHEiter->energy()*
sin(
PI*iphi/36.);
594 HB_energy[
index]+=HBHEiter->energy();
599 HEtotalX+=HBHEiter->energy()*
cos(
PI*iphi/36.);
600 HEtotalY+=HBHEiter->energy()*
sin(
PI*iphi/36.);
601 HEtotalE+=HBHEiter->energy();
604 if (index<0 || index>=
HEETASIZE)
continue;
605 HE_weightedX[
index]+=HBHEiter->energy()*
cos(
PI*iphi/36.);
606 HE_weightedY[
index]+=HBHEiter->energy()*
sin(
PI*iphi/36.);
607 HE_energy[
index]+=HBHEiter->energy();
613 for (
int i=-1*hbeta;
i<=hbeta;++
i)
617 if (index<0 || index>=
HBETASIZE)
continue;
618 if (HB_energy[index]==0)
continue;
619 double moment=
pow(HB_weightedX[index],2)+
pow(HB_weightedY[index],2);
620 moment=
pow(moment,0.5);
621 moment/=HB_energy[
index];
630 for (
int i=-1*heeta;
i<=heeta;++
i)
635 if (index<0 || index>=
HEETASIZE)
continue;
636 if (HE_energy[index]==0)
continue;
637 double moment=
pow(HE_weightedX[index],2)+
pow(HE_weightedY[index],2);
638 moment=
pow(moment,0.5);
639 moment/=HE_energy[
index];
659 for (HOiter=hoHits.
begin();
660 HOiter!=hoHits.
end();
664 if (HOiter->energy()<0)
continue;
669 HOtotalX+=HOiter->energy()*
cos(
PI*iphi/36.);
670 HOtotalY+=HOiter->energy()*
sin(
PI*iphi/36.);
671 HOtotalE+=HOiter->energy();
674 if (index<0 || index>=
HOETASIZE)
continue;
675 HO_weightedX[
index]+=HOiter->energy()*
cos(
PI*iphi/36.);
676 HO_weightedY[
index]+=HOiter->energy()*
sin(
PI*iphi/36.);
677 HO_energy[
index]+=HOiter->energy();
684 if (index < 0 || index>=
HOETASIZE)
continue;
685 if (HO_energy[index]==0)
continue;
686 double moment=
pow(HO_weightedX[index],2)+
pow(HO_weightedY[index],2);
687 moment=
pow(moment,0.5);
688 moment/=HO_energy[
index];
690 offset = (
i>0 ? 0.5: -0.5);
728 for (HFiter=hfHits.
begin();
729 HFiter!=hfHits.
end();
733 ieta = HFiter->id().ieta();
734 iphi = HFiter->id().iphi();
737 if (ieta<0) binieta+=41;
738 else if (ieta>0) binieta-=15;
742 if (
abs(ieta)>=33 &&
abs(ieta)<=36)
747 if ((
abs(ieta)<35) && HFiter->id().depth()==1) --ZStowersRing1;
748 else if ((
abs(ieta)>34) && HFiter->id().depth()==2) -- ZStowersRing2;
752 if (HFiter->energy()<0)
continue;
755 et=HFiter->energy()/cosh(eta)/
area[
abs(ieta)-29];
756 if (
abs(ieta)>=33 &&
abs(ieta)<=36)
761 if ((
abs(ieta)<35) && HFiter->id().depth()==1) --emptytowersRing1;
762 else if ((
abs(ieta)>34) && HFiter->id().depth()==2) -- emptytowersRing2;
766 if(HFiter->id().iphi()<37)
767 phi=HFiter->id().iphi()*0.087266;
768 else phi=(HFiter->id().iphi()-72)*0.087266;
771 if (HFiter->id().depth()==1)
779 hitsp[ieta-29][(HFiter->id().iphi()-1)/2][0]=HFiter->energy();
780 hitsp_Et[ieta-29][(HFiter->id().iphi()-1)/2][0]=et;
783 hitsm[-ieta-29][(HFiter->id().iphi()-1)/2][0]=HFiter->energy();
784 hitsm_Et[-ieta-29][(HFiter->id().iphi()-1)/2][0]=et;
789 if (HFiter->id().depth()==2)
797 hitsp[ieta-29][(HFiter->id().iphi()-1)/2][1]=HFiter->energy();
798 hitsp_Et[ieta-29][(HFiter->id().iphi()-1)/2][1]=et;
801 hitsm[-ieta-29][(HFiter->id().iphi()-1)/2][1]=HFiter->energy();
802 hitsm_Et[-ieta-29][(HFiter->id().iphi()-1)/2][1]=et;
810 if ((
abs(ieta) == 33 ||
abs(ieta) == 34) && HFiter->id().depth() == 1)
812 etx+=et*
cos(
PI*iphi/36.);
813 ety+=et*
sin(
PI*iphi/36.);
827 else if ((
abs(ieta) == 35 ||
abs(ieta) == 36) && HFiter->id().depth() == 2)
829 etx+=et*
cos(
PI*iphi/36.);
830 ety+=et*
sin(
PI*iphi/36.);
849 if (HFiter->id().depth()==1)
857 else if (HFiter->id().depth()==2)
866 HFtotalX+=HFiter->energy()*
cos(
PI*iphi/36.);
867 HFtotalY+=HFiter->energy()*
sin(
PI*iphi/36.);
868 HFtotalE+=HFiter->energy();
871 if (index<0 || index>=
HFETASIZE)
continue;
872 HF_weightedX[
index]+=HFiter->energy()*
cos(
PI*iphi/36.);
873 HF_weightedY[
index]+=HFiter->energy()*
sin(
PI*iphi/36.);
874 HF_energy[
index]+=HFiter->energy();
887 if (emptytowersRing1>0)
896 if (emptytowersRing2>0)
904 for (
int i=-1*hfeta;
i<=hfeta;++
i)
909 if (index<0 || index>=
HFETASIZE)
continue;
910 if (HF_energy[index]==0)
continue;
911 double moment=
pow(HF_weightedX[index],2)+
pow(HF_weightedY[index],2);
912 moment=
pow(moment,0.5);
913 moment/=HF_energy[
index];
914 offset = (
i>0 ? 0.5: -0.5);
923 for(
int i=0;
i<13;
i++){
924 for(
int j=0;
j<36;
j++){
926 if(hitsp[
i][
j][0]==hitsp[
i][
j][1])
continue;
928 if (hitsp[
i][j][0] < 1.2 && hitsp[
i][j][1] < 1.8)
continue;
930 if (((
i+29) < 33) || ((
i+29) > 36))
continue;
931 ratiop=fabs((fabs(hitsp[
i][j][0])-fabs(hitsp[
i][j][1]))/(fabs(hitsp[
i][j][0])+fabs(hitsp[
i][j][1])));
933 if ((hitsp_Et[
i][j][0] > 5. && hitsp[
i][j][1] < 1.8) || (hitsp_Et[
i][j][1] > 5. && hitsp[
i][j][0] < 1.2)){
940 for(
int p=0;
p<13;
p++){
941 for(
int q=0;
q<36;
q++){
943 if(hitsm[
p][
q][0]==hitsm[
p][
q][1])
continue;
945 if (hitsm[
p][q][0] < 1.2 && hitsm[
p][q][1] < 1.8)
continue;
947 if (((
p+29) < 33) || ((
p+29) > 36))
continue;
948 ratiom=fabs((fabs(hitsm[
p][q][0])-fabs(hitsm[
p][q][1]))/(fabs(hitsm[
p][q][0])+fabs(hitsm[
p][q][1])));
949 if ((hitsm_Et[
p][q][0] > 5. && hitsm[
p][q][1] < 1.8) || (hitsm_Et[
p][q][1] > 5. && hitsm[
p][q][0] < 1.2)){
958 totalX=HBtotalX+HEtotalX+HOtotalX+HFtotalX;
959 totalY=HBtotalY+HEtotalY+HOtotalY+HFtotalY;
960 totalE=HBtotalE+HEtotalE+HOtotalE+HFtotalE;
965 moment=
pow(HBtotalX*HBtotalX+HBtotalY*HBtotalY,0.5)/HBtotalE;
971 moment=
pow(HEtotalX*HEtotalX+HEtotalY*HEtotalY,0.5)/HEtotalE;
977 moment=
pow(HOtotalX*HOtotalX+HOtotalY*HOtotalY,0.5)/HOtotalE;
983 moment=
pow(HFtotalX*HFtotalX+HFtotalY*HFtotalY,0.5)/HFtotalE;
989 moment =
pow(totalX*totalX+totalY*totalY,0.5)/totalE;
1017 int theTStobeused = 6;
1020 if(mask!=1)
continue;
1022 for (
int i=0;
i<digi.
size();
i++) {
1023 if (
i==theTStobeused) {
1041 else if((digi.
id().
ieta()==35)||(digi.
id().
ieta()==36)) {
1048 for (
int iwedge=2; iwedge<19; iwedge++) {
1049 int itmp=4*(iwedge-1);
1050 if( (digi.
id().
iphi()==(itmp+1)) || (digi.
id().
iphi()==(itmp-1))) {
1057 else if((digi.
id().
ieta()==35)||(digi.
id().
ieta()==36)) {
1067 else if(digi.
id().
ieta()<-28){
1075 else if((digi.
id().
ieta()==-35)||(digi.
id().
ieta()==-36)) {
1082 for (
int iw=2; iw<19; iw++) {
1084 if( (digi.
id().
iphi()==(itemp+1)) || (digi.
id().
iphi()==(itemp-1))) {
1091 else if((digi.
id().
ieta()==-35)||(digi.
id().
ieta()==-36)) {
1122 std::stringstream
title;
1123 title <<
"HFlumi occupancy for LS # " <<
currentLS;
1131 if (
debug_>1)
std::cout <<
"<HcalBeamMonitor::endLuminosityBlock>"<<std::endl;
1135 std::cout <<
"<HcalBeamMonitor::endLuminosityBlock> Failed LumiInOrder test!"<<std::endl;
1141 std::cout <<
"Number of entries in this LB = "<<Nentries<<std::endl;
1154 std::ofstream outStream(
outfile_.str().c_str(),std::ios::app);
1155 outStream<<
currentLS<<
"\t\t-1\t\t\t-1\t\t\t-1\t\t"<<Nentries<<std::endl;
1159 if (Nentries==0)
return;
1168 int ietamap[8]={-36,-35,-34,-33,33,34,35,36};
1169 int ieta=-1, iphi = -1, depth=-1;
1187 if (
abs(ieta)==33 ||
abs(ieta)==34) depth=1;
1188 else if (
abs(ieta)==35 ||
abs(ieta)==36) depth =2;
1190 if (depth !=-1 && ieta!=1)
1208 if (Ncellhits==0 || Ncellhits>
hotrate_*Nentries)
1210 if (depth==1) badring1++;
1211 else if (depth==2) badring2++;
1231 if (
abs(ieta)==33 ||
abs(ieta)==34) depth=1;
1232 else if (
abs(ieta)==35 ||
abs(ieta)==36) depth =2;
1234 if (depth !=-1 && ieta!=1)
1258 double ring1status=0;
1259 double ring2status=0;
1273 if (ring1status>0.9 && ring2status>0.9)
1277 if (ring1status<=0.9)
1279 if (ring2status<=0.9)
1286 std::ofstream outStream(
outfile_.str().c_str(),std::ios::app);
1287 outStream.precision(6);
1288 outStream<<
currentLS<<
"\t\t"<<ring1status<<
"\t\t"<<ring2status<<
"\t\t"<<totalstatus<<
"\t\t"<<Nentries<<std::endl;
1293 const float HcalBeamMonitor::area[]={0.111,0.175,0.175,0.175,0.175,0.175,0.174,0.178,0.172,0.175,0.178,0.346,0.604};
1294 const float HcalBeamMonitor::radius[]={1300,1162,975,818,686,576,483,406,340,286,240,201,169};
1298 h->
getTH2F()->GetXaxis()->SetBinLabel(1,
"-36S");
1299 h->
getTH2F()->GetXaxis()->SetBinLabel(2,
"-35S");
1300 h->
getTH2F()->GetXaxis()->SetBinLabel(3,
"-34L");
1301 h->
getTH2F()->GetXaxis()->SetBinLabel(4,
"-33L");
1302 h->
getTH2F()->GetXaxis()->SetBinLabel(5,
"33L");
1303 h->
getTH2F()->GetXaxis()->SetBinLabel(6,
"34L");
1304 h->
getTH2F()->GetXaxis()->SetBinLabel(7,
"35S");
1305 h->
getTH2F()->GetXaxis()->SetBinLabel(8,
"36S");
MonitorElement * HFCenterOfEnergyRadius
MonitorElement * Etsum_map_S
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * HBCenterOfEnergy
bool LumiInOrder(int lumisec)
MonitorElement * Etsum_eta_L
MonitorElement * Occ_rphi_L
MonitorElement * HOCenterOfEnergy
void beginRun(const edm::Run &run, const edm::EventSetup &c)
MonitorElement * HFlumi_Occupancy_above_thr_r1
MonitorElement * ProblemsCurrentLB
MonitorElement * Occ_rphi_S
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
MonitorElement * HFlumi_Occupancy_below_thr_r2
MonitorElement * Etsum_eta_S
#define DEFINE_FWK_MODULE(type)
int adc() const
get the ADC sample
std::vector< int > AllowedCalibTypes_
Sin< T >::type sin(const T &t)
MonitorElement * Etsum_phi_S
MonitorElement * HFlumi_Occupancy_between_thrs_r2
MonitorElement * Occ_map_L
MonitorElement * Etsum_map_L
std::vector< T >::const_iterator const_iterator
int bunchCrossing() const
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
edm::LuminosityBlockNumber_t luminosityBlock() const
MonitorElement * HFlumi_Occupancy_per_channel_vs_lumiblock_RING2
MonitorElement * COEradiusVSeta
MonitorElement * Occ_phi_S
edm::InputTag hbheRechitLabel_
MonitorElement * HFlumi_ETsum_perwedge
MonitorElement * HFlumi_Ring2Status_vs_LS
LuminosityBlockNumber_t luminosityBlock() const
MonitorElement * Occ_phi_L
MonitorElement * HFlumi_ETsum_vs_BX
edm::InputTag hoRechitLabel_
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
virtual void beginRun(const edm::Run &run, const edm::EventSetup &c)
static const float area[]
void removeContents(void)
erase all monitoring elements in current directory (not including subfolders);
std::map< int, MonitorElement * > HB_CenterOfEnergyRadius
bool IsAllowedCalibType()
MonitorElement * HFlumi_Occupancy_per_channel_vs_BX_RING1
MonitorElement * HFCenterOfEnergy
MonitorElement * HFlumi_diag_deadcells
std::map< HcalDetId, int > BadCells_
std::vector< DetId > getAllChannels() const
MonitorElement * Etsum_ratio_map
MonitorElement * HECenterOfEnergyRadius
Cos< T >::type cos(const T &t)
int ieta() const
get the cell ieta
virtual void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
const HcalQIESample & sample(int i) const
access a sample
MonitorElement * HFlumi_occ_LS
MonitorElement * CenterOfEnergyRadius
MonitorElement * CenterOfEnergy
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
MonitorElement * HFlumi_Occupancy_below_thr_r1
unsigned int offset(bool)
std::map< int, MonitorElement * > HE_CenterOfEnergyRadius
std::ostringstream outfile_
MonitorElement * HFlumi_Occupancy_per_channel_vs_BX_RING2
MonitorElement * Energy_Occ
MonitorElement * HFlumi_Ring1Status_vs_LS
MonitorElement * HFlumi_Occupancy_per_channel_vs_lumiblock_RING1
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
static const float radius[]
const_iterator end() const
std::map< int, MonitorElement * > HO_CenterOfEnergyRadius
void SetEtaLabels(MonitorElement *h)
int iphi() const
get the cell iphi
MonitorElement * Occ_eta_L
void analyze(const edm::Event &e, const edm::EventSetup &c)
MonitorElement * HFlumi_Occupancy_between_thrs_r1
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
void processEvent(const HBHERecHitCollection &hbHits, const HORecHitCollection &hoHits, const HFRecHitCollection &hfHits, const HFDigiCollection &hf, int bunchCrossing)
int size() const
total number of samples in the digi
static const double theHFEtaBounds[]
Log< T >::type log(const T &t)
HcalBeamMonitor(const edm::ParameterSet &ps)
MonitorElement * HECenterOfEnergy
MonitorElement * HOCenterOfEnergyRadius
MonitorElement * Etsum_ratio_m
MonitorElement * HFlumi_Et_per_channel_vs_lumiblock
MonitorElement * HBCenterOfEnergyRadius
T const * product() const
TH1F * getTH1F(void) const
MonitorElement * Etsum_rphi_S
bool isBitSet(unsigned int bitnumber) const
double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * HFlumi_Occupancy_above_thr_r2
TProfile * getTProfile(void) const
std::string lumiqualitydir_
unsigned int lastProcessedLS_
MonitorElement * HFlumi_diag_hotcells
const HcalDetId & id() const
MonitorElement * Etsum_ratio_p
uint32_t getValue() const
TH2F * getTH2F(void) const
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
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
MonitorElement * Etsum_phi_L
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)
MonitorElement * Etsum_rphi_L
edm::InputTag hfRechitLabel_
MonitorElement * Occ_map_S
std::map< int, MonitorElement * > HF_CenterOfEnergyRadius
Power< A, B >::type pow(const A &a, const B &b)
MonitorElement * HFlumi_total_deadcells
void setCurrentFolder(const std::string &fullpath)
MonitorElement * HFlumi_total_hotcells
const_iterator begin() const
MonitorElement * Occ_eta_S