CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
HcalDetDiagLaserMonitor Class Reference

#include <DQM/HcalDetDiagLaserMonitor/src/HcalDetDiagLaserMonitor.cc>

Inheritance diagram for HcalDetDiagLaserMonitor:
HcalBaseDQMonitor edm::EDAnalyzer

Public Member Functions

 HcalDetDiagLaserMonitor (const edm::ParameterSet &)
 
 ~HcalDetDiagLaserMonitor ()
 
- Public Member Functions inherited from HcalBaseDQMonitor
 HcalBaseDQMonitor (const edm::ParameterSet &ps)
 
 HcalBaseDQMonitor ()
 
 ~HcalBaseDQMonitor ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &)
 
void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
void beginRun (const edm::Run &run, const edm::EventSetup &c)
 
void endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
void endRun (const edm::Run &run, const edm::EventSetup &c)
 
void fillHistos (int sd)
 
void fillProblems (int sd)
 
bool get_ave_rbx (int sd, int side, int rbx, float *ave, float *rms)
 
bool get_ave_subdet (int sd, float *ave_t, float *ave_e, float *ave_t_r, float *ave_e_r)
 
void LoadReference ()
 
void SaveReference ()
 

Private Attributes

std::string baseFolder_
 
int dataset_seq_number
 
const HcalElectronicsMapemap
 
MonitorElementEnergy2Dhbhehf
 
MonitorElementEnergy2Dho
 
HcalDetDiagLaserData hb_data [85][72][4]
 
MonitorElementhb_time_rbx
 
MonitorElementhbheEnergy
 
MonitorElementhbheEnergyRMS
 
MonitorElementhbheTime
 
MonitorElementhbheTimeRMS
 
HcalDetDiagLaserData he_data [85][72][4]
 
MonitorElementhe_time_rbx
 
HcalDetDiagLaserData hf_data [85][72][4]
 
MonitorElementhf_time_rbx
 
MonitorElementhfEnergy
 
MonitorElementhfEnergyRMS
 
MonitorElementhfTime
 
MonitorElementhfTimeRMS
 
HcalDetDiagLaserData ho_data [85][72][4]
 
MonitorElementho_time_rbx
 
MonitorElementhoEnergy
 
MonitorElementhoEnergyRMS
 
MonitorElementhoTime
 
MonitorElementhoTimeRMS
 
int ievt_
 
edm::InputTag inputLabelDigi_
 
bool IsReference
 
double LaserEnergyThreshold
 
double LaserTimingThreshold
 
bool LocalRun
 
MonitorElementmeEVT_
 
MonitorElementmeRUN_
 
int nHBHEchecks
 
int nHFchecks
 
int nHOchecks
 
bool Online_
 
std::string OutputFilePath
 
bool Overwrite
 
std::string prefixME_
 
EtaPhiHistsProblemCellsByDepth_energy
 
EtaPhiHistsProblemCellsByDepth_energy_val
 
EtaPhiHistsProblemCellsByDepth_timing
 
EtaPhiHistsProblemCellsByDepth_timing_val
 
std::vector< std::string > problemnames_
 
MonitorElementRaddam [56]
 
edm::InputTag rawdatalabel_
 
MonitorElementrefEnergy2Dhbhehf
 
MonitorElementrefEnergy2Dho
 
std::string ReferenceData
 
std::string ReferenceRun
 
MonitorElementRefRun_
 
MonitorElementrefTime2Dhbhehf
 
MonitorElementrefTime2Dho
 
int run_number
 
MonitorElementTime2Dhbhehf
 
MonitorElementTime2Dho
 
std::string XmlFilePath
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from HcalBaseDQMonitor
virtual void beginJob ()
 
virtual void cleanup (void)
 
virtual void endJob (void)
 
bool IsAllowedCalibType ()
 
bool LumiInOrder (int lumisec)
 
virtual void reset (void)
 
virtual void setup (void)
 
void SetupEtaPhiHists (EtaPhiHists &hh, std::string Name, std::string Units)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 
- Protected Attributes inherited from HcalBaseDQMonitor
std::vector< int > AllowedCalibTypes_
 
int badChannelStatusMask_
 
int currentLS
 
int currenttype_
 
DQMStoredbe_
 
int debug_
 
bool enableCleanup_
 
bool eventAllowed_
 
bool HBpresent_
 
bool HEpresent_
 
bool HFpresent_
 
bool HOpresent_
 
int ievt_
 
std::map< unsigned int, int > KnownBadCells_
 
int levt_
 
bool makeDiagnostics_
 
MonitorElementmeIevt_
 
MonitorElementmeLevt_
 
bool mergeRuns_
 
MonitorElementmeTevt_
 
MonitorElementmeTevtHist_
 
int NLumiBlocks_
 
bool Online_
 
std::string prefixME_
 
MonitorElementProblemsCurrentLB
 
MonitorElementProblemsVsLB
 
MonitorElementProblemsVsLB_HB
 
MonitorElementProblemsVsLB_HBHEHF
 
MonitorElementProblemsVsLB_HE
 
MonitorElementProblemsVsLB_HF
 
MonitorElementProblemsVsLB_HO
 
bool skipOutOfOrderLS_
 
std::string subdir_
 
int tevt_
 

Detailed Description

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 200 of file HcalDetDiagLaserMonitor.cc.

Constructor & Destructor Documentation

HcalDetDiagLaserMonitor::HcalDetDiagLaserMonitor ( const edm::ParameterSet iConfig)
explicit

Definition at line 284 of file HcalDetDiagLaserMonitor.cc.

References dataset_seq_number, HcalBaseDQMonitor::debug_, emap, edm::ParameterSet::getUntrackedParameter(), ievt_, inputLabelDigi_, IsReference, LaserEnergyThreshold, LaserTimingThreshold, LocalRun, nHBHEchecks, nHFchecks, nHOchecks, Online_, OutputFilePath, Overwrite, prefixME_, rawdatalabel_, ReferenceData, run_number, HcalBaseDQMonitor::subdir_, and XmlFilePath.

284  {
285  ievt_=-1;
286  emap=0;
288  run_number=-1;
289  IsReference=false;
290  LocalRun=false;
292 
293  inputLabelDigi_ = iConfig.getUntrackedParameter<edm::InputTag>("digiLabel");
294  ReferenceData = iConfig.getUntrackedParameter<std::string>("LaserReferenceData" ,"");
295  OutputFilePath = iConfig.getUntrackedParameter<std::string>("OutputFilePath", "");
296  XmlFilePath = iConfig.getUntrackedParameter<std::string>("XmlFilePath", "");
297  Online_ = iConfig.getUntrackedParameter<bool> ("online",false);
298  Overwrite = iConfig.getUntrackedParameter<bool> ("Overwrite",true);
299  prefixME_ = iConfig.getUntrackedParameter<std::string>("subSystemFolder","Hcal/");
300  if (prefixME_.size()>0 && prefixME_.substr(prefixME_.size()-1,prefixME_.size())!="/")
301  prefixME_.append("/");
302  subdir_ = iConfig.getUntrackedParameter<std::string>("TaskFolder","DetDiagPedestalMonitor_Hcal/");
303  if (subdir_.size()>0 && subdir_.substr(subdir_.size()-1,subdir_.size())!="/")
304  subdir_.append("/");
305  subdir_=prefixME_+subdir_;
306  debug_ = iConfig.getUntrackedParameter<int>("debug",0);
307  rawdatalabel_ = iConfig.getUntrackedParameter<edm::InputTag>("RawDataLabel");
308 
309 
310  LaserTimingThreshold = iConfig.getUntrackedParameter<double>("LaserTimingThreshold",0.2);
311  LaserEnergyThreshold = iConfig.getUntrackedParameter<double>("LaserEnergyThreshold",0.1);
312 }
T getUntrackedParameter(std::string const &, T const &) const
const HcalElectronicsMap * emap
HcalDetDiagLaserMonitor::~HcalDetDiagLaserMonitor ( )

Definition at line 418 of file HcalDetDiagLaserMonitor.cc.

418  {
419 
420 }

Member Function Documentation

void HcalDetDiagLaserMonitor::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 423 of file HcalDetDiagLaserMonitor.cc.

References adc2fC, HcalDetDiagLaserData::add_statistics(), HcalBaseDQMonitor::analyze(), FEDRawData::data(), runTheMatrix::data, HcalBaseDQMonitor::dbe_, eta(), MonitorElement::Fill(), fillHistos(), fillProblems(), edm::Event::getByLabel(), edm::Event::getByType(), hb_data, hc_HBHEHPD, hc_HFPMT, hc_HOHPD, hc_RADDAM, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, he_data, hf_data, ho_data, i, edm::EventBase::id(), ievt_, inputLabelDigi_, edm::HandleBase::isValid(), j, gen::k, LocalRun, FEDNumbering::MAXHCALFEDID, meEVT_, meRUN_, FEDNumbering::MINHCALFEDID, MultiGaussianStateTransform::N, Online_, edm::EventBase::orbitNumber(), phi, Raddam, rawdatalabel_, HcalBaseDQMonitor::reset(), edm::EventID::run(), run_number, SaveReference(), FEDRawData::size(), and relativeConstraints::value.

423  {
424  HcalBaseDQMonitor::analyze(iEvent,iSetup); // base class increments ievt_, etc. counters
425 
426 int eta,phi,depth,nTS;
427 static bool HBHEseq,HOseq,HFseq;
428 static int lastHBHEorbit,lastHOorbit,lastHForbit,nChecksHBHE,nChecksHO,nChecksHF,ievt_hbhe,ievt_ho,ievt_hf;
429  if(ievt_==-1){
430  ievt_=0;HBHEseq=HOseq=HFseq=false; lastHBHEorbit=lastHOorbit=lastHForbit=-1;nChecksHBHE=nChecksHO=nChecksHF=0;
431  ievt_hbhe=0,ievt_ho=0,ievt_hf=0;
432  }
433 
434  if(!dbe_) return;
435  bool LaserEvent=false;
436  bool LaserRaddam=false;
437  int orbit=iEvent.orbitNumber();
438  meRUN_->Fill(iEvent.id().run());
439  // for local runs
440  edm::Handle<HcalTBTriggerData> trigger_data;
441  iEvent.getByType(trigger_data);
442  if(trigger_data.isValid()){
443  if(trigger_data->wasLaserTrigger()) LaserEvent=true;
444  LocalRun=true;
445  }
446  if(!LocalRun && Online_){
447  if(HBHEseq && (orbit-lastHBHEorbit)>(11223*10) && ievt_hbhe>40){
448  HBHEseq=false;
452  nChecksHBHE++;
453  ievt_hbhe=0;
454  for(int i=0;i<85;i++)for(int j=0;j<72;j++)for(int k=0;k<4;k++) hb_data[i][j][k].reset();
455  for(int i=0;i<85;i++)for(int j=0;j<72;j++)for(int k=0;k<4;k++) he_data[i][j][k].reset();
456  }
457  if(HOseq && (orbit-lastHOorbit)>(11223*10) && ievt_ho>40){
458  HOseq=false;
461  nChecksHO++;
462  ievt_ho=0;
463  for(int i=0;i<85;i++)for(int j=0;j<72;j++)for(int k=0;k<4;k++) ho_data[i][j][k].reset();
464  }
465  if(HFseq && (orbit-lastHForbit)>(11223*10) && ievt_hf>40){
466  HFseq=false;
469  nChecksHF++;
470  ievt_hf=0;
471  if(nChecksHF==1 || (nChecksHF>1 && ((nChecksHF-1)%12)==0)){
472  SaveReference();
473  }
474  for(int i=0;i<85;i++)for(int j=0;j<72;j++)for(int k=0;k<4;k++) hf_data[i][j][k].reset();
475  }
476  }
477 
478  // Abort Gap laser
479  if(LocalRun==false || LaserEvent==false){
481  iEvent.getByLabel(rawdatalabel_,rawdata);
482  //checking FEDs for calibration information
484  const FEDRawData& fedData = rawdata->FEDData(i) ;
485  if ( fedData.size() < 24 ) continue ;
486  int value = ((const HcalDCCHeader*)(fedData.data()))->getCalibType() ;
487  if(value==hc_HBHEHPD){ HBHEseq=true; HOseq=HFseq=false; lastHBHEorbit=orbit; ievt_hbhe++; }
488  if(value==hc_HOHPD){ HOseq=true; HBHEseq=HFseq=false; lastHOorbit=orbit; ievt_ho++; }
489  if(value==hc_HFPMT){ HFseq=true; HBHEseq=HOseq=false; lastHForbit=orbit; ievt_hf++; }
490 
491  if(value==hc_HBHEHPD || value==hc_HOHPD || value==hc_HFPMT){ LaserEvent=true; break;}
492  if(value==hc_RADDAM){ LaserEvent=true; LaserRaddam=true; break;}
493  }
494  }
495  if(!LaserEvent) return;
496 
497  meEVT_->Fill(++ievt_);
498  run_number=iEvent.id().run();
499  double data[20];
500  if(!LaserRaddam){
502  iEvent.getByLabel(inputLabelDigi_,hbhe);
503  if(hbhe.isValid()){
504  for(HBHEDigiCollection::const_iterator digi=hbhe->begin();digi!=hbhe->end();digi++){
505  eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size();
506  if(digi->id().subdet()==HcalBarrel){
507  for(int i=0;i<nTS;i++) data[i]=adc2fC[digi->sample(i).adc()&0xff]-2.5;
508  hb_data[eta+42][phi-1][depth-1].add_statistics(data,nTS);
509  }
510  if(digi->id().subdet()==HcalEndcap){
511  for(int i=0;i<nTS;i++) data[i]=adc2fC[digi->sample(i).adc()&0xff]-2.5;
512  he_data[eta+42][phi-1][depth-1].add_statistics(data,nTS);
513  }
514  }
515  }
517  iEvent.getByLabel(inputLabelDigi_,ho);
518  if(ho.isValid()){
519  for(HODigiCollection::const_iterator digi=ho->begin();digi!=ho->end();digi++){
520  eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size();
521  if((eta>=11 && eta<=15 && phi>=59 && phi<=70) || (eta>=5 && eta<=10 && phi>=47 && phi<=58)){
522  for(int i=0;i<nTS;i++) data[i]=adc2fC[digi->sample(i).adc()&0xff]-11.0;
523  }else{
524  for(int i=0;i<nTS;i++) data[i]=adc2fC[digi->sample(i).adc()&0xff]-2.5;
525  }
526  ho_data[eta+42][phi-1][depth-1].add_statistics(data,nTS);
527  }
528  }
530  iEvent.getByLabel(inputLabelDigi_,hf);
531  if(hf.isValid()){
532  for(HFDigiCollection::const_iterator digi=hf->begin();digi!=hf->end();digi++){
533  eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size();
534  for(int i=0;i<nTS;i++) data[i]=adc2fC[digi->sample(i).adc()&0xff]-2.5;
535  hf_data[eta+42][phi-1][depth-1].add_statistics(data,nTS);
536  }
537  }
538  }else{ //Raddam
540  iEvent.getByLabel(inputLabelDigi_,hf);
541  if(hf.isValid()){
542  for(HFDigiCollection::const_iterator digi=hf->begin();digi!=hf->end();digi++){
543  eta=digi->id().ieta(); phi=digi->id().iphi(); depth=digi->id().depth(); nTS=digi->size();
544  int N;
545  for(N=0;N<56;N++)if(eta==RADDAM_CH[N].eta && phi==RADDAM_CH[N].phi) break;
546  if(N==56) continue;
547  for(int i=0;i<nTS;i++) Raddam[N]->Fill(i,adc2fC[digi->sample(i).adc()&0xff]-2.5);
548 
549  }
550  }
551  }
552 }
RunNumber_t run() const
Definition: EventID.h:42
int i
Definition: DBlmapReader.cc:9
void add_statistics(double *data, int nTS)
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
static const float adc2fC[128]
std::vector< T >::const_iterator const_iterator
bool getByType(Handle< PROD > &result) const
Definition: Event.h:403
T eta() const
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:47
void Fill(long long x)
Raddam_ch RADDAM_CH[56]
int j
Definition: DBlmapReader.cc:9
int orbitNumber() const
Definition: EventBase.h:63
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:359
int k[5][pyjets_maxn]
HcalDetDiagLaserData hb_data[85][72][4]
virtual void reset(void)
edm::EventID id() const
Definition: EventBase.h:56
HcalDetDiagLaserData hf_data[85][72][4]
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition: FEDRawData.cc:29
HcalDetDiagLaserData he_data[85][72][4]
HcalDetDiagLaserData ho_data[85][72][4]
Definition: DDAxes.h:10
void HcalDetDiagLaserMonitor::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
privatevirtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 1483 of file HcalDetDiagLaserMonitor.cc.

1483 {}
void HcalDetDiagLaserMonitor::beginRun ( const edm::Run run,
const edm::EventSetup c 
)
privatevirtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 313 of file HcalDetDiagLaserMonitor.cc.

References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookInt(), DQMStore::bookString(), HcalBaseDQMonitor::dbe_, EtaPhiHists::depth, emap, Energy2Dhbhehf, Energy2Dho, eta(), edm::EventSetup::get(), hb_time_rbx, hbheEnergy, hbheEnergyRMS, hbheTime, hbheTimeRMS, he_time_rbx, hf_time_rbx, hfEnergy, hfEnergyRMS, hfTime, hfTimeRMS, ho_time_rbx, hoEnergy, hoEnergyRMS, hoTime, hoTimeRMS, i, LoadReference(), meEVT_, meRUN_, AlCaRecoCosmics_cfg::name, phi, ProblemCellsByDepth_energy, ProblemCellsByDepth_energy_val, ProblemCellsByDepth_timing, ProblemCellsByDepth_timing_val, problemnames_, Raddam, refEnergy2Dhbhehf, refEnergy2Dho, ReferenceRun, RefRun_, refTime2Dhbhehf, refTime2Dho, MonitorElement::setAxisRange(), MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), EtaPhiHists::setup(), HcalBaseDQMonitor::setup(), HcalBaseDQMonitor::subdir_, Time2Dhbhehf, and Time2Dho.

313  {
314 
315  edm::ESHandle<HcalDbService> conditions_;
316  c.get<HcalDbRecord>().get(conditions_);
317  emap=conditions_->getHcalMapping();
318 
320  if (!dbe_) return;
321  std::string name;
322 
324  meEVT_ = dbe_->bookInt("HcalDetDiagLaserMonitor Event Number");
325  meRUN_ = dbe_->bookInt("HcalDetDiagLaserMonitor Run Number");
326 
328  ProblemCellsByDepth_timing->setup(dbe_," Problem Bad Laser Timing");
329  for(unsigned int i=0;i<ProblemCellsByDepth_timing->depth.size();i++)
330  problemnames_.push_back(ProblemCellsByDepth_timing->depth[i]->getName());
332  ProblemCellsByDepth_energy->setup(dbe_," Problem Bad Laser Energy");
333  for(unsigned int i=0;i<ProblemCellsByDepth_energy->depth.size();i++)
334  problemnames_.push_back(ProblemCellsByDepth_energy->depth[i]->getName());
335 
336  dbe_->setCurrentFolder(subdir_+"Summary Plots");
337 
338  name="HBHE Laser Energy Distribution"; hbheEnergy = dbe_->book1D(name,name,200,0,3000);
339  name="HBHE Laser Timing Distribution"; hbheTime = dbe_->book1D(name,name,200,0,10);
340  name="HBHE Laser Energy RMS_div_Energy Distribution"; hbheEnergyRMS = dbe_->book1D(name,name,200,0,0.5);
341  name="HBHE Laser Timing RMS Distribution"; hbheTimeRMS = dbe_->book1D(name,name,200,0,1);
342  name="HO Laser Energy Distribution"; hoEnergy = dbe_->book1D(name,name,200,0,3000);
343  name="HO Laser Timing Distribution"; hoTime = dbe_->book1D(name,name,200,0,10);
344  name="HO Laser Energy RMS_div_Energy Distribution"; hoEnergyRMS = dbe_->book1D(name,name,200,0,0.5);
345  name="HO Laser Timing RMS Distribution"; hoTimeRMS = dbe_->book1D(name,name,200,0,1);
346  name="HF Laser Energy Distribution"; hfEnergy = dbe_->book1D(name,name,200,0,3000);
347  name="HF Laser Timing Distribution"; hfTime = dbe_->book1D(name,name,200,0,10);
348  name="HF Laser Energy RMS_div_Energy Distribution"; hfEnergyRMS = dbe_->book1D(name,name,200,0,0.7);
349  name="HF Laser Timing RMS Distribution"; hfTimeRMS = dbe_->book1D(name,name,200,0,1);
350 
351  name="Laser Timing HBHEHF"; Time2Dhbhehf = dbe_->book2D(name,name,87,-43,43,74,0,73);
352  name="Laser Timing HO"; Time2Dho = dbe_->book2D(name,name,33,-16,16,74,0,73);
353  name="Laser Energy HBHEHF"; Energy2Dhbhehf = dbe_->book2D(name,name,87,-43,43,74,0,73);
354  name="Laser Energy HO"; Energy2Dho = dbe_->book2D(name,name,33,-16,16,74,0,73);
355  name="HBHEHF Laser (Timing-Ref)+1"; refTime2Dhbhehf = dbe_->book2D(name,name,87,-43,43,74,0,73);
356  name="HO Laser (Timing-Ref)+1"; refTime2Dho = dbe_->book2D(name,name,33,-16,16,74,0,73);
357  name="HBHEHF Laser Energy_div_Ref"; refEnergy2Dhbhehf = dbe_->book2D(name,name,87,-43,43,74,0,73);
358  name="HO Laser Energy_div_Ref"; refEnergy2Dho = dbe_->book2D(name,name,33,-16,16,74,0,73);
359 
360  name="HB RBX average Time-Ref"; hb_time_rbx = dbe_->book1D(name,name,36,0.5,36.5);
361  name="HE RBX average Time-Ref"; he_time_rbx = dbe_->book1D(name,name,36,0.5,36.5);
362  name="HO RBX average Time-Ref"; ho_time_rbx = dbe_->book1D(name,name,36,0.5,36.5);
363  name="HF RoBox average Time-Ref"; hf_time_rbx = dbe_->book1D(name,name,24,0.5,24.5);
364 
365  char str[200];
366  for(int i=1;i<=18;i++){ sprintf(str,"HBM%02i",i); hb_time_rbx->setBinLabel(i,str); }
367  for(int i=1;i<=18;i++){ sprintf(str,"HBP%02i",i); hb_time_rbx->setBinLabel(i+18,str); }
368  for(int i=1;i<=18;i++){ sprintf(str,"HEM%02i",i); he_time_rbx->setBinLabel(i,str); }
369  for(int i=1;i<=18;i++){ sprintf(str,"HEP%02i",i); he_time_rbx->setBinLabel(i+18,str); }
370  for(int i=1;i<=12;i++){ sprintf(str,"HFM%02i",i); hf_time_rbx->setBinLabel(i,str); }
371  for(int i=1;i<=12;i++){ sprintf(str,"HFP%02i",i); hf_time_rbx->setBinLabel(i+12,str); }
372  for(int i=1;i<=6;i++){ sprintf(str,"HO2M%02i",i*2); ho_time_rbx->setBinLabel(i,str); }
373  for(int i=1;i<=6;i++){ sprintf(str,"HO1M%02i",i*2); ho_time_rbx->setBinLabel(i+6,str); }
374  for(int i=1;i<=12;i++){ sprintf(str,"HO0%02i",i); ho_time_rbx->setBinLabel(i+12,str); }
375  for(int i=1;i<=6;i++){ sprintf(str,"HO1P%02i",i*2); ho_time_rbx->setBinLabel(i+24,str); }
376  for(int i=1;i<=6;i++){ sprintf(str,"HO2P%02i",i*2); ho_time_rbx->setBinLabel(i+30,str); }
377 
378  Time2Dhbhehf->setAxisTitle("i#eta",1);
379  Time2Dhbhehf->setAxisTitle("i#phi",2);
380  Time2Dho->setAxisTitle("i#eta",1);
381  Time2Dho->setAxisTitle("i#phi",2);
382  Energy2Dhbhehf->setAxisTitle("i#eta",1);
383  Energy2Dhbhehf->setAxisTitle("i#phi",2);
384  Energy2Dho->setAxisTitle("i#eta",1);
385  Energy2Dho->setAxisTitle("i#phi",2);
386  refTime2Dhbhehf->setAxisTitle("i#eta",1);
387  refTime2Dhbhehf->setAxisTitle("i#phi",2);
388  refTime2Dho->setAxisTitle("i#eta",1);
389  refTime2Dho->setAxisTitle("i#phi",2);
390  refEnergy2Dhbhehf->setAxisTitle("i#eta",1);
391  refEnergy2Dhbhehf->setAxisTitle("i#phi",2);
392  refEnergy2Dho->setAxisTitle("i#eta",1);
393  refEnergy2Dho->setAxisTitle("i#phi",2);
394 
396  refTime2Dho->setAxisRange(0,2,3);
397  refEnergy2Dhbhehf->setAxisRange(0.5,1.5,3);
398  refEnergy2Dho->setAxisRange(0.5,1.5,3);
399 
400  ReferenceRun="UNKNOWN";
401  LoadReference();
403  RefRun_= dbe_->bookString("HcalDetDiagLaserMonitor Reference Run",ReferenceRun);
404 
405  dbe_->setCurrentFolder(subdir_+"Raddam Plots");
406  for(int i=0;i<56;i++){
407  sprintf(str,"RADDAM (%i %i)",RADDAM_CH[i].eta,RADDAM_CH[i].phi);
408  Raddam[i] = dbe_->book1D(str,str,10,-0.5,9.5);
409  }
410  dbe_->setCurrentFolder(subdir_+"Plots for client");
412  ProblemCellsByDepth_timing_val->setup(dbe_," Laser Timing difference");
414  ProblemCellsByDepth_energy_val->setup(dbe_," Laser Energy difference");
415 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:519
void setAxisRange(double xmin, double xmax, int axis=1)
set x-, y- or z-axis range (axis=1, 2, 3 respectively)
const HcalElectronicsMap * emap
void setup(DQMStore *&m_dbe, std::string Name, std::string Units="")
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
T eta() const
Raddam_ch RADDAM_CH[56]
std::vector< MonitorElement * > depth
MonitorElement * bookString(const char *name, const char *value)
Book string.
Definition: DQMStore.cc:485
const T & get() const
Definition: EventSetup.h:55
MonitorElement * bookInt(const char *name)
Book int.
Definition: DQMStore.cc:426
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:647
virtual void setup(void)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
std::vector< std::string > problemnames_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237
Definition: DDAxes.h:10
void HcalDetDiagLaserMonitor::endLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
privatevirtual

Reimplemented from HcalBaseDQMonitor.

Definition at line 1484 of file HcalDetDiagLaserMonitor.cc.

1484 {}
void HcalDetDiagLaserMonitor::endRun ( const edm::Run run,
const edm::EventSetup c 
)
privatevirtual
void HcalDetDiagLaserMonitor::fillHistos ( int  sd)
private

Definition at line 928 of file HcalDetDiagLaserMonitor.cc.

References abs, Energy2Dhbhehf, Energy2Dho, eta(), MonitorElement::Fill(), get_ave_rbx(), HcalDetDiagLaserData::get_average_amp(), HcalDetDiagLaserData::get_average_time(), hb_data, hb_time_rbx, hbheEnergy, hbheEnergyRMS, hbheTime, hbheTimeRMS, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, he_data, he_time_rbx, hf_data, hf_time_rbx, hfEnergy, hfEnergyRMS, hfTime, hfTimeRMS, ho_data, ho_time_rbx, hoEnergy, hoEnergyRMS, hoTime, hoTimeRMS, i, max(), min, phi, refEnergy2Dhbhehf, refEnergy2Dho, refTime2Dhbhehf, refTime2Dho, MonitorElement::Reset(), plotscripts::rms(), MonitorElement::setAxisRange(), MonitorElement::setBinContent(), MonitorElement::setBinError(), cond::rpcobgas::time, Time2Dhbhehf, and Time2Dho.

Referenced by analyze(), and endRun().

928  {
929  if(sd==HcalBarrel || sd==HcalEndcap){
930  hbheEnergy->Reset();
931  hbheTime->Reset();
932  hbheEnergyRMS->Reset();
933  hbheTimeRMS->Reset();
934  hb_time_rbx->Reset();
935  he_time_rbx->Reset();
936  }
937  if(sd==HcalOuter){
938  hoEnergy->Reset();
939  hoTime->Reset();
940  hoEnergyRMS->Reset();
941  hoTimeRMS->Reset();
942  Time2Dho->Reset();
943  Energy2Dho->Reset();
944  refTime2Dho->Reset();
945  refEnergy2Dho->Reset();
946  ho_time_rbx->Reset();
947  }
948  if(sd==HcalForward){
949  hfEnergy->Reset();
950  hfTime->Reset();
951  hfEnergyRMS->Reset();
952  hfTimeRMS->Reset();
953  hf_time_rbx->Reset();
954  }
955  if(sd==HcalBarrel || sd==HcalEndcap){
956  // HB histograms
957  for(int eta=-16;eta<=16;eta++) for(int phi=1;phi<=72;phi++){
958  double T=0,nT=0,E=0,nE=0;
959  for(int depth=1;depth<=2;depth++){
960  if(hb_data[eta+42][phi-1][depth-1].get_statistics()>10){
961  double ave=0;
962  double rms=0;
963  double time=0;
964  double time_rms=0;
965  hb_data[eta+42][phi-1][depth-1].get_average_amp(&ave,&rms);
966  hb_data[eta+42][phi-1][depth-1].get_average_time(&time,&time_rms);
967  hbheEnergy->Fill(ave);
968  if(ave>0)hbheEnergyRMS->Fill(rms/ave);
969  hbheTime->Fill(time);
970  hbheTimeRMS->Fill(time_rms);
971  T+=time; nT++; E+=ave; nE++;
972  }
973  }
974  if(nT>0){Time2Dhbhehf->setBinContent(eta+44,phi+1,T/nT);Energy2Dhbhehf->setBinContent(eta+44,phi+1,E/nE); }
975  }
976  // HE histograms
977  for(int eta=-29;eta<=29;eta++) for(int phi=1;phi<=72;phi++){
978  double T=0,nT=0,E=0,nE=0;
979  for(int depth=1;depth<=3;depth++){
980  if(he_data[eta+42][phi-1][depth-1].get_statistics()>10){
981  double ave=0; double rms=0; double time=0; double time_rms=0;
982  he_data[eta+42][phi-1][depth-1].get_average_amp(&ave,&rms);
983  he_data[eta+42][phi-1][depth-1].get_average_time(&time,&time_rms);
984  hbheEnergy->Fill(ave);
985  if(ave>0)hbheEnergyRMS->Fill(rms/ave);
986  hbheTime->Fill(time);
987  hbheTimeRMS->Fill(time_rms);
988  T+=time; nT++; E+=ave; nE++;
989  }
990  }
991  if(nT>0 && abs(eta)>16 ){Time2Dhbhehf->setBinContent(eta+44,phi+1,T/nT); Energy2Dhbhehf->setBinContent(eta+44,phi+1,E/nE); }
992  if(nT>0 && abs(eta)>20 ){Time2Dhbhehf->setBinContent(eta+44,phi+2,T/nT); Energy2Dhbhehf->setBinContent(eta+44,phi+2,E/nE);}
993  }
994  }
995  if(sd==HcalForward){
996  // HF histograms
997  for(int eta=-42;eta<=42;eta++) for(int phi=1;phi<=72;phi++){
998  double T=0,nT=0,E=0,nE=0;
999  for(int depth=1;depth<=2;depth++){
1000  if(hf_data[eta+42][phi-1][depth-1].get_statistics()>10){
1001  double ave=0; double rms=0; double time=0; double time_rms=0;
1002  hf_data[eta+42][phi-1][depth-1].get_average_amp(&ave,&rms);
1003  hf_data[eta+42][phi-1][depth-1].get_average_time(&time,&time_rms);
1004  hfEnergy->Fill(ave);
1005  if(ave>0)hfEnergyRMS->Fill(rms/ave);
1006  hfTime->Fill(time);
1007  T+=time; nT++; E+=ave; nE++;
1008  hfTimeRMS->Fill(time_rms);
1009  }
1010  }
1011  if(nT>0 && abs(eta)>29 ){ Time2Dhbhehf->setBinContent(eta+44,phi+1,T/nT); Time2Dhbhehf->setBinContent(eta+44,phi+2,T/nT);}
1012  if(nT>0 && abs(eta)>29 ){ Energy2Dhbhehf->setBinContent(eta+44,phi+1,E/nE); Energy2Dhbhehf->setBinContent(eta+44,phi+2,E/nE);}
1013  }
1014  }
1015  if(sd==HcalOuter){
1016  // HO histograms
1017  for(int eta=-15;eta<=15;eta++) for(int phi=1;phi<=72;phi++){
1018  double T=0,nT=0,E=0,nE=0;
1019  for(int depth=4;depth<=4;depth++){
1020  if(ho_data[eta+42][phi-1][depth-1].get_statistics()>10){
1021  double ave=0; double rms=0; double time=0; double time_rms=0;
1022  ho_data[eta+42][phi-1][depth-1].get_average_amp(&ave,&rms);
1023  ho_data[eta+42][phi-1][depth-1].get_average_time(&time,&time_rms);
1024  hoEnergy->Fill(ave);
1025  if(ave>0)hoEnergyRMS->Fill(rms/ave);
1026  hoTime->Fill(time);
1027  T+=time; nT++; E+=ave; nE++;
1028  hoTimeRMS->Fill(time_rms);
1029  }
1030  }
1031  if(nT>0){ Time2Dho->Fill(eta,phi,T/nT); Energy2Dho->Fill(eta,phi+1,E/nE) ;}
1032  }
1033  }
1034 
1035  // compare with reference...
1036  if(sd==HcalBarrel || sd==HcalEndcap){
1037  for(int eta=-16;eta<=16;eta++) for(int phi=1;phi<=72;phi++){
1038  double T=0,nT=0,E=0,nE=0;
1039  for(int depth=1;depth<=2;depth++){
1040  if(hb_data[eta+42][phi-1][depth-1].get_statistics()>10){
1041  double val=0,rms=0,time=0,time_rms=0;
1042  double VAL=0,RMS=0,TIME=0,TIME_RMS=0;
1043  if(!hb_data[eta+42][phi-1][depth-1].get_reference(&val,&rms,&time,&time_rms)) continue;
1044  if(!hb_data[eta+42][phi-1][depth-1].get_average_amp(&VAL,&RMS)) continue;
1045  if(!hb_data[eta+42][phi-1][depth-1].get_average_time(&TIME,&TIME_RMS)) continue;
1046  E+=VAL/val; nE++;
1047  T+=TIME-time; nT++;
1048  }
1049  }
1050  if(nE>0) refEnergy2Dhbhehf->setBinContent(eta+44,phi+1,E/nE);
1051  if(nT>0){ double TTT=T/nT+1; if(TTT<0.01) TTT=0.01; refTime2Dhbhehf->setBinContent(eta+44,phi+1,TTT); }
1052  }
1053  for(int eta=-29;eta<=29;eta++) for(int phi=1;phi<=72;phi++){
1054  double T=0,nT=0,E=0,nE=0;
1055  for(int depth=1;depth<=3;depth++){
1056  if(he_data[eta+42][phi-1][depth-1].get_statistics()>10){
1057  double val=0,rms=0,time=0,time_rms=0;
1058  double VAL=0,RMS=0,TIME=0,TIME_RMS=0;
1059  if(!he_data[eta+42][phi-1][depth-1].get_reference(&val,&rms,&time,&time_rms)) continue;
1060  if(!he_data[eta+42][phi-1][depth-1].get_average_amp(&VAL,&RMS)) continue;
1061  if(!he_data[eta+42][phi-1][depth-1].get_average_time(&TIME,&TIME_RMS)) continue;
1062  E+=VAL/val; nE++;
1063  T+=TIME-time; nT++;
1064  }
1065  }
1066  if(nE>0 && abs(eta)>16) refEnergy2Dhbhehf->setBinContent(eta+44,phi+1,E/nE);
1067  if(nT>0 && abs(eta)>16){ double TTT=T/nT+1; if(TTT<0.01) TTT=0.01; refTime2Dhbhehf->setBinContent(eta+44,phi+1,TTT); }
1068  if(nE>0 && abs(eta)>20) refEnergy2Dhbhehf->setBinContent(eta+44,phi+2,E/nE);
1069  if(nT>0 && abs(eta)>20){ double TTT=T/nT+1; if(TTT<0.01) TTT=0.01; refTime2Dhbhehf->setBinContent(eta+44,phi+2,TTT); }
1070  }
1071  }
1072  if(sd==HcalForward){
1073  for(int eta=-42;eta<=42;eta++) for(int phi=1;phi<=72;phi++){
1074  double T=0,nT=0,E=0,nE=0;
1075  for(int depth=1;depth<=2;depth++){
1076  if(hf_data[eta+42][phi-1][depth-1].get_statistics()>10){
1077  double val=0,rms=0,time=0,time_rms=0;
1078  double VAL=0,RMS=0,TIME=0,TIME_RMS=0;
1079  if(!hf_data[eta+42][phi-1][depth-1].get_reference(&val,&rms,&time,&time_rms)) continue;
1080  if(!hf_data[eta+42][phi-1][depth-1].get_average_amp(&VAL,&RMS)) continue;
1081  if(!hf_data[eta+42][phi-1][depth-1].get_average_time(&TIME,&TIME_RMS)) continue;
1082  E+=VAL/val; nE++;
1083  T+=TIME-time; nT++;
1084  }
1085  }
1086  if(nE>0 && abs(eta)>29) refEnergy2Dhbhehf->setBinContent(eta+44,phi+1,E/nE);
1087  if(nT>0 && abs(eta)>29){ double TTT=T/nT+1; if(TTT<0.01) TTT=0.01; refTime2Dhbhehf->setBinContent(eta+44,phi+1,TTT); }
1088  if(nE>0 && abs(eta)>29) refEnergy2Dhbhehf->setBinContent(eta+44,phi+2,E/nE);
1089  if(nT>0 && abs(eta)>29){ double TTT=T/nT+1; if(TTT<0.01) TTT=0.01; refTime2Dhbhehf->setBinContent(eta+44,phi+2,TTT); }
1090  }
1091  }
1092  if(sd==HcalOuter){
1093  for(int eta=-15;eta<=15;eta++) for(int phi=1;phi<=72;phi++){
1094  double T=0,nT=0,E=0,nE=0;
1095  for(int depth=4;depth<=4;depth++){
1096  if(ho_data[eta+42][phi-1][depth-1].get_statistics()>10){
1097  double val=0,rms=0,time=0,time_rms=0;
1098  double VAL=0,RMS=0,TIME=0,TIME_RMS=0;
1099  if(!ho_data[eta+42][phi-1][depth-1].get_reference(&val,&rms,&time,&time_rms)) continue;
1100  if(!ho_data[eta+42][phi-1][depth-1].get_average_amp(&VAL,&RMS)) continue;
1101  if(!ho_data[eta+42][phi-1][depth-1].get_average_time(&TIME,&TIME_RMS)) continue;
1102  E+=VAL/val; nE++;
1103  T+=TIME-time; nT++;
1104  }
1105  }
1106  if(nE>0) refEnergy2Dho->Fill(eta,phi,E/nE);
1107  if(nT>0){ double TTT=T/nT+1; if(TTT<0.01) TTT=0.01; refTime2Dho->Fill(eta,phi,TTT);}
1108  }
1109  }
1111  float min,max;
1112  if(sd==HcalBarrel || sd==HcalEndcap){
1113  min=100;max=-100;
1114  for(int i=1;i<=18;i++){
1115  float ave=-10,rms=-10;
1116  if(get_ave_rbx(HcalBarrel,-1,i,&ave,&rms)){
1117  hb_time_rbx->setBinContent(i,ave);
1118  hb_time_rbx->setBinError(i,rms);
1119  if(ave<min) min=ave;
1120  if(ave>max) max=ave;
1121  }
1122  }
1123  for(int i=1;i<=18;i++){
1124  float ave=-10,rms=-10;
1125  if(get_ave_rbx(HcalBarrel,1,i,&ave,&rms)){
1126  hb_time_rbx->setBinContent(i+18,ave);
1127  hb_time_rbx->setBinError(i+18,rms);
1128  if(ave<min) min=ave;
1129  if(ave>max) max=ave;
1130  }
1131  }
1132  if(max>-100)hb_time_rbx->setAxisRange(min-1,max+1,2);
1133  min=100;max=-100;
1134  for(int i=1;i<=18;i++){
1135  float ave=-10,rms=-10;
1136  if(get_ave_rbx(HcalEndcap,-1,i,&ave,&rms)){
1137  he_time_rbx->setBinContent(i,ave);
1138  he_time_rbx->setBinError(i,rms);
1139  if(ave<min) min=ave;
1140  if(ave>max) max=ave;
1141  }
1142  }
1143  for(int i=1;i<=18;i++){
1144  float ave=-10,rms=-10;
1145  if(get_ave_rbx(HcalEndcap,1,i,&ave,&rms)){
1146  he_time_rbx->setBinContent(i+18,ave);
1147  he_time_rbx->setBinError(i+18,rms);
1148  if(ave<min) min=ave;
1149  if(ave>max) max=ave;
1150  }
1151  }
1152  if(max>-100)he_time_rbx->setAxisRange(min-1,max+1,2);
1153  }
1155  if(sd==HcalOuter){
1156  min=100;max=-100;
1157  for(int i=1;i<=6;i++){
1158  float ave=-10,rms=-10;
1159  if(get_ave_rbx(HcalOuter,-2,i,&ave,&rms)){
1160  ho_time_rbx->setBinContent(i,ave);
1161  ho_time_rbx->setBinError(i,rms);
1162  if(ave<min) min=ave;
1163  if(ave>max) max=ave;
1164  }
1165  }
1166  for(int i=1;i<=6;i++){
1167  float ave=-10,rms=-10;
1168  if(get_ave_rbx(HcalOuter,-1,i,&ave,&rms)){
1169  ho_time_rbx->setBinContent(i+6,ave);
1170  ho_time_rbx->setBinError(i+6,rms);
1171  if(ave<min) min=ave;
1172  if(ave>max) max=ave;
1173  }
1174  }
1175  for(int i=1;i<=12;i++){
1176  float ave=-10,rms=-10;
1177  if(get_ave_rbx(HcalOuter,0,i,&ave,&rms)){
1178  ho_time_rbx->setBinContent(i+12,ave);
1179  ho_time_rbx->setBinError(i+12,rms);
1180  if(ave<min) min=ave;
1181  if(ave>max) max=ave;
1182  }
1183  }
1184  for(int i=1;i<=6;i++){
1185  float ave=-10,rms=-10;
1186  if(get_ave_rbx(HcalOuter,1,i,&ave,&rms)){
1187  ho_time_rbx->setBinContent(i+24,ave);
1188  ho_time_rbx->setBinError(i+24,rms);
1189  if(ave<min) min=ave;
1190  if(ave>max) max=ave;
1191  }
1192  }
1193  for(int i=1;i<=6;i++){
1194  float ave=-10,rms=-10;
1195  if(get_ave_rbx(HcalOuter,2,i,&ave,&rms)){
1196  ho_time_rbx->setBinContent(i+30,ave);
1197  ho_time_rbx->setBinError(i+30,rms);
1198  if(ave<min) min=ave;
1199  if(ave>max) max=ave;
1200  }
1201  }
1202  if(max>-100)ho_time_rbx->setAxisRange(min-1,max+1,2);
1203  }
1205  if(sd==HcalForward){
1206  min=100;max=-100;
1207  for(int i=1;i<=12;i++){
1208  float ave=-10,rms=-10;
1209  if(get_ave_rbx(HcalForward,-1,i,&ave,&rms)){
1210  hf_time_rbx->setBinContent(i,ave);
1211  hf_time_rbx->setBinError(i,rms);
1212  if(ave<min) min=ave;
1213  if(ave>max) max=ave;
1214  }
1215  }
1216  for(int i=1;i<=12;i++){
1217  float ave=-10,rms=-10;
1218  if(get_ave_rbx(HcalForward,1,i,&ave,&rms)){
1219  hf_time_rbx->setBinContent(i+12,ave);
1220  hf_time_rbx->setBinError(i+12,rms);
1221  if(ave<min) min=ave;
1222  if(ave>max) max=ave;
1223  }
1224  }
1225  if(max>-100)hf_time_rbx->setAxisRange(min-1,max+1,2);
1226  }
1227 }
int i
Definition: DBlmapReader.cc:9
void setBinContent(int binx, double content)
set content of bin (1-D)
void setAxisRange(double xmin, double xmax, int axis=1)
set x-, y- or z-axis range (axis=1, 2, 3 respectively)
bool get_average_amp(double *ave, double *rms)
#define abs(x)
Definition: mlp_lapack.h:159
#define min(a, b)
Definition: mlp_lapack.h:161
bool get_ave_rbx(int sd, int side, int rbx, float *ave, float *rms)
T eta() const
bool get_average_time(double *ave, double *rms)
void Fill(long long x)
const T & max(const T &a, const T &b)
void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
HcalDetDiagLaserData hb_data[85][72][4]
HcalDetDiagLaserData hf_data[85][72][4]
HcalDetDiagLaserData he_data[85][72][4]
HcalDetDiagLaserData ho_data[85][72][4]
void Reset(void)
reset ME (ie. contents, errors, etc)
Definition: DDAxes.h:10
void HcalDetDiagLaserMonitor::fillProblems ( int  sd)
private

Definition at line 614 of file HcalDetDiagLaserMonitor.cc.

References HcalElectronicsMap::allElectronicsIdPrecision(), CalcEtaBin(), HcalDetId::depth(), EtaPhiHists::depth, DetId::det(), cond::rpcobgas::detid, ExpressReco_HICollisions_FallBack::e, emap, eta(), get_ave_subdet(), 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(), HcalDetId::iphi(), LaserEnergyThreshold, LaserTimingThreshold, HcalElectronicsMap::lookup(), HcalDetDiagLaserData::nBadEnergy, HcalDetDiagLaserData::nBadTime, HcalDetDiagLaserData::nChecks, phi, ProblemCellsByDepth_energy, ProblemCellsByDepth_energy_val, ProblemCellsByDepth_timing, ProblemCellsByDepth_timing_val, plotscripts::rms(), DetId::subdetId(), and cond::rpcobgas::time.

Referenced by analyze(), and endRun().

614  {
615 float ave_t,ave_e,ave_t_r,ave_e_r;
616  if(!get_ave_subdet(sd,&ave_t,&ave_e,&ave_t_r,&ave_e_r)) return;
617 
618  for(int i=0;i<4;i++){
621  }
622 
623  std::vector <HcalElectronicsId> AllElIds = emap->allElectronicsIdPrecision();
624  for (std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin(); eid != AllElIds.end(); eid++){
625  DetId detid=emap->lookup(*eid);
626  if (detid.det()!=DetId::Hcal) continue;
627  HcalGenericDetId gid(emap->lookup(*eid));
628  if (gid.null())
629  continue;
630  if (gid.genericSubdet()!=HcalGenericDetId::HcalGenBarrel &&
631  gid.genericSubdet()!=HcalGenericDetId::HcalGenEndcap &&
632  gid.genericSubdet()!=HcalGenericDetId::HcalGenForward &&
633  gid.genericSubdet()!=HcalGenericDetId::HcalGenOuter)
634  continue;
635  int eta=0,phi=0,depth=0;
636  HcalDetId hid(detid);
637  eta=hid.ieta();
638  phi=hid.iphi();
639  depth=hid.depth();
640 
641  int e=CalcEtaBin(sd,eta,depth)+1;
642  if(detid.subdetId()==HcalBarrel && sd==HcalBarrel){
643  double val=0,rms=0,time=0,time_rms=0,VAL=0,RMS=0,TIME=0,TIME_RMS=0;
644  if(!hb_data[eta+42][phi-1][depth-1].get_reference(&val,&rms,&time,&time_rms)) continue;
645  if(!hb_data[eta+42][phi-1][depth-1].get_average_amp(&VAL,&RMS)) continue;
646  if(!hb_data[eta+42][phi-1][depth-1].get_average_time(&TIME,&TIME_RMS)) continue;
647  hb_data[eta+42][phi-1][depth-1].nChecks++;
648  float diff_t=(TIME-ave_t)-(time-ave_t_r); if(diff_t<0) diff_t=-diff_t;
649  if(diff_t>LaserTimingThreshold){
650  hb_data[eta+42][phi-1][depth-1].nBadTime++;
651  ProblemCellsByDepth_timing_val->depth[depth-1]->setBinContent(e,phi,(TIME-ave_t)-(time-ave_t_r));
652  }else ProblemCellsByDepth_timing_val->depth[depth-1]->setBinContent(e,phi,0);
653  if(VAL!=0 && val!=0 && ave_e!=0 && ave_e_r!=0){
654  float diff_e=((VAL/ave_e))/(val/ave_e_r);
655  if(diff_e>(1+LaserEnergyThreshold) ||diff_e<(1-LaserEnergyThreshold) ){
656  hb_data[eta+42][phi-1][depth-1].nBadEnergy++;
657  ProblemCellsByDepth_energy_val->depth[depth-1]->setBinContent(e,phi,((VAL/ave_e))/(val/ave_e_r));
658  }else ProblemCellsByDepth_energy_val->depth[depth-1]->setBinContent(e,phi,0);
659  }
660  }
661  if(detid.subdetId()==HcalEndcap && sd==HcalEndcap){
662  double val=0,rms=0,time=0,time_rms=0,VAL=0,RMS=0,TIME=0,TIME_RMS=0;
663  if(!he_data[eta+42][phi-1][depth-1].get_reference(&val,&rms,&time,&time_rms)) continue;
664  if(!he_data[eta+42][phi-1][depth-1].get_average_amp(&VAL,&RMS)) continue;
665  if(!he_data[eta+42][phi-1][depth-1].get_average_time(&TIME,&TIME_RMS)) continue;
666  he_data[eta+42][phi-1][depth-1].nChecks++;
667  float diff_t=(TIME-ave_t)-(time-ave_t_r); if(diff_t<0) diff_t=-diff_t;
668  if(diff_t>LaserTimingThreshold){
669  he_data[eta+42][phi-1][depth-1].nBadTime++;
670  ProblemCellsByDepth_timing_val->depth[depth-1]->setBinContent(e,phi,(TIME-ave_t)-(time-ave_t_r));
671  }else ProblemCellsByDepth_timing_val->depth[depth-1]->setBinContent(e,phi,0);
672  if(VAL!=0 && val!=0 && ave_e!=0 && ave_e_r!=0){
673  float diff_e=((VAL/ave_e))/(val/ave_e_r);
674  if(diff_e>(1+LaserEnergyThreshold) ||diff_e<(1-LaserEnergyThreshold) ){
675  he_data[eta+42][phi-1][depth-1].nBadEnergy++;
676  ProblemCellsByDepth_energy_val->depth[depth-1]->setBinContent(e,phi,((VAL/ave_e))/(val/ave_e_r));
677  }else ProblemCellsByDepth_energy_val->depth[depth-1]->setBinContent(e,phi,0);
678  }
679  }
680  if(detid.subdetId()==HcalOuter && sd==HcalOuter){
681  double val=0,rms=0,time=0,time_rms=0,VAL=0,RMS=0,TIME=0,TIME_RMS=0;
682  if(!ho_data[eta+42][phi-1][depth-1].get_reference(&val,&rms,&time,&time_rms)) continue;
683  if(!ho_data[eta+42][phi-1][depth-1].get_average_amp(&VAL,&RMS)) continue;
684  if(!ho_data[eta+42][phi-1][depth-1].get_average_time(&TIME,&TIME_RMS)) continue;
685  ho_data[eta+42][phi-1][depth-1].nChecks++;
686  float diff_t=(TIME-ave_t)-(time-ave_t_r); if(diff_t<0) diff_t=-diff_t;
687  if(diff_t>LaserTimingThreshold){
688  ho_data[eta+42][phi-1][depth-1].nBadTime++;
689  ProblemCellsByDepth_timing_val->depth[depth-1]->setBinContent(e,phi,(TIME-ave_t)-(time-ave_t_r));
690  }else ProblemCellsByDepth_timing_val->depth[depth-1]->setBinContent(e,phi,0);
691  if(VAL!=0 && val!=0 && ave_e!=0 && ave_e_r!=0){
692  float diff_e=((VAL/ave_e))/(val/ave_e_r);
693  if(diff_e>(1+LaserEnergyThreshold) ||diff_e<(1-LaserEnergyThreshold) ){
694  ho_data[eta+42][phi-1][depth-1].nBadEnergy++;
695  ProblemCellsByDepth_energy_val->depth[depth-1]->setBinContent(e,phi,((VAL/ave_e))/(val/ave_e_r));
696  }else ProblemCellsByDepth_energy_val->depth[depth-1]->setBinContent(e,phi,0);
697  }
698  }
699  if(detid.subdetId()==HcalForward && sd==HcalForward){
700  double val=0,rms=0,time=0,time_rms=0,VAL=0,RMS=0,TIME=0,TIME_RMS=0;
701  if(!hf_data[eta+42][phi-1][depth-1].get_reference(&val,&rms,&time,&time_rms)) continue;
702  if(!hf_data[eta+42][phi-1][depth-1].get_average_amp(&VAL,&RMS)) continue;
703  if(!hf_data[eta+42][phi-1][depth-1].get_average_time(&TIME,&TIME_RMS)) continue;
704  hf_data[eta+42][phi-1][depth-1].nChecks++;
705  float diff_t=(TIME-ave_t)-(time-ave_t_r); if(diff_t<0) diff_t=-diff_t;
706  if(diff_t>LaserTimingThreshold){
707  hf_data[eta+42][phi-1][depth-1].nBadTime++;
708  ProblemCellsByDepth_timing_val->depth[depth-1]->setBinContent(e,phi,(TIME-ave_t)-(time-ave_t_r));
709  }else ProblemCellsByDepth_timing_val->depth[depth-1]->setBinContent(e,phi,0);
710  if(VAL!=0 && val!=0 && ave_e!=0 && ave_e_r!=0){
711  float diff_e=((VAL/ave_e))/(val/ave_e_r);
712  if(diff_e>(1+LaserEnergyThreshold) ||diff_e<(1-LaserEnergyThreshold) ){
713  hf_data[eta+42][phi-1][depth-1].nBadEnergy++;
714  ProblemCellsByDepth_energy_val->depth[depth-1]->setBinContent(e,phi,((VAL/ave_e))/(val/ave_e_r));
715  }else ProblemCellsByDepth_energy_val->depth[depth-1]->setBinContent(e,phi,0);
716  }
717  }
718  }
719  for (std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin(); eid != AllElIds.end(); eid++){
720  DetId detid=emap->lookup(*eid);
721  if (detid.det()!=DetId::Hcal) continue;
722  HcalGenericDetId gid(emap->lookup(*eid));
723  if (gid.null())
724  continue;
725  if (gid.genericSubdet()!=HcalGenericDetId::HcalGenBarrel &&
726  gid.genericSubdet()!=HcalGenericDetId::HcalGenEndcap &&
727  gid.genericSubdet()!=HcalGenericDetId::HcalGenForward &&
728  gid.genericSubdet()!=HcalGenericDetId::HcalGenOuter)
729  continue;
730 
731  int eta=0,phi=0,depth=0;
732  HcalDetId hid(detid);
733  eta=hid.ieta();
734  phi=hid.iphi();
735  depth=hid.depth();
736 
737  if(detid.subdetId()==HcalBarrel){
738  if(hb_data[eta+42][phi-1][depth-1].nBadTime>0){
739  int e=CalcEtaBin(HcalBarrel,eta,depth)+1;
740  double val=hb_data[eta+42][phi-1][depth-1].nBadTime/hb_data[eta+42][phi-1][depth-1].nChecks;
741  ProblemCellsByDepth_timing->depth[depth-1]->setBinContent(e,phi,val);
742  }
743  if(hb_data[eta+42][phi-1][depth-1].nBadEnergy>0){
744  int e=CalcEtaBin(HcalBarrel,eta,depth)+1;
745  double val=hb_data[eta+42][phi-1][depth-1].nBadEnergy/hb_data[eta+42][phi-1][depth-1].nChecks;
746  ProblemCellsByDepth_energy->depth[depth-1]->setBinContent(e,phi,val);
747  }
748  }
749  if(detid.subdetId()==HcalEndcap){
750  if(he_data[eta+42][phi-1][depth-1].nBadTime>0){
751  int e=CalcEtaBin(HcalEndcap,eta,depth)+1;
752  double val=he_data[eta+42][phi-1][depth-1].nBadTime/he_data[eta+42][phi-1][depth-1].nChecks;
753  ProblemCellsByDepth_timing->depth[depth-1]->setBinContent(e,phi,val);
754  }
755  if(he_data[eta+42][phi-1][depth-1].nBadEnergy>0){
756  int e=CalcEtaBin(HcalEndcap,eta,depth)+1;
757  double val=he_data[eta+42][phi-1][depth-1].nBadEnergy/he_data[eta+42][phi-1][depth-1].nChecks;
758  ProblemCellsByDepth_energy->depth[depth-1]->setBinContent(e,phi,val);
759  }
760  }
761  if(detid.subdetId()==HcalOuter){
762  if(ho_data[eta+42][phi-1][depth-1].nBadTime>0){
763  int e=CalcEtaBin(HcalOuter,eta,depth)+1;
764  double val=ho_data[eta+42][phi-1][depth-1].nBadTime/ho_data[eta+42][phi-1][depth-1].nChecks;
765  ProblemCellsByDepth_timing->depth[depth-1]->setBinContent(e,phi,val);
766  }
767  if(ho_data[eta+42][phi-1][depth-1].nBadEnergy>0){
768  int e=CalcEtaBin(HcalOuter,eta,depth)+1;
769  double val=ho_data[eta+42][phi-1][depth-1].nBadEnergy/ho_data[eta+42][phi-1][depth-1].nChecks;
770  ProblemCellsByDepth_energy->depth[depth-1]->setBinContent(e,phi,val);
771  }
772  }
773  if(detid.subdetId()==HcalForward){
774  if(hf_data[eta+42][phi-1][depth-1].nBadTime>0){
775  int e=CalcEtaBin(HcalForward,eta,depth)+1;
776  double val=hf_data[eta+42][phi-1][depth-1].nBadTime/hf_data[eta+42][phi-1][depth-1].nChecks;
777  ProblemCellsByDepth_timing->depth[depth-1]->setBinContent(e,phi,val);
778  }
779  if(hf_data[eta+42][phi-1][depth-1].nBadEnergy>0){
780  int e=CalcEtaBin(HcalForward,eta,depth)+1;
781  double val=hf_data[eta+42][phi-1][depth-1].nBadEnergy/hf_data[eta+42][phi-1][depth-1].nChecks;
782  ProblemCellsByDepth_energy->depth[depth-1]->setBinContent(e,phi,val);
783  }
784  }
785  }
786 }
int i
Definition: DBlmapReader.cc:9
std::vector< HcalElectronicsId > allElectronicsIdPrecision() const
const HcalElectronicsMap * emap
bool get_ave_subdet(int sd, float *ave_t, float *ave_e, float *ave_t_r, float *ave_e_r)
T eta() const
std::vector< MonitorElement * > depth
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
Definition: DetId.h:20
HcalDetDiagLaserData hb_data[85][72][4]
int CalcEtaBin(int subdet, int ieta, int depth)
HcalDetDiagLaserData hf_data[85][72][4]
HcalDetDiagLaserData he_data[85][72][4]
Detector det() const
get the detector field from this detid
Definition: DetId.h:37
HcalDetDiagLaserData ho_data[85][72][4]
const DetId lookup(HcalElectronicsId fId) const
lookup the logical detid associated with the given electronics id
Definition: DDAxes.h:10
bool HcalDetDiagLaserMonitor::get_ave_rbx ( int  sd,
int  side,
int  rbx,
float *  ave,
float *  rms 
)
private

Definition at line 788 of file HcalDetDiagLaserMonitor.cc.

References hb_data, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, he_data, hf_data, ho_data, i, j, gen::k, n, plotscripts::rms(), mathSSE::sqrt(), and cond::rpcobgas::time.

Referenced by fillHistos().

788  {
789  double xt=0,xxt=0;
790  int eta_min=0,eta_max=0,n=0;
791  if(sd==HcalBarrel){
792  if(side>0){eta_min=1; eta_max=29;}
793  if(side<0){eta_min=-29; eta_max=-1;}
794  if(rbx==1){
795  for(int i=eta_min;i<=eta_max;i++) for(int j=71;j<=72;j++)for(int k=1;k<=3;k++){
796  double val,rms,time,time_rms;
797  double TIME,TIME_RMS;
798  if(!hb_data[i+42][j-1][k-1].get_reference(&val,&rms,&time,&time_rms)) continue;
799  if(!hb_data[i+42][j-1][k-1].get_average_time(&TIME,&TIME_RMS)) continue;
800  xt+=TIME-time; xxt+=(TIME-time)*(TIME-time); n++;
801  }
802  for(int i=eta_min;i<=eta_max;i++) for(int j=1;j<=2;j++)for(int k=1;k<=3;k++){
803  double val,rms,time,time_rms;
804  double TIME,TIME_RMS;
805  if(!hb_data[i+42][j-1][k-1].get_reference(&val,&rms,&time,&time_rms)) continue;
806  if(!hb_data[i+42][j-1][k-1].get_average_time(&TIME,&TIME_RMS)) continue;
807  xt+=TIME-time; xxt+=(TIME-time)*(TIME-time); n++;
808  }
809 
810  }else{
811  for(int i=eta_min;i<=eta_max;i++) for(int j=((rbx-1)*4-1);j<=((rbx-1)*4+2);j++)for(int k=1;k<=3;k++){
812  double val,rms,time,time_rms;
813  double TIME,TIME_RMS;
814  if(!hb_data[i+42][j-1][k-1].get_reference(&val,&rms,&time,&time_rms)) continue;
815  if(!hb_data[i+42][j-1][k-1].get_average_time(&TIME,&TIME_RMS)) continue;
816  xt+=TIME-time; xxt+=(TIME-time)*(TIME-time); n++;
817  }
818  }
819  }
820  if(sd==HcalEndcap){
821  if(side>0){eta_min=1; eta_max=29;}
822  if(side<0){eta_min=-29; eta_max=-1;}
823  if(rbx==1){
824  for(int i=eta_min;i<=eta_max;i++) for(int j=71;j<=72;j++)for(int k=1;k<=3;k++){
825  double val,rms,time,time_rms;
826  double TIME,TIME_RMS;
827  if(!he_data[i+42][j-1][k-1].get_reference(&val,&rms,&time,&time_rms)) continue;
828  if(!he_data[i+42][j-1][k-1].get_average_time(&TIME,&TIME_RMS)) continue;
829  xt+=TIME-time; xxt+=(TIME-time)*(TIME-time); n++;
830  }
831  for(int i=eta_min;i<=eta_max;i++) for(int j=1;j<=2;j++)for(int k=1;k<=3;k++){
832  double val,rms,time,time_rms;
833  double TIME,TIME_RMS;
834  if(!he_data[i+42][j-1][k-1].get_reference(&val,&rms,&time,&time_rms)) continue;
835  if(!he_data[i+42][j-1][k-1].get_average_time(&TIME,&TIME_RMS)) continue;
836  xt+=TIME-time; xxt+=(TIME-time)*(TIME-time); n++;
837  }
838 
839  }else{
840  for(int i=eta_min;i<=eta_max;i++) for(int j=((rbx-1)*4-1);j<=((rbx-1)*4+2);j++)for(int k=1;k<=3;k++){
841  double val,rms,time,time_rms;
842  double TIME,TIME_RMS;
843  if(!he_data[i+42][j-1][k-1].get_reference(&val,&rms,&time,&time_rms)) continue;
844  if(!he_data[i+42][j-1][k-1].get_average_time(&TIME,&TIME_RMS)) continue;
845  xt+=TIME-time; xxt+=(TIME-time)*(TIME-time); n++;
846  }
847  }
848  }
849  if(sd==HcalForward){
850  if(side>0){eta_min=29; eta_max=40;}
851  if(side<0){eta_min=-40; eta_max=-29;}
852  for(int i=eta_min;i<=eta_max;i++) for(int j=((rbx-1)*6+1);j<=((rbx-1)*6+6);j++)for(int k=1;k<=2;k++){
853  double val,rms,time,time_rms;
854  double TIME,TIME_RMS;
855  if(!hf_data[i+42][j-1][k-1].get_reference(&val,&rms,&time,&time_rms)) continue;
856  if(!hf_data[i+42][j-1][k-1].get_average_time(&TIME,&TIME_RMS)) continue;
857  xt+=TIME-time; xxt+=(TIME-time)*(TIME-time); n++;
858  }
859  }
860  if(sd==HcalOuter){
861  if(side==0){
862  eta_min=-4,eta_max=4;
863  if(rbx==1){
864  for(int i=eta_min;i<=eta_max;i++) for(int j=71;j<=72;j++){
865  double val,rms,time,time_rms;
866  double TIME,TIME_RMS;
867  if(!ho_data[i+42][j-1][4-1].get_reference(&val,&rms,&time,&time_rms)) continue;
868  if(!ho_data[i+42][j-1][4-1].get_average_time(&TIME,&TIME_RMS)) continue;
869  xt+=TIME-time; xxt+=(TIME-time)*(TIME-time); n++;
870  }
871  for(int i=eta_min;i<=eta_max;i++) for(int j=1;j<=4;j++){
872  double val,rms,time,time_rms;
873  double TIME,TIME_RMS;
874  if(!ho_data[i+42][j-1][4-1].get_reference(&val,&rms,&time,&time_rms)) continue;
875  if(!ho_data[i+42][j-1][4-1].get_average_time(&TIME,&TIME_RMS)) continue;
876  xt+=TIME-time; xxt+=(TIME-time)*(TIME-time); n++;
877  }
878 
879  }else{
880  for(int i=eta_min;i<=eta_max;i++) for(int j=((rbx-1)*6-1);j<=((rbx-1)*6+4);j++){
881  double val,rms,time,time_rms;
882  double TIME,TIME_RMS;
883  if(!ho_data[i+42][j-1][4-1].get_reference(&val,&rms,&time,&time_rms)) continue;
884  if(!ho_data[i+42][j-1][4-1].get_average_time(&TIME,&TIME_RMS)) continue;
885  xt+=TIME-time; xxt+=(TIME-time)*(TIME-time); n++;
886  }
887  }
888  }
889  if(side==-1){ eta_min=-10,eta_max=-5;}
890  if(side==-2){ eta_min=-15,eta_max=-11;}
891  if(side==1) { eta_min=5, eta_max=10;}
892  if(side==2) { eta_min=11, eta_max=15;}
893  if(side!=0){
894  if(rbx==1){
895  for(int i=eta_min;i<=eta_max;i++) for(int j=71;j<=72;j++){
896  double val,rms,time,time_rms;
897  double TIME,TIME_RMS;
898  if(!ho_data[i+42][j-1][4-1].get_reference(&val,&rms,&time,&time_rms)) continue;
899  if(!ho_data[i+42][j-1][4-1].get_average_time(&TIME,&TIME_RMS)) continue;
900  xt+=TIME-time; xxt+=(TIME-time)*(TIME-time); n++;
901  }
902  for(int i=eta_min;i<=eta_max;i++) for(int j=1;j<=10;j++){
903  double val,rms,time,time_rms;
904  double TIME,TIME_RMS;
905  if(!ho_data[i+42][j-1][4-1].get_reference(&val,&rms,&time,&time_rms)) continue;
906  if(!ho_data[i+42][j-1][4-1].get_average_time(&TIME,&TIME_RMS)) continue;
907  xt+=TIME-time; xxt+=(TIME-time)*(TIME-time); n++;
908  }
909 
910  }else{
911  for(int i=eta_min;i<=eta_max;i++) for(int j=((rbx-1)*12-1);j<=((rbx-1)*12+10);j++){
912  double val,rms,time,time_rms;
913  double TIME,TIME_RMS;
914  if(!ho_data[i+42][j-1][4-1].get_reference(&val,&rms,&time,&time_rms)) continue;
915  if(!ho_data[i+42][j-1][4-1].get_average_time(&TIME,&TIME_RMS)) continue;
916  xt+=TIME-time; xxt+=(TIME-time)*(TIME-time); n++;
917  }
918  }
919  }
920  }
921  if(n<10) return false;
922  *ave=xt/n;
923  *rms=sqrt(xxt/n-(xt*xt)/(n*n));
924  return true;
925 }
int i
Definition: DBlmapReader.cc:9
T sqrt(T t)
Definition: SSEVec.h:28
int j
Definition: DBlmapReader.cc:9
int k[5][pyjets_maxn]
HcalDetDiagLaserData hb_data[85][72][4]
HcalDetDiagLaserData hf_data[85][72][4]
HcalDetDiagLaserData he_data[85][72][4]
HcalDetDiagLaserData ho_data[85][72][4]
bool HcalDetDiagLaserMonitor::get_ave_subdet ( int  sd,
float *  ave_t,
float *  ave_e,
float *  ave_t_r,
float *  ave_e_r 
)
private

Definition at line 553 of file HcalDetDiagLaserMonitor.cc.

References eta(), HcalDetDiagLaserData::get_average_amp(), HcalDetDiagLaserData::get_average_time(), hb_data, HcalBarrel, HcalEndcap, HcalForward, HcalOuter, he_data, hf_data, ho_data, phi, plotscripts::rms(), and cond::rpcobgas::time.

Referenced by fillProblems().

553  {
554 double T=0,nT=0,E=0,nE=0,Tr=0,nTr=0,Er=0,nEr=0;
555  if(sd==HcalBarrel) for(int eta=-16;eta<=16;eta++) for(int phi=1;phi<=72;phi++){
556  for(int depth=1;depth<=2;depth++){
557  if(hb_data[eta+42][phi-1][depth-1].get_statistics()>10){
558  double ave=0,rms=0,time=0,time_rms=0;
559  hb_data[eta+42][phi-1][depth-1].get_average_amp(&ave,&rms);
560  hb_data[eta+42][phi-1][depth-1].get_average_time(&time,&time_rms);
561  T+=time; nT++; E+=ave; nE++;
562  if(hb_data[eta+42][phi-1][depth-1].get_reference(&ave,&rms,&time,&time_rms)){
563  Tr+=time; nTr++; Er+=ave; nEr++;}
564  }
565  }
566  }
567  // HE histograms
568  if(sd==HcalEndcap) for(int eta=-29;eta<=29;eta++) for(int phi=1;phi<=72;phi++){
569  for(int depth=1;depth<=3;depth++){
570  if(he_data[eta+42][phi-1][depth-1].get_statistics()>10){
571  double ave=0; double rms=0; double time=0; double time_rms=0;
572  he_data[eta+42][phi-1][depth-1].get_average_amp(&ave,&rms);
573  he_data[eta+42][phi-1][depth-1].get_average_time(&time,&time_rms);
574  T+=time; nT++; E+=ave; nE++;
575  if(he_data[eta+42][phi-1][depth-1].get_reference(&ave,&rms,&time,&time_rms)){
576  Tr+=time; nTr++; Er+=ave; nEr++;}
577  }
578  }
579  }
580  // HF histograms
581  if(sd==HcalForward) for(int eta=-42;eta<=42;eta++) for(int phi=1;phi<=72;phi++){
582  for(int depth=1;depth<=2;depth++){
583  if(hf_data[eta+42][phi-1][depth-1].get_statistics()>10){
584  double ave=0; double rms=0; double time=0; double time_rms=0;
585  hf_data[eta+42][phi-1][depth-1].get_average_amp(&ave,&rms);
586  hf_data[eta+42][phi-1][depth-1].get_average_time(&time,&time_rms);
587  T+=time; nT++; E+=ave; nE++;
588  if(hf_data[eta+42][phi-1][depth-1].get_reference(&ave,&rms,&time,&time_rms)){
589  Tr+=time; nTr++; Er+=ave; nEr++;}
590  }
591  }
592  }
593  // HO histograms
594  if(sd==HcalOuter) for(int eta=-15;eta<=15;eta++) for(int phi=1;phi<=72;phi++){
595  for(int depth=4;depth<=4;depth++){
596  if(ho_data[eta+42][phi-1][depth-1].get_statistics()>10){
597  double ave=0; double rms=0; double time=0; double time_rms=0;
598  ho_data[eta+42][phi-1][depth-1].get_average_amp(&ave,&rms);
599  ho_data[eta+42][phi-1][depth-1].get_average_time(&time,&time_rms);
600  T+=time; nT++; E+=ave; nE++;
601  if(ho_data[eta+42][phi-1][depth-1].get_reference(&ave,&rms,&time,&time_rms)){
602  Tr+=time; nTr++; Er+=ave; nEr++;}
603  }
604  }
605  }
606  if(nT<200 || nE<200 || nTr<200 || nEr<200) return false;
607  *ave_t=T/nT;
608  *ave_e=E/nE;
609  *ave_t_r=Tr/nTr;
610  *ave_e_r=Er/nEr;
611  return true;
612 }
bool get_average_amp(double *ave, double *rms)
T eta() const
bool get_average_time(double *ave, double *rms)
HcalDetDiagLaserData hb_data[85][72][4]
HcalDetDiagLaserData hf_data[85][72][4]
HcalDetDiagLaserData he_data[85][72][4]
HcalDetDiagLaserData ho_data[85][72][4]
Definition: DDAxes.h:10
void HcalDetDiagLaserMonitor::LoadReference ( )
private

Definition at line 1435 of file HcalDetDiagLaserMonitor.cc.

References reco::tau::disc::Eta(), f, hb_data, he_data, hf_data, ho_data, IsReference, colinearityKinematic::Phi, ReferenceData, ReferenceRun, plotscripts::rms(), HcalDetDiagLaserData::set_reference(), matplotRender::t, and cond::rpcobgas::time.

Referenced by beginRun().

1435  {
1436 double amp,rms,time,time_rms;
1437 int Eta,Phi,Depth;
1438 char subdet[10];
1439 TFile *f;
1440  if(gSystem->AccessPathName(ReferenceData.c_str())) return;
1441  f = new TFile(ReferenceData.c_str(),"READ");
1442 
1443  if(!f->IsOpen()) return ;
1444  TObjString *STR=(TObjString *)f->Get("run number");
1445 
1446  if(STR){ std::string Ref(STR->String()); ReferenceRun=Ref;}
1447 
1448  TTree* t=(TTree*)f->Get("HCAL Laser data");
1449  if(!t) return;
1450  t->SetBranchAddress("Subdet", subdet);
1451  t->SetBranchAddress("eta", &Eta);
1452  t->SetBranchAddress("phi", &Phi);
1453  t->SetBranchAddress("depth", &Depth);
1454  t->SetBranchAddress("amp", &amp);
1455  t->SetBranchAddress("rms", &rms);
1456  t->SetBranchAddress("time", &time);
1457  t->SetBranchAddress("time_rms", &time_rms);
1458 
1459  for(int ievt=0;ievt<t->GetEntries();ievt++){
1460  t->GetEntry(ievt);
1461  if(strcmp(subdet,"HB")==0) hb_data[Eta+42][Phi-1][Depth-1].set_reference(amp,rms,time,time_rms);
1462  if(strcmp(subdet,"HE")==0) he_data[Eta+42][Phi-1][Depth-1].set_reference(amp,rms,time,time_rms);
1463  if(strcmp(subdet,"HO")==0) ho_data[Eta+42][Phi-1][Depth-1].set_reference(amp,rms,time,time_rms);
1464  if(strcmp(subdet,"HF")==0) hf_data[Eta+42][Phi-1][Depth-1].set_reference(amp,rms,time,time_rms);
1465  }
1466  f->Close();
1467  IsReference=true;
1468 }
void set_reference(float val, float rms, float time, float time_rms)
double f[11][100]
HcalDetDiagLaserData hb_data[85][72][4]
HcalDetDiagLaserData hf_data[85][72][4]
HcalDetDiagLaserData he_data[85][72][4]
HcalDetDiagLaserData ho_data[85][72][4]
void HcalDetDiagLaserMonitor::SaveReference ( )
private

Definition at line 1229 of file HcalDetDiagLaserMonitor.cc.

References HcalElectronicsMap::allElectronicsIdPrecision(), dataset_seq_number, HcalDetId::depth(), DetId::det(), cond::rpcobgas::detid, ExpressReco_HICollisions_FallBack::e, emap, reco::tau::disc::Eta(), eta(), patZpeak::events, HcalDetDiagLaserData::get_average_amp1(), HcalDetDiagLaserData::get_average_time1(), HcalDetDiagLaserData::get_statistics1(), HcalDetDiagLaserData::get_status(), 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(), j, gen::k, HcalElectronicsMap::lookup(), OutputFilePath, Overwrite, phi, colinearityKinematic::Phi, plotscripts::rms(), CrabTask::run, run_number, step1_ZMM_7Tev::Status, DetId::subdetId(), matplotRender::t, interactiveExample::theFile, cond::rpcobgas::time, diffTreeTool::tree, xmlFile(), and XmlFilePath.

Referenced by analyze(), and endRun().

1229  {
1230 double amp,rms,Time,time_rms;
1231 int Eta,Phi,Depth,Statistic,Status=0;
1232 char Subdet[10],str[500];
1233  if(OutputFilePath.size()>0){
1234  if(!Overwrite){
1235  sprintf(str,"%sHcalDetDiagLaserData_run%06i_%i.root",OutputFilePath.c_str(),run_number,dataset_seq_number);
1236  }else{
1237  sprintf(str,"%sHcalDetDiagLaserData.root",OutputFilePath.c_str());
1238  }
1239  TFile *theFile = new TFile(str, "RECREATE");
1240  if(!theFile->IsOpen()) return;
1241  theFile->cd();
1242  sprintf(str,"%d",run_number); TObjString run(str); run.Write("run number");
1243  sprintf(str,"%d",ievt_); TObjString events(str); events.Write("Total events processed");
1244  sprintf(str,"%d",dataset_seq_number); TObjString dsnum(str); dsnum.Write("Dataset number");
1245  Long_t t; t=time(0); strftime(str,30,"%F %T",localtime(&t)); TObjString tm(str); tm.Write("Dataset creation time");
1246 
1247  TTree *tree =new TTree("HCAL Laser data","HCAL Laser data");
1248  if(tree==0) return;
1249  tree->Branch("Subdet", &Subdet, "Subdet/C");
1250  tree->Branch("eta", &Eta, "Eta/I");
1251  tree->Branch("phi", &Phi, "Phi/I");
1252  tree->Branch("depth", &Depth, "Depth/I");
1253  tree->Branch("statistic",&Statistic, "Statistic/I");
1254  tree->Branch("status", &Status, "Status/I");
1255  tree->Branch("amp", &amp, "amp/D");
1256  tree->Branch("rms", &rms, "rms/D");
1257  tree->Branch("time", &Time, "time/D");
1258  tree->Branch("time_rms", &time_rms, "time_rms/D");
1259  sprintf(Subdet,"HB");
1260  for(int eta=-16;eta<=16;eta++) for(int phi=1;phi<=72;phi++) for(int depth=1;depth<=2;depth++){
1261  if((Statistic=hb_data[eta+42][phi-1][depth-1].get_statistics1())>10){
1262  Eta=eta; Phi=phi; Depth=depth;
1263  Status=hb_data[eta+42][phi-1][depth-1].get_status();
1264  hb_data[eta+42][phi-1][depth-1].get_average_amp1(&amp,&rms);
1265  hb_data[eta+42][phi-1][depth-1].get_average_time1(&Time,&time_rms);
1266  tree->Fill();
1267  }
1268  }
1269  sprintf(Subdet,"HE");
1270  for(int eta=-29;eta<=29;eta++) for(int phi=1;phi<=72;phi++) for(int depth=1;depth<=3;depth++){
1271  if((Statistic=he_data[eta+42][phi-1][depth-1].get_statistics1())>10){
1272  Eta=eta; Phi=phi; Depth=depth;
1273  Status=he_data[eta+42][phi-1][depth-1].get_status();
1274  he_data[eta+42][phi-1][depth-1].get_average_amp1(&amp,&rms);
1275  he_data[eta+42][phi-1][depth-1].get_average_time1(&Time,&time_rms);
1276  tree->Fill();
1277  }
1278  }
1279  sprintf(Subdet,"HO");
1280  for(int eta=-15;eta<=15;eta++) for(int phi=1;phi<=72;phi++) for(int depth=4;depth<=4;depth++){
1281  if((Statistic=ho_data[eta+42][phi-1][depth-1].get_statistics1())>10){
1282  Eta=eta; Phi=phi; Depth=depth;
1283  Status=ho_data[eta+42][phi-1][depth-1].get_status();
1284  ho_data[eta+42][phi-1][depth-1].get_average_amp1(&amp,&rms);
1285  ho_data[eta+42][phi-1][depth-1].get_average_time1(&Time,&time_rms);
1286  tree->Fill();
1287  }
1288  }
1289  sprintf(Subdet,"HF");
1290  for(int eta=-42;eta<=42;eta++) for(int phi=1;phi<=72;phi++) for(int depth=1;depth<=2;depth++){
1291  if((Statistic=hf_data[eta+42][phi-1][depth-1].get_statistics1())>10){
1292  Eta=eta; Phi=phi; Depth=depth;
1293  Status=hf_data[eta+42][phi-1][depth-1].get_status();
1294  hf_data[eta+42][phi-1][depth-1].get_average_amp1(&amp,&rms);
1295  hf_data[eta+42][phi-1][depth-1].get_average_time1(&Time,&time_rms);
1296  tree->Fill();
1297  }
1298  }
1299  theFile->Write();
1300  theFile->Close();
1301  }
1302  if(XmlFilePath.size()>0){
1303  //create XML file
1304  if(!Overwrite){
1305  sprintf(str,"HcalDetDiagLaser_%i_%i.xml",run_number,dataset_seq_number);
1306  }else{
1307  sprintf(str,"HcalDetDiagLaser.xml");
1308  }
1309  std::string xmlName=str;
1310  ofstream xmlFile;
1311  xmlFile.open(xmlName.c_str());
1312 
1313  xmlFile<<"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n";
1314  xmlFile<<"<ROOT>\n";
1315  xmlFile<<" <HEADER>\n";
1316  xmlFile<<" <HINTS mode='only-det-root'/>\n";
1317  xmlFile<<" <TYPE>\n";
1318  xmlFile<<" <EXTENSION_TABLE_NAME>HCAL_DETMON_LED_LASER_V1</EXTENSION_TABLE_NAME>\n";
1319  xmlFile<<" <NAME>HCAL Laser HBHE HPD [abort gap global]</NAME>\n";
1320  xmlFile<<" </TYPE>\n";
1321  xmlFile<<" <!-- run details -->\n";
1322  xmlFile<<" <RUN>\n";
1323  xmlFile<<" <RUN_TYPE>GLOBAL-RUN</RUN_TYPE>\n";
1324  xmlFile<<" <RUN_NUMBER>"<<run_number<<"</RUN_NUMBER>\n";
1325  xmlFile<<" <RUN_BEGIN_TIMESTAMP>2009-01-01 00:00:00</RUN_BEGIN_TIMESTAMP>\n";
1326  xmlFile<<" <COMMENT_DESCRIPTION>hcal laser data</COMMENT_DESCRIPTION>\n";
1327  xmlFile<<" <LOCATION>P5</LOCATION>\n";
1328  xmlFile<<" <INITIATED_BY_USER>dma</INITIATED_BY_USER>\n";
1329  xmlFile<<" </RUN>\n";
1330  xmlFile<<" </HEADER>\n";
1331  xmlFile<<" <DATA_SET>\n";
1332  xmlFile<<" <!-- optional dataset metadata -->\n\n";
1333  xmlFile<<" <SET_NUMBER>"<<dataset_seq_number<<"</SET_NUMBER>\n";
1334  xmlFile<<" <SET_BEGIN_TIMESTAMP>2009-01-01 00:00:00</SET_BEGIN_TIMESTAMP>\n";
1335  xmlFile<<" <SET_END_TIMESTAMP>2009-01-01 00:00:00</SET_END_TIMESTAMP>\n";
1336  xmlFile<<" <NUMBER_OF_EVENTS_IN_SET>"<<ievt_<<"</NUMBER_OF_EVENTS_IN_SET>\n";
1337  xmlFile<<" <COMMENT_DESCRIPTION>Automatic DQM output</COMMENT_DESCRIPTION>\n";
1338  xmlFile<<" <DATA_FILE_NAME>"<< xmlName <<"</DATA_FILE_NAME>\n";
1339  xmlFile<<" <IMAGE_FILE_NAME>data plot url or file path</IMAGE_FILE_NAME>\n";
1340  xmlFile<<" <!-- who and when created this dataset-->\n\n";
1341  Long_t t; t=time(0); strftime(str,30,"%F %T",localtime(&t));
1342  xmlFile<<" <CREATE_TIMESTAMP>"<<str<<"</CREATE_TIMESTAMP>\n";
1343  xmlFile<<" <CREATED_BY_USER>dma</CREATED_BY_USER>\n";
1344  xmlFile<<" <!-- version (string) and subversion (number) -->\n";
1345  xmlFile<<" <!-- fields are used to read data back from the database -->\n\n";
1346  xmlFile<<" <VERSION>"<<run_number<<dataset_seq_number<<"</VERSION>\n";
1347  xmlFile<<" <SUBVERSION>1</SUBVERSION>\n";
1348  xmlFile<<" <!-- Assign predefined dataset attributes -->\n\n";
1349  xmlFile<<" <PREDEFINED_ATTRIBUTES>\n";
1350  xmlFile<<" <ATTRIBUTE>\n";
1351  xmlFile<<" <NAME>HCAL Dataset Status</NAME>\n";
1352  xmlFile<<" <VALUE>VALID</VALUE>\n";
1353  xmlFile<<" </ATTRIBUTE>\n";
1354  xmlFile<<" </PREDEFINED_ATTRIBUTES>\n";
1355  xmlFile<<" <!-- multiple data block records -->\n\n";
1356 
1357  std::vector <HcalElectronicsId> AllElIds = emap->allElectronicsIdPrecision();
1358  for(std::vector <HcalElectronicsId>::iterator eid = AllElIds.begin(); eid != AllElIds.end(); eid++){
1359  DetId detid=emap->lookup(*eid);
1360  if (detid.det()!=DetId::Hcal) continue;
1361  HcalGenericDetId gid(emap->lookup(*eid));
1362  if (gid.null())
1363  continue;
1364  if (gid.genericSubdet()!=HcalGenericDetId::HcalGenBarrel &&
1365  gid.genericSubdet()!=HcalGenericDetId::HcalGenEndcap &&
1366  gid.genericSubdet()!=HcalGenericDetId::HcalGenForward &&
1367  gid.genericSubdet()!=HcalGenericDetId::HcalGenOuter)
1368  continue;
1369  int eta,phi,depth;
1370  std::string subdet="";
1371  HcalDetId hid(detid);
1372  eta=hid.ieta();
1373  phi=hid.iphi();
1374  depth=hid.depth();
1375 
1376  double e=0,e_rms=0,t=0,t_rms=0;
1377  if(detid.subdetId()==HcalBarrel){
1378  subdet="HB";
1379  Statistic=hb_data[eta+42][phi-1][depth-1].get_statistics1();
1380  Status =hb_data[eta+42][phi-1][depth-1].get_status();
1381  hb_data[eta+42][phi-1][depth-1].get_average_amp1(&e,&e_rms);
1382  hb_data[eta+42][phi-1][depth-1].get_average_time1(&t,&t_rms);
1383  }else if(detid.subdetId()==HcalEndcap){
1384  subdet="HE";
1385  Statistic=he_data[eta+42][phi-1][depth-1].get_statistics1();
1386  Status =he_data[eta+42][phi-1][depth-1].get_status();
1387  he_data[eta+42][phi-1][depth-1].get_average_amp1(&e,&e_rms);
1388  he_data[eta+42][phi-1][depth-1].get_average_time1(&t,&t_rms);
1389  }else if(detid.subdetId()==HcalForward){
1390  subdet="HF";
1391  Statistic=hf_data[eta+42][phi-1][depth-1].get_statistics1();
1392  Status =hf_data[eta+42][phi-1][depth-1].get_status();
1393  hf_data[eta+42][phi-1][depth-1].get_average_amp1(&e,&e_rms);
1394  hf_data[eta+42][phi-1][depth-1].get_average_time1(&t,&t_rms);
1395  }else if(detid.subdetId()==HcalOuter){
1396  subdet="HO";
1397  Statistic=ho_data[eta+42][phi-1][depth-1].get_statistics1();
1398  Status =ho_data[eta+42][phi-1][depth-1].get_status();
1399  ho_data[eta+42][phi-1][depth-1].get_average_amp1(&e,&e_rms);
1400  ho_data[eta+42][phi-1][depth-1].get_average_time1(&t,&t_rms);
1401  }else continue;
1402  xmlFile<<" <DATA>\n";
1403  xmlFile<<" <NUMBER_OF_EVENTS_USED>"<<Statistic<<"</NUMBER_OF_EVENTS_USED>\n";
1404  xmlFile<<" <SIGNAL_MEAN>"<<e<<"</SIGNAL_MEAN>\n";
1405  xmlFile<<" <SIGNAL_RMS>"<<e_rms<<"</SIGNAL_RMS>\n";
1406  xmlFile<<" <TIME_MEAN>"<<t<<"</TIME_MEAN>\n";
1407  xmlFile<<" <TIME_RMS>"<<t_rms<<"</TIME_RMS>\n";
1408  xmlFile<<" <CHANNEL_STATUS_WORD>"<<Status<<"</CHANNEL_STATUS_WORD>\n";
1409  xmlFile<<" <CHANNEL_OBJECTNAME>HcalDetId</CHANNEL_OBJECTNAME>\n";
1410  xmlFile<<" <SUBDET>"<<subdet<<"</SUBDET>\n";
1411  xmlFile<<" <IETA>"<<eta<<"</IETA>\n";
1412  xmlFile<<" <IPHI>"<<phi<<"</IPHI>\n";
1413  xmlFile<<" <DEPTH>"<<depth<<"</DEPTH>\n";
1414  xmlFile<<" <TYPE>0</TYPE>\n";
1415  xmlFile<<" </DATA>\n";
1416  }
1418  xmlFile<<" </DATA_SET>\n";
1419  xmlFile<<"</ROOT>\n";
1420  xmlFile.close();
1421  sprintf(str,"zip %s.zip %s",xmlName.c_str(),xmlName.c_str());
1422  system(str);
1423  sprintf(str,"rm -f %s",xmlName.c_str());
1424  system(str);
1425  sprintf(str,"mv -f %s.zip %s",xmlName.c_str(),XmlFilePath.c_str());
1426  system(str);
1427  }
1428  for(int i=0;i<85;i++)for(int j=0;j<72;j++)for(int k=0;k<4;k++) hb_data[i][j][k].reset1();
1429  for(int i=0;i<85;i++)for(int j=0;j<72;j++)for(int k=0;k<4;k++) he_data[i][j][k].reset1();
1430  for(int i=0;i<85;i++)for(int j=0;j<72;j++)for(int k=0;k<4;k++) ho_data[i][j][k].reset1();
1431  for(int i=0;i<85;i++)for(int j=0;j<72;j++)for(int k=0;k<4;k++) hf_data[i][j][k].reset1();
1432  ievt_=0;
1433  dataset_seq_number++;
1434 }
int i
Definition: DBlmapReader.cc:9
std::vector< HcalElectronicsId > allElectronicsIdPrecision() const
bool get_average_amp1(double *ave, double *rms)
const HcalElectronicsMap * emap
T eta() const
int j
Definition: DBlmapReader.cc:9
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
int k[5][pyjets_maxn]
Definition: DetId.h:20
HcalDetDiagLaserData hb_data[85][72][4]
bool get_average_time1(double *ave, double *rms)
bool xmlFile(const std::string fParam)
HcalDetDiagLaserData hf_data[85][72][4]
tuple events
Definition: patZpeak.py:19
HcalDetDiagLaserData he_data[85][72][4]
Detector det() const
get the detector field from this detid
Definition: DetId.h:37
HcalDetDiagLaserData ho_data[85][72][4]
const DetId lookup(HcalElectronicsId fId) const
lookup the logical detid associated with the given electronics id
Definition: DDAxes.h:10

Member Data Documentation

std::string HcalDetDiagLaserMonitor::baseFolder_
private

Definition at line 234 of file HcalDetDiagLaserMonitor.cc.

int HcalDetDiagLaserMonitor::dataset_seq_number
private

Definition at line 226 of file HcalDetDiagLaserMonitor.cc.

Referenced by HcalDetDiagLaserMonitor(), and SaveReference().

const HcalElectronicsMap* HcalDetDiagLaserMonitor::emap
private
MonitorElement* HcalDetDiagLaserMonitor::Energy2Dhbhehf
private

Definition at line 257 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::Energy2Dho
private

Definition at line 258 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

HcalDetDiagLaserData HcalDetDiagLaserMonitor::hb_data[85][72][4]
private
MonitorElement* HcalDetDiagLaserMonitor::hb_time_rbx
private

Definition at line 264 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::hbheEnergy
private

Definition at line 242 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::hbheEnergyRMS
private

Definition at line 244 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::hbheTime
private

Definition at line 243 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::hbheTimeRMS
private

Definition at line 245 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

HcalDetDiagLaserData HcalDetDiagLaserMonitor::he_data[85][72][4]
private
MonitorElement* HcalDetDiagLaserMonitor::he_time_rbx
private

Definition at line 265 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

HcalDetDiagLaserData HcalDetDiagLaserMonitor::hf_data[85][72][4]
private
MonitorElement* HcalDetDiagLaserMonitor::hf_time_rbx
private

Definition at line 267 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::hfEnergy
private

Definition at line 250 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::hfEnergyRMS
private

Definition at line 252 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::hfTime
private

Definition at line 251 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::hfTimeRMS
private

Definition at line 253 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

HcalDetDiagLaserData HcalDetDiagLaserMonitor::ho_data[85][72][4]
private
MonitorElement* HcalDetDiagLaserMonitor::ho_time_rbx
private

Definition at line 266 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::hoEnergy
private

Definition at line 246 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::hoEnergyRMS
private

Definition at line 248 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::hoTime
private

Definition at line 247 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::hoTimeRMS
private

Definition at line 249 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

int HcalDetDiagLaserMonitor::ievt_
private
edm::InputTag HcalDetDiagLaserMonitor::inputLabelDigi_
private

Definition at line 213 of file HcalDetDiagLaserMonitor.cc.

Referenced by analyze(), and HcalDetDiagLaserMonitor().

bool HcalDetDiagLaserMonitor::IsReference
private

Definition at line 227 of file HcalDetDiagLaserMonitor.cc.

Referenced by HcalDetDiagLaserMonitor(), and LoadReference().

double HcalDetDiagLaserMonitor::LaserEnergyThreshold
private

Definition at line 222 of file HcalDetDiagLaserMonitor.cc.

Referenced by fillProblems(), and HcalDetDiagLaserMonitor().

double HcalDetDiagLaserMonitor::LaserTimingThreshold
private

Definition at line 222 of file HcalDetDiagLaserMonitor.cc.

Referenced by fillProblems(), and HcalDetDiagLaserMonitor().

bool HcalDetDiagLaserMonitor::LocalRun
private

Definition at line 228 of file HcalDetDiagLaserMonitor.cc.

Referenced by analyze(), endRun(), and HcalDetDiagLaserMonitor().

MonitorElement* HcalDetDiagLaserMonitor::meEVT_
private

Definition at line 240 of file HcalDetDiagLaserMonitor.cc.

Referenced by analyze(), and beginRun().

MonitorElement * HcalDetDiagLaserMonitor::meRUN_
private

Definition at line 240 of file HcalDetDiagLaserMonitor.cc.

Referenced by analyze(), and beginRun().

int HcalDetDiagLaserMonitor::nHBHEchecks
private

Definition at line 221 of file HcalDetDiagLaserMonitor.cc.

Referenced by HcalDetDiagLaserMonitor().

int HcalDetDiagLaserMonitor::nHFchecks
private

Definition at line 221 of file HcalDetDiagLaserMonitor.cc.

Referenced by HcalDetDiagLaserMonitor().

int HcalDetDiagLaserMonitor::nHOchecks
private

Definition at line 221 of file HcalDetDiagLaserMonitor.cc.

Referenced by HcalDetDiagLaserMonitor().

bool HcalDetDiagLaserMonitor::Online_
private

Definition at line 237 of file HcalDetDiagLaserMonitor.cc.

Referenced by analyze(), endRun(), and HcalDetDiagLaserMonitor().

std::string HcalDetDiagLaserMonitor::OutputFilePath
private

Definition at line 232 of file HcalDetDiagLaserMonitor.cc.

Referenced by HcalDetDiagLaserMonitor(), and SaveReference().

bool HcalDetDiagLaserMonitor::Overwrite
private

Definition at line 238 of file HcalDetDiagLaserMonitor.cc.

Referenced by HcalDetDiagLaserMonitor(), and SaveReference().

std::string HcalDetDiagLaserMonitor::prefixME_
private

Definition at line 235 of file HcalDetDiagLaserMonitor.cc.

Referenced by HcalDetDiagLaserMonitor().

EtaPhiHists* HcalDetDiagLaserMonitor::ProblemCellsByDepth_energy
private

Definition at line 272 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillProblems().

EtaPhiHists* HcalDetDiagLaserMonitor::ProblemCellsByDepth_energy_val
private

Definition at line 276 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillProblems().

EtaPhiHists* HcalDetDiagLaserMonitor::ProblemCellsByDepth_timing
private

Definition at line 271 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillProblems().

EtaPhiHists* HcalDetDiagLaserMonitor::ProblemCellsByDepth_timing_val
private

Definition at line 275 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillProblems().

std::vector<std::string> HcalDetDiagLaserMonitor::problemnames_
private

Definition at line 273 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun().

MonitorElement* HcalDetDiagLaserMonitor::Raddam[56]
private

Definition at line 269 of file HcalDetDiagLaserMonitor.cc.

Referenced by analyze(), and beginRun().

edm::InputTag HcalDetDiagLaserMonitor::rawdatalabel_
private

Definition at line 236 of file HcalDetDiagLaserMonitor.cc.

Referenced by analyze(), and HcalDetDiagLaserMonitor().

MonitorElement* HcalDetDiagLaserMonitor::refEnergy2Dhbhehf
private

Definition at line 261 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::refEnergy2Dho
private

Definition at line 262 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

std::string HcalDetDiagLaserMonitor::ReferenceData
private

Definition at line 230 of file HcalDetDiagLaserMonitor.cc.

Referenced by HcalDetDiagLaserMonitor(), and LoadReference().

std::string HcalDetDiagLaserMonitor::ReferenceRun
private

Definition at line 231 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and LoadReference().

MonitorElement* HcalDetDiagLaserMonitor::RefRun_
private

Definition at line 241 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun().

MonitorElement* HcalDetDiagLaserMonitor::refTime2Dhbhehf
private

Definition at line 259 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::refTime2Dho
private

Definition at line 260 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

int HcalDetDiagLaserMonitor::run_number
private

Definition at line 225 of file HcalDetDiagLaserMonitor.cc.

Referenced by analyze(), HcalDetDiagLaserMonitor(), and SaveReference().

MonitorElement* HcalDetDiagLaserMonitor::Time2Dhbhehf
private

Definition at line 255 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

MonitorElement* HcalDetDiagLaserMonitor::Time2Dho
private

Definition at line 256 of file HcalDetDiagLaserMonitor.cc.

Referenced by beginRun(), and fillHistos().

std::string HcalDetDiagLaserMonitor::XmlFilePath
private

Definition at line 233 of file HcalDetDiagLaserMonitor.cc.

Referenced by HcalDetDiagLaserMonitor(), and SaveReference().