#include <HcalDetDiagLEDMonitor.h>
HcalDetDiagLEDMonitor::HcalDetDiagLEDMonitor | ( | const edm::ParameterSet & | ps | ) |
Definition at line 239 of file HcalDetDiagLEDMonitor.cc.
References HcalBaseDQMonitor::AllowedCalibTypes_, calibDigiLabel_, dataset_seq_number, HcalBaseDQMonitor::debug_, digiLabel_, HcalBaseDQMonitor::enableCleanup_, edm::ParameterSet::getUntrackedParameter(), ievt_, IsReference, LEDMeanTreshold, LEDRmsTreshold, HcalBaseDQMonitor::makeDiagnostics_, HcalBaseDQMonitor::mergeRuns_, HcalBaseDQMonitor::NLumiBlocks_, HcalBaseDQMonitor::Online_, OutputFilePath, HcalBaseDQMonitor::prefixME_, ReferenceData, run_number, HcalBaseDQMonitor::skipOutOfOrderLS_, HcalBaseDQMonitor::subdir_, and XmlFilePath.
{ ievt_=0; dataset_seq_number=1; run_number=-1; IsReference=false; Online_ = ps.getUntrackedParameter<bool>("online",false); mergeRuns_ = ps.getUntrackedParameter<bool>("mergeRuns",false); enableCleanup_ = ps.getUntrackedParameter<bool>("enableCleanup",false); debug_ = ps.getUntrackedParameter<int>("debug",0); prefixME_ = ps.getUntrackedParameter<std::string>("subSystemFolder","Hcal/"); if (prefixME_.substr(prefixME_.size()-1,prefixME_.size())!="/") prefixME_.append("/"); subdir_ = ps.getUntrackedParameter<std::string>("TaskFolder","DetDiagLEDMonitor_Hcal"); if (subdir_.size()>0 && subdir_.substr(subdir_.size()-1,subdir_.size())!="/") subdir_.append("/"); subdir_=prefixME_+subdir_; AllowedCalibTypes_ = ps.getUntrackedParameter<std::vector<int> > ("AllowedCalibTypes"); skipOutOfOrderLS_ = ps.getUntrackedParameter<bool>("skipOutOfOrderLS",false); NLumiBlocks_ = ps.getUntrackedParameter<int>("NLumiBlocks",4000); makeDiagnostics_ = ps.getUntrackedParameter<bool>("makeDiagnostics",false); LEDMeanTreshold = ps.getUntrackedParameter<double>("LEDMeanTreshold" , 0.1); LEDRmsTreshold = ps.getUntrackedParameter<double>("LEDRmsTreshold" , 0.1); ReferenceData = ps.getUntrackedParameter<std::string>("LEDReferenceData" ,""); OutputFilePath = ps.getUntrackedParameter<std::string>("OutputFilePath", ""); XmlFilePath = ps.getUntrackedParameter<std::string>("XmlFilePath", ""); digiLabel_ = ps.getUntrackedParameter<edm::InputTag>("digiLabel", edm::InputTag("hcalDigis")); calibDigiLabel_ = ps.getUntrackedParameter<edm::InputTag>("calibDigiLabel",edm::InputTag("hcalDigis")); }
HcalDetDiagLEDMonitor::~HcalDetDiagLEDMonitor | ( | ) |
Definition at line 272 of file HcalDetDiagLEDMonitor.cc.
{}
HcalDetDiagLEDMonitor::HcalDetDiagLEDMonitor | ( | const edm::ParameterSet & | ps | ) |
HcalDetDiagLEDMonitor::~HcalDetDiagLEDMonitor | ( | ) |
void HcalDetDiagLEDMonitor::analyze | ( | const edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 377 of file HcalDetDiagLEDMonitor.cc.
References adc2fC, HcalDetDiagLEDData::add_statistics(), calib, calib_data, calibDigiLabel_, CheckStatus(), data, HcalBaseDQMonitor::dbe_, digiLabel_, alignCSCRings::e, eta(), MonitorElement::Fill(), fillHistos(), edm::Event::getByLabel(), edm::Event::getByType(), hb_data, HcalBarrel, HcalEndcap, he_data, hf_data, ho_data, i, edm::EventBase::id(), ievt_, edm::HandleBase::isValid(), meEVT_, meRUN_, phi, edm::EventID::run(), and run_number.
{ int eta,phi,depth,nTS; if(!dbe_) return; bool LEDEvent=false; bool LocalRun=false; // for local runs edm::Handle<HcalTBTriggerData> trigger_data; iEvent.getByType(trigger_data); if(trigger_data.isValid()){ if(trigger_data->triggerWord()==6){ LEDEvent=true;LocalRun=true;} } if(!LocalRun) return; if(!LEDEvent) return; HcalBaseDQMonitor::analyze(iEvent, iSetup); meEVT_->Fill(++ievt_); run_number=iEvent.id().run(); meRUN_->Fill(iEvent.id().run()); double data[20]; edm::Handle<HBHEDigiCollection> hbhe; iEvent.getByLabel(digiLabel_, hbhe); if(hbhe.isValid()) for(HBHEDigiCollection::const_iterator digi=hbhe->begin();digi!=hbhe->end();digi++){ eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size(); if(digi->id().subdet()==HcalBarrel){ for(int i=0;i<nTS;i++) data[i]=adc2fC[digi->sample(i).adc()&0xff]-2.5; hb_data[eta+42][phi-1][depth-1].add_statistics(data,nTS); } if(digi->id().subdet()==HcalEndcap){ for(int i=0;i<nTS;i++) data[i]=adc2fC[digi->sample(i).adc()&0xff]-2.5; he_data[eta+42][phi-1][depth-1].add_statistics(data,nTS); } } edm::Handle<HODigiCollection> ho; iEvent.getByLabel(digiLabel_,ho); if(ho.isValid()) for(HODigiCollection::const_iterator digi=ho->begin();digi!=ho->end();digi++){ eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size(); for(int i=0;i<nTS;i++) data[i]=adc2fC[digi->sample(i).adc()&0xff]-2.5; ho_data[eta+42][phi-1][depth-1].add_statistics(data,nTS); } edm::Handle<HFDigiCollection> hf; iEvent.getByLabel(digiLabel_,hf); if(hf.isValid()) for(HFDigiCollection::const_iterator digi=hf->begin();digi!=hf->end();digi++){ eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size(); for(int i=0;i<nTS;i++) data[i]=adc2fC[digi->sample(i).adc()&0xff]-2.5; hf_data[eta+42][phi-1][depth-1].add_statistics(data,nTS); } edm::Handle<HcalCalibDigiCollection> calib; iEvent.getByLabel(calibDigiLabel_, calib); if(calib.isValid())for(HcalCalibDigiCollection::const_iterator digi=calib->begin();digi!=calib->end();digi++){ if(digi->id().cboxChannel()!=0 || digi->id().hcalSubdet()==0) continue; nTS=digi->size(); double e=0; for(int i=0;i<nTS;i++){ data[i]=adc2fC[digi->sample(i).adc()&0xff]; e+=data[i];} if(e<15000) calib_data[digi->id().hcalSubdet()][digi->id().ieta()+2][digi->id().iphi()-1].add_statistics(data,nTS); } if(((ievt_)%500)==0){ fillHistos(); CheckStatus(); } return; }
void HcalDetDiagLEDMonitor::analyze | ( | const edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
void HcalDetDiagLEDMonitor::beginRun | ( | const edm::Run & | run, |
const edm::EventSetup & | c | ||
) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
void HcalDetDiagLEDMonitor::beginRun | ( | const edm::Run & | run, |
const edm::EventSetup & | c | ||
) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 283 of file HcalDetDiagLEDMonitor.cc.
References gather_cfg::cout, HcalBaseDQMonitor::debug_, edm::EventSetup::get(), HcalCondObjectContainer< Item >::getAllChannels(), reco::JetExtendedAssociation::getValue(), HcalCondObjectContainer< Item >::getValues(), DetId::Hcal, HcalChannelStatus::HcalCellMask, HcalChannelStatus::HcalCellOff, i, KnownBadCells_, HcalBaseDQMonitor::mergeRuns_, AlCaHLTBitMon_ParallelJobs::p, edm::ESHandle< T >::product(), reset(), setup(), ntuplemaker::status, and HcalBaseDQMonitor::tevt_.
{ if (debug_>1) std::cout <<"HcalDetDiagLEDMonitor::beginRun"<<std::endl; HcalBaseDQMonitor::beginRun(run,c); if (tevt_==0) this->setup(); // set up histograms if they have not been created before if (mergeRuns_==false) this->reset(); edm::ESHandle<HcalChannelQuality> p; c.get<HcalChannelQualityRcd>().get(p); HcalChannelQuality* chanquality= new HcalChannelQuality(*p.product()); std::vector<DetId> mydetids = chanquality->getAllChannels(); KnownBadCells_.clear(); for (std::vector<DetId>::const_iterator i = mydetids.begin();i!=mydetids.end();++i){ if (i->det()!=DetId::Hcal) continue; // not an hcal cell HcalDetId id=HcalDetId(*i); int status=(chanquality->getValues(id))->getValue(); if((status & HcalChannelStatus::HcalCellOff) || (status & HcalChannelStatus::HcalCellMask)){ KnownBadCells_[id.rawId()]=status; } } return; } // void HcalNDetDiagLEDMonitor::beginRun(...)
void HcalDetDiagLEDMonitor::CheckStatus | ( | ) | [private] |
Definition at line 1046 of file HcalDetDiagLEDMonitor.cc.
References HcalElectronicsMap::allElectronicsIdPrecision(), HcalDetDiagLEDData::change_status(), ChannelStatusLEDMean, ChannelStatusLEDRMS, ChannelStatusMissingChannels, ChannelStatusTimeMean, ChannelStatusTimeRMS, ChannelStatusUnstableChannels, ChannelStatusUnstableLEDsignal, EtaPhiHists::depth, HcalDetId::depth(), DetId::det(), cond::rpcobgas::detid, emap, eta(), fill_channel_status(), HcalDetDiagLEDData::get_average_time(), HcalDetDiagLEDData::get_overflow(), HcalDetDiagLEDData::get_statistics(), HcalDetDiagLEDData::get_undeflow(), MonitorElement::getMean(), hb_data, DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, HcalGenericDetId::HcalGenBarrel, HcalGenericDetId::HcalGenEndcap, HcalGenericDetId::HcalGenForward, HcalGenericDetId::HcalGenOuter, HcalOuter, he_data, hf_data, ho_data, i, HcalDetId::ieta(), ievt_, HcalDetId::iphi(), KnownBadCells_, HcalElectronicsMap::lookup(), phi, plotscripts::rms(), DetId::subdetId(), Time, and TimeHF.
Referenced by analyze(), and endRun().
{ for(int i=0;i<4;i++){ ChannelStatusMissingChannels->depth[i]->Reset(); ChannelStatusUnstableChannels->depth[i]->Reset(); ChannelStatusUnstableLEDsignal->depth[i]->Reset(); ChannelStatusLEDMean->depth[i]->Reset(); ChannelStatusLEDRMS->depth[i]->Reset(); ChannelStatusTimeMean->depth[i]->Reset(); ChannelStatusTimeRMS->depth[i]->Reset(); } std::vector <HcalElectronicsId> AllElIds = emap.allElectronicsIdPrecision(); for (std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin(); eid != AllElIds.end(); eid++) { DetId detid=emap.lookup(*eid); if (detid.det()!=DetId::Hcal) continue; HcalGenericDetId gid(emap.lookup(*eid)); if(!(!(gid.null()) && (gid.genericSubdet()==HcalGenericDetId::HcalGenBarrel || gid.genericSubdet()==HcalGenericDetId::HcalGenEndcap || gid.genericSubdet()==HcalGenericDetId::HcalGenForward || gid.genericSubdet()==HcalGenericDetId::HcalGenOuter))) continue; int eta=0,phi=0,depth=0; if(KnownBadCells_.find(gid.rawId())==KnownBadCells_.end()) continue; HcalDetId hid(detid); eta=hid.ieta(); phi=hid.iphi(); depth=hid.depth(); double AVE_TIME=Time->getMean(); if(detid.subdetId()==HcalBarrel){ int stat=hb_data[eta+42][phi-1][depth-1].get_statistics()+ hb_data[eta+42][phi-1][depth-1].get_overflow()+hb_data[eta+42][phi-1][depth-1].get_undeflow(); if(stat==0){ fill_channel_status("HB",eta,phi,depth,1,1); hb_data[eta+42][phi-1][depth-1].change_status(1); } if(stat>0 && stat!=(ievt_)){ fill_channel_status("HB",eta,phi,depth,2,(double)stat/(double)(ievt_)); hb_data[eta+42][phi-1][depth-1].change_status(2); } if(hb_data[eta+42][phi-1][depth-1].get_statistics()>100){ double ave=0; double rms=0; hb_data[eta+42][phi-1][depth-1].get_average_time(&ave,&rms); if((AVE_TIME-ave)>0.75 || (AVE_TIME-ave)<-0.75){ fill_channel_status("HB",eta,phi,depth,6,AVE_TIME-ave); hb_data[eta+42][phi-1][depth-1].change_status(8); } } stat=hb_data[eta+42][phi-1][depth-1].get_undeflow(); if(stat>0){ fill_channel_status("HB",eta,phi,depth,3,(double)stat/(double)(ievt_)); hb_data[eta+42][phi-1][depth-1].change_status(4); } } if(detid.subdetId()==HcalEndcap){ int stat=he_data[eta+42][phi-1][depth-1].get_statistics()+ he_data[eta+42][phi-1][depth-1].get_overflow()+he_data[eta+42][phi-1][depth-1].get_undeflow(); if(stat==0){ fill_channel_status("HE",eta,phi,depth,1,1); he_data[eta+42][phi-1][depth-1].change_status(1); } if(stat>0 && stat!=(ievt_)){ fill_channel_status("HE",eta,phi,depth,2,(double)stat/(double)(ievt_)); he_data[eta+42][phi-1][depth-1].change_status(2); } if(he_data[eta+42][phi-1][depth-1].get_statistics()>100){ double ave=0; double rms=0; he_data[eta+42][phi-1][depth-1].get_average_time(&ave,&rms); if((AVE_TIME-ave)>0.75 || (AVE_TIME-ave)<-0.75){ fill_channel_status("HE",eta,phi,depth,6,AVE_TIME-ave); he_data[eta+42][phi-1][depth-1].change_status(8); } } stat=he_data[eta+42][phi-1][depth-1].get_undeflow(); if(stat>0){ fill_channel_status("HE",eta,phi,depth,3,(double)stat/(double)(ievt_)); he_data[eta+42][phi-1][depth-1].change_status(4); } } if(detid.subdetId()==HcalOuter){ int stat=ho_data[eta+42][phi-1][depth-1].get_statistics()+ ho_data[eta+42][phi-1][depth-1].get_overflow()+ho_data[eta+42][phi-1][depth-1].get_undeflow(); if(stat==0){ fill_channel_status("HO",eta,phi,depth,1,1); ho_data[eta+42][phi-1][depth-1].change_status(1); } if(stat>0 && stat!=(ievt_)){ fill_channel_status("HO",eta,phi,depth,2,(double)stat/(double)(ievt_)); ho_data[eta+42][phi-1][depth-1].change_status(2); } if(ho_data[eta+42][phi-1][depth-1].get_statistics()>100){ double ave=0; double rms=0; ho_data[eta+42][phi-1][depth-1].get_average_time(&ave,&rms); if((AVE_TIME-ave)>0.75 || (AVE_TIME-ave)<-0.75){ fill_channel_status("HO",eta,phi,depth,6,AVE_TIME-ave); ho_data[eta+42][phi-1][depth-1].change_status(8); } } stat=ho_data[eta+42][phi-1][depth-1].get_undeflow(); if(stat>0){ fill_channel_status("HO",eta,phi,depth,3,(double)stat/(double)(ievt_)); ho_data[eta+42][phi-1][depth-1].change_status(4); } } if(detid.subdetId()==HcalForward){ AVE_TIME=TimeHF->getMean(); int stat=hf_data[eta+42][phi-1][depth-1].get_statistics()+ hf_data[eta+42][phi-1][depth-1].get_overflow()+hf_data[eta+42][phi-1][depth-1].get_undeflow(); if(stat==0){ fill_channel_status("HF",eta,phi,depth,1,1); hf_data[eta+42][phi-1][depth-1].change_status(1); } if(stat>0 && stat!=(ievt_)){ fill_channel_status("HF",eta,phi,depth,2,(double)stat/(double)(ievt_)); hf_data[eta+42][phi-1][depth-1].change_status(2); } if(hf_data[eta+42][phi-1][depth-1].get_statistics()>100){ double ave=0; double rms=0; hf_data[eta+42][phi-1][depth-1].get_average_time(&ave,&rms); if((AVE_TIME-ave)>0.75 || (AVE_TIME-ave)<-0.75){ fill_channel_status("HF",eta,phi,depth,6,AVE_TIME-ave); hf_data[eta+42][phi-1][depth-1].change_status(8); } } stat=hf_data[eta+42][phi-1][depth-1].get_undeflow(); if(stat>0){ fill_channel_status("HF",eta,phi,depth,3,(double)stat/(double)(ievt_)); hf_data[eta+42][phi-1][depth-1].change_status(4); } } } }
void HcalDetDiagLEDMonitor::CheckStatus | ( | ) | [private] |
void HcalDetDiagLEDMonitor::cleanup | ( | ) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
void HcalDetDiagLEDMonitor::cleanup | ( | void | ) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 274 of file HcalDetDiagLEDMonitor.cc.
References HcalBaseDQMonitor::dbe_, DQMStore::removeContents(), DQMStore::setCurrentFolder(), and HcalBaseDQMonitor::subdir_.
{ if(dbe_){ dbe_->setCurrentFolder(subdir_); dbe_->removeContents(); dbe_ = 0; } }
void HcalDetDiagLEDMonitor::done | ( | ) |
void HcalDetDiagLEDMonitor::endRun | ( | const edm::Run & | run, |
const edm::EventSetup & | c | ||
) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 1227 of file HcalDetDiagLEDMonitor.cc.
References CheckStatus(), fillHistos(), ievt_, and SaveReference().
{ if(ievt_>=100){ fillHistos(); CheckStatus(); SaveReference(); } }
void HcalDetDiagLEDMonitor::fill_channel_status | ( | std::string | subdet, |
int | eta, | ||
int | phi, | ||
int | depth, | ||
int | type, | ||
double | status | ||
) | [private] |
Definition at line 1210 of file HcalDetDiagLEDMonitor.cc.
References CalcEtaBin(), ChannelStatusLEDMean, ChannelStatusLEDRMS, ChannelStatusMissingChannels, ChannelStatusTimeMean, ChannelStatusTimeRMS, ChannelStatusUnstableChannels, ChannelStatusUnstableLEDsignal, EtaPhiHists::depth, HcalBarrel, HcalEndcap, HcalForward, and HcalOuter.
Referenced by CheckStatus().
{ int subdetval=-1; if (subdet.compare("HB")==0) subdetval=(int)HcalBarrel; else if (subdet.compare("HE")==0) subdetval=(int)HcalEndcap; else if (subdet.compare("HO")==0) subdetval=(int)HcalOuter; else if (subdet.compare("HF")==0) subdetval=(int)HcalForward; else return; int ietabin=CalcEtaBin(subdetval, eta, depth)+1; if(type==1) ChannelStatusMissingChannels->depth[depth-1] ->setBinContent(ietabin,phi,status); if(type==2) ChannelStatusUnstableChannels->depth[depth-1] ->setBinContent(ietabin,phi,status); if(type==3) ChannelStatusUnstableLEDsignal->depth[depth-1]->setBinContent(ietabin,phi,status); if(type==4) ChannelStatusLEDMean->depth[depth-1] ->setBinContent(ietabin,phi,status); if(type==5) ChannelStatusLEDRMS->depth[depth-1] ->setBinContent(ietabin,phi,status); if(type==6) ChannelStatusTimeMean->depth[depth-1] ->setBinContent(ietabin,phi,status); if(type==7) ChannelStatusTimeRMS->depth[depth-1] ->setBinContent(ietabin,phi,status); }
void HcalDetDiagLEDMonitor::fill_channel_status | ( | std::string | subdet, |
int | eta, | ||
int | phi, | ||
int | depth, | ||
int | type, | ||
double | status | ||
) | [private] |
void HcalDetDiagLEDMonitor::fill_energy | ( | std::string | subdet, |
int | eta, | ||
int | phi, | ||
int | depth, | ||
double | e, | ||
int | type | ||
) | [private] |
void HcalDetDiagLEDMonitor::fill_energy | ( | std::string | subdet, |
int | eta, | ||
int | phi, | ||
int | depth, | ||
double | e, | ||
int | type | ||
) | [private] |
Definition at line 1183 of file HcalDetDiagLEDMonitor.cc.
References CalcEtaBin(), ChannelsLEDEnergy, ChannelsLEDEnergyRef, EtaPhiHists::depth, HcalBarrel, HcalEndcap, HcalForward, and HcalOuter.
Referenced by fillHistos().
{ int subdetval=-1; if (subdet.compare("HB")==0) subdetval=(int)HcalBarrel; else if (subdet.compare("HE")==0) subdetval=(int)HcalEndcap; else if (subdet.compare("HO")==0) subdetval=(int)HcalOuter; else if (subdet.compare("HF")==0) subdetval=(int)HcalForward; else return; int ietabin=CalcEtaBin(subdetval, eta, depth)+1; if(type==1) ChannelsLEDEnergy->depth[depth-1] ->setBinContent(ietabin,phi,e); else if(type==2) ChannelsLEDEnergyRef->depth[depth-1]->setBinContent(ietabin,phi,e); }
void HcalDetDiagLEDMonitor::fillHistos | ( | ) |
void HcalDetDiagLEDMonitor::fillHistos | ( | ) |
Definition at line 447 of file HcalDetDiagLEDMonitor.cc.
References abs, HcalElectronicsMap::allElectronicsIdPrecision(), HcalDetId::depth(), DetId::det(), cond::rpcobgas::detid, emap, Energy, Energy2Dhbhehf, Energy2Dho, EnergyCorr, EnergyHF, EnergyRMS, EnergyRMSHF, eta(), MonitorElement::Fill(), fill_energy(), HcalDetDiagLEDData::get_average_led(), HcalDetDiagLEDData::get_average_time(), get_energy(), GetCalib(), HcalLogicalMap::getHcalFrontEndId(), hb_data, HBMphi, HBPphi, DetId::Hcal, HcalGenericDetId::HcalGenBarrel, HcalGenericDetId::HcalGenEndcap, HcalGenericDetId::HcalGenForward, HcalGenericDetId::HcalGenOuter, he_data, HEMphi, HEPphi, hf_data, HFMphi, HFPphi, HO0phi, HO1Mphi, HO1Pphi, HO2Mphi, HO2Pphi, ho_data, i, HcalDetId::ieta(), HcalDetId::iphi(), isSiPM(), j, KnownBadCells_, lmap, HcalElectronicsMap::lookup(), phi, DetId::rawId(), HcalFrontEndId::rbx(), MonitorElement::Reset(), HcalFrontEndId::rm(), plotscripts::rms(), sd, Time, cond::rpcobgas::time, Time2Dhbhehf, Time2Dho, TimeHF, TimeRMS, and TimeRMSHF.
Referenced by analyze(), and endRun().
{ std::string subdet[4]={"HB","HE","HO","HF"}; Energy->Reset(); Time->Reset(); EnergyRMS->Reset(); TimeRMS->Reset(); EnergyHF->Reset(); TimeHF->Reset(); EnergyRMSHF->Reset(); TimeRMSHF->Reset(); EnergyCorr->Reset(); Time2Dhbhehf->Reset(); Time2Dho->Reset(); Energy2Dhbhehf->Reset(); Energy2Dho->Reset(); HBPphi->Reset(); HBMphi->Reset(); HEPphi->Reset(); HEMphi->Reset(); HFPphi->Reset(); HFMphi->Reset(); HO0phi->Reset(); HO1Pphi->Reset(); HO2Pphi->Reset(); HO1Mphi->Reset(); HO2Mphi->Reset(); // HB histograms for(int eta=-16;eta<=16;eta++) for(int phi=1;phi<=72;phi++){ double T=0,nT=0,E=0,nE=0; for(int depth=1;depth<=2;depth++){ if(hb_data[eta+42][phi-1][depth-1].get_statistics()>100){ double ave=0; double rms=0; double time=0; double time_rms=0; hb_data[eta+42][phi-1][depth-1].get_average_led(&ave,&rms); hb_data[eta+42][phi-1][depth-1].get_average_time(&time,&time_rms); Energy->Fill(ave); if(ave>0)EnergyRMS->Fill(rms/ave); Time->Fill(time); TimeRMS->Fill(time_rms); T+=time; nT++; E+=ave; nE++; if(GetCalib("HB",eta,phi)->get_statistics()>100){ double ave_calib=0; double rms_calib=0; GetCalib("HB",eta,phi)->get_average_led(&ave_calib,&rms_calib); fill_energy("HB",eta,phi,depth,ave/ave_calib,1); EnergyCorr->Fill(ave_calib/ave); } } } if(nT>0){Time2Dhbhehf->Fill(eta,phi,T/nT);Energy2Dhbhehf->Fill(eta,phi,E/nE); } } // HE histograms for(int eta=-29;eta<=29;eta++) for(int phi=1;phi<=72;phi++){ double T=0,nT=0,E=0,nE=0; for(int depth=1;depth<=3;depth++){ if(he_data[eta+42][phi-1][depth-1].get_statistics()>100){ double ave=0; double rms=0; double time=0; double time_rms=0; he_data[eta+42][phi-1][depth-1].get_average_led(&ave,&rms); he_data[eta+42][phi-1][depth-1].get_average_time(&time,&time_rms); Energy->Fill(ave); if(ave>0)EnergyRMS->Fill(rms/ave); Time->Fill(time); T+=time; nT++; E+=ave; nE++; TimeRMS->Fill(time_rms); if(GetCalib("HE",eta,phi)->get_statistics()>100){ double ave_calib=0; double rms_calib=0; GetCalib("HE",eta,phi)->get_average_led(&ave_calib,&rms_calib); fill_energy("HE",eta,phi,depth,ave/ave_calib,1); EnergyCorr->Fill(ave_calib/ave); } } } if(nT>0 && abs(eta)>16 ){Time2Dhbhehf->Fill(eta,phi,T/nT); Energy2Dhbhehf->Fill(eta,phi,E/nE); } if(nT>0 && abs(eta)>20 ){Time2Dhbhehf->Fill(eta,phi+1,T/nT); Energy2Dhbhehf->Fill(eta,phi+1,E/nE);} } // HF histograms for(int eta=-42;eta<=42;eta++) for(int phi=1;phi<=72;phi++){ double T=0,nT=0,E=0,nE=0; for(int depth=1;depth<=2;depth++){ if(hf_data[eta+42][phi-1][depth-1].get_statistics()>100){ double ave=0; double rms=0; double time=0; double time_rms=0; hf_data[eta+42][phi-1][depth-1].get_average_led(&ave,&rms); hf_data[eta+42][phi-1][depth-1].get_average_time(&time,&time_rms); EnergyHF->Fill(ave); if(ave>0)EnergyRMSHF->Fill(rms/ave); TimeHF->Fill(time); T+=time; nT++; E+=ave; nE++; TimeRMSHF->Fill(time_rms); if(GetCalib("HF",eta,phi)->get_statistics()>100){ double ave_calib=0; double rms_calib=0; GetCalib("HF",eta,phi)->get_average_led(&ave_calib,&rms_calib); fill_energy("HF",eta,phi,depth,ave/ave_calib,1); EnergyCorr->Fill(ave_calib/ave); } } } if(nT>0 && abs(eta)>29 ){ Time2Dhbhehf->Fill(eta,phi,T/nT); Time2Dhbhehf->Fill(eta,phi+1,T/nT);} if(nT>0 && abs(eta)>29 ){ Energy2Dhbhehf->Fill(eta,phi,E/nE); Energy2Dhbhehf->Fill(eta,phi+1,E/nE);} } // HO histograms for(int eta=-10;eta<=15;eta++) for(int phi=1;phi<=72;phi++){ double T=0,nT=0,E=0,nE=0; if(eta>10 && !isSiPM(eta,phi,4)) continue; for(int depth=4;depth<=4;depth++){ if(ho_data[eta+42][phi-1][depth-1].get_statistics()>100){ double ave=0; double rms=0; double time=0; double time_rms=0; ho_data[eta+42][phi-1][depth-1].get_average_led(&ave,&rms); ho_data[eta+42][phi-1][depth-1].get_average_time(&time,&time_rms); Energy->Fill(ave); if(ave>0)EnergyRMS->Fill(rms/ave); Time->Fill(time); T+=time; nT++; E+=ave; nE++; TimeRMS->Fill(time_rms); if(GetCalib("HO",eta,phi)->get_statistics()>100){ double ave_calib=0; double rms_calib=0; GetCalib("HO",eta,phi)->get_average_led(&ave_calib,&rms_calib); fill_energy("HO",eta,phi,depth,ave/ave_calib,1); EnergyCorr->Fill(ave_calib/ave); } } } if(nT>0){ Time2Dho->Fill(eta,phi,T/nT); Energy2Dho->Fill(eta,phi+1,E/nE) ;} } double ave=0.,rms=0.,ave_calib=0.,rms_calib=0.; // HB Ref histograms for(int eta=-16;eta<=16;eta++) for(int phi=1;phi<=72;phi++) for(int depth=1;depth<=2;depth++){ if(hb_data[eta+42][phi-1][depth-1].get_reference(&ave,&rms) && GetCalib("HB",eta,phi)->get_reference(&ave_calib,&rms_calib)){ fill_energy("HB",eta,phi,depth,ave/ave_calib,2); } } // HE Ref histograms for(int eta=-29;eta<=29;eta++) for(int phi=1;phi<=72;phi++) for(int depth=1;depth<=3;depth++){ if(he_data[eta+42][phi-1][depth-1].get_reference(&ave,&rms) && GetCalib("HE",eta,phi)->get_reference(&ave_calib,&rms_calib)){ fill_energy("HE",eta,phi,depth,ave/ave_calib,2); } } // HO Ref histograms for(int eta=-10;eta<=15;eta++) for(int phi=1;phi<=72;phi++) for(int depth=4;depth<=4;depth++){ if(eta>10 && !isSiPM(eta,phi,4)) continue; if(ho_data[eta+42][phi-1][depth-1].get_reference(&ave,&rms) && GetCalib("HO",eta,phi)->get_reference(&ave_calib,&rms_calib)){ fill_energy("HO",eta,phi,depth,ave/ave_calib,2); } } // HF Ref histograms for(int eta=-42;eta<=42;eta++) for(int phi=1;phi<=72;phi++) for(int depth=1;depth<=2;depth++){ if(hf_data[eta+42][phi-1][depth-1].get_reference(&ave,&rms) && GetCalib("HF",eta,phi)->get_reference(&ave_calib,&rms_calib)){ fill_energy("HF",eta,phi,depth,ave/ave_calib,2); } } //fill RM histograms: this part is incomplete, will be modefied later double hbp[18][4],nhbp[18][4],hbm[18][4],nhbm[18][4]; double hep[18][4],nhep[18][4],hem[18][4],nhem[18][4]; double hfp[18][4],nhfp[18][4],hfm[18][4],nhfm[18][4]; double ho0[18][4],nho0[18][4]; double ho1p[18][4],nho1p[18][4]; double ho2p[18][4],nho2p[18][4]; double ho1m[18][4],nho1m[18][4]; double ho2m[18][4],nho2m[18][4]; for(int i=0;i<18;i++) for(int j=0;j<4;j++) hbp[i][j]=nhbp[i][j]=hbm[i][j]=nhbm[i][j]=hep[i][j]=nhep[i][j]=hem[i][j]=nhem[i][j]=hfp[i][j]=nhfp[i][j]=hfm[i][j]=nhfm[i][j]=0; for(int i=0;i<18;i++) for(int j=0;j<4;j++) ho0[i][j]=nho0[i][j]=ho1p[i][j]=nho1p[i][j]=ho2p[i][j]=nho2p[i][j]=ho1m[i][j]=nho1m[i][j]=ho2m[i][j]=nho2m[i][j]=0; std::vector <HcalElectronicsId> AllElIds = emap.allElectronicsIdPrecision(); for(std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin(); eid != AllElIds.end(); eid++){ DetId detid=emap.lookup(*eid); if(detid.det()!=DetId::Hcal) continue; HcalGenericDetId gid(emap.lookup(*eid)); if(!(!(gid.null()) && (gid.genericSubdet()==HcalGenericDetId::HcalGenBarrel || gid.genericSubdet()==HcalGenericDetId::HcalGenEndcap || gid.genericSubdet()==HcalGenericDetId::HcalGenForward || gid.genericSubdet()==HcalGenericDetId::HcalGenOuter))) continue; int sd=0,eta=0,phi=0,depth=0; if(gid.genericSubdet()==HcalGenericDetId::HcalGenBarrel) sd=0; else if(gid.genericSubdet()==HcalGenericDetId::HcalGenEndcap) sd=1; else if(gid.genericSubdet()==HcalGenericDetId::HcalGenOuter) sd=2; else if(gid.genericSubdet()==HcalGenericDetId::HcalGenForward)sd=3; HcalDetId hid(detid); if(KnownBadCells_.find(hid.rawId())==KnownBadCells_.end()) continue; eta=hid.ieta(); phi=hid.iphi(); depth=hid.depth(); double ave =get_energy(subdet[sd],eta,phi,depth,1); double ref =get_energy(subdet[sd],eta,phi,depth,2); HcalFrontEndId lmap_entry=lmap->getHcalFrontEndId(hid); int rbx; if(sd==0 || sd==1 || sd==3){ sscanf(&(lmap_entry.rbx().c_str())[3],"%d",&rbx); }else{ if(abs(eta)<5) sscanf(&(lmap_entry.rbx().c_str())[3],"%d",&rbx); if(abs(eta)>=5) sscanf(&(lmap_entry.rbx().c_str())[4],"%d",&rbx); } if(ave>0 && ref>0){ if(sd==0 && eta>0){ hbp[rbx-1][lmap_entry.rm()-1]+=ave/ref; nhbp[rbx-1][lmap_entry.rm()-1]++; } if(sd==0 && eta<0){ hbm[rbx-1][lmap_entry.rm()-1]+=ave/ref; nhbm[rbx-1][lmap_entry.rm()-1]++; } if(sd==1 && eta>0){ hep[rbx-1][lmap_entry.rm()-1]+=ave/ref; nhep[rbx-1][lmap_entry.rm()-1]++; } if(sd==1 && eta<0){ hem[rbx-1][lmap_entry.rm()-1]+=ave/ref; nhem[rbx-1][lmap_entry.rm()-1]++; } if(sd==3 && eta>0){ hfp[rbx-1][lmap_entry.rm()-1]+=ave/ref; nhfp[rbx-1][lmap_entry.rm()-1]++; } if(sd==3 && eta<0){ hfm[rbx-1][lmap_entry.rm()-1]+=ave/ref; nhfm[rbx-1][lmap_entry.rm()-1]++; } if(sd==2 && abs(eta)<5){ ho0[rbx-1][lmap_entry.rm()-1]+=ave/ref; nho0[rbx-1][lmap_entry.rm()-1]++; } if(sd==2 && eta>=5 && eta<=10){ ho1p[rbx-1][lmap_entry.rm()-1]+=ave/ref; nho1p[rbx-1][lmap_entry.rm()-1]++; } if(sd==2 && eta>=11 && eta<=15){ ho2p[rbx-1][lmap_entry.rm()-1]+=ave/ref; nho2p[rbx-1][lmap_entry.rm()-1]++; } if(sd==2 && eta>=-10 && eta<=-5){ ho1m[rbx-1][lmap_entry.rm()-1]+=ave/ref; nho1m[rbx-1][lmap_entry.rm()-1]++; } if(sd==2 && eta>=-15 && eta<=-11){ ho2m[rbx-1][lmap_entry.rm()-1]+=ave/ref; nho2m[rbx-1][lmap_entry.rm()-1]++; } } } for(int i=0;i<18;i++)for(int j=0;j<4;j++){ int phi=i*4+j+1; if(nhbp[i][j]>1) HBPphi->Fill(phi+0.5,hbp[i][j]/nhbp[i][j]); if(nhbm[i][j]>1) HBMphi->Fill(phi+0.5,hbm[i][j]/nhbm[i][j]); if(nhep[i][j]>1) HEPphi->Fill(phi+0.5,hep[i][j]/nhep[i][j]); if(nhem[i][j]>1) HEMphi->Fill(phi+0.5,hem[i][j]/nhem[i][j]); } for(int i=0;i<12;i++)for(int j=0;j<3;j++){ int phi=i*3+j+1; if(nhfp[i][j]>1) HFPphi->Fill(phi+0.5,hfp[i][j]/nhfp[i][j]); if(nhfm[i][j]>1) HFMphi->Fill(phi+0.5,hfm[i][j]/nhfm[i][j]); } for(int i=0;i<12;i++)for(int j=0;j<4;j++){ int phi=i*4+j+1; if(nho0[i][j]>1) HO0phi->Fill(phi+0.5,ho0[i][j]/nho0[i][j]); if(nho1p[i][j]>1) HO1Pphi->Fill(phi+0.5,ho1p[i][j]/nho1p[i][j]); if(nho2p[i][j]>1) HO2Pphi->Fill(phi+0.5,ho2p[i][j]/nho2p[i][j]); if(nho1m[i][j]>1) HO1Mphi->Fill(phi+0.5,ho1m[i][j]/nho1m[i][j]); if(nho2m[i][j]>1) HO2Mphi->Fill(phi+0.5,ho2m[i][j]/nho2m[i][j]); } }
double HcalDetDiagLEDMonitor::get_energy | ( | std::string | subdet, |
int | eta, | ||
int | phi, | ||
int | depth, | ||
int | type | ||
) | [private] |
double HcalDetDiagLEDMonitor::get_energy | ( | std::string | subdet, |
int | eta, | ||
int | phi, | ||
int | depth, | ||
int | type | ||
) | [private] |
Definition at line 1196 of file HcalDetDiagLEDMonitor.cc.
References CalcEtaBin(), ChannelsLEDEnergy, ChannelsLEDEnergyRef, EtaPhiHists::depth, HcalBarrel, HcalEndcap, HcalForward, and HcalOuter.
Referenced by fillHistos().
{ int subdetval=-1; if (subdet.compare("HB")==0) subdetval=(int)HcalBarrel; else if (subdet.compare("HE")==0) subdetval=(int)HcalEndcap; else if (subdet.compare("HO")==0) subdetval=(int)HcalOuter; else if (subdet.compare("HF")==0) subdetval=(int)HcalForward; else return -1.0; int ietabin=CalcEtaBin(subdetval, eta, depth)+1; if(type==1) return ChannelsLEDEnergy->depth[depth-1] ->getBinContent(ietabin, phi); else if(type==2) return ChannelsLEDEnergyRef->depth[depth-1] ->getBinContent(ietabin,phi); return -1.0; }
HcalDetDiagLEDData* HcalDetDiagLEDMonitor::GetCalib | ( | std::string | sd, |
int | eta, | ||
int | phi | ||
) | [inline, private] |
Definition at line 129 of file HcalDetDiagLEDMonitor.cc.
References abs, calib_data, ETA, and PHI.
{ int SD=0,ETA=0,PHI=0; if(sd.compare("HB")==0) SD=1; if(sd.compare("HE")==0) SD=2; if(sd.compare("HO")==0) SD=3; if(sd.compare("HF")==0) SD=4; if(SD==1 || SD==2){ if(eta>0) ETA=1; else ETA=-1; if(phi==71 ||phi==72 || phi==1 || phi==2) PHI=71; else PHI=((phi-3)/4)*4+3; }else if(SD==3){ if(abs(eta)<=4){ ETA=0; if(phi==71 ||phi==72 || phi==1 || phi==2 || phi==3 || phi==4) PHI=71; else PHI=((phi-5)/6)*6+5; }else{ if(abs(eta)>4 && abs(eta)<=10) ETA=1; if(abs(eta)>10 && abs(eta)<=15) ETA=2; if(eta<0) ETA=-ETA; if(phi==71 ||phi==72 || (phi>=1 && phi<=10)) PHI=71; else PHI=((phi-11)/12)*12+11; } }else if(SD==4){ if(eta>0) ETA=1; else ETA=-1; if(phi>=1 && phi<=18) PHI=1; if(phi>=19 && phi<=36) PHI=19; if(phi>=37 && phi<=54) PHI=37; if(phi>=55 && phi<=72) PHI=55; } return &calib_data[SD][ETA+2][PHI-1]; };
HcalDetDiagLEDData* HcalDetDiagLEDMonitor::GetCalib | ( | std::string | sd, |
int | eta, | ||
int | phi | ||
) | [inline, private] |
Definition at line 51 of file HcalDetDiagLEDMonitor.h.
References abs, calib_data, ETA, and PHI.
Referenced by fillHistos().
{ int SD=0,ETA=0,PHI=0; if(sd.compare("HB")==0) SD=1; if(sd.compare("HE")==0) SD=2; if(sd.compare("HO")==0) SD=3; if(sd.compare("HF")==0) SD=4; if(SD==1 || SD==2){ if(eta>0) ETA=1; else ETA=-1; if(phi==71 ||phi==72 || phi==1 || phi==2) PHI=71; else PHI=((phi-3)/4)*4+3; }else if(SD==3){ if(abs(eta)<=4){ ETA=0; if(phi==71 ||phi==72 || phi==1 || phi==2 || phi==3 || phi==4) PHI=71; else PHI=((phi-5)/6)*6+5; }else{ if(abs(eta)>4 && abs(eta)<=10) ETA=1; if(abs(eta)>10 && abs(eta)<=15) ETA=2; if(eta<0) ETA=-ETA; if(phi==71 ||phi==72 || (phi>=1 && phi<=10)) PHI=71; else PHI=((phi-11)/12)*12+11; } }else if(SD==4){ if(eta>0) ETA=1; else ETA=-1; if(phi>=1 && phi<=18) PHI=1; if(phi>=19 && phi<=36) PHI=19; if(phi>=37 && phi<=54) PHI=37; if(phi>=55 && phi<=72) PHI=55; } return calib_data[SD][ETA+2][PHI-1]; };
int HcalDetDiagLEDMonitor::GetStatistics | ( | ) | [inline] |
int HcalDetDiagLEDMonitor::GetStatistics | ( | ) | [inline] |
void HcalDetDiagLEDMonitor::LoadReference | ( | ) | [private] |
Definition at line 1013 of file HcalDetDiagLEDMonitor.cc.
References calib_data, reco::tau::disc::Eta(), f, hb_data, he_data, hf_data, ho_data, IsReference, colinearityKinematic::Phi, ReferenceData, ReferenceRun, plotscripts::rms(), HcalDetDiagLEDData::set_reference(), and lumiQTWidget::t.
Referenced by setup().
{ double led,rms; int Eta,Phi,Depth; char subdet[10]; TFile *f; if(gSystem->AccessPathName(ReferenceData.c_str())) return; f = new TFile(ReferenceData.c_str(),"READ"); if(!f->IsOpen()) return ; TObjString *STR=(TObjString *)f->Get("run number"); if(STR){ std::string Ref(STR->String()); ReferenceRun=Ref;} TTree* t=(TTree*)f->Get("HCAL LED data"); if(!t) return; t->SetBranchAddress("Subdet", subdet); t->SetBranchAddress("eta", &Eta); t->SetBranchAddress("phi", &Phi); t->SetBranchAddress("depth", &Depth); t->SetBranchAddress("led", &led); t->SetBranchAddress("rms", &rms); for(int ievt=0;ievt<t->GetEntries();ievt++){ t->GetEntry(ievt); if(strcmp(subdet,"HB")==0) hb_data[Eta+42][Phi-1][Depth-1].set_reference(led,rms); if(strcmp(subdet,"HE")==0) he_data[Eta+42][Phi-1][Depth-1].set_reference(led,rms); if(strcmp(subdet,"HO")==0) ho_data[Eta+42][Phi-1][Depth-1].set_reference(led,rms); if(strcmp(subdet,"HF")==0) hf_data[Eta+42][Phi-1][Depth-1].set_reference(led,rms); if(strcmp(subdet,"CALIB_HB")==0) calib_data[1][Eta+2][Phi-1].set_reference(led,rms); if(strcmp(subdet,"CALIB_HE")==0) calib_data[2][Eta+2][Phi-1].set_reference(led,rms); if(strcmp(subdet,"CALIB_HO")==0) calib_data[3][Eta+2][Phi-1].set_reference(led,rms); if(strcmp(subdet,"CALIB_HF")==0) calib_data[4][Eta+2][Phi-1].set_reference(led,rms); } f->Close(); IsReference=true; }
void HcalDetDiagLEDMonitor::LoadReference | ( | ) | [private] |
void HcalDetDiagLEDMonitor::reset | ( | ) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
void HcalDetDiagLEDMonitor::reset | ( | void | ) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 281 of file HcalDetDiagLEDMonitor.cc.
Referenced by beginRun().
{}
void HcalDetDiagLEDMonitor::SaveReference | ( | ) | [private] |
void HcalDetDiagLEDMonitor::SaveReference | ( | ) | [private] |
Definition at line 696 of file HcalDetDiagLEDMonitor.cc.
References HcalElectronicsMap::allElectronicsIdPrecision(), calib_data, dataset_seq_number, HcalDetId::depth(), DetId::det(), cond::rpcobgas::detid, alignCSCRings::e, emap, eta(), reco::tau::disc::Eta(), patZpeak::events, HcalDetDiagLEDData::get_average_led(), HcalDetDiagLEDData::get_average_time(), HcalDetDiagLEDData::get_statistics(), HcalDetDiagLEDData::get_status(), hb_data, DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, HcalGenericDetId::HcalGenBarrel, HcalGenericDetId::HcalGenEndcap, HcalGenericDetId::HcalGenForward, HcalGenericDetId::HcalGenOuter, HcalOuter, he_data, hf_data, ho_data, HcalDetId::ieta(), ievt_, HcalDetId::iphi(), HcalElectronicsMap::lookup(), OutputFilePath, phi, colinearityKinematic::Phi, plotscripts::rms(), DTTTrigCorrFirst::run, run_number, sd, step1_ZMM_7Tev::Status, DetId::subdetId(), lumiQTWidget::t, interactiveExample::theFile, Time, cond::rpcobgas::time, diffTreeTool::tree, xmlFile(), and XmlFilePath.
Referenced by endRun().
{ double led,rms,Time,time_rms; int Eta,Phi,Depth,Statistic,Status=0; char Subdet[10],str[500]; sprintf(str,"%sHcalDetDiagLEDData_run%06i_%i.root",OutputFilePath.c_str(),run_number,dataset_seq_number); TFile *theFile = new TFile(str, "RECREATE"); if(!theFile->IsOpen()) return; theFile->cd(); sprintf(str,"%d",run_number); TObjString run(str); run.Write("run number"); sprintf(str,"%d",ievt_); TObjString events(str); events.Write("Total events processed"); TTree *tree =new TTree("HCAL LED data","HCAL LED data"); if(tree==0) return; tree->Branch("Subdet", &Subdet, "Subdet/C"); tree->Branch("eta", &Eta, "Eta/I"); tree->Branch("phi", &Phi, "Phi/I"); tree->Branch("depth", &Depth, "Depth/I"); tree->Branch("statistic",&Statistic, "Statistic/I"); tree->Branch("status", &Status, "Status/I"); tree->Branch("led", &led, "led/D"); tree->Branch("rms", &rms, "rms/D"); tree->Branch("time", &Time, "time/D"); tree->Branch("time_rms", &time_rms, "time_rms/D"); sprintf(Subdet,"HB"); for(int eta=-16;eta<=16;eta++) for(int phi=1;phi<=72;phi++) for(int depth=1;depth<=2;depth++){ if((Statistic=hb_data[eta+42][phi-1][depth-1].get_statistics())>100){ Eta=eta; Phi=phi; Depth=depth; Status=hb_data[eta+42][phi-1][depth-1].get_status(); hb_data[eta+42][phi-1][depth-1].get_average_led(&led,&rms); hb_data[eta+42][phi-1][depth-1].get_average_time(&Time,&time_rms); tree->Fill(); } } sprintf(Subdet,"HE"); for(int eta=-29;eta<=29;eta++) for(int phi=1;phi<=72;phi++) for(int depth=1;depth<=3;depth++){ if((Statistic=he_data[eta+42][phi-1][depth-1].get_statistics())>100){ Eta=eta; Phi=phi; Depth=depth; Status=he_data[eta+42][phi-1][depth-1].get_status(); he_data[eta+42][phi-1][depth-1].get_average_led(&led,&rms); he_data[eta+42][phi-1][depth-1].get_average_time(&Time,&time_rms); tree->Fill(); } } sprintf(Subdet,"HO"); for(int eta=-15;eta<=15;eta++) for(int phi=1;phi<=72;phi++) for(int depth=4;depth<=4;depth++){ if((Statistic=ho_data[eta+42][phi-1][depth-1].get_statistics())>100){ Eta=eta; Phi=phi; Depth=depth; Status=ho_data[eta+42][phi-1][depth-1].get_status(); ho_data[eta+42][phi-1][depth-1].get_average_led(&led,&rms); ho_data[eta+42][phi-1][depth-1].get_average_time(&Time,&time_rms); tree->Fill(); } } sprintf(Subdet,"HF"); for(int eta=-42;eta<=42;eta++) for(int phi=1;phi<=72;phi++) for(int depth=1;depth<=2;depth++){ if((Statistic=hf_data[eta+42][phi-1][depth-1].get_statistics())>100){ Eta=eta; Phi=phi; Depth=depth; Status=hf_data[eta+42][phi-1][depth-1].get_status(); hf_data[eta+42][phi-1][depth-1].get_average_led(&led,&rms); hf_data[eta+42][phi-1][depth-1].get_average_time(&Time,&time_rms); tree->Fill(); } } sprintf(Subdet,"CALIB_HB"); for(int eta=-1;eta<=1;eta++) for(int phi=1;phi<=72;phi++){ if((calib_data[1][eta+2][phi-1].get_statistics())>100){ Eta=eta; Phi=phi; Depth=0; Status=calib_data[1][eta+2][phi-1].get_status(); calib_data[1][eta+2][phi-1].get_average_led(&led,&rms); calib_data[1][eta+2][phi-1].get_average_time(&Time,&time_rms); tree->Fill(); } } sprintf(Subdet,"CALIB_HE"); for(int eta=-1;eta<=1;eta++) for(int phi=1;phi<=72;phi++){ if((calib_data[2][eta+2][phi-1].get_statistics())>100){ Eta=eta; Phi=phi; Depth=0; Status=calib_data[2][eta+2][phi-1].get_status(); calib_data[2][eta+2][phi-1].get_average_led(&led,&rms); calib_data[2][eta+2][phi-1].get_average_time(&Time,&time_rms); tree->Fill(); } } sprintf(Subdet,"CALIB_HO"); for(int eta=-2;eta<=2;eta++) for(int phi=1;phi<=72;phi++){ if((calib_data[3][eta+2][phi-1].get_statistics())>100){ Eta=eta; Phi=phi; Depth=0; Status=calib_data[3][eta+2][phi-1].get_status(); calib_data[3][eta+2][phi-1].get_average_led(&led,&rms); calib_data[3][eta+2][phi-1].get_average_time(&Time,&time_rms); tree->Fill(); } } sprintf(Subdet,"CALIB_HF"); for(int eta=-2;eta<=2;eta++) for(int phi=1;phi<=72;phi++){ if((calib_data[4][eta+2][phi-1].get_statistics())>100){ Eta=eta; Phi=phi; Depth=0; Status=calib_data[4][eta+2][phi-1].get_status(); calib_data[4][eta+2][phi-1].get_average_led(&led,&rms); calib_data[4][eta+2][phi-1].get_average_time(&Time,&time_rms); tree->Fill(); } } theFile->Write(); theFile->Close(); if(XmlFilePath.size()>0){ //create XML file char TIME[40]; Long_t t; t=time(0); strftime(TIME,30,"%F %T",localtime(&t)); sprintf(str,"HcalDetDiagLED_%i_%i.xml",run_number,dataset_seq_number); std::string xmlName=str; ofstream xmlFile; xmlFile.open(xmlName.c_str()); xmlFile<<"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"; xmlFile<<"<ROOT>\n"; xmlFile<<" <HEADER>\n"; xmlFile<<" <HINTS mode='only-det-root'/>\n"; xmlFile<<" <TYPE>\n"; xmlFile<<" <EXTENSION_TABLE_NAME>HCAL_DETMON_LED_LASER_V1</EXTENSION_TABLE_NAME>\n"; xmlFile<<" <NAME>HCAL LED [local]</NAME>\n"; xmlFile<<" </TYPE>\n"; xmlFile<<" <!-- run details -->\n"; xmlFile<<" <RUN>\n"; xmlFile<<" <RUN_TYPE>LOCAL-RUN</RUN_TYPE>\n"; xmlFile<<" <RUN_NUMBER>"<<run_number<<"</RUN_NUMBER>\n"; xmlFile<<" <RUN_BEGIN_TIMESTAMP>2009-01-01 00:00:00</RUN_BEGIN_TIMESTAMP>\n"; xmlFile<<" <COMMENT_DESCRIPTION>hcal LED data</COMMENT_DESCRIPTION>\n"; xmlFile<<" <LOCATION>P5</LOCATION>\n"; xmlFile<<" <INITIATED_BY_USER>dma</INITIATED_BY_USER>\n"; xmlFile<<" </RUN>\n"; xmlFile<<" </HEADER>\n"; xmlFile<<" <DATA_SET>\n"; xmlFile<<" <!-- optional dataset metadata -->\n\n"; xmlFile<<" <SET_NUMBER>"<<dataset_seq_number<<"</SET_NUMBER>\n"; xmlFile<<" <SET_BEGIN_TIMESTAMP>2009-01-01 00:00:00</SET_BEGIN_TIMESTAMP>\n"; xmlFile<<" <SET_END_TIMESTAMP>2009-01-01 00:00:00</SET_END_TIMESTAMP>\n"; xmlFile<<" <NUMBER_OF_EVENTS_IN_SET>"<<ievt_<<"</NUMBER_OF_EVENTS_IN_SET>\n"; xmlFile<<" <COMMENT_DESCRIPTION>Automatic DQM output</COMMENT_DESCRIPTION>\n"; xmlFile<<" <DATA_FILE_NAME>"<< xmlName <<"</DATA_FILE_NAME>\n"; xmlFile<<" <IMAGE_FILE_NAME>data plot url or file path</IMAGE_FILE_NAME>\n"; xmlFile<<" <!-- who and when created this dataset-->\n\n"; xmlFile<<" <CREATE_TIMESTAMP>"<<TIME<<"</CREATE_TIMESTAMP>\n"; xmlFile<<" <CREATED_BY_USER>dma</CREATED_BY_USER>\n"; xmlFile<<" <!-- version (string) and subversion (number) -->\n"; xmlFile<<" <!-- fields are used to read data back from the database -->\n\n"; xmlFile<<" <VERSION>"<<run_number<<dataset_seq_number<<"</VERSION>\n"; xmlFile<<" <SUBVERSION>1</SUBVERSION>\n"; xmlFile<<" <!-- Assign predefined dataset attributes -->\n\n"; xmlFile<<" <PREDEFINED_ATTRIBUTES>\n"; xmlFile<<" <ATTRIBUTE>\n"; xmlFile<<" <NAME>HCAL Dataset Status</NAME>\n"; xmlFile<<" <VALUE>VALID</VALUE>\n"; xmlFile<<" </ATTRIBUTE>\n"; xmlFile<<" </PREDEFINED_ATTRIBUTES>\n"; xmlFile<<" <!-- multiple data block records -->\n\n"; std::vector <HcalElectronicsId> AllElIds = emap.allElectronicsIdPrecision(); for(std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin(); eid != AllElIds.end(); eid++){ DetId detid=emap.lookup(*eid); if (detid.det()!=DetId::Hcal) continue; HcalGenericDetId gid(emap.lookup(*eid)); if(!(!(gid.null()) && (gid.genericSubdet()==HcalGenericDetId::HcalGenBarrel || gid.genericSubdet()==HcalGenericDetId::HcalGenEndcap || gid.genericSubdet()==HcalGenericDetId::HcalGenForward || gid.genericSubdet()==HcalGenericDetId::HcalGenOuter))) continue; int eta,phi,depth; std::string subdet=""; HcalDetId hid(detid); eta=hid.ieta(); phi=hid.iphi(); depth=hid.depth(); double e=0,e_rms=0,t=0,t_rms=0; if(detid.subdetId()==HcalBarrel){ subdet="HB"; Statistic=hb_data[eta+42][phi-1][depth-1].get_statistics(); Status =hb_data[eta+42][phi-1][depth-1].get_status(); hb_data[eta+42][phi-1][depth-1].get_average_led(&e,&e_rms); hb_data[eta+42][phi-1][depth-1].get_average_time(&t,&t_rms); }else if(detid.subdetId()==HcalEndcap){ subdet="HE"; Statistic=he_data[eta+42][phi-1][depth-1].get_statistics(); Status =he_data[eta+42][phi-1][depth-1].get_status(); he_data[eta+42][phi-1][depth-1].get_average_led(&e,&e_rms); he_data[eta+42][phi-1][depth-1].get_average_time(&t,&t_rms); }else if(detid.subdetId()==HcalForward){ subdet="HF"; Statistic=hf_data[eta+42][phi-1][depth-1].get_statistics(); Status =hf_data[eta+42][phi-1][depth-1].get_status(); hf_data[eta+42][phi-1][depth-1].get_average_led(&e,&e_rms); hf_data[eta+42][phi-1][depth-1].get_average_time(&t,&t_rms); }else if(detid.subdetId()==HcalOuter){ subdet="HO"; Statistic=ho_data[eta+42][phi-1][depth-1].get_statistics(); Status =ho_data[eta+42][phi-1][depth-1].get_status(); ho_data[eta+42][phi-1][depth-1].get_average_led(&e,&e_rms); ho_data[eta+42][phi-1][depth-1].get_average_time(&t,&t_rms); }else continue; xmlFile<<" <DATA>\n"; xmlFile<<" <NUMBER_OF_EVENTS_USED>"<<Statistic<<"</NUMBER_OF_EVENTS_USED>\n"; xmlFile<<" <SIGNAL_MEAN>"<<e<<"</SIGNAL_MEAN>\n"; xmlFile<<" <SIGNAL_RMS>"<<e_rms<<"</SIGNAL_RMS>\n"; xmlFile<<" <TIME_MEAN>"<<t<<"</TIME_MEAN>\n"; xmlFile<<" <TIME_RMS>"<<t_rms<<"</TIME_RMS>\n"; xmlFile<<" <CHANNEL_STATUS_WORD>"<<Status<<"</CHANNEL_STATUS_WORD>\n"; xmlFile<<" <CHANNEL_OBJECTNAME>HcalDetId</CHANNEL_OBJECTNAME>\n"; xmlFile<<" <SUBDET>"<<subdet<<"</SUBDET>\n"; xmlFile<<" <IETA>"<<eta<<"</IETA>\n"; xmlFile<<" <IPHI>"<<phi<<"</IPHI>\n"; xmlFile<<" <DEPTH>"<<depth<<"</DEPTH>\n"; xmlFile<<" <TYPE>0</TYPE>\n"; xmlFile<<" </DATA>\n"; } xmlFile<<" </DATA_SET>\n"; xmlFile<<"</ROOT>\n"; xmlFile.close(); //create CALIB XML file sprintf(str,"HcalDetDiagLEDCalib_%i_%i.xml",run_number,dataset_seq_number); std::string xmlNameCalib=str; ofstream xmlFileCalib; xmlFileCalib.open(xmlNameCalib.c_str()); xmlFileCalib<<"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n"; xmlFileCalib<<"<ROOT>\n"; xmlFileCalib<<" <HEADER>\n"; xmlFileCalib<<" <HINTS mode='only-det-root'/>\n"; xmlFileCalib<<" <TYPE>\n"; xmlFileCalib<<" <EXTENSION_TABLE_NAME>HCAL_DETMON_LED_LASER_V1</EXTENSION_TABLE_NAME>\n"; xmlFileCalib<<" <NAME>HCAL LED CALIB [local]</NAME>\n"; xmlFileCalib<<" </TYPE>\n"; xmlFileCalib<<" <!-- run details -->\n"; xmlFileCalib<<" <RUN>\n"; xmlFileCalib<<" <RUN_TYPE>LOCAL-RUN</RUN_TYPE>\n"; xmlFileCalib<<" <RUN_NUMBER>"<<run_number<<"</RUN_NUMBER>\n"; xmlFileCalib<<" <RUN_BEGIN_TIMESTAMP>2009-01-01 00:00:00</RUN_BEGIN_TIMESTAMP>\n"; xmlFileCalib<<" <COMMENT_DESCRIPTION>hcal LED CALIB data</COMMENT_DESCRIPTION>\n"; xmlFileCalib<<" <LOCATION>P5</LOCATION>\n"; xmlFileCalib<<" <INITIATED_BY_USER>dma</INITIATED_BY_USER>\n"; xmlFileCalib<<" </RUN>\n"; xmlFileCalib<<" </HEADER>\n"; xmlFileCalib<<" <DATA_SET>\n"; xmlFileCalib<<" <!-- optional dataset metadata -->\n\n"; xmlFileCalib<<" <SET_NUMBER>"<<dataset_seq_number<<"</SET_NUMBER>\n"; xmlFileCalib<<" <SET_BEGIN_TIMESTAMP>2009-01-01 00:00:00</SET_BEGIN_TIMESTAMP>\n"; xmlFileCalib<<" <SET_END_TIMESTAMP>2009-01-01 00:00:00</SET_END_TIMESTAMP>\n"; xmlFileCalib<<" <NUMBER_OF_EVENTS_IN_SET>"<<ievt_<<"</NUMBER_OF_EVENTS_IN_SET>\n"; xmlFileCalib<<" <COMMENT_DESCRIPTION>Automatic DQM output</COMMENT_DESCRIPTION>\n"; xmlFileCalib<<" <DATA_FILE_NAME>"<< xmlNameCalib <<"</DATA_FILE_NAME>\n"; xmlFileCalib<<" <IMAGE_FILE_NAME>data plot url or file path</IMAGE_FILE_NAME>\n"; xmlFileCalib<<" <!-- who and when created this dataset-->\n\n"; xmlFileCalib<<" <CREATE_TIMESTAMP>"<<TIME<<"</CREATE_TIMESTAMP>\n"; xmlFileCalib<<" <CREATED_BY_USER>dma</CREATED_BY_USER>\n"; xmlFileCalib<<" <!-- version (string) and subversion (number) -->\n"; xmlFileCalib<<" <!-- fields are used to read data back from the database -->\n\n"; xmlFileCalib<<" <VERSION>"<<run_number<<dataset_seq_number<<"</VERSION>\n"; xmlFileCalib<<" <SUBVERSION>1</SUBVERSION>\n"; xmlFileCalib<<" <!-- Assign predefined dataset attributes -->\n\n"; xmlFileCalib<<" <PREDEFINED_ATTRIBUTES>\n"; xmlFileCalib<<" <ATTRIBUTE>\n"; xmlFileCalib<<" <NAME>HCAL Dataset Status</NAME>\n"; xmlFileCalib<<" <VALUE>VALID</VALUE>\n"; xmlFileCalib<<" </ATTRIBUTE>\n"; xmlFileCalib<<" </PREDEFINED_ATTRIBUTES>\n"; xmlFileCalib<<" <!-- multiple data block records -->\n\n"; for(int sd=1;sd<=4;sd++) for(int eta=-2;eta<=2;eta++) for(int phi=1;phi<=72;phi++){ std::string subdet=""; if(sd==1) subdet="HB"; if(sd==2) subdet="HE"; if(sd==3) subdet="HO"; if(sd==4) subdet="HF"; if((calib_data[sd][eta+2][phi-1].get_statistics())>100){ double e=0,e_rms=0,t=0,t_rms=0; Status=calib_data[sd][eta+2][phi-1].get_status(); Statistic=calib_data[sd][eta+2][phi-1].get_statistics(); calib_data[sd][eta+2][phi-1].get_average_led(&e,&e_rms); calib_data[sd][eta+2][phi-1].get_average_time(&t,&t_rms); xmlFileCalib<<" <DATA>\n"; xmlFileCalib<<" <NUMBER_OF_EVENTS_USED>"<<Statistic<<"</NUMBER_OF_EVENTS_USED>\n"; xmlFileCalib<<" <SIGNAL_MEAN>"<<e<<"</SIGNAL_MEAN>\n"; xmlFileCalib<<" <SIGNAL_RMS>"<<e_rms<<"</SIGNAL_RMS>\n"; xmlFileCalib<<" <TIME_MEAN>"<<t<<"</TIME_MEAN>\n"; xmlFileCalib<<" <TIME_RMS>"<<t_rms<<"</TIME_RMS>\n"; xmlFileCalib<<" <CHANNEL_STATUS_WORD>"<<Status<<"</CHANNEL_STATUS_WORD>\n"; xmlFileCalib<<" <CHANNEL_OBJECTNAME>HcalDetId</CHANNEL_OBJECTNAME>\n"; xmlFileCalib<<" <SUBDET>"<<subdet<<"</SUBDET>\n"; xmlFileCalib<<" <IETA>"<<eta<<"</IETA>\n"; xmlFileCalib<<" <IPHI>"<<phi<<"</IPHI>\n"; xmlFileCalib<<" <DEPTH>"<<0<<"</DEPTH>\n"; xmlFileCalib<<" <TYPE>0</TYPE>\n"; xmlFileCalib<<" </DATA>\n"; } } xmlFileCalib<<" </DATA_SET>\n"; xmlFileCalib<<"</ROOT>\n"; xmlFileCalib.close(); sprintf(str,"zip %s.zip %s %s",xmlName.c_str(),xmlName.c_str(),xmlNameCalib.c_str()); system(str); sprintf(str,"rm -f %s %s",xmlName.c_str(),xmlNameCalib.c_str()); system(str); sprintf(str,"mv -f %s.zip %s",xmlName.c_str(),XmlFilePath.c_str()); system(str); } dataset_seq_number++; }
void HcalDetDiagLEDMonitor::setup | ( | ) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
void HcalDetDiagLEDMonitor::setup | ( | void | ) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 309 of file HcalDetDiagLEDMonitor.cc.
References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookInt(), DQMStore::bookString(), ChannelsLEDEnergy, ChannelsLEDEnergyRef, ChannelStatusLEDMean, ChannelStatusLEDRMS, ChannelStatusMissingChannels, ChannelStatusTimeMean, ChannelStatusTimeRMS, ChannelStatusUnstableChannels, ChannelStatusUnstableLEDsignal, HcalLogicalMapGenerator::createMap(), HcalBaseDQMonitor::dbe_, emap, Energy, Energy2Dhbhehf, Energy2Dho, EnergyCorr, EnergyHF, EnergyRMS, EnergyRMSHF, gen, HcalLogicalMap::generateHcalElectronicsMap(), HBMphi, HBPphi, HEMphi, HEPphi, HFMphi, HFPphi, HO0phi, HO1Mphi, HO1Pphi, HO2Mphi, HO2Pphi, lmap, LoadReference(), meEVT_, meRUN_, mergeVDriftHistosByStation::name, ReferenceRun, RefRun_, DQMStore::setCurrentFolder(), EtaPhiHists::setup(), HcalBaseDQMonitor::subdir_, Time, Time2Dhbhehf, Time2Dho, TimeHF, TimeRMS, and TimeRMSHF.
Referenced by beginRun().
{ // Call base class setup HcalBaseDQMonitor::setup(); if (!dbe_) return; std::string name; dbe_->setCurrentFolder(subdir_); meEVT_ = dbe_->bookInt("HcalDetDiagLEDMonitor Event Number"); meRUN_ = dbe_->bookInt("HcalDetDiagLEDMonitor Run Number"); ReferenceRun="UNKNOWN"; LoadReference(); dbe_->setCurrentFolder(subdir_); RefRun_= dbe_->bookString("HcalDetDiagLEDMonitor Reference Run",ReferenceRun); dbe_->setCurrentFolder(subdir_+"Summary Plots"); name="HBHEHO LED Energy Distribution"; Energy = dbe_->book1D(name,name,200,0,3000); name="HBHEHO LED Timing Distribution"; Time = dbe_->book1D(name,name,200,0,10); name="HBHEHO LED Energy RMS_div_Energy Distribution";EnergyRMS = dbe_->book1D(name,name,200,0,0.2); name="HBHEHO LED Timing RMS Distribution"; TimeRMS = dbe_->book1D(name,name,200,0,0.4); name="HF LED Energy Distribution"; EnergyHF = dbe_->book1D(name,name,200,0,3000); name="HF LED Timing Distribution"; TimeHF = dbe_->book1D(name,name,200,0,10); name="HF LED Energy RMS_div_Energy Distribution"; EnergyRMSHF = dbe_->book1D(name,name,200,0,0.5); name="HF LED Timing RMS Distribution"; TimeRMSHF = dbe_->book1D(name,name,200,0,0.4); name="LED Energy Corr(PinDiod) Distribution"; EnergyCorr = dbe_->book1D(name,name,200,0,10); name="LED Timing HBHEHF"; Time2Dhbhehf = dbe_->book2D(name,name,87,-43,43,74,0,73); name="LED Timing HO"; Time2Dho = dbe_->book2D(name,name,33,-16,16,74,0,73); name="LED Energy HBHEHF"; Energy2Dhbhehf = dbe_->book2D(name,name,87,-43,43,74,0,73); name="LED Energy HO"; Energy2Dho = dbe_->book2D(name,name,33,-16,16,74,0,73); name="HBP Average over HPD LED Ref"; HBPphi = dbe_->book2D(name,name,180,1,73,400,0,2); name="HBM Average over HPD LED Ref"; HBMphi = dbe_->book2D(name,name,180,1,73,400,0,2); name="HEP Average over HPD LED Ref"; HEPphi = dbe_->book2D(name,name,180,1,73,400,0,2); name="HEM Average over HPD LED Ref"; HEMphi = dbe_->book2D(name,name,180,1,73,400,0,2); name="HFP Average over RM LED Ref"; HFPphi = dbe_->book2D(name,name,180,1,37,400,0,2); name="HFM Average over RM LED Ref"; HFMphi = dbe_->book2D(name,name,180,1,37,400,0,2); name="HO0 Average over HPD LED Ref"; HO0phi = dbe_->book2D(name,name,180,1,49,400,0,2); name="HO1P Average over HPD LED Ref"; HO1Pphi= dbe_->book2D(name,name,180,1,49,400,0,2); name="HO2P Average over HPD LED Ref"; HO2Pphi= dbe_->book2D(name,name,180,1,49,400,0,2); name="HO1M Average over HPD LED Ref"; HO1Mphi= dbe_->book2D(name,name,180,1,49,400,0,2); name="HO2M Average over HPD LED Ref"; HO2Mphi= dbe_->book2D(name,name,180,1,49,400,0,2); ChannelsLEDEnergy = new EtaPhiHists(); ChannelsLEDEnergy->setup(dbe_," Channel LED Energy"); ChannelsLEDEnergyRef = new EtaPhiHists(); ChannelsLEDEnergyRef->setup(dbe_," Channel LED Energy Reference"); dbe_->setCurrentFolder(subdir_+"channel status"); ChannelStatusMissingChannels = new EtaPhiHists(); ChannelStatusMissingChannels->setup(dbe_," Missing Channels"); ChannelStatusUnstableChannels = new EtaPhiHists(); ChannelStatusUnstableChannels->setup(dbe_," Unstable Channels"); ChannelStatusUnstableLEDsignal = new EtaPhiHists(); ChannelStatusUnstableLEDsignal->setup(dbe_," Unstable LED"); ChannelStatusLEDMean = new EtaPhiHists(); ChannelStatusLEDMean->setup(dbe_," LED Mean"); ChannelStatusLEDRMS = new EtaPhiHists(); ChannelStatusLEDRMS->setup(dbe_," LED RMS"); ChannelStatusTimeMean = new EtaPhiHists(); ChannelStatusTimeMean->setup(dbe_," Time Mean"); ChannelStatusTimeRMS = new EtaPhiHists(); ChannelStatusTimeRMS->setup(dbe_," Time RMS"); gen=new HcalLogicalMapGenerator(); lmap =new HcalLogicalMap(gen->createMap()); emap=lmap->generateHcalElectronicsMap(); return; }
HcalDetDiagLEDData* HcalDetDiagLEDMonitor::calib_data[5][5][72] [private] |
Definition at line 123 of file HcalDetDiagLEDMonitor.h.
Referenced by analyze(), GetCalib(), LoadReference(), and SaveReference().
HcalDetDiagLEDData HcalDetDiagLEDMonitor::calib_data[5][5][72] [private] |
Definition at line 201 of file HcalDetDiagLEDMonitor.cc.
Definition at line 137 of file HcalDetDiagLEDMonitor.h.
Referenced by analyze(), and HcalDetDiagLEDMonitor().
Definition at line 125 of file HcalDetDiagLEDMonitor.h.
Referenced by fill_energy(), get_energy(), and setup().
Definition at line 203 of file HcalDetDiagLEDMonitor.cc.
Definition at line 204 of file HcalDetDiagLEDMonitor.cc.
Definition at line 126 of file HcalDetDiagLEDMonitor.h.
Referenced by fill_energy(), get_energy(), and setup().
Definition at line 208 of file HcalDetDiagLEDMonitor.cc.
Definition at line 130 of file HcalDetDiagLEDMonitor.h.
Referenced by CheckStatus(), fill_channel_status(), and setup().
Definition at line 209 of file HcalDetDiagLEDMonitor.cc.
Definition at line 131 of file HcalDetDiagLEDMonitor.h.
Referenced by CheckStatus(), fill_channel_status(), and setup().
Definition at line 205 of file HcalDetDiagLEDMonitor.cc.
Definition at line 127 of file HcalDetDiagLEDMonitor.h.
Referenced by CheckStatus(), fill_channel_status(), and setup().
Definition at line 210 of file HcalDetDiagLEDMonitor.cc.
Definition at line 132 of file HcalDetDiagLEDMonitor.h.
Referenced by CheckStatus(), fill_channel_status(), and setup().
Definition at line 211 of file HcalDetDiagLEDMonitor.cc.
Definition at line 133 of file HcalDetDiagLEDMonitor.h.
Referenced by CheckStatus(), fill_channel_status(), and setup().
Definition at line 206 of file HcalDetDiagLEDMonitor.cc.
Definition at line 128 of file HcalDetDiagLEDMonitor.h.
Referenced by CheckStatus(), fill_channel_status(), and setup().
Definition at line 207 of file HcalDetDiagLEDMonitor.cc.
Definition at line 129 of file HcalDetDiagLEDMonitor.h.
Referenced by CheckStatus(), fill_channel_status(), and setup().
int HcalDetDiagLEDMonitor::dataset_seq_number [private] |
Definition at line 81 of file HcalDetDiagLEDMonitor.h.
Referenced by HcalDetDiagLEDMonitor(), and SaveReference().
Definition at line 135 of file HcalDetDiagLEDMonitor.h.
Referenced by analyze(), and HcalDetDiagLEDMonitor().
Definition at line 44 of file HcalDetDiagLEDMonitor.h.
Referenced by CheckStatus(), fillHistos(), SaveReference(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::Energy [private] |
Definition at line 94 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::Energy2Dhbhehf [private] |
Definition at line 100 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::Energy2Dho [private] |
Definition at line 101 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::EnergyCorr [private] |
Definition at line 106 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::EnergyHF [private] |
Definition at line 96 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::EnergyRMS [private] |
Definition at line 102 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::EnergyRMSHF [private] |
Definition at line 104 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
HcalLogicalMapGenerator * HcalDetDiagLEDMonitor::gen [private] |
Definition at line 43 of file HcalDetDiagLEDMonitor.h.
Referenced by setup().
HcalDetDiagLEDData* HcalDetDiagLEDMonitor::hb_data[85][72][4] [private] |
Definition at line 119 of file HcalDetDiagLEDMonitor.h.
Referenced by analyze(), CheckStatus(), fillHistos(), LoadReference(), and SaveReference().
HcalDetDiagLEDData HcalDetDiagLEDMonitor::hb_data[85][72][4] [private] |
Definition at line 197 of file HcalDetDiagLEDMonitor.cc.
MonitorElement * HcalDetDiagLEDMonitor::HBMphi [private] |
Definition at line 108 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::HBPphi [private] |
Definition at line 107 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
HcalDetDiagLEDData* HcalDetDiagLEDMonitor::he_data[85][72][4] [private] |
Definition at line 120 of file HcalDetDiagLEDMonitor.h.
Referenced by analyze(), CheckStatus(), fillHistos(), LoadReference(), and SaveReference().
HcalDetDiagLEDData HcalDetDiagLEDMonitor::he_data[85][72][4] [private] |
Definition at line 198 of file HcalDetDiagLEDMonitor.cc.
MonitorElement * HcalDetDiagLEDMonitor::HEMphi [private] |
Definition at line 110 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::HEPphi [private] |
Definition at line 109 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
HcalDetDiagLEDData HcalDetDiagLEDMonitor::hf_data[85][72][4] [private] |
Definition at line 200 of file HcalDetDiagLEDMonitor.cc.
HcalDetDiagLEDData* HcalDetDiagLEDMonitor::hf_data[85][72][4] [private] |
Definition at line 122 of file HcalDetDiagLEDMonitor.h.
Referenced by analyze(), CheckStatus(), fillHistos(), LoadReference(), and SaveReference().
MonitorElement * HcalDetDiagLEDMonitor::HFMphi [private] |
Definition at line 112 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::HFPphi [private] |
Definition at line 111 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::HO0phi [private] |
Definition at line 113 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::HO1Mphi [private] |
Definition at line 116 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::HO1Pphi [private] |
Definition at line 114 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::HO2Mphi [private] |
Definition at line 117 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::HO2Pphi [private] |
Definition at line 115 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
HcalDetDiagLEDData HcalDetDiagLEDMonitor::ho_data[85][72][4] [private] |
Definition at line 199 of file HcalDetDiagLEDMonitor.cc.
HcalDetDiagLEDData* HcalDetDiagLEDMonitor::ho_data[85][72][4] [private] |
Definition at line 121 of file HcalDetDiagLEDMonitor.h.
Referenced by analyze(), CheckStatus(), fillHistos(), LoadReference(), and SaveReference().
int HcalDetDiagLEDMonitor::ievt_ [private] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 78 of file HcalDetDiagLEDMonitor.h.
Referenced by analyze(), CheckStatus(), endRun(), GetStatistics(), HcalDetDiagLEDMonitor(), and SaveReference().
bool HcalDetDiagLEDMonitor::IsReference [private] |
Definition at line 82 of file HcalDetDiagLEDMonitor.h.
Referenced by HcalDetDiagLEDMonitor(), and LoadReference().
std::map<unsigned int, int> HcalDetDiagLEDMonitor::KnownBadCells_ [private] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 216 of file HcalDetDiagLEDMonitor.cc.
Referenced by beginRun(), CheckStatus(), and fillHistos().
double HcalDetDiagLEDMonitor::LEDMeanTreshold [private] |
Definition at line 84 of file HcalDetDiagLEDMonitor.h.
Referenced by HcalDetDiagLEDMonitor().
double HcalDetDiagLEDMonitor::LEDRmsTreshold [private] |
Definition at line 85 of file HcalDetDiagLEDMonitor.h.
Referenced by HcalDetDiagLEDMonitor().
HcalLogicalMap * HcalDetDiagLEDMonitor::lmap [private] |
Definition at line 45 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::meEVT_ [private] |
Definition at line 92 of file HcalDetDiagLEDMonitor.h.
MonitorElement * HcalDetDiagLEDMonitor::meRUN_ [private] |
Definition at line 170 of file HcalDetDiagLEDMonitor.cc.
std::string HcalDetDiagLEDMonitor::OutputFilePath [private] |
Definition at line 90 of file HcalDetDiagLEDMonitor.h.
Referenced by HcalDetDiagLEDMonitor(), and SaveReference().
std::string HcalDetDiagLEDMonitor::ReferenceData [private] |
Definition at line 88 of file HcalDetDiagLEDMonitor.h.
Referenced by HcalDetDiagLEDMonitor(), and LoadReference().
std::string HcalDetDiagLEDMonitor::ReferenceRun [private] |
Definition at line 89 of file HcalDetDiagLEDMonitor.h.
Referenced by LoadReference(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::RefRun_ [private] |
Definition at line 93 of file HcalDetDiagLEDMonitor.h.
Referenced by setup().
int HcalDetDiagLEDMonitor::run_number [private] |
Definition at line 80 of file HcalDetDiagLEDMonitor.h.
Referenced by analyze(), HcalDetDiagLEDMonitor(), and SaveReference().
MonitorElement * HcalDetDiagLEDMonitor::Time [private] |
Definition at line 95 of file HcalDetDiagLEDMonitor.h.
Referenced by CheckStatus(), fillHistos(), SaveReference(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::Time2Dhbhehf [private] |
Definition at line 98 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::Time2Dho [private] |
Definition at line 99 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::TimeHF [private] |
Definition at line 97 of file HcalDetDiagLEDMonitor.h.
Referenced by CheckStatus(), fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::TimeRMS [private] |
Definition at line 103 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
MonitorElement * HcalDetDiagLEDMonitor::TimeRMSHF [private] |
Definition at line 105 of file HcalDetDiagLEDMonitor.h.
Referenced by fillHistos(), and setup().
Definition at line 136 of file HcalDetDiagLEDMonitor.h.
bool HcalDetDiagLEDMonitor::UseDB [private] |
Definition at line 86 of file HcalDetDiagLEDMonitor.h.
std::string HcalDetDiagLEDMonitor::XmlFilePath [private] |
Definition at line 168 of file HcalDetDiagLEDMonitor.cc.
Referenced by HcalDetDiagLEDMonitor(), and SaveReference().