#include <HcalDetDiagNoiseMonitor.h>
HcalDetDiagNoiseMonitor::HcalDetDiagNoiseMonitor | ( | const edm::ParameterSet & | ps | ) |
Definition at line 161 of file HcalDetDiagNoiseMonitor.cc.
References edm::ParameterSet::getUntrackedParameter(), reco_calib_source_client_cfg::OutputFilePath, and prefixME_.
{ ievt_=0; run_number=-1; NoisyEvents=0; LocalRun=false; dataset_seq_number=1; FirstOrbit=FirstOrbitLS=0xFFFFFFFF; LastOrbit=LastOrbitLS=0; 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","DetDiagNoiseMonitor_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); UseDB = ps.getUntrackedParameter<bool> ("UseDB" , false); OutputFilePath = ps.getUntrackedParameter<std::string>("OutputFilePath", ""); HPDthresholdHi = ps.getUntrackedParameter<double>("NoiseThresholdHPDhi",49.0); HPDthresholdLo = ps.getUntrackedParameter<double>("NoiseThresholdHPDlo",10.0); SpikeThreshold = ps.getUntrackedParameter<double>("NoiseSpikeThreshold",0.5); Overwrite = ps.getUntrackedParameter<bool> ("Overwrite",true); rawDataLabel_ = ps.getUntrackedParameter<edm::InputTag>("RawDataLabel",edm::InputTag("source","")); digiLabel_ = ps.getUntrackedParameter<edm::InputTag>("digiLabel",edm::InputTag("hcalDigis")); L1ADataLabel_ = ps.getUntrackedParameter<edm::InputTag>("gtLabel"); RMSummary = 0; }
HcalDetDiagNoiseMonitor::~HcalDetDiagNoiseMonitor | ( | ) |
Definition at line 633 of file HcalDetDiagNoiseMonitor.cc.
{if(LocalRun) UpdateHistos(); SaveRates(); }
void HcalDetDiagNoiseMonitor::analyze | ( | edm::Event const & | e, |
edm::EventSetup const & | s | ||
) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 287 of file HcalDetDiagNoiseMonitor.cc.
References adc2fC, python::Vispa::Share::Profiling::analyze(), gather_cfg::cout, FEDRawData::data(), dbe_, HcalDetDiagNoiseRMEvent::energy, relval_parameters_module::energy, reco::tau::disc::Eta(), edm::Event::getByLabel(), edm::Event::getByType(), hc_Null, i, edm::EventBase::id(), getHLTprescales::index, edm::HandleBase::isValid(), edm::EventBase::luminosityBlock(), max(), FEDNumbering::MAXHCALFEDID, HcalFrontEndId::maxRmIndex, FEDNumbering::MINHCALFEDID, HcalDetDiagNoiseRMEvent::n_pix_hi, HcalDetDiagNoiseRMEvent::n_pix_lo, HcalDetDiagNoiseRMEvent::n_zero, colinearityKinematic::Phi, submit::rm, HcalFrontEndId::rmIndex(), edm::EventID::run(), FEDRawData::size(), and subdets.
{ if (!IsAllowedCalibType()) return; if (LumiInOrder(iEvent.luminosityBlock())==false) return; HcalBaseDQMonitor::analyze(iEvent, iSetup); bool isNoiseEvent=false; if(!dbe_) return; int orbit=-1111; int bx=-1111; // for local runs edm::Handle<HcalTBTriggerData> trigger_data; iEvent.getByType(trigger_data); if(trigger_data.isValid()){ if(trigger_data->triggerWord()>1000) isNoiseEvent=true; LocalRun=true; } // We do not want to look at Abort Gap events edm::Handle<FEDRawDataCollection> rawdata; iEvent.getByLabel(rawDataLabel_,rawdata); //checking FEDs for calibration information for(int i=FEDNumbering::MINHCALFEDID;i<=FEDNumbering::MAXHCALFEDID; i++) { const FEDRawData& fedData = rawdata->FEDData(i) ; if ( fedData.size() < 24 ) continue ; orbit= ((const HcalDCCHeader*)(fedData.data()))->getOrbitNumber(); bx=((const HcalDCCHeader*)(fedData.data()))->getBunchId(); if(((const HcalDCCHeader*)(fedData.data()))->getCalibType()!=hc_Null) return; } // Check GCT trigger bits edm::Handle< L1GlobalTriggerReadoutRecord > gtRecord; iEvent.getByLabel(L1ADataLabel_, gtRecord); if(gtRecord.isValid()){ const TechnicalTriggerWord tWord = gtRecord->technicalTriggerWord(); if(tWord.at(11) || tWord.at(12)) isNoiseEvent=true; if(tWord.at(11)){ TriggerBx11->Fill(bx);} if(tWord.at(12)){ TriggerBx12->Fill(bx);} } if(!isNoiseEvent) return; if(ievt_==0){ FirstOrbit=orbit; FirstOrbitLS=orbit; newLS=true;} if(LastOrbit <orbit) LastOrbit=orbit; if(FirstOrbit>orbit) FirstOrbit=orbit; if(LastOrbitLS <orbit) LastOrbitLS=orbit; if(FirstOrbitLS>orbit) FirstOrbitLS=orbit; if(newLS){ FirstOrbitLS=orbit; newLS=false; } if(!LocalRun){ double TIME=(double)(LastOrbit-FirstOrbit)/11223.0; if(TIME>1800.0){ UpdateHistos(); SaveRates(); RMSummary->reset(); FirstOrbit=orbit; } } meEVT_->Fill(++ievt_); run_number=iEvent.id().run(); HcalDetDiagNoiseRMEvent RMs[HcalFrontEndId::maxRmIndex]; edm::Handle<HBHEDigiCollection> hbhe; iEvent.getByLabel(digiLabel_,hbhe); for(HBHEDigiCollection::const_iterator digi=hbhe->begin();digi!=hbhe->end();digi++){ double max=-100,sum,energy=0; int n_zero=0; for(int i=0;i<digi->size();i++){ sum=adc2fC[digi->sample(i).adc()&0xff]; if(max<adc2fC[digi->sample(i).adc()&0xff]) max=adc2fC[digi->sample(i).adc()&0xff]; if(adc2fC[digi->sample(i).adc()&0xff]==0) n_zero++; } HcalFrontEndId lmap_entry=lmap->getHcalFrontEndId(digi->id()); int index=lmap_entry.rmIndex(); if(index>=HcalFrontEndId::maxRmIndex) continue; RMs[index].n_zero++; if(max>HPDthresholdLo){ for(int i=0;i<digi->size();i++) energy+=adc2fC[digi->sample(i).adc()&0xff]-2.5; RMs[index].n_pix_lo++; if(max>HPDthresholdHi){ RMs[index].n_pix_hi++; isNoiseEvent=true;} RMs[index].energy+=energy; } } edm::Handle<HODigiCollection> ho; iEvent.getByLabel(digiLabel_,ho); for(HODigiCollection::const_iterator digi=ho->begin();digi!=ho->end();digi++){ double max=-100,energy=0; int Eta=digi->id().ieta(); int Phi=digi->id().iphi(); int n_zero=0; for(int i=0;i<digi->size()-1;i++){ if(max<adc2fC[digi->sample(i).adc()&0xff]) max=adc2fC[digi->sample(i).adc()&0xff]; if(adc2fC[digi->sample(i).adc()&0xff]==0) n_zero++; } if((Eta>=11 && Eta<=15 && Phi>=59 && Phi<=70) || (Eta>=5 && Eta<=10 && Phi>=47 && Phi<=58)){ continue; // ignory SiPMs }else{ HcalFrontEndId lmap_entry=lmap->getHcalFrontEndId(digi->id()); int index=lmap_entry.rmIndex(); if(index>=HcalFrontEndId::maxRmIndex) continue; RMs[index].n_zero++; if(max>HPDthresholdLo){ for(int i=0;i<digi->size();i++) energy+=adc2fC[digi->sample(i).adc()&0xff]-2.5; RMs[index].n_pix_lo++; if(max>HPDthresholdHi){ RMs[index].n_pix_hi++; isNoiseEvent=true;} RMs[index].energy+=energy; } } } NoisyEvents++; // RMs loop for(int i=0;i<HcalFrontEndId::maxRmIndex;i++){ if(RMs[i].n_pix_hi>0){ HPDEnergy->Fill(RMs[i].energy); RMSummary->rm[i].n_th_hi++; RMSummary->rm[i].n_th_hi_LS++; if(RMs[i].energy>300) RMSummary->rm[i].n_th_300++; if(RMs[i].energy>300) RMSummary->rm[i].n_th_300_LS++; if(RMs[i].n_pix_lo>1) RMSummary->rm[i].n_pix_1++; if(RMs[i].n_pix_lo>8) RMSummary->rm[i].n_pix_8++; RMSummary->rm[i].pix+=RMs[i].n_pix_lo; RMSummary->rm[i].n_pix++; } } // RBX loop for(int sd=0;sd<7;sd++) for(int sect=1;sect<=18;sect++){ std::stringstream tempss; tempss << std::setw(2) << std::setfill('0') << sect; std::string rbx= subdets[sd]+tempss.str(); double rbx_energy=0;int pix_mult=0; int n_zero=0; bool isValidRBX=false; for(int rm=1;rm<=4;rm++){ int index=RMSummary->GetRMindex(rbx,rm); if(index>0 && index<HcalFrontEndId::maxRmIndex){ rbx_energy+=RMs[index].energy; pix_mult+=RMs[index].n_pix_lo; n_zero+=RMs[index].n_zero; isValidRBX=true; } } if(isValidRBX){ PixelMult->Fill(pix_mult); RBXEnergy->Fill(rbx_energy); NZeroes->Fill(n_zero); } } if((ievt_%100)==0 && debug_>0) std::cout <<ievt_<<"\t"<<NoisyEvents<<std::endl; return; }
void HcalDetDiagNoiseMonitor::beginRun | ( | const edm::Run & | run, |
const edm::EventSetup & | c | ||
) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 212 of file HcalDetDiagNoiseMonitor.cc.
References HcalBaseDQMonitor::beginRun(), gather_cfg::cout, reset(), and HcalObjRepresent::setup().
{ if (debug_>1) std::cout <<"HcalDetDiagNoiseMonitor::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(); return; }
void HcalDetDiagNoiseMonitor::cleanup | ( | void | ) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 202 of file HcalDetDiagNoiseMonitor.cc.
References dbe_, DQMStore::removeContents(), and DQMStore::setCurrentFolder().
{ if(dbe_){ dbe_->setCurrentFolder(subdir_); dbe_->removeContents(); dbe_ = 0; } }
void HcalDetDiagNoiseMonitor::done | ( | ) |
Definition at line 631 of file HcalDetDiagNoiseMonitor.cc.
{}
void HcalDetDiagNoiseMonitor::endLuminosityBlock | ( | const edm::LuminosityBlock & | lumiSeg, |
const edm::EventSetup & | c | ||
) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 441 of file HcalDetDiagNoiseMonitor.cc.
References HB_RBX, HE_RBX, HO_RBX, getHLTprescales::index, HcalFrontEndId::maxRmIndex, and submit::rm.
{ int first_rbx=0,last_rbx=0; //double TIME=(double)(LastOrbitLS-FirstOrbitLS)/11223.0; double TIME=23.0; newLS=true; if(TIME==0) return; for(int sd=0;sd<9;sd++){ if(sd==0){ first_rbx=0; last_rbx=18;} //HBM if(sd==1){ first_rbx=18; last_rbx=36;} //HBP if(sd==0 || sd==1){ // update HB plots for(int rbx=first_rbx;rbx<last_rbx;rbx++)for(int rm=1;rm<=4;rm++){ int index=RMSummary->GetRMindex(HB_RBX[rbx],rm); if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue; double val=RMSummary->rm[index].n_th_hi_LS/TIME; if(val>SpikeThreshold){ HB_RBXmapSpikeCnt->Fill(rm,rbx+1,1); //printf("%s %i %f (%f)\n",HO_RBX[rbx].c_str(),rm,RMSummary->rm[index].n_th_hi_LS/TIME,TIME); } RMSummary->rm[index].reset_LS(); } } if(sd==2){ first_rbx=0; last_rbx=18;} //HEM if(sd==3){ first_rbx=18; last_rbx=36;} //HEP if(sd==2 || sd==3){ // update HB plots for(int rbx=first_rbx;rbx<last_rbx;rbx++)for(int rm=1;rm<=4;rm++){ int index=RMSummary->GetRMindex(HE_RBX[rbx],rm); if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue; double val=RMSummary->rm[index].n_th_hi_LS/TIME; if(val>SpikeThreshold){ HE_RBXmapSpikeCnt->Fill(rm,rbx+1,1); //printf("%s %i %f (%f)\n",HO_RBX[rbx].c_str(),rm,RMSummary->rm[index].n_th_hi_LS/TIME,TIME); } RMSummary->rm[index].reset_LS(); } } if(sd==4){ first_rbx=6; last_rbx=12;} //HO1M if(sd==5){ first_rbx=12; last_rbx=24;} //HO0 if(sd==6){ first_rbx=24; last_rbx=30;} //HO1P if(sd>3){ for(int rbx=first_rbx;rbx<last_rbx;rbx++)for(int rm=1;rm<=4;rm++){ int index=RMSummary->GetRMindex(HO_RBX[rbx],rm); if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue; double val=RMSummary->rm[index].n_th_hi_LS/TIME; if(val>SpikeThreshold){ HO_RBXmapSpikeCnt->Fill(rm,rbx+1,1); //printf("%s %i %f (%f)\n",HO_RBX[rbx].c_str(),rm,RMSummary->rm[index].n_th_hi_LS/TIME,TIME); } RMSummary->rm[index].reset_LS(); } } } //sd=0;sd<9 }
int HcalDetDiagNoiseMonitor::GetStatistics | ( | ) | [inline] |
void HcalDetDiagNoiseMonitor::reset | ( | void | ) | [virtual] |
void HcalDetDiagNoiseMonitor::SaveRates | ( | ) | [private] |
Definition at line 557 of file HcalDetDiagNoiseMonitor.cc.
References patZpeak::events, HB_RBX, HE_RBX, HO_RBX, getHLTprescales::index, HcalFrontEndId::maxRmIndex, reco_calib_source_client_cfg::OutputFilePath, submit::rm, DTTTrigCorrFirst::run, matplotRender::t, interactiveExample::theFile, cond::rpcobgas::time, and diffTreeTool::tree.
{ char RBX[20]; int RM; float VAL1,VAL2,VAL3,VAL4,VAL5; char str[500]; double TIME=(double)(LastOrbit-FirstOrbit)/11223.0; if(TIME==0) return; if(OutputFilePath.size()>0){ if(!Overwrite){ sprintf(str,"%sHcalDetDiagNoiseData_run%06i_%i.root",OutputFilePath.c_str(),run_number,dataset_seq_number); }else{ sprintf(str,"%sHcalDetDiagNoiseData.root",OutputFilePath.c_str()); } 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"); sprintf(str,"%d",dataset_seq_number); TObjString dsnum(str); dsnum.Write("Dataset number"); Long_t t; t=time(0); strftime(str,30,"%F %T",localtime(&t)); TObjString tm(str); tm.Write("Dataset creation time"); TTree *tree =new TTree("HCAL Noise data","HCAL Noise data"); if(tree==0) return; tree->Branch("RBX", &RBX, "RBX/C"); tree->Branch("rm", &RM, "rm/I"); tree->Branch("RATE_50", &VAL1, "RATE_50"); tree->Branch("RATE_300", &VAL2, "RATE_300"); tree->Branch("RATE_PIX1", &VAL3, "RATE_PIX1"); tree->Branch("RATE_PIX8", &VAL4, "RATE_PIX8"); tree->Branch("RATE_PIXMEAN", &VAL5, "RATE_PIXMEAN"); for(int rbx=0;rbx<36;rbx++) for(int rm=1;rm<=4;rm++){ int index=RMSummary->GetRMindex(HB_RBX[rbx],rm); if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue; sprintf(RBX,"%s",HB_RBX[rbx].c_str()); RM=rm; VAL1=RMSummary->rm[index].n_th_hi/TIME; VAL2=RMSummary->rm[index].n_th_300/TIME; VAL3=RMSummary->rm[index].n_pix_1/TIME; VAL4=RMSummary->rm[index].n_pix_8/TIME; if(RMSummary->rm[index].n_pix>0)VAL5=RMSummary->rm[index].pix/RMSummary->rm[index].n_pix; else VAL5=0; tree->Fill(); } for(int rbx=0;rbx<36;rbx++) for(int rm=1;rm<=4;rm++){ int index=RMSummary->GetRMindex(HE_RBX[rbx],rm); if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue; sprintf(RBX,"%s",HE_RBX[rbx].c_str()); RM=rm; VAL1=RMSummary->rm[index].n_th_hi/TIME; VAL2=RMSummary->rm[index].n_th_300/TIME; VAL3=RMSummary->rm[index].n_pix_1/TIME; VAL4=RMSummary->rm[index].n_pix_8/TIME; if(RMSummary->rm[index].n_pix>0)VAL5=RMSummary->rm[index].pix/RMSummary->rm[index].n_pix; else VAL5=0; tree->Fill(); } for(int rbx=0;rbx<36;rbx++) for(int rm=1;rm<=4;rm++){ int index=RMSummary->GetRMindex(HO_RBX[rbx],rm); if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue; sprintf(RBX,"%s",HO_RBX[rbx].c_str()); RM=rm; VAL1=RMSummary->rm[index].n_th_hi/TIME; VAL2=RMSummary->rm[index].n_th_300/TIME; VAL3=RMSummary->rm[index].n_pix_1/TIME; VAL4=RMSummary->rm[index].n_pix_8/TIME; if(RMSummary->rm[index].n_pix>0)VAL5=RMSummary->rm[index].pix/RMSummary->rm[index].n_pix; else VAL5=0; tree->Fill(); } theFile->Write(); theFile->Close(); dataset_seq_number++; } }
void HcalDetDiagNoiseMonitor::setup | ( | void | ) | [virtual] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 225 of file HcalDetDiagNoiseMonitor.cc.
References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookInt(), dbe_, cmsDownloadME::gen, HB_RBX, HE_RBX, HO_RBX, i, mergeVDriftHistosByStation::name, NULL, DQMStore::setCurrentFolder(), HcalObjRepresent::setup(), and indexGen::title.
{ // Call base class setup HcalBaseDQMonitor::setup(); if (!dbe_) return; RMSummary = new HcalDetDiagNoiseRMSummary(); std::string name; if(dbe_!=NULL){ dbe_->setCurrentFolder(subdir_); meEVT_ = dbe_->bookInt("HcalNoiseMonitor Event Number"); dbe_->setCurrentFolder(subdir_+"Common Plots"); name="RBX Pixel multiplicity"; PixelMult = dbe_->book1D(name,name,73,0,73); name="HPD energy"; HPDEnergy = dbe_->book1D(name,name,200,0,2500); name="RBX energy"; RBXEnergy = dbe_->book1D(name,name,200,0,3500); name="Number of zero TS per RBX"; NZeroes = dbe_->book1D(name,name,100,0,100); name="Trigger BX Tbit11"; TriggerBx11 = dbe_->book1D(name,name,4000,0,4000); name="Trigger BX Tbit12"; TriggerBx12 = dbe_->book1D(name,name,4000,0,4000); dbe_->setCurrentFolder(subdir_+"HBHE Plots"); name="HBP HPD Noise Rate Pixel above 50fC"; HBP_Rate50 = dbe_->book1D(name,name,73,0,73); name="HBM HPD Noise Rate Pixel above 50fC"; HBM_Rate50 = dbe_->book1D(name,name,73,0,73); name="HEP HPD Noise Rate Pixel above 50fC"; HEP_Rate50 = dbe_->book1D(name,name,73,0,73); name="HEM HPD Noise Rate Pixel above 50fC"; HEM_Rate50 = dbe_->book1D(name,name,73,0,73); name="HBP HPD Noise Rate HPD above 300fC"; HBP_Rate300 = dbe_->book1D(name,name,73,0,73); name="HBM HPD Noise Rate HPD above 300fC"; HBM_Rate300 = dbe_->book1D(name,name,73,0,73); name="HEP HPD Noise Rate HPD above 300fC"; HEP_Rate300 = dbe_->book1D(name,name,73,0,73); name="HEM HPD Noise Rate HPD above 300fC"; HEM_Rate300 = dbe_->book1D(name,name,73,0,73); dbe_->setCurrentFolder(subdir_+"HO Plots"); name="HO0 HPD Noise Rate Pixel above 50fC"; HO0_Rate50 = dbe_->book1D(name,name,49,0,49); name="HO1P HPD Noise Rate Pixel above 50fC"; HO1P_Rate50 = dbe_->book1D(name,name,48,0,48); name="HO1M HPD Noise Rate Pixel above 50fC"; HO1M_Rate50 = dbe_->book1D(name,name,48,0,48); name="HO0 HPD Noise Rate HPD above 300fC"; HO0_Rate300 = dbe_->book1D(name,name,48,0,48); name="HO1P HPD Noise Rate HPD abGetRMindexove 300fC"; HO1P_Rate300 = dbe_->book1D(name,name,48,0,48); name="HO1M HPD Noise Rate HPD above 300fC"; HO1M_Rate300 = dbe_->book1D(name,name,48,0,48); dbe_->setCurrentFolder(subdir_+"Noise Spike Plots"); name="HB RM Spike Map"; HB_RBXmapSpikeCnt= dbe_->book2D(name,name,4,0.5,4.5,36,0.5,36.5); name="HE RM Spike Map"; HE_RBXmapSpikeCnt= dbe_->book2D(name,name,4,0.5,4.5,36,0.5,36.5); name="HO RM Spike Map"; HO_RBXmapSpikeCnt= dbe_->book2D(name,name,4,0.5,4.5,36,0.5,36.5); std::string title="RM"; HB_RBXmapSpikeCnt->setAxisTitle(title); HE_RBXmapSpikeCnt->setAxisTitle(title); HO_RBXmapSpikeCnt->setAxisTitle(title); for(int i=0;i<36;i++){ HB_RBXmapSpikeCnt->setBinLabel(i+1,HB_RBX[i],2); HE_RBXmapSpikeCnt->setBinLabel(i+1,HE_RBX[i],2); HO_RBXmapSpikeCnt->setBinLabel(i+1,HO_RBX[i],2); } } gen =new HcalLogicalMapGenerator(); lmap =new HcalLogicalMap(gen->createMap()); return; }
void HcalDetDiagNoiseMonitor::UpdateHistos | ( | ) |
Definition at line 495 of file HcalDetDiagNoiseMonitor.cc.
References HB_RBX, HE_RBX, HO_RBX, getHLTprescales::index, HcalFrontEndId::maxRmIndex, n, and submit::rm.
{ int first_rbx=0; double TIME=(double)(LastOrbit-FirstOrbit)/11223.0; if(TIME==0) return; for(int sd=0;sd<9;sd++){ if(sd==0){ first_rbx=0; } //HBM if(sd==1){ first_rbx=18;} //HBP if(sd==0 || sd==1){ // update HB plots for(int rbx=0;rbx<18;rbx++)for(int rm=1;rm<=4;rm++){ int index=RMSummary->GetRMindex(HB_RBX[rbx+first_rbx],rm); if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue; if(sd==0){ HBM_Rate50->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_hi/TIME); HBM_Rate300->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_300/TIME); } if(sd==1){ HBP_Rate50->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_hi/TIME); HBP_Rate300->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_300/TIME); } } } if(sd==2){ first_rbx=0;} //HEM if(sd==3){ first_rbx=18;} //HEP if(sd==2 || sd==3){ // update HB plots for(int rbx=0;rbx<18;rbx++)for(int rm=1;rm<=4;rm++){ int index=RMSummary->GetRMindex(HE_RBX[rbx+first_rbx],rm); if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue; if(sd==2){ HEM_Rate50->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_hi/TIME); HEM_Rate300->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_300/TIME); } if(sd==3){ HEP_Rate50->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_hi/TIME); HEP_Rate300->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_300/TIME); } } } int n=0; if(sd==4){ first_rbx=6; n=6;} //HO1M if(sd==5){ first_rbx=12;n=12;} //HO0 if(sd==6){ first_rbx=24;n=6;} //HO1P if(sd>3){ // update HO plots for(int rbx=0;rbx<n;rbx++)for(int rm=1;rm<=4;rm++){ int index=RMSummary->GetRMindex(HO_RBX[rbx+first_rbx],rm); if(index<0 || index>=HcalFrontEndId::maxRmIndex) continue; if(sd==4){ HO1M_Rate50->setBinContent(rbx*4*2+rm,RMSummary->rm[index].n_th_hi/TIME); HO1M_Rate300->setBinContent(rbx*4*2+rm,RMSummary->rm[index].n_th_300/TIME); } if(sd==5){ HO0_Rate50->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_hi/TIME); HO0_Rate300->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_300/TIME); } if(sd==5){ HO1P_Rate50->setBinContent(rbx*4*2+rm,RMSummary->rm[index].n_th_hi/TIME); HO1P_Rate300->setBinContent(rbx*4+rm,RMSummary->rm[index].n_th_300/TIME); } } } } //sd=0;sd<9 }
int HcalDetDiagNoiseMonitor::dataset_seq_number [private] |
Definition at line 58 of file HcalDetDiagNoiseMonitor.h.
Definition at line 50 of file HcalDetDiagNoiseMonitor.h.
int HcalDetDiagNoiseMonitor::FirstOrbit [private] |
Definition at line 70 of file HcalDetDiagNoiseMonitor.h.
int HcalDetDiagNoiseMonitor::FirstOrbitLS [private] |
Definition at line 72 of file HcalDetDiagNoiseMonitor.h.
Definition at line 54 of file HcalDetDiagNoiseMonitor.h.
Definition at line 96 of file HcalDetDiagNoiseMonitor.h.
Definition at line 85 of file HcalDetDiagNoiseMonitor.h.
Definition at line 81 of file HcalDetDiagNoiseMonitor.h.
Definition at line 84 of file HcalDetDiagNoiseMonitor.h.
Definition at line 80 of file HcalDetDiagNoiseMonitor.h.
Definition at line 97 of file HcalDetDiagNoiseMonitor.h.
Definition at line 87 of file HcalDetDiagNoiseMonitor.h.
Definition at line 83 of file HcalDetDiagNoiseMonitor.h.
Definition at line 86 of file HcalDetDiagNoiseMonitor.h.
Definition at line 82 of file HcalDetDiagNoiseMonitor.h.
Definition at line 92 of file HcalDetDiagNoiseMonitor.h.
Definition at line 89 of file HcalDetDiagNoiseMonitor.h.
Definition at line 94 of file HcalDetDiagNoiseMonitor.h.
Definition at line 91 of file HcalDetDiagNoiseMonitor.h.
Definition at line 93 of file HcalDetDiagNoiseMonitor.h.
Definition at line 90 of file HcalDetDiagNoiseMonitor.h.
Definition at line 98 of file HcalDetDiagNoiseMonitor.h.
MonitorElement* HcalDetDiagNoiseMonitor::HPDEnergy [private] |
Definition at line 101 of file HcalDetDiagNoiseMonitor.h.
double HcalDetDiagNoiseMonitor::HPDthresholdHi [private] |
Definition at line 62 of file HcalDetDiagNoiseMonitor.h.
double HcalDetDiagNoiseMonitor::HPDthresholdLo [private] |
Definition at line 63 of file HcalDetDiagNoiseMonitor.h.
int HcalDetDiagNoiseMonitor::ievt_ [private] |
Reimplemented from HcalBaseDQMonitor.
Definition at line 68 of file HcalDetDiagNoiseMonitor.h.
Referenced by GetStatistics().
Definition at line 49 of file HcalDetDiagNoiseMonitor.h.
int HcalDetDiagNoiseMonitor::LastOrbit [private] |
Definition at line 71 of file HcalDetDiagNoiseMonitor.h.
int HcalDetDiagNoiseMonitor::LastOrbitLS [private] |
Definition at line 73 of file HcalDetDiagNoiseMonitor.h.
HcalLogicalMap* HcalDetDiagNoiseMonitor::lmap [private] |
Definition at line 53 of file HcalDetDiagNoiseMonitor.h.
bool HcalDetDiagNoiseMonitor::LocalRun [private] |
Definition at line 76 of file HcalDetDiagNoiseMonitor.h.
MonitorElement* HcalDetDiagNoiseMonitor::meEVT_ [private] |
Definition at line 78 of file HcalDetDiagNoiseMonitor.h.
bool HcalDetDiagNoiseMonitor::newLS [private] |
Definition at line 69 of file HcalDetDiagNoiseMonitor.h.
int HcalDetDiagNoiseMonitor::NoisyEvents [private] |
Definition at line 75 of file HcalDetDiagNoiseMonitor.h.
MonitorElement* HcalDetDiagNoiseMonitor::NZeroes [private] |
Definition at line 103 of file HcalDetDiagNoiseMonitor.h.
std::string HcalDetDiagNoiseMonitor::OutputFilePath [private] |
Definition at line 56 of file HcalDetDiagNoiseMonitor.h.
bool HcalDetDiagNoiseMonitor::Overwrite [private] |
Definition at line 57 of file HcalDetDiagNoiseMonitor.h.
MonitorElement* HcalDetDiagNoiseMonitor::PixelMult [private] |
Definition at line 100 of file HcalDetDiagNoiseMonitor.h.
Definition at line 51 of file HcalDetDiagNoiseMonitor.h.
MonitorElement* HcalDetDiagNoiseMonitor::RBXEnergy [private] |
Definition at line 102 of file HcalDetDiagNoiseMonitor.h.
Definition at line 108 of file HcalDetDiagNoiseMonitor.h.
int HcalDetDiagNoiseMonitor::run_number [private] |
Definition at line 74 of file HcalDetDiagNoiseMonitor.h.
double HcalDetDiagNoiseMonitor::SpikeThreshold [private] |
Definition at line 64 of file HcalDetDiagNoiseMonitor.h.
Definition at line 104 of file HcalDetDiagNoiseMonitor.h.
Definition at line 105 of file HcalDetDiagNoiseMonitor.h.
bool HcalDetDiagNoiseMonitor::UseDB [private] |
Definition at line 60 of file HcalDetDiagNoiseMonitor.h.