CMS 3D CMS Logo

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

#include <DQMHcalPhiSymAlCaReco.h>

Inheritance diagram for DQMHcalPhiSymAlCaReco:
DQMEDAnalyzer edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > > edm::stream::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 DQMHcalPhiSymAlCaReco (const edm::ParameterSet &)
 
 ~DQMHcalPhiSymAlCaReco ()
 
- Public Member Functions inherited from DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer (void)
 
virtual void endLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
virtual void endRunSummary (edm::Run const &, edm::EventSetup const &, dqmDetails::NoCache *) const final
 
uint32_t streamId () const
 
- Public Member Functions inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
 EDAnalyzer ()=default
 
- Public Member Functions inherited from edm::stream::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDAnalyzerBase ()
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (std::string const &iProcessName, std::string const &iModuleLabel, bool iPrint, std::vector< char const * > &oModuleLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 
void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context)
 
virtual void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 
void endRun (const edm::Run &r, const edm::EventSetup &c)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Attributes

int eventCounter_
 
std::string fileName_
 Output file name if required. More...
 
std::string folderName_
 DQM folder name. More...
 
edm::EDGetTokenT
< HBHERecHitCollection
hbherecoMB
 object to monitor More...
 
edm::EDGetTokenT
< HBHERecHitCollection
hbherecoNoise
 
MonitorElementhFEDsize
 
edm::EDGetTokenT
< HFRecHitCollection
hfrecoMB
 
edm::EDGetTokenT
< HFRecHitCollection
hfrecoNoise
 
MonitorElementhHcalIsZS
 
int hiDistr_r_nbin_
 
double hiDistr_x_max_
 
double hiDistr_x_min_
 
int hiDistr_x_nbin_
 
double hiDistr_y_max_
 
double hiDistr_y_min_
 
int hiDistr_y_nbin_
 
MonitorElementhiDistrHBHEsize1D_
 
MonitorElementhiDistrHFsize1D_
 
MonitorElementhiDistrMB2Min2D_
 
MonitorElementhiDistrMB2Pl2D_
 
MonitorElementhiDistrMBMin2D_
 
MonitorElementhiDistrMBPl2D_
 
MonitorElementhiDistrNoise2Min2D_
 
MonitorElementhiDistrNoise2Pl2D_
 
MonitorElementhiDistrNoiseMin2D_
 
MonitorElementhiDistrNoisePl2D_
 
MonitorElementhiDistrVarMBMin2D_
 
MonitorElementhiDistrVarMBPl2D_
 
MonitorElementhiDistrVarNoiseMin2D_
 
MonitorElementhiDistrVarNoisePl2D_
 
MonitorElementhL1Id
 
edm::InputTag horecoMB
 
edm::InputTag horecoNoise
 
double ihbhe_size_
 
double ihf_size_
 
unsigned int period_
 
edm::EDGetTokenT
< FEDRawDataCollection
rawInLabel_
 
bool saveToFile_
 Write to file. More...
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDAnalyzer< edm::RunSummaryCache< dqmDetails::NoCache >, edm::LuminosityBlockSummaryCache< dqmDetails::NoCache > >
typedef CacheContexts< T...> CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T...> HasAbility
 
typedef
CacheTypes::LuminosityBlockCache 
LuminosityBlockCache
 
typedef
LuminosityBlockContextT
< LuminosityBlockCache,
RunCache, GlobalCache
LuminosityBlockContext
 
typedef
CacheTypes::LuminosityBlockSummaryCache 
LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache,
GlobalCache
RunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDAnalyzerBase
typedef EDAnalyzerAdaptorBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static std::shared_ptr
< dqmDetails::NoCache
globalBeginLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *)
 
static std::shared_ptr
< dqmDetails::NoCache
globalBeginRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *)
 
static void globalEndLuminosityBlockSummary (edm::LuminosityBlock const &, edm::EventSetup const &, LuminosityBlockContext const *, dqmDetails::NoCache *)
 
static void globalEndRunSummary (edm::Run const &, edm::EventSetup const &, RunContext const *, dqmDetails::NoCache *)
 
- Static Public Member Functions inherited from edm::stream::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Detailed Description

Definition at line 24 of file DQMHcalPhiSymAlCaReco.h.

Constructor & Destructor Documentation

DQMHcalPhiSymAlCaReco::DQMHcalPhiSymAlCaReco ( const edm::ParameterSet ps)

Definition at line 45 of file DQMHcalPhiSymAlCaReco.cc.

References fileName_, folderName_, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hbherecoMB, hbherecoNoise, hfrecoMB, hfrecoNoise, hiDistr_r_nbin_, hiDistr_x_max_, hiDistr_x_min_, hiDistr_x_nbin_, hiDistr_y_max_, hiDistr_y_min_, hiDistr_y_nbin_, horecoMB, horecoNoise, ihbhe_size_, ihf_size_, period_, rawInLabel_, and saveToFile_.

45  :
47 {
48  //
49  // Input from configurator file
50  //
51  folderName_ = ps.getUntrackedParameter<string>("FolderName","ALCAStreamHcalPhiSym");
52 
53  hbherecoMB = consumes<HBHERecHitCollection>(ps.getParameter<edm::InputTag>("hbheInputMB"));
54  horecoMB = ps.getParameter<edm::InputTag>("hoInputMB");
55  hfrecoMB = consumes<HFRecHitCollection>(ps.getParameter<edm::InputTag>("hfInputMB"));
56 
57  hbherecoNoise = consumes<HBHERecHitCollection>(ps.getParameter<edm::InputTag>("hbheInputNoise"));
58  horecoNoise = ps.getParameter<edm::InputTag>("hoInputNoise");
59  hfrecoNoise = consumes<HFRecHitCollection>(ps.getParameter<edm::InputTag>("hfInputNoise"));
60 
61  rawInLabel_ = consumes<FEDRawDataCollection>(ps.getParameter<edm::InputTag>("rawInputLabel"));
62 
63  period_ = ps.getParameter<unsigned int>("period") ;
64 
65  saveToFile_ = ps.getUntrackedParameter<bool>("SaveToFile",false);
66  fileName_ = ps.getUntrackedParameter<string>("FileName","MonitorAlCaHcalPhiSym.root");
67 
68  // histogram parameters
69 
70  // Distribution of rechits in iPhi, iEta
71  hiDistr_y_nbin_ = ps.getUntrackedParameter<int>("hiDistr_y_nbin",72);
72  hiDistr_y_min_ = ps.getUntrackedParameter<double>("hiDistr_y_min",0.5);
73  hiDistr_y_max_ = ps.getUntrackedParameter<double>("hiDistr_y_max",72.5);
74  hiDistr_x_nbin_ = ps.getUntrackedParameter<int>("hiDistr_x_nbin",41);
75  hiDistr_x_min_ = ps.getUntrackedParameter<double>("hiDistr_x_min",0.5);
76  hiDistr_x_max_ = ps.getUntrackedParameter<double>("hiDistr_x_max",41.5);
77  // Check for NZS
78  hiDistr_r_nbin_ = ps.getUntrackedParameter<int>("hiDistr_r_nbin",100);
79  ihbhe_size_ = ps.getUntrackedParameter<double>("ihbhe_size_",5184.);
80  ihf_size_ = ps.getUntrackedParameter<double>("ihf_size_",1728.);
81 
82 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
bool saveToFile_
Write to file.
edm::EDGetTokenT< HBHERecHitCollection > hbherecoNoise
edm::EDGetTokenT< FEDRawDataCollection > rawInLabel_
edm::EDGetTokenT< HFRecHitCollection > hfrecoNoise
std::string folderName_
DQM folder name.
edm::EDGetTokenT< HFRecHitCollection > hfrecoMB
std::string fileName_
Output file name if required.
edm::EDGetTokenT< HBHERecHitCollection > hbherecoMB
object to monitor
DQMHcalPhiSymAlCaReco::~DQMHcalPhiSymAlCaReco ( )

Definition at line 84 of file DQMHcalPhiSymAlCaReco.cc.

85 {}

Member Function Documentation

void DQMHcalPhiSymAlCaReco::analyze ( const edm::Event e,
const edm::EventSetup c 
)
protectedvirtual

Implements edm::stream::EDAnalyzerBase.

Definition at line 308 of file DQMHcalPhiSymAlCaReco.cc.

References edm::SortedCollection< T, SORT >::begin(), FEDRawData::data(), HcalDetId::depth(), edm::SortedCollection< T, SORT >::end(), eventCounter_, FEDRawDataCollection::FEDData(), MonitorElement::Fill(), edm::Event::getByToken(), HcalDCCHeader::getSpigotData(), HcalDCCHeader::getSpigotPresent(), hbherecoMB, hbherecoNoise, hFEDsize, hfrecoMB, hfrecoNoise, hHcalIsZS, hiDistrHBHEsize1D_, hiDistrHFsize1D_, hiDistrMB2Min2D_, hiDistrMB2Pl2D_, hiDistrMBMin2D_, hiDistrMBPl2D_, hiDistrNoise2Min2D_, hiDistrNoise2Pl2D_, hiDistrNoiseMin2D_, hiDistrNoisePl2D_, hL1Id, i, HcalDetId::ieta(), ihbhe_size_, ihf_size_, HcalDetId::iphi(), HcalHTRData::isUnsuppressed(), edm::HandleBase::isValid(), relval_2017::k, LogDebug, FEDHeader::lvl1ID(), FEDNumbering::MAXHCALFEDID, FEDNumbering::MINHCALFEDID, period_, funct::pow(), edm::Handle< T >::product(), rawInLabel_, reco::return(), FEDRawData::size(), edm::SortedCollection< T, SORT >::size(), and HcalDCCHeader::SPIGOT_COUNT.

309  {
310 
311 
312  eventCounter_++;
313 
315  iEvent.getByToken(rawInLabel_,rawIn);
316 
317  if(!rawIn.isValid()){
318  LogDebug("") << "HcalCalibAlgos: Error! can't get hbhe product!" << std::endl;
319  return ;
320  }
321 
322  //get HCAL FEDs:
323  std::vector<int> selFEDs;
325  {
326  selFEDs.push_back(i);
327  }
328 
329  // std::cout<<" Size of FED "<<selFEDs.size()<<std::endl;
330 
331  const FEDRawDataCollection *rdc=rawIn.product();
332 
333  bool hcalIsZS = false;
334  int lvl1ID = 0;
335  bool lvl1IDFound = false;
336  for (unsigned int k=0; k<selFEDs.size(); k++) {
337  const FEDRawData & fedData = rdc->FEDData(selFEDs[k]);
338  // std::cout<<fedData.size()*std::pow(1024.,-1)<<std::endl;
339  hFEDsize->Fill(fedData.size()*std::pow(1024.,-1),1);
340 
341  // get HCAL DCC Header for each FEDRawData
342  const HcalDCCHeader* dccHeader=(const HcalDCCHeader*)(fedData.data());
343  if (dccHeader) {
344  // walk through the HTR data...
345  HcalHTRData htr;
346 
347  int nspigot =0;
348  for (int spigot=0; spigot<HcalDCCHeader::SPIGOT_COUNT; spigot++) {
349  nspigot++;
350 
351  if (!dccHeader->getSpigotPresent(spigot)) continue;
352 
353  // Load the given decoder with the pointer and length from this spigot.
354  dccHeader->getSpigotData(spigot,htr, fedData.size());
355 
356  if(k != 20 && nspigot !=14 ) {
357  if ( !htr.isUnsuppressed() ) { hcalIsZS = true; }
358  }
359  }
360  }
361 
362  // try to get the lvl1ID from the HCAL fed
363  if (!lvl1IDFound && (fedData.size() > 0)) {
364  // get FED Header for FEDRawData
365  FEDHeader fedHeader(fedData.data());
366  lvl1ID = fedHeader.lvl1ID();
367  lvl1IDFound = true;
368  }
369  } // loop over HcalFEDs
370 
371  hHcalIsZS->Fill( hcalIsZS );
372  hL1Id->Fill( lvl1ID%period_ );
373 
375  iEvent.getByToken(hbherecoNoise, hbheNS);
376 
377  if(!hbheNS.isValid()){
378  LogDebug("") << "HcalCalibAlgos: Error! can't get hbhe product!" << std::endl;
379  return ;
380  }
381 
383  iEvent.getByToken(hbherecoMB, hbheMB);
384 
385  if(!hbheMB.isValid()){
386  LogDebug("") << "HcalCalibAlgos: Error! can't get hbhe product!" << std::endl;
387  return ;
388  }
389 
391  iEvent.getByToken(hfrecoNoise, hfNS);
392 
393  if(!hfNS.isValid()){
394  LogDebug("") << "HcalCalibAlgos: Error! can't get hbhe product!" << std::endl;
395  return ;
396  }
397 
399  iEvent.getByToken(hfrecoMB, hfMB);
400 
401  if(!hfMB.isValid()){
402  LogDebug("") << "HcalCalibAlgos: Error! can't get hbhe product!" << std::endl;
403  return ;
404  }
405 
406  const HBHERecHitCollection HithbheNS = *(hbheNS.product());
407 
408  hiDistrHBHEsize1D_->Fill(HithbheNS.size()/ihbhe_size_);
409 
410 
411  for(HBHERecHitCollection::const_iterator hbheItr=HithbheNS.begin(); hbheItr!=HithbheNS.end(); hbheItr++)
412  {
413  DetId id = (*hbheItr).detid();
414  HcalDetId hid=HcalDetId(id);
415 
416  if(hid.depth() == 1) {
417  if( hid.ieta() > 0 ) {
418  hiDistrNoisePl2D_->Fill(hid.ieta(),hid.iphi(),hbheItr->energy());
419  hiDistrNoise2Pl2D_->Fill(hid.ieta(),hid.iphi(),hbheItr->energy()*hbheItr->energy());
420  } else {
421  hiDistrNoiseMin2D_->Fill(fabs(hid.ieta()),hid.iphi(),hbheItr->energy());
422  hiDistrNoise2Min2D_->Fill(fabs(hid.ieta()),hid.iphi(),hbheItr->energy()*hbheItr->energy());
423  }
424  }
425  }
426 
427  const HBHERecHitCollection HithbheMB = *(hbheMB.product());
428 
429  for(HBHERecHitCollection::const_iterator hbheItr=HithbheMB.begin(); hbheItr!=HithbheMB.end(); hbheItr++)
430  {
431  DetId id = (*hbheItr).detid();
432  HcalDetId hid=HcalDetId(id);
433 
434  if(hid.depth() == 1) {
435  if( hid.ieta() > 0 ) {
436  hiDistrMBPl2D_->Fill(hid.ieta(),hid.iphi(),hbheItr->energy());
437  hiDistrMB2Pl2D_->Fill(hid.ieta(),hid.iphi(),hbheItr->energy()*hbheItr->energy());
438  } else {
439  hiDistrMBMin2D_->Fill(fabs(hid.ieta()),hid.iphi(),hbheItr->energy());
440  hiDistrMB2Min2D_->Fill(fabs(hid.ieta()),hid.iphi(),hbheItr->energy()*hbheItr->energy());
441  }
442  }
443 
444  }
445 
446  const HFRecHitCollection HithfNS = *(hfNS.product());
447 
448  hiDistrHFsize1D_->Fill(HithfNS.size()/ihf_size_);
449 
450  for(HFRecHitCollection::const_iterator hbheItr=HithfNS.begin(); hbheItr!=HithfNS.end(); hbheItr++)
451  {
452 
453  DetId id = (*hbheItr).detid();
454  HcalDetId hid=HcalDetId(id);
455 
456  if(hid.depth() == 1) {
457  if( hid.ieta() > 0 ) {
458  hiDistrNoisePl2D_->Fill(hid.ieta(),hid.iphi(),hbheItr->energy());
459  hiDistrNoise2Pl2D_->Fill(hid.ieta(),hid.iphi(),hbheItr->energy()*hbheItr->energy());
460  } else {
461  hiDistrNoiseMin2D_->Fill(fabs(hid.ieta()),hid.iphi(),hbheItr->energy());
462  hiDistrNoise2Min2D_->Fill(fabs(hid.ieta()),hid.iphi(),hbheItr->energy()*hbheItr->energy());
463  }
464  }
465 
466  }
467 
468  const HFRecHitCollection HithfMB = *(hfMB.product());
469 
470  for(HFRecHitCollection::const_iterator hbheItr=HithfMB.begin(); hbheItr!=HithfMB.end(); hbheItr++)
471  {
472  DetId id = (*hbheItr).detid();
473  HcalDetId hid=HcalDetId(id);
474 
475  if(hid.depth() == 1) {
476  if( hid.ieta() > 0 ) {
477  hiDistrMBPl2D_->Fill(hid.ieta(),hid.iphi(),hbheItr->energy());
478  hiDistrMB2Pl2D_->Fill(hid.ieta(),hid.iphi(),hbheItr->energy()*hbheItr->energy());
479  } else {
480  hiDistrMBMin2D_->Fill(fabs(hid.ieta()),hid.iphi(),hbheItr->energy());
481  hiDistrMB2Min2D_->Fill(fabs(hid.ieta()),hid.iphi(),hbheItr->energy()*hbheItr->energy());
482  }
483  }
484  }
485 
486 
487 } //analyze
#define LogDebug(id)
MonitorElement * hiDistrNoisePl2D_
int i
Definition: DBlmapReader.cc:9
edm::EDGetTokenT< HBHERecHitCollection > hbherecoNoise
std::vector< HBHERecHit >::const_iterator const_iterator
edm::EDGetTokenT< FEDRawDataCollection > rawInLabel_
int getSpigotData(int nspigot, HcalHTRData &decodeTool, int validSize) const
size_t size() const
Lenght of the data buffer in bytes.
Definition: FEDRawData.h:47
void Fill(long long x)
bool isUnsuppressed() const
Is this event an unsuppresed event?
Definition: HcalHTRData.cc:353
MonitorElement * hiDistrMBPl2D_
MonitorElement * hiDistrHFsize1D_
int depth() const
get the tower depth
Definition: HcalDetId.cc:106
edm::EDGetTokenT< HFRecHitCollection > hfrecoNoise
int iEvent
Definition: GenABIO.cc:230
const FEDRawData & FEDData(int fedid) const
retrieve data for fed
int ieta() const
get the cell ieta
Definition: HcalDetId.h:56
bool getSpigotPresent(unsigned int nspigot) const
Read the &quot;PRESENT&quot; bit for this spigot.
MonitorElement * hiDistrMB2Pl2D_
bool isValid() const
Definition: HandleBase.h:75
MonitorElement * hiDistrNoise2Min2D_
const_iterator end() const
int iphi() const
get the cell iphi
Definition: HcalDetId.cc:101
Definition: DetId.h:18
T const * product() const
Definition: Handle.h:81
MonitorElement * hiDistrMBMin2D_
return(e1-e2)*(e1-e2)+dp *dp
edm::EDGetTokenT< HFRecHitCollection > hfrecoMB
static const int SPIGOT_COUNT
Definition: HcalDCCHeader.h:19
size_type size() const
const unsigned char * data() const
Return a const pointer to the beginning of the data buffer.
Definition: FEDRawData.cc:28
MonitorElement * hiDistrNoise2Pl2D_
MonitorElement * hiDistrNoiseMin2D_
int lvl1ID()
Level-1 event number generated by the TTC system.
Definition: FEDHeader.cc:20
edm::EDGetTokenT< HBHERecHitCollection > hbherecoMB
object to monitor
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
const_iterator begin() const
MonitorElement * hiDistrHBHEsize1D_
MonitorElement * hiDistrMB2Min2D_
void DQMHcalPhiSymAlCaReco::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup context 
)
protectedvirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 301 of file DQMHcalPhiSymAlCaReco.cc.

302  {
303 
304 }
void DQMHcalPhiSymAlCaReco::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  irun,
edm::EventSetup const &  isetup 
)
overrideprotectedvirtual

Implements DQMEDAnalyzer.

Definition at line 88 of file DQMHcalPhiSymAlCaReco.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), eventCounter_, folderName_, hFEDsize, hHcalIsZS, hiDistr_r_nbin_, hiDistr_x_max_, hiDistr_x_min_, hiDistr_x_nbin_, hiDistr_y_max_, hiDistr_y_min_, hiDistr_y_nbin_, hiDistrHBHEsize1D_, hiDistrHFsize1D_, hiDistrMB2Min2D_, hiDistrMB2Pl2D_, hiDistrMBMin2D_, hiDistrMBPl2D_, hiDistrNoise2Min2D_, hiDistrNoise2Pl2D_, hiDistrNoiseMin2D_, hiDistrNoisePl2D_, hiDistrVarMBMin2D_, hiDistrVarMBPl2D_, hiDistrVarNoiseMin2D_, hiDistrVarNoisePl2D_, hL1Id, period_, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::IBooker::setCurrentFolder(), SiStripMonitorClusterAlca_cfi::xmax, and SiStripMonitorClusterAlca_cfi::xmin.

88  {
89 
90  // create and cd into new folder
92 
93  eventCounter_ = 0;
94 
95  hFEDsize = ibooker.book1D("hFEDsize","HCAL FED size (kB)",200,-0.5,20.5);
96  hFEDsize->setAxisTitle("kB",1);
97 
98  hHcalIsZS = ibooker.book1D("hHcalIsZS", "Hcal Is ZS", 4, -1.5, 2.5);
99  hHcalIsZS->setBinLabel(2, "NZS");
100  hHcalIsZS->setBinLabel(3, "ZS");
101 
102  char hname[50];
103  sprintf(hname, "L1 Event Number %% %i", period_);
104  hL1Id = ibooker.book1D("hL1Id", hname,4200,-99.5,4099.5);
105  hL1Id->setAxisTitle(hname);
106 
107 
108  // book some histograms 1D
109  double xmin = 0.1;
110  double xmax = 1.1;
112  ibooker.book1D("DistrHBHEsize","Size of HBHE Collection",
114  xmin,
115  xmax
116  );
118  ibooker.book1D("DistrHFsize","Size of HF Collection",
120  xmin,
121  xmax
122  );
123 
124 
125  // First moment
126  hiDistrMBPl2D_ =
127  ibooker.book2D("MBdepthPl1", "iphi- +ieta signal distribution at depth1",
134  );
135 
136  hiDistrMBPl2D_->setAxisTitle("i#phi ", 2);
137  hiDistrMBPl2D_->setAxisTitle("i#eta ", 1);
138 
139 
141  ibooker.book2D("NoisedepthPl1", "iphi-ieta noise distribution at depth1",
142  hiDistr_x_nbin_+1,
143  hiDistr_x_min_-1.,
145  hiDistr_y_nbin_+1,
146  hiDistr_y_min_-1.,
148  );
149 
150  hiDistrNoisePl2D_->setAxisTitle("i#phi ", 2);
151  hiDistrNoisePl2D_->setAxisTitle("i#eta ", 1);
152 // Second moment
154  ibooker.book2D("MB2depthPl1", "iphi- +ieta signal distribution at depth1",
161  );
162 
163  hiDistrMB2Pl2D_->setAxisTitle("i#phi ", 2);
164  hiDistrMB2Pl2D_->setAxisTitle("i#eta ", 1);
165 
166 
168  ibooker.book2D("Noise2depthPl1", "iphi-ieta noise distribution at depth1",
175  );
176 
177  hiDistrNoise2Pl2D_->setAxisTitle("i#phi ", 2);
178  hiDistrNoise2Pl2D_->setAxisTitle("i#eta ", 1);
179 
180 // Variance
182  ibooker.book2D("VarMBdepthPl1", "iphi- +ieta signal distribution at depth1",
189  );
190 
191  hiDistrVarMBPl2D_->setAxisTitle("i#phi ", 2);
192  hiDistrVarMBPl2D_->setAxisTitle("i#eta ", 1);
193 
194 
196  ibooker.book2D("VarNoisedepthPl1", "iphi-ieta noise distribution at depth1",
203  );
204 
205  hiDistrVarNoisePl2D_->setAxisTitle("i#phi ", 2);
206  hiDistrVarNoisePl2D_->setAxisTitle("i#eta ", 1);
207 
208 //==================================================================================
209 // First moment
210  hiDistrMBMin2D_ =
211  ibooker.book2D("MBdepthMin1", "iphi- +ieta signal distribution at depth1",
218  );
219 
220  hiDistrMBMin2D_->setAxisTitle("i#phi ", 2);
221  hiDistrMBMin2D_->setAxisTitle("i#eta ", 1);
222 
223 
225  ibooker.book2D("NoisedepthMin1", "iphi-ieta noise distribution at depth1",
232  );
233 
234  hiDistrNoiseMin2D_->setAxisTitle("i#phi ", 2);
235  hiDistrNoiseMin2D_->setAxisTitle("i#eta ", 1);
236 // Second moment
238  ibooker.book2D("MB2depthMin1", "iphi- +ieta signal distribution at depth1",
245  );
246 
247  hiDistrMB2Min2D_->setAxisTitle("i#phi ", 2);
248  hiDistrMB2Min2D_->setAxisTitle("i#eta ", 1);
249 
250 
252  ibooker.book2D("Noise2depthMin1", "iphi-ieta noise distribution at depth1",
259  );
260 
261  hiDistrNoise2Min2D_->setAxisTitle("i#phi ", 2);
262  hiDistrNoise2Min2D_->setAxisTitle("i#eta ", 1);
263 
264 // Variance
266  ibooker.book2D("VarMBdepthMin1", "iphi- +ieta signal distribution at depth1",
273  );
274 
275  hiDistrVarMBMin2D_->setAxisTitle("i#phi ", 2);
276  hiDistrVarMBMin2D_->setAxisTitle("i#eta ", 1);
277 
278 
280  ibooker.book2D("VarNoisedepthMin1", "iphi-ieta noise distribution at depth1",
287  );
288 
289  hiDistrVarNoiseMin2D_->setAxisTitle("i#phi ", 2);
290  hiDistrVarNoiseMin2D_->setAxisTitle("i#eta ", 1);
291 
292 
293 }
MonitorElement * hiDistrNoisePl2D_
MonitorElement * hiDistrVarMBPl2D_
MonitorElement * hiDistrVarNoiseMin2D_
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)
MonitorElement * hiDistrMBPl2D_
MonitorElement * hiDistrHFsize1D_
MonitorElement * hiDistrVarMBMin2D_
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
MonitorElement * hiDistrVarNoisePl2D_
std::string folderName_
DQM folder name.
MonitorElement * hiDistrMB2Pl2D_
MonitorElement * hiDistrNoise2Min2D_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:276
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
MonitorElement * hiDistrMBMin2D_
MonitorElement * hiDistrNoise2Pl2D_
MonitorElement * hiDistrNoiseMin2D_
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * hiDistrHBHEsize1D_
MonitorElement * hiDistrMB2Min2D_
void DQMHcalPhiSymAlCaReco::endLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
protectedvirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 493 of file DQMHcalPhiSymAlCaReco.cc.

494  {
495 }
void DQMHcalPhiSymAlCaReco::endRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

Reimplemented from edm::stream::EDAnalyzerBase.

Definition at line 497 of file DQMHcalPhiSymAlCaReco.cc.

References eventCounter_, MonitorElement::getBinContent(), hiDistr_x_nbin_, hiDistr_y_nbin_, hiDistrMB2Min2D_, hiDistrMB2Pl2D_, hiDistrMBMin2D_, hiDistrMBPl2D_, hiDistrNoise2Min2D_, hiDistrNoise2Pl2D_, hiDistrNoiseMin2D_, hiDistrNoisePl2D_, hiDistrVarMBMin2D_, hiDistrVarMBPl2D_, hiDistrVarNoiseMin2D_, hiDistrVarNoisePl2D_, j, relval_2017::k, and MonitorElement::setBinContent().

497  {
498 // Keep Variances
499  if(eventCounter_ > 0) {
500  for(int k=0; k<=hiDistr_x_nbin_;k++)
501  {
502  for(int j=0; j<=hiDistr_y_nbin_;j++)
503  {
504 // First moment
505  float cc1=hiDistrMBPl2D_->getBinContent(k,j);
506  cc1 = cc1 * 1./eventCounter_;
507  float cc2=hiDistrNoisePl2D_->getBinContent(k,j);
508  cc2 = cc2 * 1./eventCounter_;
509  float cc3=hiDistrMBMin2D_->getBinContent(k,j);
510  cc3 = cc3 * 1./eventCounter_;
511  float cc4=hiDistrNoiseMin2D_->getBinContent(k,j);
512  cc4 = cc4 * 1./eventCounter_;
513 // Second moment
514  float cc11=hiDistrMB2Pl2D_->getBinContent(k,j);
515  cc11 = cc11 * 1./eventCounter_;
516  hiDistrVarMBPl2D_->setBinContent(k,j,cc11-cc1*cc1);
517  float cc22=hiDistrNoise2Pl2D_->getBinContent(k,j);
518  cc22 = cc22 * 1./eventCounter_;
519  hiDistrVarNoisePl2D_->setBinContent(k,j,cc22-cc2*cc2);
520  float cc33=hiDistrMB2Min2D_->getBinContent(k,j);
521  cc33 = cc33 * 1./eventCounter_;
522  hiDistrVarMBMin2D_->setBinContent(k,j,cc33-cc3*cc3);
523  float cc44=hiDistrNoise2Min2D_->getBinContent(k,j);
524  cc44 = cc44 * 1./eventCounter_;
525  hiDistrVarNoiseMin2D_->setBinContent(k,j,cc44-cc4*cc4);
526  }
527  }
528  }
529 }
MonitorElement * hiDistrNoisePl2D_
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * hiDistrVarMBPl2D_
MonitorElement * hiDistrVarNoiseMin2D_
MonitorElement * hiDistrMBPl2D_
MonitorElement * hiDistrVarMBMin2D_
int j
Definition: DBlmapReader.cc:9
MonitorElement * hiDistrVarNoisePl2D_
MonitorElement * hiDistrMB2Pl2D_
MonitorElement * hiDistrNoise2Min2D_
MonitorElement * hiDistrMBMin2D_
double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * hiDistrNoise2Pl2D_
MonitorElement * hiDistrNoiseMin2D_
MonitorElement * hiDistrMB2Min2D_

Member Data Documentation

int DQMHcalPhiSymAlCaReco::eventCounter_
private

Definition at line 49 of file DQMHcalPhiSymAlCaReco.h.

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

std::string DQMHcalPhiSymAlCaReco::fileName_
private

Output file name if required.

Definition at line 110 of file DQMHcalPhiSymAlCaReco.h.

Referenced by DQMHcalPhiSymAlCaReco().

std::string DQMHcalPhiSymAlCaReco::folderName_
private

DQM folder name.

Definition at line 101 of file DQMHcalPhiSymAlCaReco.h.

Referenced by bookHistograms(), and DQMHcalPhiSymAlCaReco().

edm::EDGetTokenT<HBHERecHitCollection> DQMHcalPhiSymAlCaReco::hbherecoMB
private

object to monitor

Definition at line 90 of file DQMHcalPhiSymAlCaReco.h.

Referenced by analyze(), and DQMHcalPhiSymAlCaReco().

edm::EDGetTokenT<HBHERecHitCollection> DQMHcalPhiSymAlCaReco::hbherecoNoise
private

Definition at line 94 of file DQMHcalPhiSymAlCaReco.h.

Referenced by analyze(), and DQMHcalPhiSymAlCaReco().

MonitorElement* DQMHcalPhiSymAlCaReco::hFEDsize
private

Definition at line 72 of file DQMHcalPhiSymAlCaReco.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<HFRecHitCollection> DQMHcalPhiSymAlCaReco::hfrecoMB
private

Definition at line 92 of file DQMHcalPhiSymAlCaReco.h.

Referenced by analyze(), and DQMHcalPhiSymAlCaReco().

edm::EDGetTokenT<HFRecHitCollection> DQMHcalPhiSymAlCaReco::hfrecoNoise
private

Definition at line 96 of file DQMHcalPhiSymAlCaReco.h.

Referenced by analyze(), and DQMHcalPhiSymAlCaReco().

MonitorElement* DQMHcalPhiSymAlCaReco::hHcalIsZS
private

Definition at line 73 of file DQMHcalPhiSymAlCaReco.h.

Referenced by analyze(), and bookHistograms().

int DQMHcalPhiSymAlCaReco::hiDistr_r_nbin_
private

Definition at line 83 of file DQMHcalPhiSymAlCaReco.h.

Referenced by bookHistograms(), and DQMHcalPhiSymAlCaReco().

double DQMHcalPhiSymAlCaReco::hiDistr_x_max_
private

Definition at line 81 of file DQMHcalPhiSymAlCaReco.h.

Referenced by bookHistograms(), and DQMHcalPhiSymAlCaReco().

double DQMHcalPhiSymAlCaReco::hiDistr_x_min_
private

Definition at line 80 of file DQMHcalPhiSymAlCaReco.h.

Referenced by bookHistograms(), and DQMHcalPhiSymAlCaReco().

int DQMHcalPhiSymAlCaReco::hiDistr_x_nbin_
private

Definition at line 77 of file DQMHcalPhiSymAlCaReco.h.

Referenced by bookHistograms(), DQMHcalPhiSymAlCaReco(), and endRun().

double DQMHcalPhiSymAlCaReco::hiDistr_y_max_
private

Definition at line 79 of file DQMHcalPhiSymAlCaReco.h.

Referenced by bookHistograms(), and DQMHcalPhiSymAlCaReco().

double DQMHcalPhiSymAlCaReco::hiDistr_y_min_
private

Definition at line 78 of file DQMHcalPhiSymAlCaReco.h.

Referenced by bookHistograms(), and DQMHcalPhiSymAlCaReco().

int DQMHcalPhiSymAlCaReco::hiDistr_y_nbin_
private

Definition at line 76 of file DQMHcalPhiSymAlCaReco.h.

Referenced by bookHistograms(), DQMHcalPhiSymAlCaReco(), and endRun().

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrHBHEsize1D_
private

Definition at line 69 of file DQMHcalPhiSymAlCaReco.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrHFsize1D_
private

Definition at line 70 of file DQMHcalPhiSymAlCaReco.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrMB2Min2D_
private

Definition at line 61 of file DQMHcalPhiSymAlCaReco.h.

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

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrMB2Pl2D_
private

Definition at line 59 of file DQMHcalPhiSymAlCaReco.h.

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

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrMBMin2D_
private

Definition at line 56 of file DQMHcalPhiSymAlCaReco.h.

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

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrMBPl2D_
private

Definition at line 54 of file DQMHcalPhiSymAlCaReco.h.

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

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrNoise2Min2D_
private

Definition at line 62 of file DQMHcalPhiSymAlCaReco.h.

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

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrNoise2Pl2D_
private

Definition at line 60 of file DQMHcalPhiSymAlCaReco.h.

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

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrNoiseMin2D_
private

Definition at line 57 of file DQMHcalPhiSymAlCaReco.h.

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

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrNoisePl2D_
private

Definition at line 55 of file DQMHcalPhiSymAlCaReco.h.

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

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrVarMBMin2D_
private

Definition at line 66 of file DQMHcalPhiSymAlCaReco.h.

Referenced by bookHistograms(), and endRun().

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrVarMBPl2D_
private

Definition at line 64 of file DQMHcalPhiSymAlCaReco.h.

Referenced by bookHistograms(), and endRun().

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrVarNoiseMin2D_
private

Definition at line 67 of file DQMHcalPhiSymAlCaReco.h.

Referenced by bookHistograms(), and endRun().

MonitorElement* DQMHcalPhiSymAlCaReco::hiDistrVarNoisePl2D_
private

Definition at line 65 of file DQMHcalPhiSymAlCaReco.h.

Referenced by bookHistograms(), and endRun().

MonitorElement* DQMHcalPhiSymAlCaReco::hL1Id
private

Definition at line 74 of file DQMHcalPhiSymAlCaReco.h.

Referenced by analyze(), and bookHistograms().

edm::InputTag DQMHcalPhiSymAlCaReco::horecoMB
private

Definition at line 91 of file DQMHcalPhiSymAlCaReco.h.

Referenced by DQMHcalPhiSymAlCaReco().

edm::InputTag DQMHcalPhiSymAlCaReco::horecoNoise
private

Definition at line 95 of file DQMHcalPhiSymAlCaReco.h.

Referenced by DQMHcalPhiSymAlCaReco().

double DQMHcalPhiSymAlCaReco::ihbhe_size_
private

Definition at line 84 of file DQMHcalPhiSymAlCaReco.h.

Referenced by analyze(), and DQMHcalPhiSymAlCaReco().

double DQMHcalPhiSymAlCaReco::ihf_size_
private

Definition at line 85 of file DQMHcalPhiSymAlCaReco.h.

Referenced by analyze(), and DQMHcalPhiSymAlCaReco().

unsigned int DQMHcalPhiSymAlCaReco::period_
private

Definition at line 107 of file DQMHcalPhiSymAlCaReco.h.

Referenced by analyze(), bookHistograms(), and DQMHcalPhiSymAlCaReco().

edm::EDGetTokenT<FEDRawDataCollection> DQMHcalPhiSymAlCaReco::rawInLabel_
private

Definition at line 98 of file DQMHcalPhiSymAlCaReco.h.

Referenced by analyze(), and DQMHcalPhiSymAlCaReco().

bool DQMHcalPhiSymAlCaReco::saveToFile_
private

Write to file.

Definition at line 104 of file DQMHcalPhiSymAlCaReco.h.

Referenced by DQMHcalPhiSymAlCaReco().