54 castorHists.meRECHIT_E_all =
m_dbe->
book1D(
"CastorRecHit Energies- above threshold on RecHitEnergy",
"CastorRecHit Energies- above threshold on RecHitEnergy",150,0,150);
55 castorHists.meRECHIT_T_all =
m_dbe->
book1D(
"CastorRecHit Times- above threshold on RecHitEnergy",
"CastorRecHit Times- above threshold on RecHitEnergy",300,-100,100);
57 castorHists.meRECHIT_MAP_CHAN_E =
m_dbe->
book1D(
"CastorRecHit Energy in each channel- above threshold",
"CastorRecHit Energy in each channel- above threshold",224,0,224);
59 castorHists.meRECHIT_MAP_CHAN_E2D =
m_dbe->
book2D(
"CastorRecHit 2D Energy Map- above threshold",
"CastorRecHit 2D Energy Map- above threshold",14, 0,14, 16, 0,16);
61 castorHists.meRECHIT_E_modules =
m_dbe->
book1D(
"CastorRecHit Energy in modules- above threshold",
"CastorRecHit Energy in modules- above threshold", 14, 0, 14);
63 castorHists.meRECHIT_E_sectors =
m_dbe->
book1D(
"CastorRecHit Energy in sectors- above threshold",
"CastorRecHit Energy in sectors- above threshold", 16, 0, 16);
65 castorHists.meRECHIT_N_modules =
m_dbe->
book1D(
"Number of CastorRecHits in modules- above threshold",
"Number of CastorRecHits in modules- above threshold", 14, 0, 14);
67 castorHists.meRECHIT_N_sectors =
m_dbe->
book1D(
"Number of CastorRecHits in sectors- above threshold",
"Number of CastorRecHits in sectors- above threshold", 16, 0, 16);
69 castorHists.meCastorRecHitsOccupancy =
m_dbe->
book2D(
"CastorRecHits occupancy- sector vs module",
"CastorRecHits occupancy- sector vs module", 14, 0.5,14.5, 16, 0.5,16.5);
70 TH2F* CastorRecHitsOccupancy =
castorHists.meCastorRecHitsOccupancy->getTH2F();
71 CastorRecHitsOccupancy->GetXaxis()->SetTitle(
"module");
72 CastorRecHitsOccupancy->GetYaxis()->SetTitle(
"sector");
76 if(
fVerbosity>0)
std::cout <<
"CastorRecHitMonitor::setup - NO DQMStore service" << std::endl;
88 namespace CastorRecHitPerChan{
90 template<
class RecHit>
93 std::map<HcalCastorDetId, MonitorElement*> &toolE,
94 std::map<HcalCastorDetId, MonitorElement*> &toolT,
97 std::map<HcalCastorDetId,MonitorElement*>::iterator _mei;
99 std::string
type =
"CastorRecHitPerChannel";
103 _mei=toolE.find(rhit.id());
104 if (_mei!=toolE.end()){
105 if (_mei->second==0)
return;
106 else _mei->second->Fill(rhit.energy());
111 sprintf(name,
"CastorRecHit Energy zside=%d module=%d sector=%d", rhit.id().zside(), rhit.id().module(), rhit.id().sector());
112 toolE[rhit.id()] = dbe->
book1D(name,name,60,-10,20);
113 toolE[rhit.id()]->
Fill(rhit.energy());
118 _mei=toolT.find(rhit.id());
119 if (_mei!=toolT.end()){
120 if (_mei->second==0)
return;
121 else _mei->second->Fill(rhit.time());
126 sprintf(name,
"CastorRecHit Time zside=%d module=%d sector=%d", rhit.id().zside(), rhit.id().module(), rhit.id().sector());
127 toolT[rhit.id()] = dbe->
book1D(name,name,200,-100,100);
128 toolT[rhit.id()]->
Fill(rhit.time());
149 if(
fVerbosity>0)
std::cout <<
"CastorRecHitMonitor::processEvent => DQMStore is not instantiated !!!"<<std::endl;
157 if(castorHits.
size()>0)
159 if(
fVerbosity>0)
std::cout <<
"==>CastorRecHitMonitor::processEvent: castorHits.size()>0 !!!" << std::endl;
162 for (CASTORiter=castorHits.
begin(); CASTORiter!=castorHits.
end(); ++CASTORiter) {
165 float energy = CASTORiter->energy();
166 float time = CASTORiter->time();
172 float channel = 16*(module-1)+sector;
179 castorHists.meRECHIT_MAP_CHAN_E->Fill(channel,energy);
181 castorHists.meRECHIT_MAP_CHAN_E2D->Fill(module-1,sector-1,energy);
183 castorHists.meRECHIT_E_modules->Fill(module-1, energy);
185 castorHists.meRECHIT_E_sectors->Fill(sector-1, energy);
191 castorHists.meCastorRecHitsOccupancy->Fill(module-1,sector-1);
201 else {
if(
fVerbosity>0)
std::cout<<
"CastorRecHitMonitor::processEvent NO Castor RecHits !!!"<<std::endl; }
T getUntrackedParameter(std::string const &, T const &) const
virtual void setup(const edm::ParameterSet &ps, DQMStore *dbe)
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
std::vector< T >::const_iterator const_iterator
void perChanHists(const RecHit &rhit, std::map< HcalCastorDetId, MonitorElement * > &toolE, std::map< HcalCastorDetId, MonitorElement * > &toolT, DQMStore *dbe, std::string baseFolder)
void setup(const edm::ParameterSet &ps, DQMStore *dbe)
const_iterator end() const
struct CastorRecHitMonitor::@165 castorHists
void processEvent(const CastorRecHitCollection &castorHits)
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.
void setCurrentFolder(const std::string &fullpath)
const_iterator begin() const