#include <DQM/HcalMonitorTasks/interface/HcalTrigPrimMonitor.h>
Definition at line 39 of file HcalTrigPrimMonitor.h.
HcalTrigPrimMonitor::HcalTrigPrimMonitor | ( | ) |
Definition at line 4 of file HcalTrigPrimMonitor.cc.
References ievt_, and occThresh_.
00004 { 00005 ievt_=0; 00006 occThresh_=0; 00007 }
HcalTrigPrimMonitor::~HcalTrigPrimMonitor | ( | ) |
Definition at line 9 of file HcalTrigPrimMonitor.cc.
References i, and tpSpectrum_.
00010 { 00011 for (unsigned int i=tpSpectrum_.size()-1;i>=0;--i) 00012 delete tpSpectrum_[i]; 00013 tpSpectrum_.clear(); 00014 00015 }
void HcalTrigPrimMonitor::ClearEvent | ( | ) | [inline, private] |
Definition at line 145 of file HcalTrigPrimMonitor.h.
References adc_data, Is_adc_Data, Is_tp_Data, and tp_data.
Referenced by processEvent().
00146 { 00147 memset(adc_data, 0,(sizeof(float)*100*72*5*10)); 00148 memset(tp_data, 0,(sizeof(float)*100*72*5*10)); 00149 memset(Is_adc_Data,0,(sizeof(char)*100*72*5)); 00150 memset(Is_tp_Data, 0,(sizeof(char)*100*72*5)); 00151 }
void HcalTrigPrimMonitor::clearME | ( | ) | [virtual] |
Reimplemented from HcalBaseMonitor.
Definition at line 19 of file HcalTrigPrimMonitor.cc.
References HcalBaseMonitor::baseFolder_, HcalBaseMonitor::m_dbe, meEVT_, DQMStore::removeContents(), and DQMStore::setCurrentFolder().
00019 { 00020 00021 if(m_dbe){ 00022 m_dbe->setCurrentFolder(baseFolder_); 00023 m_dbe->removeContents(); 00024 meEVT_= 0; 00025 } 00026 } // void HcalTrigPrimMonitor::clearME()
void HcalTrigPrimMonitor::fill_Nevents | ( | ) |
Definition at line 457 of file HcalTrigPrimMonitor.cc.
References EN_ELEC_DCC, EN_ELEC_VME, EN_ETA, EN_MAP_ETAPHI, EN_PHI, i, j, MAX_ADC_, me_HBHE_ZS_SlidingSum, me_HF_ZS_SlidingSum, me_HO_ZS_SlidingSum, OCC_ELEC_DCC, OCC_ELEC_VME, OCC_ETA, OCC_MAP_ETAPHI, OCC_MAP_ETAPHI_THR, OCC_PHI, MonitorElement::setBinContent(), HcalDCCHeader::SPIGOT_COUNT, TP_ADC_, tpCount_, tpCountThr_, tpETSumAll_, TPOcc_, tpSize_, tpSOI_ET_, tpSpectrum_, tpSpectrumAll_, TPTiming_, TPTimingBot_, TPTimingTop_, TPvsDigi_, TS_MAX_, val_EN_ELEC_DCC, val_EN_ELEC_VME, val_EN_ETA, val_EN_MAP_ETAPHI, val_EN_PHI, val_HBHE_ZS_SlidingSum, val_HF_ZS_SlidingSum, val_HO_ZS_SlidingSum, val_MAX_ADC_, val_OCC_ELEC_DCC, val_OCC_ELEC_VME, val_OCC_ETA, val_OCC_MAP_ETAPHI, val_OCC_MAP_ETAPHI_THR, val_OCC_PHI, val_TP_ADC_, val_tpCount_, val_tpCountThr_, val_tpETSumAll_, val_TPOcc_, val_tpSize_, val_tpSOI_ET_, val_tpSpectrum_, val_tpSpectrumAll_, val_TPTiming_, val_TPTimingBot_, val_TPTimingTop_, val_TPvsDigi_, and val_TS_MAX_.
Referenced by processEvent().
00458 { 00459 00460 for (int i=0;i<200;++i) 00461 { 00462 if (val_tpSpectrumAll_[i]) 00463 tpSpectrumAll_->setBinContent(i+1,val_tpSpectrumAll_[i]); 00464 if (val_tpETSumAll_[i]) 00465 tpETSumAll_->setBinContent(i+1,val_tpETSumAll_[i]); 00466 if (val_TP_ADC_[i]) 00467 TP_ADC_->setBinContent(i+1,val_TP_ADC_[i]); 00468 00469 // This caused an "invalid read of size four" when I used a fixed array of pointers. 00470 // Swapped to vector of pointers instead. 00471 for (int j=0;j<10;++j) 00472 { 00473 if (val_tpSpectrum_[j][i]) 00474 { 00475 tpSpectrum_[j]->setBinContent(i+1,val_tpSpectrum_[j][i]); 00476 } 00477 } 00478 00479 } 00480 00481 for (int i=0;i<5000;++i) 00482 { 00483 if ( val_tpCount_[i]) 00484 tpCount_->setBinContent(i+1, val_tpCount_[i]); 00485 } 00486 00487 for (int i=0;i<1000;++i) 00488 { 00489 if ( val_tpCountThr_[i]) 00490 tpCountThr_->setBinContent(i+1, val_tpCountThr_[i]); 00491 } 00492 00493 for (int i=0;i<20;++i) 00494 { 00495 if (val_tpSize_[i]) 00496 tpSize_->setBinContent(i+1,val_tpSize_[i]); 00497 if ( val_MAX_ADC_[i]) 00498 MAX_ADC_->setBinContent(i+1,val_MAX_ADC_[i]); 00499 } 00500 00501 for (int i=0;i<100;++i) 00502 { 00503 if (val_tpSOI_ET_[i]) 00504 tpSOI_ET_->setBinContent(i+1,val_tpSOI_ET_[i]); 00505 } 00506 00507 for (int i=0;i<10;++i) 00508 { 00509 if (val_TPTiming_[i]) 00510 TPTiming_->setBinContent(i+1,val_TPTiming_[i]); 00511 if (val_TPTimingTop_[i]) 00512 TPTimingTop_->setBinContent(i+1,val_TPTimingTop_[i]); 00513 if (val_TPTimingBot_[i]) 00514 TPTimingBot_->setBinContent(i+1,val_TPTimingBot_[i]); 00515 if (val_TS_MAX_[i]) 00516 TS_MAX_->setBinContent(i+1,val_TS_MAX_[i]); 00517 } 00518 00519 for (int i=0;i<128;++i) 00520 { 00521 if (val_HBHE_ZS_SlidingSum[i]) 00522 me_HBHE_ZS_SlidingSum->setBinContent(i+1,val_HBHE_ZS_SlidingSum[i]); 00523 if (val_HO_ZS_SlidingSum[i]) 00524 me_HO_ZS_SlidingSum->setBinContent(i+1,val_HO_ZS_SlidingSum[i]); 00525 if (val_HF_ZS_SlidingSum[i]) 00526 me_HF_ZS_SlidingSum->setBinContent(i+1,val_HF_ZS_SlidingSum[i]); 00527 for (int j=0;j<200;++j) 00528 { 00529 if (val_TPvsDigi_[i][j]) 00530 TPvsDigi_->setBinContent(i+1,j+1,val_TPvsDigi_[i][j]); 00531 } 00532 } 00533 00534 // Eta, phi histograms have extra empty bin on either side, so we 00535 // need to add +2 (rather than +1) when setting bin content 00536 for (int i=0;i<87;++i) 00537 { 00538 if (val_OCC_ETA[i]) 00539 OCC_ETA->setBinContent(i+2,val_OCC_ETA[i]); 00540 if (val_EN_ETA[i]) 00541 EN_ETA->setBinContent(i+2,val_EN_ETA[i]); 00542 00543 for (int j=0;j<72;++j) 00544 { 00545 if (i==0) 00546 { 00547 if (val_OCC_PHI[j]) 00548 OCC_PHI->setBinContent(j+2,val_OCC_PHI[j]); 00549 if (val_EN_PHI[j]) 00550 EN_PHI->setBinContent(j+2,val_EN_PHI[j]); 00551 } 00552 if (val_TPOcc_[i][j]) 00553 TPOcc_->setBinContent(i+2,j+2,val_TPOcc_[i][j]); 00554 if (val_EN_MAP_ETAPHI[i][j]) 00555 EN_MAP_ETAPHI->setBinContent(i+2,j+2,val_EN_MAP_ETAPHI[i][j]); 00556 if (val_OCC_MAP_ETAPHI[i][j]) 00557 OCC_MAP_ETAPHI->setBinContent(i+2,j+2,val_OCC_MAP_ETAPHI[i][j]); 00558 if (val_OCC_MAP_ETAPHI_THR[i][j]) 00559 OCC_MAP_ETAPHI_THR->setBinContent(i+2,j+2,val_OCC_MAP_ETAPHI_THR[i][j]); 00560 } 00561 } 00562 00563 for (int i=0;i<40;++i) 00564 { 00565 for (int j=0;j<18;++j) 00566 { 00567 if (val_OCC_ELEC_VME[i][j]) 00568 OCC_ELEC_VME->setBinContent(i+1,j+1,val_OCC_ELEC_VME[i][j]); 00569 if (val_EN_ELEC_VME[i][j]) 00570 EN_ELEC_VME->setBinContent(i+1,j+1,val_EN_ELEC_VME[i][j]); 00571 } 00572 } 00573 00574 00575 // Fill VME plots 00576 for (int i=0;i<HcalDCCHeader::SPIGOT_COUNT;++i) 00577 { 00578 for (int j=0;j<36;++j) 00579 { 00580 if (val_OCC_ELEC_DCC[i][j]) 00581 OCC_ELEC_DCC->setBinContent(i+1,j+1,val_OCC_ELEC_DCC[i][j]); 00582 if (val_EN_ELEC_DCC[i][j]) 00583 EN_ELEC_DCC->setBinContent(i+1,j+1,val_EN_ELEC_DCC[i][j]); 00584 } 00585 } 00586 } //void HcalTrigPrimMonitor::Fill_Nevents()
Definition at line 153 of file HcalTrigPrimMonitor.h.
References adc_data.
Referenced by processEvent().
Definition at line 167 of file HcalTrigPrimMonitor.h.
References tp_data.
Referenced by processEvent().
Definition at line 181 of file HcalTrigPrimMonitor.h.
References Is_adc_Data.
Referenced by processEvent().
00182 { 00183 return Is_adc_Data[eta+50][phi][depth]; 00184 }
Definition at line 186 of file HcalTrigPrimMonitor.h.
References Is_tp_Data.
Referenced by processEvent().
00187 { 00188 return Is_tp_Data[eta+50][phi][depth]; 00189 }
void HcalTrigPrimMonitor::processEvent | ( | const HBHERecHitCollection & | hbHits, | |
const HORecHitCollection & | hoHits, | |||
const HFRecHitCollection & | hfHits, | |||
const HBHEDigiCollection & | hbhedigi, | |||
const HODigiCollection & | hodigi, | |||
const HFDigiCollection & | hfdigi, | |||
const HcalTrigPrimDigiCollection & | tpDigis, | |||
const HcalElectronicsMap & | emap | |||
) |
Definition at line 243 of file HcalTrigPrimMonitor.cc.
References HcalQIESample::adc(), ADCdigi_, edm::SortedCollection< T, SORT >::begin(), ClearEvent(), HcalTriggerPrimitiveSample::compressedEt(), GenMuonPlsPt100GeV_cfg::cout, data, HcalElectronicsId::dccid(), HcalDetId::depth(), edm::SortedCollection< T, SORT >::end(), lat::endl(), eta, HcalBaseMonitor::etaBins_, MonitorElement::Fill(), fill_Nevents(), HcalBaseMonitor::fVerbosity, get_adc(), get_tp(), HcalElectronicsId::htrSlot(), HcalElectronicsId::htrTopBottom(), i, HcalTriggerPrimitiveDigi::id(), HBHEDataFrame::id(), HcalTrigTowerDetId::ieta(), HcalDetId::ieta(), ievt_, int, HcalTrigTowerDetId::iphi(), HcalDetId::iphi(), IsSet_adc(), IsSet_tp(), j, j2, j3, HcalElectronicsMap::lookupTrigger(), HcalBaseMonitor::m_dbe, maxsum, meEVT_, occThresh_, phi, HcalElectronicsId::readoutVMECrateId(), HFDataFrame::sample(), HBHEDataFrame::sample(), HODataFrame::sample(), HcalTriggerPrimitiveDigi::sample(), set_adc(), set_tp(), HODataFrame::size(), HBHEDataFrame::size(), HcalTriggerPrimitiveDigi::size(), edm::SortedCollection< T, SORT >::size(), HFDataFrame::size(), HcalTriggerPrimitiveDigi::SOI_compressedEt(), HcalElectronicsId::spigot(), tmp11, tmp12, tmp21, tmp22, tp_checkNevents_, TPdigi_, TPThresh_, TrigMonAdc2fc, val_EN_ELEC_DCC, val_EN_ELEC_VME, val_EN_ETA, val_EN_MAP_ETAPHI, val_EN_PHI, val_HBHE_ZS_SlidingSum, val_HF_ZS_SlidingSum, val_HO_ZS_SlidingSum, val_MAX_ADC_, val_OCC_ELEC_DCC, val_OCC_ELEC_VME, val_OCC_ETA, val_OCC_MAP_ETAPHI, val_OCC_MAP_ETAPHI_THR, val_OCC_PHI, val_TP_ADC_, val_tpCount_, val_tpCountThr_, val_tpETSumAll_, val_TPOcc_, val_tpSize_, val_tpSOI_ET_, val_tpSpectrum_, val_tpSpectrumAll_, val_TPTiming_, val_TPTimingBot_, val_TPTimingTop_, and val_TPvsDigi_.
Referenced by HcalMonitorModule::analyze().
00252 { 00253 00254 if(!m_dbe) { 00255 if (fVerbosity>0) cout <<"HcalTrigPrimMonitor::processEvent DQMStore not instantiated!!!"<<endl; 00256 return; 00257 } 00258 00259 ++ievt_; 00260 meEVT_->Fill(ievt_); 00261 00262 ++val_tpCount_[tpDigis.size()]; 00263 00264 float data[10]; 00265 ClearEvent(); 00266 00267 edm::Handle<HcalTrigPrimDigiCollection> Tr_hbhe; 00268 00269 00270 int TPGsOverThreshold = 0; 00271 //int iDepth; 00272 int iEta; 00273 int iPhi; 00274 for (HcalTrigPrimDigiCollection::const_iterator j=tpDigis.begin(); j!=tpDigis.end(); ++j) 00275 { 00276 const HcalTriggerPrimitiveDigi digi = (const HcalTriggerPrimitiveDigi)(*j); 00277 00278 00279 // find corresponding rechit and digis 00280 HcalTrigTowerDetId tpid=digi.id(); 00281 //iDepth=digi.id().depth()-1; 00282 /* 00283 iDepth=0; // HcalTrigTowerDetId only has one depth? 00284 if (iDepth<2 && (HcalSubdetector)(digi.id().subdet())==HcalEndcap) 00285 iDepth+=4; // shift HE depths 1 and 2 00286 */ 00287 iEta=tpid.ieta(); 00288 iPhi=tpid.iphi(); 00289 HcalElectronicsId eid = emap.lookupTrigger(tpid); 00290 00291 ++val_tpSOI_ET_[static_cast<int>(digi.SOI_compressedEt())]; 00292 //if(digi.SOI_compressedEt()>0 || true) // digi.SOI_compressedEt() check does nothing here -- do we only want to fill when SOI_compressedEt >0? 00293 { 00294 ++val_tpSize_[static_cast<int>(digi.size())]; 00295 00296 ++val_OCC_ETA[static_cast<int>(iEta+(etaBins_-2)/2)]; 00297 00298 ++val_OCC_PHI[iPhi-1]; 00299 ++val_OCC_MAP_ETAPHI[static_cast<int>(iEta+(etaBins_-2)/2)][iPhi-1]; 00300 00301 val_EN_ETA[static_cast<int>(iEta+(etaBins_-2)/2)]+=digi.SOI_compressedEt(); 00302 val_EN_PHI[iPhi-1]+=digi.SOI_compressedEt(); 00303 val_EN_MAP_ETAPHI[static_cast<int>(iEta+(etaBins_-2)/2)][iPhi-1]+=digi.SOI_compressedEt(); 00304 00305 float slotnum = eid.htrSlot() + 0.5*eid.htrTopBottom(); 00306 ++val_OCC_ELEC_VME[static_cast<int>(2*(slotnum))][static_cast<int>(eid.readoutVMECrateId())]; 00307 ++val_OCC_ELEC_DCC[static_cast<int>(eid.spigot())][static_cast<int>(eid.dccid())]; 00308 00309 val_EN_ELEC_VME[static_cast<int>(2*(slotnum))][static_cast<int>(eid.readoutVMECrateId())]+=digi.SOI_compressedEt(); 00310 val_EN_ELEC_DCC[static_cast<int>(eid.spigot())][static_cast<int>(eid.dccid())]+=digi.SOI_compressedEt(); 00311 00312 double etSum = 0; 00313 bool threshCond = false; 00314 00315 for (int j=0; j<digi.size(); ++j) 00316 { 00317 etSum += digi.sample(j).compressedEt(); 00318 if (digi.sample(j).compressedEt()>occThresh_) threshCond = true; 00319 } 00320 00321 ++val_tpETSumAll_[static_cast<int>(etSum)]; 00322 if (threshCond) 00323 { 00324 //OCC_MAP_GEO->Fill(tpid.ieta(),tpid.iphi()); // which ieta and iphi positions the TPGs have for overThreshold cut 00325 ++val_OCC_MAP_ETAPHI_THR[static_cast<int>(iEta+(etaBins_-2)/2)][iPhi-1]; 00326 ++TPGsOverThreshold; 00327 } 00328 } // if (digi.SOI_compressedEt() || true) -- defunct loop condition 00329 00330 /**************/ 00331 for (int i=0; i<digi.size(); ++i) 00332 { 00333 data[i]=digi.sample(i).compressedEt(); 00334 if(digi.sample(i).compressedEt()>TPThresh_) 00335 { 00336 if (digi.sample(i).compressedEt()<=200) 00337 { 00338 ++val_tpSpectrum_[i][static_cast<int>(digi.sample(i).compressedEt())]; 00339 ++val_tpSpectrumAll_[static_cast<int>(digi.sample(i).compressedEt())]; 00340 } 00341 ++val_TPTiming_[i]; 00342 if(digi.id().iphi()>1 && digi.id().iphi()<36) 00343 { 00344 //TPTimingTop_->Fill(i); 00345 ++val_TPTimingTop_[i]; 00346 } 00347 if(digi.id().iphi()>37 && digi.id().iphi()<72) 00348 { 00349 //TPTimingBot_->Fill(i); 00350 ++val_TPTimingBot_[i]; 00351 } 00352 //TPOcc_->Fill(digi.id().ieta(),digi.id().iphi()); 00353 ++val_TPOcc_[static_cast<int>(iEta+(etaBins_-2)/2)][iPhi-1]; 00354 } 00355 } 00356 set_tp(digi.id().ieta(),digi.id().iphi(),1,data); 00357 /*************/ 00358 00359 } // for (HcalTrigPrimDigiCollection...) 00360 00361 ++val_tpCountThr_[TPGsOverThreshold]; 00362 00363 for(HBHEDigiCollection::const_iterator j=hbhedigi.begin(); j!=hbhedigi.end(); ++j) 00364 { 00365 HBHEDataFrame digi = (const HBHEDataFrame)(*j); 00366 for(int i=0; i<digi.size(); ++i) { 00367 data[i]=digi.sample(i).adc(); 00368 if (i==0) maxsum = data[i]; 00369 else if ((data[i] + data[i-1] ) > maxsum) 00370 maxsum = data[i] + data[i-1]; 00371 } 00372 set_adc(digi.id().ieta(),digi.id().iphi(),digi.id().depth(),data); 00373 if (maxsum>=0 && maxsum<128) 00374 ++val_HBHE_ZS_SlidingSum[static_cast<int>(maxsum)]; 00375 } // for (HBHEDigiCollection...) 00376 00377 00378 for(HFDigiCollection::const_iterator j=hfdigi.begin(); j!=hfdigi.end(); ++j){ 00379 HFDataFrame digi = (const HFDataFrame)(*j); 00380 for(int i=0; i<digi.size(); ++i) { 00381 data[i]=digi.sample(i).adc(); 00382 if (i==0) maxsum = data[i]; 00383 else if ((data[i] + data[i-1] ) > maxsum) 00384 maxsum = data[i] + data[i-1]; 00385 } 00386 //set_adc(digi.id().ieta(),digi.id().iphi(),digi.id().depth(),data); 00387 if (maxsum>=0 && maxsum<128) 00388 ++val_HF_ZS_SlidingSum[static_cast<int>(maxsum)]; 00389 } // for (HFDigiCollection...) 00390 00391 for(HODigiCollection::const_iterator j=hodigi.begin(); j!=hodigi.end(); ++j){ 00392 HODataFrame digi = (const HODataFrame)(*j); 00393 for(int i=0; i<digi.size(); ++i) { 00394 data[i]=digi.sample(i).adc(); 00395 if (i==0) maxsum = data[i]; 00396 else if ((data[i] + data[i-1] ) > maxsum) 00397 maxsum = data[i] + data[i-1]; 00398 } 00399 //set_adc(digi.id().ieta(),digi.id().iphi(),digi.id().depth(),data); 00400 if (maxsum>=0 && maxsum<128) 00401 ++val_HO_ZS_SlidingSum[static_cast<int>(maxsum)]; 00402 } // for (HODigiCollection...) 00403 00404 // Correlation plots... 00405 int eta,phi; 00406 int tempsum; 00407 float tpval; 00408 for(eta=-16;eta<=16;++eta) 00409 {for(phi=1;phi<=72;++phi) 00410 { 00411 //for(int i=1;i<10;++i){ // not sure what this loop was supposed to accomplish 00412 int j1=(int)get_adc(eta,phi,1)[ADCdigi_]; 00413 float tmp11 = (TrigMonAdc2fc[j1]+0.5); 00414 int j2=(int)get_adc(eta,phi,1)[ADCdigi_+1]; 00415 float tmp21 = (TrigMonAdc2fc[j2]+0.5); 00416 int j3=(int)get_adc(eta,phi,2)[ADCdigi_]; 00417 float tmp12 = (TrigMonAdc2fc[j3]+0.5); 00418 int j4=(int)get_adc(eta,phi,2)[ADCdigi_+1]; 00419 float tmp22 = (TrigMonAdc2fc[j4]+0.5); 00420 if(IsSet_adc(eta,phi,1) && IsSet_tp(eta,phi,1)) 00421 { 00422 if(get_tp(eta,phi)[TPdigi_]>TPThresh_) 00423 { 00424 tpval=get_tp(eta,phi)[TPdigi_]; 00425 tempsum=static_cast<int>(tmp11+tmp21+tmp12+tmp22); 00426 if (tempsum>=0 && tempsum<128 && tpval>=0 && tpval<200) 00427 ++val_TPvsDigi_[static_cast<int>(tmp11+tmp21+tmp12+tmp22)][static_cast<int>(tpval)]; 00428 float Energy=0; 00429 int TS = 0; 00430 for(int j=0;j<10;++j) 00431 { 00432 if (get_adc(eta,phi,1)[j]>Energy) 00433 { 00434 Energy=get_adc(eta,phi,1)[j]; 00435 TS = j; 00436 } 00437 } // for (int j=0;j<10;++j) 00438 ++val_MAX_ADC_[static_cast<int>(Energy)]; 00439 ++val_MAX_ADC_[static_cast<int>(TS)]; 00440 //This may need to continue? 00441 Energy=0; 00442 for(int j=0;j<10;++j) 00443 Energy+=get_adc(eta,phi,1)[j]; 00444 ++val_TP_ADC_[static_cast<int>(Energy)]; 00445 } // if (get_tp(eta,phi)[TPdigi_]>TPThresh_) 00446 } // if (IsSet_adc(...)) 00447 } //for (eta=-16;...) 00448 } // for (phi=1;...) 00449 00450 00451 if (ievt_%tp_checkNevents_==0) 00452 fill_Nevents(); 00453 return; 00454 }
Definition at line 158 of file HcalTrigPrimMonitor.h.
References adc_data, i, and Is_adc_Data.
Referenced by processEvent().
00159 { 00160 if(eta<-42 || eta>42 || eta==0) return; 00161 if(phi<1 || phi>72) return; 00162 if(depth<1 || depth>4) return; 00163 for(int i=0;i<10;i++) adc_data[eta+50][phi][depth][i]=val[i]; 00164 Is_adc_Data[eta+50][phi][depth]=1; 00165 }
Definition at line 172 of file HcalTrigPrimMonitor.h.
References i, Is_tp_Data, and tp_data.
Referenced by processEvent().
00173 { 00174 if(eta<-42 || eta>42 || eta==0) return; 00175 if(phi<1 || phi>72) return; 00176 if(depth<1 || depth>4) return; 00177 for(int i=0;i<10;i++) tp_data[eta+50][phi][depth][i]=val[i]; 00178 Is_tp_Data[eta+50][phi][depth]=1; 00179 }
void HcalTrigPrimMonitor::setup | ( | const edm::ParameterSet & | ps, | |
DQMStore * | dbe | |||
) | [virtual] |
Reimplemented from HcalBaseMonitor.
Definition at line 29 of file HcalTrigPrimMonitor.cc.
References ADCdigi_, HcalBaseMonitor::baseFolder_, DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookInt(), HcalBaseMonitor::checkNevents_, EN_ELEC_DCC, EN_ELEC_VME, EN_ETA, EN_MAP_ETAPHI, EN_PHI, HcalBaseMonitor::etaBins_, HcalBaseMonitor::etaMax_, HcalBaseMonitor::etaMin_, MonitorElement::Fill(), edm::ParameterSet::getUntrackedParameter(), i, ievt_, j, HcalBaseMonitor::m_dbe, HcalBaseMonitor::makeDiagnostics, MAX_ADC_, me_HBHE_ZS_SlidingSum, me_HF_ZS_SlidingSum, me_HO_ZS_SlidingSum, meEVT_, NULL, OCC_ELEC_DCC, OCC_ELEC_VME, OCC_ETA, OCC_MAP_ETAPHI, OCC_MAP_ETAPHI_THR, OCC_PHI, occThresh_, HcalBaseMonitor::phiBins_, HcalBaseMonitor::phiMax_, HcalBaseMonitor::phiMin_, HcalBaseMonitor::rootFolder_, MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), HcalBaseMonitor::setup(), HcalDCCHeader::SPIGOT_COUNT, TP_ADC_, tp_checkNevents_, tp_makeDiagnostics_, tpCount_, tpCountThr_, TPdigi_, tpETSumAll_, TPOcc_, tpSize_, tpSOI_ET_, tpSpectrum_, tpSpectrumAll_, TPThresh_, TPTiming_, TPTimingBot_, TPTimingTop_, TPvsDigi_, TS_MAX_, val_EN_ELEC_DCC, val_EN_ELEC_VME, val_EN_ETA, val_EN_MAP_ETAPHI, val_EN_PHI, val_HBHE_ZS_SlidingSum, val_HF_ZS_SlidingSum, val_HO_ZS_SlidingSum, val_MAX_ADC_, val_OCC_ELEC_DCC, val_OCC_ELEC_VME, val_OCC_ETA, val_OCC_MAP_ETAPHI, val_OCC_MAP_ETAPHI_THR, val_OCC_PHI, val_TP_ADC_, val_tpCount_, val_tpCountThr_, val_tpETSumAll_, val_TPOcc_, val_tpSize_, val_tpSOI_ET_, val_tpSpectrum_, val_tpSpectrumAll_, val_TPTiming_, val_TPTimingBot_, val_TPTimingTop_, val_TPvsDigi_, and val_TS_MAX_.
Referenced by HcalMonitorModule::HcalMonitorModule().
00029 { 00030 HcalBaseMonitor::setup(ps,dbe); 00031 baseFolder_ = rootFolder_+"TrigPrimMonitor"; 00032 00033 00034 occThresh_ = ps.getUntrackedParameter<double>("TrigPrimMonitor_OccThresh", 1.0); 00035 TPThresh_ = ps.getUntrackedParameter<double>("TrigPrimMonitor_Threshold", 1.0); 00036 00037 TPdigi_ = ps.getUntrackedParameter<int>("TrigPrimMonitor_TPdigiTS", 1); 00038 ADCdigi_ = ps.getUntrackedParameter<int>("TrigPrimMonitor_ADCdigiTS", 3); 00039 00040 tp_checkNevents_=ps.getUntrackedParameter<int>("TrigPrimMonitor_checkNevents",checkNevents_); 00041 tp_makeDiagnostics_=ps.getUntrackedParameter<bool>("TrigPrimMonitor_makeDiagnostics",makeDiagnostics); 00042 00043 ievt_=0; 00044 00045 if ( m_dbe !=NULL ) { 00046 00047 char* type; 00048 // char name[128]; 00049 m_dbe->setCurrentFolder(baseFolder_); 00050 00051 //ZZ Expert Plots 00052 m_dbe->setCurrentFolder(baseFolder_ + "/ZZ Expert Plots/ZZ DQM Expert Plots"); 00053 type = "TrigPrim Event Number"; 00054 meEVT_ = m_dbe->bookInt(type); 00055 00056 // 00 TP Occupancy 00057 m_dbe->setCurrentFolder(baseFolder_); 00058 type = "00 TP Occupancy"; 00059 TPOcc_ = m_dbe->book2D(type,type,etaBins_,etaMin_,etaMax_,phiBins_,phiMin_,phiMax_); 00060 //setupDepthHists2D(TPOcc_,type,""); 00061 //Timing Plots 00062 m_dbe->setCurrentFolder(baseFolder_+"/Timing Plots"); 00063 type = "TP Size"; 00064 tpSize_ = m_dbe->book1D(type,type,20,-0.5,19.5); 00065 type = "TP Timing"; 00066 TPTiming_ = m_dbe->book1D(type,type,10,0,10); 00067 type = "TP Timing (Top wedges)"; 00068 TPTimingTop_ = m_dbe->book1D(type,type,10,0,10); 00069 type = "TP Timing (Bottom wedges)"; 00070 TPTimingBot_ = m_dbe->book1D(type,type,10,0,10); 00071 type = "TS with max ADC"; 00072 TS_MAX_ = m_dbe->book1D(type,type,10,0,10); 00073 00074 //Energy Plots 00075 m_dbe->setCurrentFolder(baseFolder_+"/Energy Plots"); 00076 type = "# TP Digis"; 00077 tpCount_ = m_dbe->book1D(type,type,500,-0.5,4999.5); 00078 type = "# TP Digis over Threshold"; 00079 tpCountThr_ = m_dbe->book1D(type,type,100,-0.5,999.5); 00080 type = "ADC spectrum positive TP"; 00081 TP_ADC_ = m_dbe->book1D(type,type,200,-0.5,199.5); 00082 type = "Max ADC in TP"; 00083 MAX_ADC_ = m_dbe->book1D(type,type,20,-0.5,19.5); 00084 type = "Full TP Spectrum"; 00085 tpSpectrumAll_ = m_dbe->book1D(type,type,200,-0.5,199.5); 00086 type = "TP ET Sum"; 00087 tpETSumAll_ = m_dbe->book1D(type,type,200,-0.5,199.5); 00088 type = "TP SOI ET"; 00089 tpSOI_ET_ = m_dbe->book1D(type,type,100,-0.5,99.5); 00090 00091 m_dbe->setCurrentFolder(baseFolder_+"/Energy Plots/TP Spectra by TS"); 00092 for (int i=0; i<10; ++i) 00093 { 00094 type = "TP Spectrum sample "; 00095 std::stringstream samp; 00096 //std::string teststr; 00097 samp << type <<i; 00098 //samp >> teststr; 00099 //teststr = type + teststr; 00100 tpSpectrum_.push_back(m_dbe->book1D(samp.str().c_str(),samp.str().c_str(),100,-0.5,199.5)); 00101 } 00102 00103 //Electronics Plots 00104 m_dbe->setCurrentFolder(baseFolder_+"/Electronics Plots"); 00105 type = "HBHE Sliding Pair Sum Maxes"; 00106 me_HBHE_ZS_SlidingSum = m_dbe->book1D(type,type,128,0,128); 00107 type = "HF Sliding Pair Sum Maxes"; 00108 me_HF_ZS_SlidingSum = m_dbe->book1D(type,type,128,0,128); 00109 type = "HO Sliding Pair Sum Maxes"; 00110 me_HO_ZS_SlidingSum = m_dbe->book1D(type,type,128,0,128); 00111 00112 type = "TP vs Digi"; 00113 TPvsDigi_ = m_dbe->book2D(type,type,128,0,128,200,0,200); 00114 TPvsDigi_->setAxisTitle("lin ADC digi",1); 00115 TPvsDigi_->setAxisTitle("TP digi",2); 00116 type = "TrigPrim VME Occupancy Map"; 00117 OCC_ELEC_VME = m_dbe->book2D(type,type,40,-0.25,19.75,18,-0.5,17.5); 00118 type = "TrigPrim Spigot Occupancy Map"; 00119 OCC_ELEC_DCC = m_dbe->book2D(type,type,HcalDCCHeader::SPIGOT_COUNT,-0.5,HcalDCCHeader::SPIGOT_COUNT-0.5,36,-0.5,35.5); 00120 type = "TrigPrim VME Energy Map"; 00121 EN_ELEC_VME = m_dbe->book2D(type,type,40,-0.25,19.75,18,-0.5,17.5); 00122 type = "TrigPrim Spigot Energy Map"; 00123 EN_ELEC_DCC = m_dbe->book2D(type,type,HcalDCCHeader::SPIGOT_COUNT,-0.5,HcalDCCHeader::SPIGOT_COUNT-0.5,36,-0.5,35.5); 00124 00125 //Geometry Plots 00126 m_dbe->setCurrentFolder(baseFolder_+"/Geometry Plots"); 00127 type = "TrigPrim Eta Occupancy Map"; 00128 OCC_ETA = m_dbe->book1D(type,type,etaBins_,etaMin_,etaMax_); 00129 type = "TrigPrim Phi Occupancy Map"; 00130 OCC_PHI = m_dbe->book1D(type,type,phiBins_,phiMin_,phiMax_); 00131 type = "TrigPrim Geo Occupancy Map"; 00132 OCC_MAP_ETAPHI = m_dbe->book2D(type,type,etaBins_,etaMin_,etaMax_,phiBins_,phiMin_,phiMax_); 00133 //setupDepthHists2D(OCC_MAP_ETAPHI,type,""); 00134 //type = "old TrigPrim Geo Threshold Map"; 00135 //OCC_MAP_GEO = m_dbe->book2D(type,type,etaBins_,etaMin_,etaMax_,phiBins_,phiMin_,phiMax_); 00136 type = "TrigPrim Geo Threshold Map"; 00137 OCC_MAP_ETAPHI_THR = m_dbe->book2D(type,type,etaBins_,etaMin_,etaMax_,phiBins_,phiMin_,phiMax_); 00138 //setupDepthHists2D(OCC_MAP_ETAPHI_THR,type,""); 00139 type = "TrigPrim Eta Energy Map"; 00140 EN_ETA = m_dbe->book1D(type,type,etaBins_,etaMin_,etaMax_); 00141 type = "TrigPrim Phi Energy Map"; 00142 EN_PHI = m_dbe->book1D(type,type,phiBins_,phiMin_,phiMax_); 00143 type = "TrigPrim Geo Energy Map"; 00144 EN_MAP_ETAPHI = m_dbe->book2D(type,type,etaBins_,etaMin_,etaMax_,phiBins_,phiMin_,phiMax_); 00145 //setupDepthHists2D(EN_MAP_ETAPHI,type,""); 00146 meEVT_->Fill(ievt_); 00147 00148 } // if (m_dbe !=NULL) 00149 00150 // set all counters to 0 00151 // 1-D counters 00152 00153 for (unsigned int i=0;i<5000;++i) 00154 { 00155 val_tpCount_[i]=0; 00156 if (i<10) 00157 { 00158 val_TPTiming_[i]=0; 00159 val_TPTimingTop_[i]=0; 00160 val_TPTimingBot_[i]=0; 00161 val_TS_MAX_[i]=0; 00162 } 00163 00164 if (i<20) 00165 { 00166 val_tpSize_[i]=0; 00167 val_MAX_ADC_[i]=0; 00168 } 00169 if (i<72) 00170 { 00171 val_OCC_PHI[i]=0; 00172 val_EN_PHI[i]=0; 00173 } 00174 if (i<87) 00175 { 00176 val_OCC_ETA[i]=0; 00177 val_EN_ETA[i]=0; 00178 } 00179 if (i<100) val_tpSOI_ET_[i]=0; 00180 if (i<128) 00181 { 00182 val_HBHE_ZS_SlidingSum[i]=0; 00183 val_HO_ZS_SlidingSum[i]=0; 00184 val_HF_ZS_SlidingSum[i]=0; 00185 } 00186 if (i<200) 00187 { 00188 val_tpSpectrumAll_[i]=0; 00189 val_tpETSumAll_[i]=0; 00190 val_TP_ADC_[i]=0; 00191 } 00192 if (i<1000) val_tpCountThr_[i]=0; 00193 } // for (unsigned int i=0;i<5000;++i) 00194 00195 // 2D counters 00196 for (unsigned int i=0;i<10;++i) 00197 { 00198 for (unsigned int j=0;j<200;++j) 00199 { 00200 val_tpSpectrum_[i][j]=0; 00201 } 00202 } 00203 for (unsigned int i=0;i<128;++i) 00204 { 00205 for (unsigned int j=0;j<200;++j) 00206 { 00207 val_TPvsDigi_[i][j]=0; 00208 } 00209 } 00210 00211 for (unsigned int i=0;i<87;++i) 00212 { 00213 for (unsigned int j=0;j<72;++j) 00214 { 00215 val_TPOcc_[i][j]=0; 00216 val_OCC_MAP_ETAPHI[i][j]=0; 00217 val_OCC_MAP_ETAPHI_THR[i][j]=0; 00218 val_EN_MAP_ETAPHI[i][j]=0; 00219 } 00220 } 00221 00222 for (unsigned int i=0;i<40;++i) 00223 { 00224 for (unsigned int j=0;j<18;++j) 00225 { 00226 val_OCC_ELEC_VME[i][j]=0; 00227 val_EN_ELEC_VME[i][j]=0; 00228 } 00229 } 00230 00231 for (unsigned int i=0;i<15;++i) 00232 { 00233 for (unsigned int j=0;j<36;++j) 00234 { 00235 val_OCC_ELEC_DCC[i][j]=0; 00236 val_EN_ELEC_DCC[i][j]=0; 00237 } 00238 } 00239 00240 return; 00241 } // void HcalTrigPrimMonitor::setup(...)
float HcalTrigPrimMonitor::adc_data[100][73][5][10] [private] |
Definition at line 191 of file HcalTrigPrimMonitor.h.
Referenced by ClearEvent(), get_adc(), and set_adc().
int HcalTrigPrimMonitor::ADCdigi_ [private] |
MonitorElement* HcalTrigPrimMonitor::EN_ELEC_DCC [private] |
MonitorElement* HcalTrigPrimMonitor::EN_ELEC_VME [private] |
MonitorElement* HcalTrigPrimMonitor::EN_ETA [private] |
MonitorElement* HcalTrigPrimMonitor::EN_MAP_ETAPHI [private] |
MonitorElement* HcalTrigPrimMonitor::EN_PHI [private] |
int HcalTrigPrimMonitor::ievt_ [private] |
Monitoring elements.
Definition at line 60 of file HcalTrigPrimMonitor.h.
Referenced by HcalTrigPrimMonitor(), processEvent(), and setup().
char HcalTrigPrimMonitor::Is_adc_Data[100][73][5] [private] |
Definition at line 193 of file HcalTrigPrimMonitor.h.
Referenced by ClearEvent(), IsSet_adc(), and set_adc().
char HcalTrigPrimMonitor::Is_tp_Data[100][73][5] [private] |
Definition at line 194 of file HcalTrigPrimMonitor.h.
Referenced by ClearEvent(), IsSet_tp(), and set_tp().
MonitorElement* HcalTrigPrimMonitor::MAX_ADC_ [private] |
float HcalTrigPrimMonitor::maxsum [private] |
MonitorElement* HcalTrigPrimMonitor::meEVT_ [private] |
Definition at line 70 of file HcalTrigPrimMonitor.h.
Referenced by clearME(), processEvent(), and setup().
MonitorElement* HcalTrigPrimMonitor::OCC_ELEC_DCC [private] |
MonitorElement* HcalTrigPrimMonitor::OCC_ELEC_VME [private] |
MonitorElement* HcalTrigPrimMonitor::OCC_ETA [private] |
MonitorElement* HcalTrigPrimMonitor::OCC_MAP_GEO [private] |
Definition at line 119 of file HcalTrigPrimMonitor.h.
MonitorElement* HcalTrigPrimMonitor::OCC_PHI [private] |
double HcalTrigPrimMonitor::occThresh_ [private] |
Definition at line 62 of file HcalTrigPrimMonitor.h.
Referenced by HcalTrigPrimMonitor(), processEvent(), and setup().
MonitorElement* HcalTrigPrimMonitor::TP_ADC_ [private] |
int HcalTrigPrimMonitor::tp_checkNevents_ [private] |
float HcalTrigPrimMonitor::tp_data[100][73][5][10] [private] |
Definition at line 192 of file HcalTrigPrimMonitor.h.
Referenced by ClearEvent(), get_tp(), and set_tp().
bool HcalTrigPrimMonitor::tp_makeDiagnostics_ [private] |
MonitorElement* HcalTrigPrimMonitor::tpCount_ [private] |
MonitorElement* HcalTrigPrimMonitor::tpCountThr_ [private] |
int HcalTrigPrimMonitor::TPdigi_ [private] |
MonitorElement* HcalTrigPrimMonitor::tpETSumAll_ [private] |
MonitorElement* HcalTrigPrimMonitor::TPOcc_ [private] |
MonitorElement* HcalTrigPrimMonitor::tpSize_ [private] |
MonitorElement* HcalTrigPrimMonitor::tpSOI_ET_ [private] |
std::vector<MonitorElement*> HcalTrigPrimMonitor::tpSpectrum_ [private] |
Definition at line 79 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), setup(), and ~HcalTrigPrimMonitor().
double HcalTrigPrimMonitor::TPThresh_ [private] |
MonitorElement* HcalTrigPrimMonitor::TPTiming_ [private] |
MonitorElement* HcalTrigPrimMonitor::TPTimingBot_ [private] |
MonitorElement* HcalTrigPrimMonitor::TPTimingTop_ [private] |
MonitorElement* HcalTrigPrimMonitor::TPvsDigi_ [private] |
MonitorElement* HcalTrigPrimMonitor::TS_MAX_ [private] |
float HcalTrigPrimMonitor::val_EN_ELEC_DCC[15][36] [private] |
Definition at line 141 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_EN_ELEC_VME[40][18] [private] |
Definition at line 140 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_EN_ETA[87] [private] |
Definition at line 137 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_EN_MAP_ETAPHI[87][72] [private] |
Definition at line 139 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_EN_PHI[72] [private] |
Definition at line 138 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_HBHE_ZS_SlidingSum[128] [private] |
Definition at line 113 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_HF_ZS_SlidingSum[128] [private] |
Definition at line 114 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_HO_ZS_SlidingSum[128] [private] |
Definition at line 115 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_MAX_ADC_[20] [private] |
Definition at line 104 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_OCC_ELEC_DCC[15][36] [private] |
Definition at line 135 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_OCC_ELEC_VME[40][18] [private] |
Definition at line 134 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_OCC_ETA[87] [private] |
Definition at line 130 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_OCC_MAP_ETAPHI[87][72] [private] |
Definition at line 132 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_OCC_MAP_ETAPHI_THR[87][72] [private] |
Definition at line 133 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_OCC_PHI[72] [private] |
Definition at line 131 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_TP_ADC_[200] [private] |
Definition at line 103 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_tpCount_[5000] [private] |
Definition at line 76 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_tpCountThr_[1000] [private] |
Definition at line 77 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_tpETSumAll_[200] [private] |
Definition at line 87 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_TPOcc_[87][72] [private] |
Definition at line 102 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_tpSize_[20] [private] |
Definition at line 75 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_tpSOI_ET_[100] [private] |
Definition at line 88 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_tpSpectrum_[10][200] [private] |
Definition at line 85 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_tpSpectrumAll_[200] [private] |
Definition at line 86 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_TPTiming_[10] [private] |
Definition at line 99 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_TPTimingBot_[10] [private] |
Definition at line 101 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_TPTimingTop_[10] [private] |
Definition at line 100 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_TPvsDigi_[128][200] [private] |
Definition at line 106 of file HcalTrigPrimMonitor.h.
Referenced by fill_Nevents(), processEvent(), and setup().
float HcalTrigPrimMonitor::val_TS_MAX_[10] [private] |