40 std::cout<<
"CastorRecHitMonitor::bookHistograms"<<std::endl;
47 double E0sec = 1./1024.;
48 ySec[0] = 0.; ySec[1] = E0sec;
49 double lnBsec =
log(2.);
50 for(
int j=1;
j<nySec;
j++) ySec[
j+1] = E0sec*
exp(
j*lnBsec);
51 for(
int i=0;
i<=N_Sec;
i++) xSec[
i]=
i;
53 sprintf(s,
"CastorRecHit by Sectors");
64 for(
int i=0;
i<=nxCh;
i++) xCh[
i]=
i;
67 yErh[0] = 0.; yErh[1] = E0;
68 for(
int j=1;
j<nyE;
j++) yErh[
j+1] = E0*
exp(
j*lnA);
70 sprintf(s,
"CastorTileRecHit");
76 sprintf(s,
"Reco all tiles");
80 sprintf(s,
"CastorRecHitMap(cumulative)");
86 sprintf(s,
"CastorRecHitOccMap");
92 sprintf(s,
"CastorRecHitEntriesMap");
98 sprintf(s,
"CastorRecHitTime");
101 sprintf(s,
"CASTORTowerDepth");
105 sprintf(s,
"CASTORTowerMultiplicity");
108 const int NEtow = 20;
109 float EhadTow[NEtow+1];
110 float EMTow[NEtow+1];
111 float ETower[NEtow+2];
112 double E0tow = 1./1024.;
113 EMTow[0] = 0.; EMTow[1] = E0tow;
114 EhadTow[0] = 0.; EhadTow[1] = E0tow;
115 ETower[0] = 0.; ETower[1] = E0tow;
116 double lnBtow =
log(2.);
117 for(
int j=1;
j<NEtow;
j++) EMTow[
j+1] = E0tow*
exp(
j*lnBtow);
118 for(
int j=1;
j<NEtow;
j++) EhadTow[
j+1] = E0tow*
exp(
j*lnBtow);
119 for(
int j=1;
j<=NEtow;
j++) ETower[
j+1] = E0tow*
exp(
j*lnBtow);
121 sprintf(s,
"CASTORTowerEMvsEhad");
127 sprintf(s,
"CASTORTowerTotalEnergy");
131 sprintf(s,
"CASTORJetsMultiplicity");
134 sprintf(s,
"CASTORJetEnergy");
137 sprintf(s,
"CASTORJetEta");
140 sprintf(s,
"CASTORJetPhi");
144 std::cout<<
"CastorRecHitMonitor::bookHistograms(end)"<<std::endl;
151 if(castorTowers.size() <= 0)
return;
154 for(reco::CastorTowerCollection::const_iterator iTower= castorTowers.begin();
155 iTower!= castorTowers.end(); iTower++) {
175 if(castorHits.
size() <= 0)
return;
180 for(CASTORiter=castorHits.
begin(); CASTORiter!=castorHits.
end(); ++CASTORiter)
182 float energy = CASTORiter->energy();
183 float time = CASTORiter->time();
185 if(time < -100.) time2 = -100.;
191 int sector = (int)
id.sector();
201 for (
int z=0;
z<14;
z++) {
203 int ind =
phi*14 +
z +1;
206 if(rh < 0.)
continue;
215 for(
int mod=1;
mod<=14;
mod++)
for(
int sec=1; sec<=16;sec++) {
227 for(reco::BasicJetCollection::const_iterator ibegin = Jets.begin(),
228 iend = Jets.end(), ijet = ibegin; ijet!= iend; ++ijet) {
230 float energy = ijet->energy()*0.001;
T getUntrackedParameter(std::string const &, T const &) const
float energyInEachChannel[14][16]
void setup(const edm::ParameterSet &ps)
std::vector< CastorRecHit >::const_iterator const_iterator
MonitorElement * hallchan
MonitorElement * h2RHvsSec
MonitorElement * h2RHentriesMap
void processEventJets(const reco::BasicJetCollection &Jets)
MonitorElement * hJetEnergy
MonitorElement * hJetsMultipl
std::string subsystemname
CastorRecHitMonitor(const edm::ParameterSet &ps)
MonitorElement * book1D(Args &&...args)
MonitorElement * hTowerDepth
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
const_iterator end() const
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
MonitorElement * h2RHoccmap
TH1F * getTH1F(void) const
void processEventTowers(const reco::CastorTowerCollection &castorTowers)
MonitorElement * h2TowerEMhad
void processEvent(const CastorRecHitCollection &castorHits)
MonitorElement * h2RHchan
TH2F * getTH2F(void) const
T mod(const T &a, const T &b)
std::vector< CastorTower > CastorTowerCollection
collection of CastorTower objects
const_iterator begin() const
std::vector< BasicJet > BasicJetCollection
collection of BasicJet objects
MonitorElement * hTowerMultipl