44 for (
int i = 0;
i < 18;
i++) {
71 name =
"CertificationSummaryMap";
78 for (
int i = 0;
i < 18;
i++) {
105 for (
int i = 0;
i < 18;
i++) {
112 if( ! map )
edm::LogWarning(
"EEDaqInfoTask") <<
"EcalElectronicsMapping not available";
117 me =
dqmStore_->
get(
prefixME_ +
"/EEStatusFlagsTask/FEStatus/EESFT weighted frontend errors by lumi" );
125 float integrityErrSum = 0.;
126 float integrityQual = 1.0;
127 float frontendErrSum = 0.;
128 float frontendQual = 1.0;
129 float synchronizationErrSum = 0.;
130 float synchronizationQual = 1.0;
132 for (
int i=0;
i<18;
i++) {
133 float ismIntegrityQual = 1.0;
137 integrityErrSum +=
errors;
139 float ismFrontendQual = 1.0;
145 float ismSynchronizationQual = 1.0;
149 synchronizationErrSum +=
errors;
151 float minVal=
std::min(ismIntegrityQual,ismFrontendQual);
152 DQMVal[
i] =
std::min(minVal,ismSynchronizationQual);
158 float minVal =
std::min(integrityQual,frontendQual);
159 float totDQMVal =
std::min(minVal,synchronizationQual);
162 if( me ) me->
Fill(totDQMVal);
164 for (
int i=0;
i<18;
i++) {
166 if( me ) me->
Fill(DQMVal[
i]);
173 for(
unsigned u=0 ; u<scs.size() ; u++){
174 int jx = scs[u].ix() + (scs[u].zside()<0 ? 0 : 20);
175 int jy = scs[u].iy();
176 me->setBinContent(jx,jy, DQMVal[i]);
193 int nValidChannels = 0;
194 int nValidChannelsEE[18];
204 for (
int i = 0;
i < 18;
i++) {
206 nValidChannelsEE[
i] = 0;
211 if(!crystals.size())
continue;
214 for(
unsigned u=0 ; u<scs.size() ; u++){
216 int jx = scs[u].ix() + (scs[u].zside()<0 ? 0 : 20);
217 int jy = scs[u].iy();
219 float xvalDQM = DQMVal[
i];
221 float xvalDAQ, xvalDCS;
222 xvalDAQ = xvalDCS = -1.;
225 if (
hDAQ_ ) xvalDAQ =
hDAQ_->GetBinContent( jx, jy );
226 if (
hDCS_ ) xvalDCS =
hDCS_->GetBinContent( jx, jy );
228 if ( xvalDQM == -1 || ( xvalDAQ == -1 && xvalDCS == -1 ) ) {
240 for(std::vector<DetId>::const_iterator it=crystals.begin() ; it!=crystals.end() ; ++it){
242 if(
id.zside() == scs[u].zside() && (
id.ix()-1)/5+1 == scs[u].ix() && (
id.iy()-1)/5+1 == scs[u].iy() ) ncrystals++;
245 sumCertEE[
i] += xcert * ncrystals;
246 nValidChannelsEE[
i] += ncrystals;
248 sumCert += xcert * ncrystals;
249 nValidChannels += ncrystals;
281 edm::LogWarning(
"EEDaqInfoTask") <<
"EcalElectronicsMapping not available";
298 int nValidChannels = 0;
299 int nValidChannelsEE[18];
309 for (
int i = 0;
i < 18;
i++) {
311 nValidChannelsEE[
i] = 0;
316 if(!crystals.size())
continue;
319 for(
unsigned u=0 ; u<scs.size() ; u++){
321 int jx = scs[u].ix() + (scs[u].zside()<0 ? 0 : 20);
322 int jy = scs[u].iy();
324 float xvalDQM, xvalDAQ, xvalDCS;
325 xvalDQM = xvalDAQ = xvalDCS = -1.;
328 if (
hDQM_ ) xvalDQM =
hDQM_->GetBinContent( jx, jy );
329 if (
hDAQ_ ) xvalDAQ =
hDAQ_->GetBinContent( jx, jy );
330 if (
hDCS_ ) xvalDCS =
hDCS_->GetBinContent( jx, jy );
332 if ( xvalDQM == -1 || ( xvalDAQ == -1 && xvalDCS == -1 ) ) {
344 for(std::vector<DetId>::const_iterator it=crystals.begin() ; it!=crystals.end() ; ++it){
346 if(
id.zside() == scs[u].zside() && (
id.ix()-1)/5+1 == scs[u].ix() && (
id.iy()-1)/5+1 == scs[u].iy() ) ncrystals++;
349 sumCertEE[
i] += xcert * ncrystals;
350 nValidChannelsEE[
i] += ncrystals;
352 sumCert += xcert * ncrystals;
353 nValidChannels += ncrystals;
375 for (
int i = 0;
i < 18;
i++) {
409 for (
int i = 0;
i < 18;
i++) {
T getUntrackedParameter(std::string const &, T const &) const
const std::string & getName(void) const
get name of ME
static std::string sEE(const unsigned ism)
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * meEEDataCertification_[18]
Some "id" conversions.
static const int nTowerMax_
static const int DccId_[18]
MonitorElement * bookFloat(const char *name)
Book float.
virtual ~EEDataCertificationTask()
Destructor.
int getNbinsY(void) const
get # of bins in Y-axis
TH1F * hSynchronizationByLumi_
void analyze(const edm::Event &e, const edm::EventSetup &c)
Analyze.
void beginRun(const edm::Run &r, const edm::EventSetup &c)
BeginRun.
void removeElement(const std::string &name)
MonitorElement * meEEDataCertificationSummaryMap_
Abs< T >::type abs(const T &t)
void endLuminosityBlock(const edm::LuminosityBlock &lumiBlock, const edm::EventSetup &iSetup)
EndLuminosityBlock.
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
std::vector< EcalScDetId > getEcalScDetId(int DCCid, int DCC_Channel, bool ignoreSingleCrystal=true) const
Ecal Monitor Utils for Client.
void beginJob(void)
BeginJob.
T const * product() const
EEDataCertificationTask(const edm::ParameterSet &ps)
Constructor.
void beginLuminosityBlock(const edm::LuminosityBlock &lumiBlock, const edm::EventSetup &iSetup)
BeginLuminosityBlock.
int getNbinsX(void) const
get # of bins in X-axis
void cleanup(void)
Cleanup.
void endRun(const edm::Run &r, const edm::EventSetup &c)
EndRun.
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
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 * meEEDataCertificationSummary_
void setCurrentFolder(const std::string &fullpath)
std::vector< DetId > dccTowerConstituents(int dccId, int tower) const
Get the constituent detids for this dccId.