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
HcalDigiTester Class Reference

#include <HcalDigiTester.h>

Inheritance diagram for HcalDigiTester:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void endJob ()
 
virtual void endRun ()
 
 HcalDigiTester (const edm::ParameterSet &)
 
template<class Digi >
void reco (const edm::Event &, const edm::EventSetup &, const edm::EDGetTokenT< edm::SortedCollection< Digi > > &)
 
 ~HcalDigiTester ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 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 (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Member Functions

double dR (double eta1, double phi1, double eta2, double phi2)
 
void eval_occupancy ()
 
HcalSubdetDigiMonitormonitor ()
 

Private Attributes

edm::ESHandle< HcalDbServiceconditions
 
DQMStoredbe_
 
edm::ESHandle< CaloGeometrygeometry
 
std::string hcalselector_
 
edm::InputTag inputTag_
 
std::string mc_
 
std::string mode_
 
std::map< std::string,
HcalSubdetDigiMonitor * > 
monitors_
 
int nevent1
 
int nevent2
 
int nevent3
 
int nevent4
 
int nevtot
 
int noise_
 
std::string outputFile_
 
float pedvalue
 
edm::EDGetTokenT
< edm::SortedCollection
< HBHEDataFrame > > 
tok_hbhe_
 
edm::EDGetTokenT
< edm::SortedCollection
< HFDataFrame > > 
tok_hf_
 
edm::EDGetTokenT
< edm::SortedCollection
< HODataFrame > > 
tok_ho_
 
edm::EDGetTokenT
< edm::PCaloHitContainer
tok_mc_
 
std::string zside_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- 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)
 

Detailed Description

Definition at line 22 of file HcalDigiTester.h.

Constructor & Destructor Documentation

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

Definition at line 523 of file HcalDigiTester.cc.

References inputTag_, outputFile_, tok_hbhe_, tok_hf_, tok_ho_, and tok_mc_.

525  inputTag_(iConfig.getParameter<edm::InputTag>("digiLabel")),
526  outputFile_(iConfig.getUntrackedParameter<std::string>("outputFile", "")),
527  hcalselector_(iConfig.getUntrackedParameter<std::string>("hcalselector", "all")),
528  zside_(iConfig.getUntrackedParameter<std::string>("zside", "*")),
529  mode_(iConfig.getUntrackedParameter<std::string>("mode", "multi")),
530  mc_(iConfig.getUntrackedParameter<std::string>("mc", "no")),
531  monitors_()
532 {
533 
534  // register for data access
535  tok_mc_ = consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits","HcalHits"));
536  tok_hbhe_ = consumes<edm::SortedCollection<HBHEDataFrame> >(edm::InputTag(inputTag_));
537  tok_ho_ = consumes<edm::SortedCollection<HODataFrame> >(edm::InputTag(inputTag_));
538  tok_hf_ = consumes<edm::SortedCollection<HFDataFrame> >(edm::InputTag(inputTag_));
539 
540  if ( outputFile_.size() != 0 ) {
541  edm::LogInfo("OutputInfo") << " Hcal Digi Task histograms will be saved to '" << outputFile_.c_str() << "'";
542  } else {
543  edm::LogInfo("OutputInfo") << " Hcal Digi Task histograms will NOT be saved";
544  }
545 
546 
547 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::EDGetTokenT< edm::SortedCollection< HODataFrame > > tok_ho_
edm::EDGetTokenT< edm::SortedCollection< HBHEDataFrame > > tok_hbhe_
std::string hcalselector_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_mc_
std::string mode_
std::string mc_
std::map< std::string, HcalSubdetDigiMonitor * > monitors_
edm::InputTag inputTag_
edm::EDGetTokenT< edm::SortedCollection< HFDataFrame > > tok_hf_
std::string zside_
DQMStore * dbe_
std::string outputFile_
HcalDigiTester::~HcalDigiTester ( )

Definition at line 550 of file HcalDigiTester.cc.

550 { }

Member Function Documentation

void HcalDigiTester::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 676 of file HcalDigiTester.cc.

References conditions, geometry, edm::EventSetup::get(), hcalselector_, iEvent, nevtot, noise_, tok_hbhe_, tok_hf_, and tok_ho_.

677 {
678 
679 
680  iSetup.get<CaloGeometryRecord>().get (geometry);
681  iSetup.get<HcalDbRecord>().get(conditions);
682 
683 
684  // std::cout << " >>>>> HcalDigiTester::analyze hcalselector = "
685  // << hcalselector_ << std::endl;
686 
687  if( hcalselector_ != "all") {
688  noise_ = 0;
689 
690 
691 
692  if (hcalselector_ == "HB" ) reco<HBHEDataFrame>(iEvent,iSetup,tok_hbhe_);
693  if (hcalselector_ == "HE" ) reco<HBHEDataFrame>(iEvent,iSetup,tok_hbhe_);
694  if (hcalselector_ == "HO" ) reco<HODataFrame>(iEvent,iSetup,tok_ho_);
695  if (hcalselector_ == "HF" ) reco<HFDataFrame>(iEvent,iSetup,tok_hf_);
696 
697  if (hcalselector_ == "noise") {
698  noise_ = 1;
699 
700  // std::cout << " >>>>> HcalDigiTester::analyze entering noise "
701  // << std::endl;
702 
703 
704  hcalselector_ = "HB";
705  reco<HBHEDataFrame>(iEvent,iSetup,tok_hbhe_);
706  hcalselector_ = "HE";
707  reco<HBHEDataFrame>(iEvent,iSetup,tok_hbhe_);
708  hcalselector_ = "HO";
709  reco<HODataFrame>(iEvent,iSetup,tok_ho_);
710  hcalselector_ = "HF";
711  reco<HFDataFrame>(iEvent,iSetup,tok_hf_);
712  hcalselector_ = "noise";
713  }
714  }
715  // all subdetectors
716  else {
717  noise_ = 0;
718 
719  hcalselector_ = "HB";
720  reco<HBHEDataFrame>(iEvent,iSetup,tok_hbhe_);
721  hcalselector_ = "HE";
722  reco<HBHEDataFrame>(iEvent,iSetup,tok_hbhe_);
723  hcalselector_ = "HO";
724  reco<HODataFrame>(iEvent,iSetup,tok_ho_);
725  hcalselector_ = "HF";
726  reco<HFDataFrame>(iEvent,iSetup,tok_hf_);
727  hcalselector_ = "all";
728  }
729 
730  nevtot++;
731 
732 }
edm::EDGetTokenT< edm::SortedCollection< HODataFrame > > tok_ho_
edm::EDGetTokenT< edm::SortedCollection< HBHEDataFrame > > tok_hbhe_
edm::ESHandle< CaloGeometry > geometry
std::string hcalselector_
edm::ESHandle< HcalDbService > conditions
int iEvent
Definition: GenABIO.cc:230
edm::EDGetTokenT< edm::SortedCollection< HFDataFrame > > tok_hf_
const T & get() const
Definition: EventSetup.h:55
void HcalDigiTester::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 648 of file HcalDigiTester.cc.

References nevent1, nevent2, nevent3, nevent4, and nevtot.

648  {
649 
650  nevent1 = 0;
651  nevent2 = 0;
652  nevent3 = 0;
653  nevent4 = 0;
654 
655  nevtot = 0;
656 
657 }
double HcalDigiTester::dR ( double  eta1,
double  phi1,
double  eta2,
double  phi2 
)
private

Definition at line 734 of file HcalDigiTester.cc.

References PI, mathSSE::sqrt(), and tmp.

734  {
735  double PI = 3.1415926535898;
736  double deltaphi= phi1 - phi2;
737  if( phi2 > phi1 ) { deltaphi= phi2 - phi1;}
738  if(deltaphi > PI) { deltaphi = 2.*PI - deltaphi;}
739  double deltaeta = eta2 - eta1;
740  double tmp = sqrt(deltaeta* deltaeta + deltaphi*deltaphi);
741  return tmp;
742 }
#define PI
T sqrt(T t)
Definition: SSEVec.h:48
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
void HcalDigiTester::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 575 of file HcalDigiTester.cc.

References dbe_, outputFile_, and DQMStore::save().

575  {
576 
577  if ( outputFile_.size() != 0 && dbe_ ) dbe_->save(outputFile_);
578 
579 }
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, const uint32_t lumi=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE", const bool resetMEsAfterWriting=false)
Definition: DQMStore.cc:2490
DQMStore * dbe_
std::string outputFile_
void HcalDigiTester::endRun ( void  )
virtual

Definition at line 553 of file HcalDigiTester.cc.

References eval_occupancy(), hcalselector_, and noise_.

553  {
554 
555  if(noise_ != 1) {
556 
557  if( hcalselector_ == "all") {
558  hcalselector_ = "HB";
559  eval_occupancy();
560  hcalselector_ = "HE";
561  eval_occupancy();
562  hcalselector_ = "HO";
563  eval_occupancy();
564  hcalselector_ = "HF";
565  eval_occupancy();
566  }
567  else // one of subsystem only
568  eval_occupancy();
569  }
570 
571 }
std::string hcalselector_
void HcalDigiTester::eval_occupancy ( )
private

Definition at line 583 of file HcalDigiTester.cc.

References HcalSubdetDigiMonitor::getBinContent_depth1(), HcalSubdetDigiMonitor::getBinContent_depth2(), HcalSubdetDigiMonitor::getBinContent_depth3(), HcalSubdetDigiMonitor::getBinContent_depth4(), i, j, monitor(), nevtot, HcalSubdetDigiMonitor::setBinContent_depth1(), HcalSubdetDigiMonitor::setBinContent_depth2(), HcalSubdetDigiMonitor::setBinContent_depth3(), and HcalSubdetDigiMonitor::setBinContent_depth4().

Referenced by endRun().

583  {
584 
585  int nx = 82;
586  int ny = 72;
587  float cnorm;
588  float fev = float (nevtot);
589  // std::cout << "*** nevtot " << nevtot << std::endl;
590 
591  float sumphi_1, sumphi_2, sumphi_3, sumphi_4;
592  float phi_factor;
593 
594  for (int i = 1; i <= nx; i++) {
595  sumphi_1 = 0.;
596  sumphi_2 = 0.;
597  sumphi_3 = 0.;
598  sumphi_4 = 0.;
599 
600  for (int j = 1; j <= ny; j++) {
601 
602  // occupancies
603  cnorm = monitor()->getBinContent_depth1(i,j) / fev;
604  monitor()->setBinContent_depth1(i,j,cnorm);
605  cnorm = monitor()->getBinContent_depth2(i,j) / fev;
606  monitor()->setBinContent_depth2(i,j,cnorm);
607  cnorm = monitor()->getBinContent_depth3(i,j) / fev;
608  monitor()->setBinContent_depth3(i,j,cnorm);
609  cnorm = monitor()->getBinContent_depth4(i,j) / fev;
610  monitor()->setBinContent_depth4(i,j,cnorm);
611 
612  sumphi_1 += monitor()->getBinContent_depth1(i,j);
613  sumphi_2 += monitor()->getBinContent_depth2(i,j);
614  sumphi_3 += monitor()->getBinContent_depth3(i,j);
615  sumphi_4 += monitor()->getBinContent_depth4(i,j);
616 
617  }
618 
619  int ieta = i - 42; // -41 -1, 0 40
620  if(ieta >=0 ) ieta +=1; // -41 -1, 1 41 - to make it detector-like
621 
622  if(ieta >= -20 && ieta <= 20 )
623  {phi_factor = 72.;}
624  else {
625  if(ieta >= 40 || ieta <= -40 ) {phi_factor = 18.;}
626  else
627  phi_factor = 36.;
628  }
629 
630 
631  if(ieta >= 0) ieta -= 1; // -41 -1, 0 40 - to bring back to histo num !!!
632  double deta = double(ieta);
633 
634  cnorm = sumphi_1 / phi_factor;
635  monitor() -> fillmeOccupancy_vs_ieta_depth1(deta, cnorm);
636  cnorm = sumphi_2 / phi_factor;
637  monitor() -> fillmeOccupancy_vs_ieta_depth2(deta, cnorm);
638  cnorm = sumphi_3 / phi_factor;
639  monitor() -> fillmeOccupancy_vs_ieta_depth3(deta, cnorm);
640  cnorm = sumphi_4 / phi_factor;
641  monitor() -> fillmeOccupancy_vs_ieta_depth4(deta, cnorm);
642 
643 
644  } // end of i-loop
645 
646 }
void setBinContent_depth2(int i, int j, double v)
int i
Definition: DBlmapReader.cc:9
HcalSubdetDigiMonitor * monitor()
double getBinContent_depth4(int i, int j)
void setBinContent_depth3(int i, int j, double v)
double getBinContent_depth2(int i, int j)
double getBinContent_depth1(int i, int j)
int j
Definition: DBlmapReader.cc:9
void setBinContent_depth4(int i, int j, double v)
void setBinContent_depth1(int i, int j, double v)
double getBinContent_depth3(int i, int j)
HcalSubdetDigiMonitor * HcalDigiTester::monitor ( )
private

Definition at line 660 of file HcalDigiTester.cc.

References dbe_, hcalselector_, m, monitors_, and noise_.

Referenced by eval_occupancy(), and reco().

661 {
662  std::map<std::string, HcalSubdetDigiMonitor*>::iterator monitorItr
663  = monitors_.find(hcalselector_);
664 
665  if(monitorItr == monitors_.end())
666  {
668  std::pair<std::string, HcalSubdetDigiMonitor*> mapElement(
669  hcalselector_, m);
670  monitorItr = monitors_.insert(mapElement).first;
671  }
672  return monitorItr->second;
673 }
std::string hcalselector_
std::map< std::string, HcalSubdetDigiMonitor * > monitors_
DQMStore * dbe_
template<class Digi >
void HcalDigiTester::reco ( const edm::Event iEvent,
const edm::EventSetup iSetup,
const edm::EDGetTokenT< edm::SortedCollection< Digi > > &  tok 
)

Definition at line 36 of file HcalDigiTester.cc.

References HcalCoderDb::adc2fC(), conditions, HcalDetId::depth(), reco_application_2006_simpleTBanalysis_cfg::digiCollection, HcalSubdetDigiMonitor::fillmeADC0_depth1(), HcalSubdetDigiMonitor::fillmeADC0_depth2(), HcalSubdetDigiMonitor::fillmeADC0_depth3(), HcalSubdetDigiMonitor::fillmeADC0_depth4(), HcalSubdetDigiMonitor::fillmeADC0fC_depth1(), HcalSubdetDigiMonitor::fillmeADC0fC_depth2(), HcalSubdetDigiMonitor::fillmeADC0fC_depth3(), HcalSubdetDigiMonitor::fillmeADC0fC_depth4(), HcalSubdetDigiMonitor::fillmeAll10slices1D_depth1(), HcalSubdetDigiMonitor::fillmeAll10slices1D_depth2(), HcalSubdetDigiMonitor::fillmeAll10slices_depth1(), HcalSubdetDigiMonitor::fillmeAll10slices_depth2(), HcalSubdetDigiMonitor::fillmeAmplIetaIphi1(), HcalSubdetDigiMonitor::fillmeAmplIetaIphi2(), HcalSubdetDigiMonitor::fillmeAmplIetaIphi3(), HcalSubdetDigiMonitor::fillmeAmplIetaIphi4(), HcalSubdetDigiMonitor::fillmeBin5Frac(), HcalSubdetDigiMonitor::fillmeBin67Frac(), HcalSubdetDigiMonitor::fillmeDigiSimhit(), HcalSubdetDigiMonitor::fillmeDigiSimhit1(), HcalSubdetDigiMonitor::fillmeDigiSimhit2(), HcalSubdetDigiMonitor::fillmeDigiSimhit3(), HcalSubdetDigiMonitor::fillmeDigiSimhit4(), HcalSubdetDigiMonitor::fillmeDigiSimhitProfile(), HcalSubdetDigiMonitor::fillmeDigiSimhitProfile1(), HcalSubdetDigiMonitor::fillmeDigiSimhitProfile2(), HcalSubdetDigiMonitor::fillmeDigiSimhitProfile3(), HcalSubdetDigiMonitor::fillmeDigiSimhitProfile4(), HcalSubdetDigiMonitor::fillmeGain0Depth1(), HcalSubdetDigiMonitor::fillmeGain0Depth2(), HcalSubdetDigiMonitor::fillmeGain0Depth3(), HcalSubdetDigiMonitor::fillmeGain0Depth4(), HcalSubdetDigiMonitor::fillmeGain1Depth1(), HcalSubdetDigiMonitor::fillmeGain1Depth2(), HcalSubdetDigiMonitor::fillmeGain1Depth3(), HcalSubdetDigiMonitor::fillmeGain1Depth4(), HcalSubdetDigiMonitor::fillmeGain2Depth1(), HcalSubdetDigiMonitor::fillmeGain2Depth2(), HcalSubdetDigiMonitor::fillmeGain2Depth3(), HcalSubdetDigiMonitor::fillmeGain2Depth4(), HcalSubdetDigiMonitor::fillmeGain3Depth1(), HcalSubdetDigiMonitor::fillmeGain3Depth2(), HcalSubdetDigiMonitor::fillmeGain3Depth3(), HcalSubdetDigiMonitor::fillmeGain3Depth4(), HcalSubdetDigiMonitor::fillmeGainMap1(), HcalSubdetDigiMonitor::fillmeGainMap2(), HcalSubdetDigiMonitor::fillmeGainMap3(), HcalSubdetDigiMonitor::fillmeGainMap4(), HcalSubdetDigiMonitor::fillmeGainWidth0Depth1(), HcalSubdetDigiMonitor::fillmeGainWidth0Depth2(), HcalSubdetDigiMonitor::fillmeGainWidth0Depth3(), HcalSubdetDigiMonitor::fillmeGainWidth0Depth4(), HcalSubdetDigiMonitor::fillmeGainWidth1Depth1(), HcalSubdetDigiMonitor::fillmeGainWidth1Depth2(), HcalSubdetDigiMonitor::fillmeGainWidth1Depth3(), HcalSubdetDigiMonitor::fillmeGainWidth1Depth4(), HcalSubdetDigiMonitor::fillmeGainWidth2Depth1(), HcalSubdetDigiMonitor::fillmeGainWidth2Depth2(), HcalSubdetDigiMonitor::fillmeGainWidth2Depth3(), HcalSubdetDigiMonitor::fillmeGainWidth2Depth4(), HcalSubdetDigiMonitor::fillmeGainWidth3Depth1(), HcalSubdetDigiMonitor::fillmeGainWidth3Depth2(), HcalSubdetDigiMonitor::fillmeGainWidth3Depth3(), HcalSubdetDigiMonitor::fillmeGainWidth3Depth4(), HcalSubdetDigiMonitor::fillmeNdigis(), HcalSubdetDigiMonitor::fillmenDigis(), HcalSubdetDigiMonitor::fillmeOccupancy_map_depth1(), HcalSubdetDigiMonitor::fillmeOccupancy_map_depth2(), HcalSubdetDigiMonitor::fillmeOccupancy_map_depth3(), HcalSubdetDigiMonitor::fillmeOccupancy_map_depth4(), HcalSubdetDigiMonitor::fillmePed0Depth1(), HcalSubdetDigiMonitor::fillmePed0Depth2(), HcalSubdetDigiMonitor::fillmePed0Depth3(), HcalSubdetDigiMonitor::fillmePed0Depth4(), HcalSubdetDigiMonitor::fillmePed1Depth1(), HcalSubdetDigiMonitor::fillmePed1Depth2(), HcalSubdetDigiMonitor::fillmePed1Depth3(), HcalSubdetDigiMonitor::fillmePed1Depth4(), HcalSubdetDigiMonitor::fillmePed2Depth1(), HcalSubdetDigiMonitor::fillmePed2Depth2(), HcalSubdetDigiMonitor::fillmePed2Depth3(), HcalSubdetDigiMonitor::fillmePed2Depth4(), HcalSubdetDigiMonitor::fillmePed3Depth1(), HcalSubdetDigiMonitor::fillmePed3Depth2(), HcalSubdetDigiMonitor::fillmePed3Depth3(), HcalSubdetDigiMonitor::fillmePed3Depth4(), HcalSubdetDigiMonitor::fillmePedWidth0Depth1(), HcalSubdetDigiMonitor::fillmePedWidth0Depth2(), HcalSubdetDigiMonitor::fillmePedWidth0Depth3(), HcalSubdetDigiMonitor::fillmePedWidth0Depth4(), HcalSubdetDigiMonitor::fillmePedWidth1Depth1(), HcalSubdetDigiMonitor::fillmePedWidth1Depth2(), HcalSubdetDigiMonitor::fillmePedWidth1Depth3(), HcalSubdetDigiMonitor::fillmePedWidth1Depth4(), HcalSubdetDigiMonitor::fillmePedWidth2Depth1(), HcalSubdetDigiMonitor::fillmePedWidth2Depth2(), HcalSubdetDigiMonitor::fillmePedWidth2Depth3(), HcalSubdetDigiMonitor::fillmePedWidth2Depth4(), HcalSubdetDigiMonitor::fillmePedWidth3Depth1(), HcalSubdetDigiMonitor::fillmePedWidth3Depth2(), HcalSubdetDigiMonitor::fillmePedWidth3Depth3(), HcalSubdetDigiMonitor::fillmePedWidth3Depth4(), HcalSubdetDigiMonitor::fillmePwidthMap1(), HcalSubdetDigiMonitor::fillmePwidthMap2(), HcalSubdetDigiMonitor::fillmePwidthMap3(), HcalSubdetDigiMonitor::fillmePwidthMap4(), HcalSubdetDigiMonitor::fillmeRatioDigiSimhit(), HcalSubdetDigiMonitor::fillmeRatioDigiSimhit1(), HcalSubdetDigiMonitor::fillmeRatioDigiSimhit2(), HcalSubdetDigiMonitor::fillmeRatioDigiSimhit3(), HcalSubdetDigiMonitor::fillmeRatioDigiSimhit4(), HcalSubdetDigiMonitor::fillmeSignalAmp(), HcalSubdetDigiMonitor::fillmeSignalAmp1(), HcalSubdetDigiMonitor::fillmeSignalAmp2(), HcalSubdetDigiMonitor::fillmeSignalAmp3(), HcalSubdetDigiMonitor::fillmeSignalAmp4(), HcalSubdetDigiMonitor::fillmeSignalTimeSlice(), HcalSubdetDigiMonitor::fillmeSumAmp(), edm::Event::getByToken(), HcalGainWidth::getValue(), HcalGain::getValue(), HcalPedestalWidth::getWidth(), hcalselector_, HcalDetId::ieta(), cuy::ii, mc_, mode_, monitor(), nevent1, nevent2, nevent3, nevent4, noise_, HcalCalibrations::pedestal(), EcalCondDBWriter_cfi::pedestal, edm::Handle< T >::product(), CaloSamples::size(), HcalDetId::subdet(), results_mgr::tok, tok_mc_, and zside_.

36  {
37 
38 
41 
42  // ADC2fC
43  HcalCalibrations calibrations;
44  CaloSamples tool;
45 
46 
47  iEvent.getByToken (tok, digiCollection);
48 
49  int subdet = 0;
50  if (hcalselector_ == "HB" ) subdet = 1;
51  if (hcalselector_ == "HE" ) subdet = 2;
52  if (hcalselector_ == "HO" ) subdet = 3;
53  if (hcalselector_ == "HF" ) subdet = 4;
54 
55  if(subdet == 1) nevent1++;
56  if(subdet == 2) nevent2++;
57  if(subdet == 3) nevent3++;
58  if(subdet == 4) nevent4++;
59 
60  int zsign = 0;
61  if (zside_ == "+") zsign = 1;
62  if (zside_ == "-") zsign = -1;
63 
64  int ndigis = 0;
65  // amplitude for signal cell at diff. depths
66  double ampl1_c = 0.;
67  double ampl2_c = 0.;
68  double ampl3_c = 0.;
69  double ampl4_c = 0.;
70  double ampl_c = 0.;
71 
72  // is set to 1 if "seed" SimHit is found
73  int seedSimHit = 0;
74 
75  // std::cout << " HcalDigiTester::reco : "
76  // << "subdet=" << subdet << " noise="<< noise_ << std::endl;
77 
78  int ieta_Sim = 9999;
79  int iphi_Sim = 9999;
80  double emax_Sim = -9999.;
81 
82 
83  // SimHits MC only
84  if( mc_ == "yes") {
86  iEvent.getByToken(tok_mc_,hcalHits);
87  const edm::PCaloHitContainer * simhitResult = hcalHits.product () ;
88 
89 
90  if ( subdet != 0 && noise_ == 0) { // signal only SimHits
91 
92  for (std::vector<PCaloHit>::const_iterator simhits = simhitResult->begin (); simhits != simhitResult->end () ; ++simhits) {
93 
94  HcalDetId cell(simhits->id());
95  double en = simhits->energy();
96  int sub = cell.subdet();
97  int ieta = cell.ieta();
98  if(ieta > 0) ieta--;
99  int iphi = cell.iphi()-1;
100 
101 
102  if(en > emax_Sim && sub == subdet) {
103  emax_Sim = en;
104  ieta_Sim = ieta;
105  iphi_Sim = iphi;
106  // to limit "seed" SimHit energy in case of "multi" event
107  if (mode_ == "multi" &&
108  ((sub == 4 && en < 100. && en > 1.)
109  || ((sub !=4) && en < 1. && en > 0.02)))
110  {
111  seedSimHit = 1;
112  break;
113  }
114  }
115 
116  } // end of SimHits cycle
117 
118 
119  // found highest-energy SimHit for single-particle
120  if(mode_ != "multi" && emax_Sim > 0.) seedSimHit = 1;
121  } // end of SimHits
122 
123  } // end of mc_ == "yes"
124 
125  // CYCLE OVER CELLS ========================================================
126  int Ndig = 0;
127 
128  /*
129  std::cout << " HcalDigiTester::reco : nevent 1,2,3,4 = "
130  << nevent1 << " " << nevent2 << " " << nevent3 << " "
131  << nevent4 << std::endl;
132  */
133 
134  for (digiItr=digiCollection->begin();digiItr!=digiCollection->end();digiItr++) {
135 
136  HcalDetId cell(digiItr->id());
137  int depth = cell.depth();
138  int iphi = cell.iphi()-1;
139  int ieta = cell.ieta();
140  if(ieta > 0) ieta--;
141  int sub = cell.subdet();
142 
143 
144  // amplitude for signal cell at diff. depths
145  double ampl = 0.;
146  double ampl1 = 0.;
147  double ampl2 = 0.;
148  double ampl3 = 0.;
149  double ampl4 = 0.;
150 
151  // Gains, pedestals (once !) and only for "noise" case
152  if ( ((nevent1 == 1 && subdet == 1) ||
153  (nevent2 == 1 && subdet == 2) ||
154  (nevent3 == 1 && subdet == 3) ||
155  (nevent4 == 1 && subdet == 4)) && noise_ == 1 && sub == subdet) {
156 
157  HcalGenericDetId hcalGenDetId(digiItr->id());
158  const HcalPedestal* pedestal = conditions->getPedestal(hcalGenDetId);
159  const HcalGain* gain = conditions->getGain(hcalGenDetId);
160  const HcalGainWidth* gainWidth =
161  conditions->getGainWidth(hcalGenDetId);
162  const HcalPedestalWidth* pedWidth =
163  conditions-> getPedestalWidth(hcalGenDetId);
164 
165  double gainValue0 = gain->getValue(0);
166  double gainValue1 = gain->getValue(1);
167  double gainValue2 = gain->getValue(2);
168  double gainValue3 = gain->getValue(3);
169 
170  double gainWidthValue0 = gainWidth->getValue(0);
171  double gainWidthValue1 = gainWidth->getValue(1);
172  double gainWidthValue2 = gainWidth->getValue(2);
173  double gainWidthValue3 = gainWidth->getValue(3);
174 
175 
176 
177  // some printout
178  /*
179  std::cout << " subdet = " << sub << " ieta, iphi, depth : "
180  << ieta << " " << iphi << " " << depth
181  << " gain0 " << gainValue0 << " gainWidth0 "
182  << gainWidthValue0
183  << std::endl;
184  */
185 
186  double pedValue0 = pedestal->getValue(0);
187  double pedValue1 = pedestal->getValue(1);
188  double pedValue2 = pedestal->getValue(2);
189  double pedValue3 = pedestal->getValue(3);
190 
191  double pedWidth0 = pedWidth->getWidth(0);
192  double pedWidth1 = pedWidth->getWidth(1);
193  double pedWidth2 = pedWidth->getWidth(2);
194  double pedWidth3 = pedWidth->getWidth(3);
195 
196  if (depth == 1) {
197 
198  // std::cout << " depth = " << depth << std::endl;
199 
200  monitor()->fillmeGain0Depth1(gainValue0);
201  monitor()->fillmeGain1Depth1(gainValue1);
202  monitor()->fillmeGain2Depth1(gainValue2);
203  monitor()->fillmeGain3Depth1(gainValue3);
204 
205  monitor()->fillmeGainWidth0Depth1(gainWidthValue0);
206  monitor()->fillmeGainWidth1Depth1(gainWidthValue1);
207  monitor()->fillmeGainWidth2Depth1(gainWidthValue2);
208  monitor()->fillmeGainWidth3Depth1(gainWidthValue3);
209 
210  monitor()->fillmePed0Depth1(pedValue0);
211  monitor()->fillmePed1Depth1(pedValue1);
212  monitor()->fillmePed2Depth1(pedValue2);
213  monitor()->fillmePed3Depth1(pedValue3);
214 
215  monitor()->fillmePedWidth0Depth1(pedWidth0);
216  monitor()->fillmePedWidth1Depth1(pedWidth1);
217  monitor()->fillmePedWidth2Depth1(pedWidth2);
218  monitor()->fillmePedWidth3Depth1(pedWidth3);
219 
220  monitor()->fillmeGainMap1 (double(ieta), double(iphi), gainValue0);
221  monitor()->fillmePwidthMap1(double(ieta), double(iphi), pedWidth0) ;
222  }
223 
224  if (depth == 2) {
225 
226  // std::cout << " depth = " << depth << std::endl;
227 
228  monitor()->fillmeGain0Depth2(gainValue0);
229  monitor()->fillmeGain1Depth2(gainValue1);
230  monitor()->fillmeGain2Depth2(gainValue2);
231  monitor()->fillmeGain3Depth2(gainValue3);
232 
233  monitor()->fillmeGainWidth0Depth2(gainWidthValue0);
234  monitor()->fillmeGainWidth1Depth2(gainWidthValue1);
235  monitor()->fillmeGainWidth2Depth2(gainWidthValue2);
236  monitor()->fillmeGainWidth3Depth2(gainWidthValue3);
237 
238  monitor()->fillmePed0Depth2(pedValue0);
239  monitor()->fillmePed1Depth2(pedValue1);
240  monitor()->fillmePed2Depth2(pedValue2);
241  monitor()->fillmePed3Depth2(pedValue3);
242 
243  monitor()->fillmePedWidth0Depth2(pedWidth0);
244  monitor()->fillmePedWidth1Depth2(pedWidth1);
245  monitor()->fillmePedWidth2Depth2(pedWidth2);
246  monitor()->fillmePedWidth3Depth2(pedWidth3);
247 
248  monitor()->fillmeGainMap2 (double(ieta), double(iphi), gainValue0);
249  monitor()->fillmePwidthMap2(double(ieta), double(iphi), pedWidth0) ;
250  }
251 
252  if (depth == 3) {
253 
254  // std::cout << " depth = " << depth << std::endl;
255 
256  monitor()->fillmeGain0Depth3(gainValue0);
257  monitor()->fillmeGain1Depth3(gainValue1);
258  monitor()->fillmeGain2Depth3(gainValue2);
259  monitor()->fillmeGain3Depth3(gainValue3);
260 
261  monitor()->fillmeGainWidth0Depth3(gainWidthValue0);
262  monitor()->fillmeGainWidth1Depth3(gainWidthValue1);
263  monitor()->fillmeGainWidth2Depth3(gainWidthValue2);
264  monitor()->fillmeGainWidth3Depth3(gainWidthValue3);
265 
266  monitor()->fillmePed0Depth3(pedValue0);
267  monitor()->fillmePed1Depth3(pedValue1);
268  monitor()->fillmePed2Depth3(pedValue2);
269  monitor()->fillmePed3Depth3(pedValue3);
270 
271  monitor()->fillmePedWidth0Depth3(pedWidth0);
272  monitor()->fillmePedWidth1Depth3(pedWidth1);
273  monitor()->fillmePedWidth2Depth3(pedWidth2);
274  monitor()->fillmePedWidth3Depth3(pedWidth3);
275 
276  monitor()->fillmeGainMap3 (double(ieta), double(iphi), gainValue0);
277  monitor()->fillmePwidthMap3(double(ieta), double(iphi), pedWidth0) ;
278  }
279 
280  if (depth == 4) {
281 
282  // std::cout << " depth = " << depth << std::endl;
283 
284  monitor()->fillmeGain0Depth4(gainValue0);
285  monitor()->fillmeGain1Depth4(gainValue1);
286  monitor()->fillmeGain2Depth4(gainValue2);
287  monitor()->fillmeGain3Depth4(gainValue3);
288 
289  monitor()->fillmeGainWidth0Depth4(gainWidthValue0);
290  monitor()->fillmeGainWidth1Depth4(gainWidthValue1);
291  monitor()->fillmeGainWidth2Depth4(gainWidthValue2);
292  monitor()->fillmeGainWidth3Depth4(gainWidthValue3);
293 
294  monitor()->fillmePed0Depth4(pedValue0);
295  monitor()->fillmePed1Depth4(pedValue1);
296  monitor()->fillmePed2Depth4(pedValue2);
297  monitor()->fillmePed3Depth4(pedValue3);
298 
299  monitor()->fillmePedWidth0Depth4(pedWidth0);
300  monitor()->fillmePedWidth1Depth4(pedWidth1);
301  monitor()->fillmePedWidth2Depth4(pedWidth2);
302  monitor()->fillmePedWidth3Depth4(pedWidth3);
303 
304  monitor()->fillmeGainMap4 (double(ieta), double(iphi), gainValue0);
305  monitor()->fillmePwidthMap4(double(ieta), double(iphi), pedWidth0) ;
306 
307  }
308 
309  } // end of event #1
310  //std::cout << "==== End of event noise block in cell cycle" << std::endl;
311 
312 
313 
314  if ( sub == subdet) Ndig++; // subdet number of digi
315 
316 // No-noise case, only single subdet selected ===========================
317 
318  if ( sub == subdet && noise_ == 0 ) {
319 
320 
321  HcalCalibrations calibrations = conditions->getHcalCalibrations(cell);
322 
323  const HcalQIECoder* channelCoder = conditions->getHcalCoder(cell);
324  const HcalQIEShape* shape = conditions->getHcalShape(channelCoder);
325  HcalCoderDb coder (*channelCoder, *shape);
326  coder.adc2fC(*digiItr,tool);
327 
328  double noiseADC = (*digiItr)[0].adc();
329  double noisefC = tool[0];
330 
331  // noise evaluations from "pre-samples"
332  if(depth == 1) {
333  monitor()->fillmeADC0_depth1 (noiseADC);
334  monitor()->fillmeADC0fC_depth1(noisefC);
335  }
336  if(depth == 2) {
337  monitor()->fillmeADC0_depth2 (noiseADC);
338  monitor()->fillmeADC0fC_depth2(noisefC);
339  }
340  if(depth == 3) {
341  monitor()->fillmeADC0_depth3 (noiseADC);
342  monitor()->fillmeADC0fC_depth3(noisefC);
343  }
344  if(depth == 4) {
345  monitor()->fillmeADC0_depth4 (noiseADC);
346  monitor()->fillmeADC0fC_depth4(noisefC);
347  }
348 
349  // OCCUPANCY maps filling
350  double deta = double(ieta);
351  double dphi = double(iphi);
352  if(depth == 1)
353  monitor()->fillmeOccupancy_map_depth1(deta, dphi);
354  if(depth == 2)
355  monitor()->fillmeOccupancy_map_depth2(deta, dphi);
356  if(depth == 3)
357  monitor()->fillmeOccupancy_map_depth3(deta, dphi);
358  if(depth == 4)
359  monitor()->fillmeOccupancy_map_depth4(deta, dphi);
360 
361  // Cycle on time slices
362  // - for each Digi
363  // - for one Digi with max SimHits E in subdet
364 
365  int closen = 0; // =1 if 1) seedSimHit = 1 and 2) the cell is the same
366  if(ieta == ieta_Sim && iphi == iphi_Sim ) closen = seedSimHit;
367 
368  for (int ii=0;ii<tool.size();ii++) {
369  int capid = (*digiItr)[ii].capid();
370  // single ts amplitude
371  double val = (tool[ii]-calibrations.pedestal(capid));
372 
373  if (val > 10.) {
374  if (depth == 1)
375  monitor()->fillmeAll10slices_depth1(double(ii), val);
376  else
377  monitor()->fillmeAll10slices_depth2(double(ii), val);
378  }
379  if (val > 100.) {
380  if (depth == 1)
381  monitor()->fillmeAll10slices1D_depth1(double(ii), val);
382  else
383  monitor()->fillmeAll10slices1D_depth2(double(ii), val);
384  }
385 
386  if( closen == 1 &&( ieta * zsign >= 0 )) {
387  monitor()->fillmeSignalTimeSlice(double(ii), val);
388  }
389 
390 
391  // HB/HE/HO
392  if (subdet != 4 && ii>=4 && ii<=7) {
393  ampl += val;
394  if(depth == 1) ampl1 += val;
395  if(depth == 2) ampl2 += val;
396  if(depth == 3) ampl3 += val;
397  if(depth == 4) ampl4 += val;
398 
399  if( closen == 1 && ( ieta * zsign >= 0 )) {
400  ampl_c += val;
401  if(depth == 1) ampl1_c += val;
402  if(depth == 2) ampl2_c += val;
403  if(depth == 3) ampl3_c += val;
404  if(depth == 4) ampl4_c += val;
405 
406  }
407  }
408 
409  // HF
410  if (subdet == 4 && ii==3 ) {
411  ampl += val;
412  if(depth == 1) ampl1 += val;
413  if(depth == 2) ampl2 += val;
414  if(depth == 3) ampl3 += val;
415  if(depth == 4) ampl4 += val;
416  if( closen == 1 && ( ieta * zsign >= 0 )) {
417  ampl_c += val;
418  if(depth == 1) ampl1_c += val;
419  if(depth == 2) ampl2_c += val;
420  if(depth == 3) ampl3_c += val;
421  if(depth == 4) ampl4_c += val;
422 
423  }
424  }
425  }
426  // end of time bucket sample
427 
428  monitor()->fillmeAmplIetaIphi1(double(ieta),double(iphi), ampl1);
429  monitor()->fillmeAmplIetaIphi2(double(ieta),double(iphi), ampl2);
430  monitor()->fillmeAmplIetaIphi3(double(ieta),double(iphi), ampl3);
431  monitor()->fillmeAmplIetaIphi4(double(ieta),double(iphi), ampl4);
432  monitor()->fillmeSumAmp (ampl);
433 
434 
435  if(ampl1 > 10. || ampl2 > 10. || ampl3 > 10. || ampl4 > 10. ) ndigis++;
436 
437  // fraction 5,6 bins if ampl. is big.
438  if(ampl1 > 30. && depth == 1 && closen == 1 ) {
439  double fBin5 = tool[4] - calibrations.pedestal((*digiItr)[4].capid());
440  double fBin67 = tool[5] + tool[6]
441  - calibrations.pedestal((*digiItr)[5].capid())
442  - calibrations.pedestal((*digiItr)[6].capid());
443  fBin5 /= ampl1;
444  fBin67 /= ampl1;
445  monitor()->fillmeBin5Frac (fBin5);
446  monitor()->fillmeBin67Frac(fBin67);
447  }
448 
449  monitor()->fillmeSignalAmp (ampl);
450  monitor()->fillmeSignalAmp1(ampl1);
451  monitor()->fillmeSignalAmp2(ampl2);
452  monitor()->fillmeSignalAmp3(ampl3);
453  monitor()->fillmeSignalAmp4(ampl4);
454 
455 
456  }
457  } // End of CYCLE OVER CELLS =============================================
458 
459 
460  if ( subdet != 0 && noise_ == 0) { // signal only, once per event
461 
462  monitor()->fillmenDigis(ndigis);
463 
464  // SimHits once again !!!
465  double eps = 1.e-3;
466  double ehits = 0.;
467  double ehits1 = 0.;
468  double ehits2 = 0.;
469  double ehits3 = 0.;
470  double ehits4 = 0.;
471 
472  if(mc_ == "yes") {
474  iEvent.getByToken(tok_mc_,hcalHits);
475  const edm::PCaloHitContainer * simhitResult = hcalHits.product () ;
476  for (std::vector<PCaloHit>::const_iterator simhits = simhitResult->begin (); simhits != simhitResult->end () ; ++simhits) {
477 
478  HcalDetId cell(simhits->id());
479  int ieta = cell.ieta();
480  if(ieta > 0) ieta--;
481  int iphi = cell.iphi()-1;
482  int sub = cell.subdet();
483 
484  // take cell already found to be max energy in a particular subdet
485  if (sub == subdet && ieta == ieta_Sim && iphi == iphi_Sim){
486  int depth = cell.depth();
487  double en = simhits->energy();
488 
489  ehits += en;
490  if(depth == 1) ehits1 += en;
491  if(depth == 2) ehits2 += en;
492  if(depth == 3) ehits3 += en;
493  if(depth == 4) ehits4 += en;
494  }
495  }
496 
497  if(ehits > eps) monitor()->fillmeDigiSimhit (ehits, ampl_c );
498  if(ehits1 > eps) monitor()->fillmeDigiSimhit1(ehits1, ampl1_c);
499  if(ehits2 > eps) monitor()->fillmeDigiSimhit2(ehits2, ampl2_c);
500  if(ehits3 > eps) monitor()->fillmeDigiSimhit3(ehits3, ampl3_c);
501  if(ehits4 > eps) monitor()->fillmeDigiSimhit4(ehits4, ampl4_c);
502 
503  if(ehits > eps) monitor()->fillmeDigiSimhitProfile (ehits, ampl_c );
504  if(ehits1 > eps) monitor()->fillmeDigiSimhitProfile1(ehits1, ampl1_c);
505  if(ehits2 > eps) monitor()->fillmeDigiSimhitProfile2(ehits2, ampl2_c);
506  if(ehits3 > eps) monitor()->fillmeDigiSimhitProfile3(ehits3, ampl3_c);
507  if(ehits4 > eps) monitor()->fillmeDigiSimhitProfile4(ehits4, ampl4_c);
508 
509  if(ehits > eps) monitor()->fillmeRatioDigiSimhit (ampl_c / ehits);
510  if(ehits1 > eps) monitor()->fillmeRatioDigiSimhit1(ampl1_c / ehits1);
511  if(ehits2 > eps) monitor()->fillmeRatioDigiSimhit2(ampl2_c / ehits2);
512  if(ehits3 > eps) monitor()->fillmeRatioDigiSimhit3(ampl3_c / ehits3);
513  if(ehits4 > eps) monitor()->fillmeRatioDigiSimhit4(ampl4_c / ehits4);
514  } // end of if(mc_ == "yes")
515 
516  monitor()->fillmeNdigis(double(Ndig));
517 
518  } // end of if( subdet != 0 && noise_ == 0) { // signal only
519 
520 }
void fillmePed0Depth1(double v1)
void fillmeGain0Depth4(double v1)
void fillmeGainWidth0Depth2(double v1)
void fillmePedWidth2Depth1(double v1)
void fillmeGain2Depth2(double v1)
void fillmeGain1Depth1(double v1)
void fillmePedWidth1Depth3(double v1)
void fillmeGainWidth2Depth1(double v1)
void fillmeAmplIetaIphi4(double v1, double v2, double v3)
void fillmeADC0_depth1(double v1)
void fillmeDigiSimhitProfile3(double v1, double v2)
std::vector< PCaloHit > PCaloHitContainer
void fillmeGainWidth0Depth4(double v1)
HcalSubdetDigiMonitor * monitor()
void fillmePed2Depth4(double v1)
void fillmePedWidth1Depth1(double v1)
void fillmeGainWidth2Depth4(double v1)
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:30
void fillmeGainMap2(double v1, double v2, double v3)
void fillmePwidthMap3(double v1, double v2, double v3)
void fillmeDigiSimhit4(double v1, double v2)
void fillmePed1Depth4(double v1)
std::string hcalselector_
void fillmeOccupancy_map_depth2(double v1, double v2)
void fillmeGainWidth3Depth4(double v1)
void fillmeGain2Depth4(double v1)
void fillmeDigiSimhit3(double v1, double v2)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:434
void fillmeADC0fC_depth2(double v1)
void fillmeGainWidth1Depth1(double v1)
void fillmeRatioDigiSimhit4(double v1)
edm::EDGetTokenT< edm::PCaloHitContainer > tok_mc_
void fillmeDigiSimhit2(double v1, double v2)
void fillmeRatioDigiSimhit(double v1)
void fillmePedWidth1Depth4(double v1)
std::vector< T >::const_iterator const_iterator
void fillmeGainWidth1Depth4(double v1)
void fillmeAll10slices1D_depth1(double v1, double v2)
void fillmeGain3Depth2(double v1)
std::string mode_
void fillmePed1Depth2(double v1)
void fillmeAll10slices_depth2(double v1, double v2)
double pedestal(int fCapId) const
get pedestal for capid=0..3
void fillmeRatioDigiSimhit2(double v1)
std::string mc_
void fillmeAmplIetaIphi2(double v1, double v2, double v3)
void fillmePwidthMap1(double v1, double v2, double v3)
float getValue(int fCapId) const
get value for capId = 0..3
Definition: HcalGain.h:22
int ii
Definition: cuy.py:588
void fillmeGainWidth1Depth2(double v1)
void fillmeGainWidth2Depth2(double v1)
edm::ESHandle< HcalDbService > conditions
float getValue(int fCapId) const
get value for capId = 0..3
Definition: HcalGainWidth.h:21
void fillmeGainWidth3Depth2(double v1)
void fillmeSignalAmp4(double v1)
void fillmeAll10slices1D_depth2(double v1, double v2)
void fillmeDigiSimhitProfile2(double v1, double v2)
void fillmePed0Depth4(double v1)
int depth() const
get the tower depth
Definition: HcalDetId.h:40
void fillmeGain3Depth3(double v1)
void fillmePed0Depth3(double v1)
void fillmeGainMap4(double v1, double v2, double v3)
void fillmePed3Depth3(double v1)
void fillmeDigiSimhit(double v1, double v2)
void fillmeRatioDigiSimhit1(double v1)
void fillmeOccupancy_map_depth1(double v1, double v2)
void fillmeGain1Depth2(double v1)
void fillmeGain1Depth3(double v1)
void fillmeGainWidth0Depth1(double v1)
void fillmeGainWidth2Depth3(double v1)
void fillmeSignalAmp1(double v1)
void fillmeGain3Depth4(double v1)
void fillmeADC0_depth2(double v1)
void fillmeGain3Depth1(double v1)
void fillmeDigiSimhitProfile4(double v1, double v2)
void fillmeAmplIetaIphi3(double v1, double v2, double v3)
int ieta() const
get the cell ieta
Definition: HcalDetId.h:36
void fillmeADC0_depth4(double v1)
void fillmePedWidth2Depth2(double v1)
void fillmeGainMap1(double v1, double v2, double v3)
void fillmeGainWidth0Depth3(double v1)
void fillmePedWidth2Depth4(double v1)
void fillmePedWidth1Depth2(double v1)
void fillmePedWidth2Depth3(double v1)
void fillmeSignalTimeSlice(double v1, double v2)
void fillmePedWidth0Depth1(double v1)
void fillmePedWidth3Depth2(double v1)
void fillmePedWidth3Depth4(double v1)
void fillmeADC0fC_depth4(double v1)
void fillmeSignalAmp(double v1)
std::string zside_
void fillmeGainMap3(double v1, double v2, double v3)
void fillmePedWidth3Depth1(double v1)
int size() const
get the size
Definition: CaloSamples.h:24
void fillmeDigiSimhitProfile(double v1, double v2)
void fillmePed3Depth2(double v1)
void fillmeGain2Depth1(double v1)
float getWidth(int fCapId) const
get width (sqrt(sigma_i_i)) for capId = 0..3
void fillmeOccupancy_map_depth4(double v1, double v2)
void fillmePed2Depth2(double v1)
void fillmePed3Depth4(double v1)
T const * product() const
Definition: Handle.h:81
void fillmePedWidth0Depth4(double v1)
void fillmeSignalAmp3(double v1)
void fillmePed0Depth2(double v1)
void fillmePwidthMap4(double v1, double v2, double v3)
void fillmeDigiSimhit1(double v1, double v2)
void fillmeADC0fC_depth1(double v1)
void fillmeGain0Depth2(double v1)
void fillmeADC0_depth3(double v1)
void fillmePed2Depth3(double v1)
void fillmeGainWidth3Depth1(double v1)
void fillmePed2Depth1(double v1)
void fillmeRatioDigiSimhit3(double v1)
void fillmeGain2Depth3(double v1)
void fillmePedWidth3Depth3(double v1)
void fillmeGain0Depth1(double v1)
void fillmeDigiSimhitProfile1(double v1, double v2)
void fillmeOccupancy_map_depth3(double v1, double v2)
void fillmePed1Depth1(double v1)
void fillmePedWidth0Depth2(double v1)
void fillmeSignalAmp2(double v1)
void fillmeGainWidth1Depth3(double v1)
void fillmePwidthMap2(double v1, double v2, double v3)
void fillmePedWidth0Depth3(double v1)
void fillmeAll10slices_depth1(double v1, double v2)
void fillmeADC0fC_depth3(double v1)
void fillmeGain1Depth4(double v1)
void fillmeAmplIetaIphi1(double v1, double v2, double v3)
void fillmePed3Depth1(double v1)
void fillmePed1Depth3(double v1)
void fillmeGain0Depth3(double v1)
void fillmeGainWidth3Depth3(double v1)

Member Data Documentation

edm::ESHandle<HcalDbService> HcalDigiTester::conditions
private

Definition at line 59 of file HcalDigiTester.h.

Referenced by analyze(), and reco().

DQMStore* HcalDigiTester::dbe_
private

Definition at line 41 of file HcalDigiTester.h.

Referenced by endJob(), and monitor().

edm::ESHandle<CaloGeometry> HcalDigiTester::geometry
private
std::string HcalDigiTester::hcalselector_
private

Definition at line 50 of file HcalDigiTester.h.

Referenced by analyze(), endRun(), monitor(), and reco().

edm::InputTag HcalDigiTester::inputTag_
private

Definition at line 43 of file HcalDigiTester.h.

Referenced by HcalDigiTester().

std::string HcalDigiTester::mc_
private

Definition at line 53 of file HcalDigiTester.h.

Referenced by reco().

std::string HcalDigiTester::mode_
private

Definition at line 52 of file HcalDigiTester.h.

Referenced by reco().

std::map<std::string, HcalSubdetDigiMonitor*> HcalDigiTester::monitors_
private

Definition at line 66 of file HcalDigiTester.h.

Referenced by monitor().

int HcalDigiTester::nevent1
private

Definition at line 61 of file HcalDigiTester.h.

Referenced by beginJob(), and reco().

int HcalDigiTester::nevent2
private

Definition at line 62 of file HcalDigiTester.h.

Referenced by beginJob(), and reco().

int HcalDigiTester::nevent3
private

Definition at line 63 of file HcalDigiTester.h.

Referenced by beginJob(), and reco().

int HcalDigiTester::nevent4
private

Definition at line 64 of file HcalDigiTester.h.

Referenced by beginJob(), and reco().

int HcalDigiTester::nevtot
private

Definition at line 65 of file HcalDigiTester.h.

Referenced by analyze(), beginJob(), and eval_occupancy().

int HcalDigiTester::noise_
private

Definition at line 54 of file HcalDigiTester.h.

Referenced by analyze(), endRun(), monitor(), and reco().

std::string HcalDigiTester::outputFile_
private

Definition at line 49 of file HcalDigiTester.h.

Referenced by endJob(), and HcalDigiTester().

float HcalDigiTester::pedvalue
private

Definition at line 60 of file HcalDigiTester.h.

edm::EDGetTokenT<edm::SortedCollection<HBHEDataFrame> > HcalDigiTester::tok_hbhe_
private

Definition at line 45 of file HcalDigiTester.h.

Referenced by analyze(), and HcalDigiTester().

edm::EDGetTokenT<edm::SortedCollection<HFDataFrame> > HcalDigiTester::tok_hf_
private

Definition at line 47 of file HcalDigiTester.h.

Referenced by analyze(), and HcalDigiTester().

edm::EDGetTokenT<edm::SortedCollection<HODataFrame> > HcalDigiTester::tok_ho_
private

Definition at line 46 of file HcalDigiTester.h.

Referenced by analyze(), and HcalDigiTester().

edm::EDGetTokenT<edm::PCaloHitContainer> HcalDigiTester::tok_mc_
private

Definition at line 44 of file HcalDigiTester.h.

Referenced by HcalDigiTester(), and reco().

std::string HcalDigiTester::zside_
private

Definition at line 51 of file HcalDigiTester.h.

Referenced by reco().