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

#include <HcalRecHitsValidation.h>

Inheritance diagram for HcalRecHitsValidation:
thread_unsafe::DQMEDAnalyzer edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

virtual void analyze (edm::Event const &ev, edm::EventSetup const &c)
 
virtual void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &)
 
 HcalRecHitsValidation (edm::ParameterSet const &conf)
 
 ~HcalRecHitsValidation ()
 
- Public Member Functions inherited from thread_unsafe::DQMEDAnalyzer
virtual void beginRun (edm::Run const &, edm::EventSetup const &) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer (void)
 
- 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 dPhiWsign (double phi1, double phi2)
 
double dR (double eta1, double phi1, double eta2, double phi2)
 
virtual void fillRecHitsTmp (int subdet_, edm::Event const &ev)
 
int hcalSevLvl (const CaloRecHit *hit)
 
double phi12 (double phi1, double en1, double phi2, double en2)
 

Private Attributes

std::vector< uint32_t > cauxstwd
 
std::vector< int > cdepth
 
std::vector< double > cen
 
std::vector< double > ceta
 
std::vector< int > cieta
 
std::vector< int > ciphi
 
std::vector< double > cphi
 
std::vector< uint32_t > cstwd
 
std::vector< int > csub
 
std::vector< double > ctime
 
std::vector< double > cz
 
MonitorElemente_hb
 
MonitorElemente_he
 
MonitorElemente_hfl
 
MonitorElemente_hfs
 
MonitorElemente_ho
 
std::string ecalselector_
 
MonitorElementemap_depth1
 
MonitorElementemap_depth2
 
MonitorElementemap_depth3
 
MonitorElementemap_depth4
 
double emap_min [82][72][4][4]
 
MonitorElementemean_seqHB1
 
MonitorElementemean_seqHB2
 
MonitorElementemean_seqHE1
 
MonitorElementemean_seqHE2
 
MonitorElementemean_seqHE3
 
MonitorElementemean_seqHF1
 
MonitorElementemean_seqHF2
 
MonitorElementemean_seqHO
 
MonitorElementemean_vs_ieta_HB1
 
MonitorElementemean_vs_ieta_HB2
 
MonitorElementemean_vs_ieta_HE1
 
MonitorElementemean_vs_ieta_HE2
 
MonitorElementemean_vs_ieta_HE3
 
MonitorElementemean_vs_ieta_HF1
 
MonitorElementemean_vs_ieta_HF2
 
MonitorElementemean_vs_ieta_HO
 
int etype_
 
std::string eventype_
 
bool famos_
 
edm::ESHandle< CaloGeometrygeometry
 
std::vector< int > hcalHBSevLvlVec
 
std::vector< int > hcalHESevLvlVec
 
std::vector< int > hcalHFSevLvlVec
 
std::vector< int > hcalHOSevLvlVec
 
std::string hcalselector_
 
int imc
 
int iz
 
MonitorElementmap_depth1
 
MonitorElementmap_depth2
 
MonitorElementmap_depth3
 
MonitorElementmap_depth4
 
MonitorElementmap_ecal
 
MonitorElementmap_econe_depth1
 
MonitorElementmap_econe_depth2
 
MonitorElementmap_econe_depth3
 
MonitorElementmap_econe_depth4
 
std::string mc_
 
MonitorElementmeDeltaEta
 
MonitorElementmeDeltaEtaS
 
MonitorElementmeDeltaPhi
 
MonitorElementmeDeltaPhiS
 
MonitorElementmeEcalHcalEnergyConeHB
 
MonitorElementmeEcalHcalEnergyConeHE
 
MonitorElementmeEcalHcalEnergyConeHF
 
MonitorElementmeEcalHcalEnergyConeHO
 
MonitorElementmeEcalHcalEnergyHB
 
MonitorElementmeEcalHcalEnergyHE
 
MonitorElementmeEnConeEtaProfile
 
MonitorElementmeEnConeEtaProfile_depth1
 
MonitorElementmeEnConeEtaProfile_depth2
 
MonitorElementmeEnConeEtaProfile_depth3
 
MonitorElementmeEnConeEtaProfile_depth4
 
MonitorElementmeEnConeEtaProfile_E
 
MonitorElementmeEnConeEtaProfile_EH
 
MonitorElementmeEnergyHcalVsEcalHB
 
MonitorElementmeEnergyHcalVsEcalHE
 
MonitorElementmeNumEcalRecHitsConeHB
 
MonitorElementmeNumEcalRecHitsConeHE
 
MonitorElementmeNumRecHitsConeHB
 
MonitorElementmeNumRecHitsConeHE
 
MonitorElementmeNumRecHitsConeHF
 
MonitorElementmeNumRecHitsConeHO
 
MonitorElementmeNumRecHitsThreshHB
 
MonitorElementmeNumRecHitsThreshHE
 
MonitorElementmeNumRecHitsThreshHO
 
MonitorElementmeRecHitsEnergyHB
 
MonitorElementmeRecHitsEnergyHE
 
MonitorElementmeRecHitsEnergyHF
 
MonitorElementmeRecHitsEnergyHO
 
MonitorElementmeRecHitSimHitHB
 
MonitorElementmeRecHitSimHitHE
 
MonitorElementmeRecHitSimHitHF
 
MonitorElementmeRecHitSimHitHFL
 
MonitorElementmeRecHitSimHitHFS
 
MonitorElementmeRecHitSimHitHO
 
MonitorElementmeRecHitSimHitProfileHB
 
MonitorElementmeRecHitSimHitProfileHE
 
MonitorElementmeRecHitSimHitProfileHF
 
MonitorElementmeRecHitSimHitProfileHFL
 
MonitorElementmeRecHitSimHitProfileHFS
 
MonitorElementmeRecHitSimHitProfileHO
 
MonitorElementmeSumRecHitsEnergyConeHB
 
MonitorElementmeSumRecHitsEnergyConeHE
 
MonitorElementmeSumRecHitsEnergyConeHF
 
MonitorElementmeSumRecHitsEnergyConeHFL
 
MonitorElementmeSumRecHitsEnergyConeHFS
 
MonitorElementmeSumRecHitsEnergyConeHO
 
MonitorElementmeSumRecHitsEnergyHB
 
MonitorElementmeSumRecHitsEnergyHE
 
MonitorElementmeSumRecHitsEnergyHF
 
MonitorElementmeSumRecHitsEnergyHO
 
MonitorElementmeTE_HB
 
MonitorElementmeTE_HB1
 
MonitorElementmeTE_HB2
 
MonitorElementmeTE_HE
 
MonitorElementmeTE_HE1
 
MonitorElementmeTE_HE2
 
MonitorElementmeTE_HF
 
MonitorElementmeTE_HFL
 
MonitorElementmeTE_HFS
 
MonitorElementmeTE_High_HB
 
MonitorElementmeTE_High_HO
 
MonitorElementmeTE_HO
 
MonitorElementmeTE_Low_HB
 
MonitorElementmeTE_Low_HE
 
MonitorElementmeTE_Low_HF
 
MonitorElementmeTEprofileHB
 
MonitorElementmeTEprofileHB_High
 
MonitorElementmeTEprofileHB_Low
 
MonitorElementmeTEprofileHE
 
MonitorElementmeTEprofileHE_Low
 
MonitorElementmeTEprofileHF
 
MonitorElementmeTEprofileHF_Low
 
MonitorElementmeTEprofileHO
 
MonitorElementmeTEprofileHO_High
 
MonitorElementmeTimeHB
 
MonitorElementmeTimeHE
 
MonitorElementmeTimeHF
 
MonitorElementmeTimeHO
 
int nevtot
 
MonitorElementNhb
 
MonitorElementNhe
 
MonitorElementNhf
 
MonitorElementNho
 
MonitorElementoccupancy_map_HB1
 
MonitorElementoccupancy_map_HB2
 
MonitorElementoccupancy_map_HE1
 
MonitorElementoccupancy_map_HE2
 
MonitorElementoccupancy_map_HE3
 
MonitorElementoccupancy_map_HF1
 
MonitorElementoccupancy_map_HF2
 
MonitorElementoccupancy_map_HO
 
MonitorElementoccupancy_seqHB1
 
MonitorElementoccupancy_seqHB2
 
MonitorElementoccupancy_seqHE1
 
MonitorElementoccupancy_seqHE2
 
MonitorElementoccupancy_seqHE3
 
MonitorElementoccupancy_seqHF1
 
MonitorElementoccupancy_seqHF2
 
MonitorElementoccupancy_seqHO
 
MonitorElementoccupancy_vs_ieta_HB1
 
MonitorElementoccupancy_vs_ieta_HB2
 
MonitorElementoccupancy_vs_ieta_HE1
 
MonitorElementoccupancy_vs_ieta_HE2
 
MonitorElementoccupancy_vs_ieta_HE3
 
MonitorElementoccupancy_vs_ieta_HF1
 
MonitorElementoccupancy_vs_ieta_HF2
 
MonitorElementoccupancy_vs_ieta_HO
 
std::string outputFile_
 
MonitorElementRecHit_Aux_StatusWord_HB
 
MonitorElementRecHit_Aux_StatusWord_HE
 
MonitorElementRecHit_Aux_StatusWord_HF
 
MonitorElementRecHit_Aux_StatusWord_HO
 
MonitorElementRecHit_StatusWord_HB
 
MonitorElementRecHit_StatusWord_HE
 
MonitorElementRecHit_StatusWord_HF
 
MonitorElementRecHit_StatusWord_HF67
 
MonitorElementRecHit_StatusWord_HO
 
MonitorElementRMS_seq_HB1
 
MonitorElementRMS_seq_HB2
 
MonitorElementRMS_seq_HE1
 
MonitorElementRMS_seq_HE2
 
MonitorElementRMS_seq_HE3
 
MonitorElementRMS_seq_HF1
 
MonitorElementRMS_seq_HF2
 
MonitorElementRMS_seq_HO
 
MonitorElementRMS_vs_ieta_HB1
 
MonitorElementRMS_vs_ieta_HB2
 
MonitorElementRMS_vs_ieta_HE1
 
MonitorElementRMS_vs_ieta_HE2
 
MonitorElementRMS_vs_ieta_HE3
 
MonitorElementRMS_vs_ieta_HF1
 
MonitorElementRMS_vs_ieta_HF2
 
MonitorElementRMS_vs_ieta_HO
 
MonitorElementsevLvl_HB
 
MonitorElementsevLvl_HE
 
MonitorElementsevLvl_HF
 
MonitorElementsevLvl_HO
 
std::string sign_
 
int subdet_
 
const HcalChannelQualitytheHcalChStatus
 
const HcalSeverityLevelComputertheHcalSevLvlComputer
 
edm::EDGetTokenT
< EBRecHitCollection
tok_EB_
 
edm::EDGetTokenT
< EERecHitCollection
tok_EE_
 
edm::EDGetTokenT
< edm::HepMCProduct
tok_evt_
 
edm::EDGetTokenT
< HBHERecHitCollection
tok_hbhe_
 
edm::EDGetTokenT
< HFRecHitCollection
tok_hf_
 
edm::EDGetTokenT
< edm::PCaloHitContainer
tok_hh_
 
edm::EDGetTokenT
< HORecHitCollection
tok_ho_
 
bool useAllHistos_
 
MonitorElementZS_HB1
 
MonitorElementZS_HB2
 
MonitorElementZS_HE1
 
MonitorElementZS_HE2
 
MonitorElementZS_HE3
 
MonitorElementZS_HF1
 
MonitorElementZS_HF2
 
MonitorElementZS_HO
 
MonitorElementZS_nHB1
 
MonitorElementZS_nHB2
 
MonitorElementZS_nHE1
 
MonitorElementZS_nHE2
 
MonitorElementZS_nHE3
 
MonitorElementZS_nHF1
 
MonitorElementZS_nHF2
 
MonitorElementZS_nHO
 
MonitorElementZS_seqHB1
 
MonitorElementZS_seqHB2
 
MonitorElementZS_seqHE1
 
MonitorElementZS_seqHE2
 
MonitorElementZS_seqHE3
 
MonitorElementZS_seqHF1
 
MonitorElementZS_seqHF2
 
MonitorElementZS_seqHO
 

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 56 of file HcalRecHitsValidation.h.

Constructor & Destructor Documentation

HcalRecHitsValidation::HcalRecHitsValidation ( edm::ParameterSet const &  conf)

Definition at line 5 of file HcalRecHitsValidation.cc.

References ecalselector_, etype_, eventype_, famos_, edm::ParameterSet::getUntrackedParameter(), hcalselector_, imc, iz, mc_, nevtot, outputFile_, sign_, AlCaHLTBitMon_QueryRunRegistry::string, subdet_, tok_EB_, tok_EE_, tok_evt_, tok_hbhe_, tok_hf_, tok_hh_, tok_ho_, and useAllHistos_.

5  {
6  // DQM ROOT output
7  outputFile_ = conf.getUntrackedParameter<std::string>("outputFile", "myfile.root");
8 
9  if ( outputFile_.size() != 0 ) {
10  edm::LogInfo("OutputInfo") << " Hcal RecHit Task histograms will be saved to '" << outputFile_.c_str() << "'";
11  } else {
12  edm::LogInfo("OutputInfo") << " Hcal RecHit Task histograms will NOT be saved";
13  }
14 
15  nevtot = 0;
16 
17  hcalselector_ = conf.getUntrackedParameter<std::string>("hcalselector", "all");
18  ecalselector_ = conf.getUntrackedParameter<std::string>("ecalselector", "yes");
19  eventype_ = conf.getUntrackedParameter<std::string>("eventype", "single");
20  sign_ = conf.getUntrackedParameter<std::string>("sign", "*");
21  mc_ = conf.getUntrackedParameter<std::string>("mc", "yes");
22  famos_ = conf.getUntrackedParameter<bool>("Famos", false);
23  useAllHistos_ = conf.getUntrackedParameter<bool>("useAllHistos", false);
24 
25  //Collections
26  tok_hbhe_ = consumes<HBHERecHitCollection>(conf.getUntrackedParameter<edm::InputTag>("HBHERecHitCollectionLabel"));
27  tok_hf_ = consumes<HFRecHitCollection>(conf.getUntrackedParameter<edm::InputTag>("HFRecHitCollectionLabel"));
28  tok_ho_ = consumes<HORecHitCollection>(conf.getUntrackedParameter<edm::InputTag>("HORecHitCollectionLabel"));
29 
30  // register for data access
31  tok_evt_ = consumes<edm::HepMCProduct>(edm::InputTag("generator"));
32  tok_EB_ = consumes<EBRecHitCollection>(edm::InputTag("ecalRecHit","EcalRecHitsEB"));
33  tok_EE_ = consumes<EERecHitCollection>(edm::InputTag("ecalRecHit","EcalRecHitsEE"));
34  tok_hh_ = consumes<edm::PCaloHitContainer>(edm::InputTag("g4SimHits","HcalHits"));
35 
36  // std::cout << "*** famos_ = " << famos_ << std::endl;
37 
38  subdet_ = 5;
39  if (hcalselector_ == "noise") subdet_ = 0;
40  if (hcalselector_ == "HB" ) subdet_ = 1;
41  if (hcalselector_ == "HE" ) subdet_ = 2;
42  if (hcalselector_ == "HO" ) subdet_ = 3;
43  if (hcalselector_ == "HF" ) subdet_ = 4;
44  if (hcalselector_ == "all" ) subdet_ = 5;
45  if (hcalselector_ == "ZS" ) subdet_ = 6;
46 
47  etype_ = 1;
48  if (eventype_ == "multi") etype_ = 2;
49 
50  iz = 1;
51  if(sign_ == "-") iz = -1;
52  if(sign_ == "*") iz = 0;
53 
54  imc = 1;
55  if(mc_ == "no") imc = 0;
56 
57 }
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hh_
edm::EDGetTokenT< HFRecHitCollection > tok_hf_
edm::EDGetTokenT< HORecHitCollection > tok_ho_
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
tuple conf
Definition: dbtoconf.py:185
edm::EDGetTokenT< EBRecHitCollection > tok_EB_
edm::EDGetTokenT< EERecHitCollection > tok_EE_
edm::EDGetTokenT< edm::HepMCProduct > tok_evt_
HcalRecHitsValidation::~HcalRecHitsValidation ( )

Definition at line 60 of file HcalRecHitsValidation.cc.

60 { }

Member Function Documentation

void HcalRecHitsValidation::analyze ( edm::Event const &  ev,
edm::EventSetup const &  c 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 701 of file HcalRecHitsValidation.cc.

References cauxstwd, cdepth, cen, ceta, cieta, ciphi, gather_cfg::cout, cphi, cstwd, csub, ctime, dPhiWsign(), dR(), e_hb, e_he, e_hfl, e_hfs, e_ho, ecalselector_, emap_depth1, emap_depth2, emap_depth3, emap_depth4, emap_min, emean_seqHB1, emean_seqHB2, emean_seqHE1, emean_seqHE2, emean_seqHE3, emean_seqHF1, emean_seqHF2, emean_seqHO, emean_vs_ieta_HB1, emean_vs_ieta_HB2, emean_vs_ieta_HE1, emean_vs_ieta_HE2, emean_vs_ieta_HE3, emean_vs_ieta_HF1, emean_vs_ieta_HF2, emean_vs_ieta_HO, PV3DBase< T, PVType, FrameType >::eta(), eta(), etype_, famos_, MonitorElement::Fill(), HcalObjRepresent::Fill(), fillRecHitsTmp(), geometry, edm::EventSetup::get(), edm::Event::getByToken(), CaloCellGeometry::getPosition(), hcalHBSevLvlVec, hcalHESevLvlVec, hcalHFSevLvlVec, hcalHOSevLvlVec, hcalselector_, i, imc, cmsHarvester::index, edm::HandleBase::isValid(), map_ecal, map_econe_depth1, map_econe_depth2, map_econe_depth3, map_econe_depth4, meDeltaEta, meDeltaEtaS, meDeltaPhi, meDeltaPhiS, meEcalHcalEnergyConeHB, meEcalHcalEnergyConeHE, meEcalHcalEnergyHB, meEcalHcalEnergyHE, meEnConeEtaProfile, meEnConeEtaProfile_depth1, meEnConeEtaProfile_depth2, meEnConeEtaProfile_depth3, meEnConeEtaProfile_depth4, meEnConeEtaProfile_E, meEnConeEtaProfile_EH, meEnergyHcalVsEcalHB, meEnergyHcalVsEcalHE, meNumEcalRecHitsConeHB, meNumEcalRecHitsConeHE, meNumRecHitsConeHB, meNumRecHitsConeHE, meNumRecHitsConeHF, meNumRecHitsConeHO, meNumRecHitsThreshHB, meNumRecHitsThreshHE, meNumRecHitsThreshHO, meRecHitsEnergyHB, meRecHitsEnergyHE, meRecHitsEnergyHF, meRecHitsEnergyHO, meRecHitSimHitHB, meRecHitSimHitHE, meRecHitSimHitHF, meRecHitSimHitHFL, meRecHitSimHitHFS, meRecHitSimHitHO, meRecHitSimHitProfileHB, meRecHitSimHitProfileHE, meRecHitSimHitProfileHF, meRecHitSimHitProfileHFL, meRecHitSimHitProfileHFS, meRecHitSimHitProfileHO, meSumRecHitsEnergyConeHB, meSumRecHitsEnergyConeHE, meSumRecHitsEnergyConeHF, meSumRecHitsEnergyConeHFL, meSumRecHitsEnergyConeHFS, meSumRecHitsEnergyConeHO, meSumRecHitsEnergyHB, meSumRecHitsEnergyHE, meSumRecHitsEnergyHF, meSumRecHitsEnergyHO, meTE_HB, meTE_HB1, meTE_HB2, meTE_HE, meTE_HE1, meTE_HE2, meTE_HF, meTE_HFL, meTE_HFS, meTE_High_HB, meTE_High_HO, meTE_HO, meTE_Low_HB, meTE_Low_HE, meTE_Low_HF, meTEprofileHB, meTEprofileHB_High, meTEprofileHB_Low, meTEprofileHE, meTEprofileHE_Low, meTEprofileHF, meTEprofileHF_Low, meTEprofileHO, meTEprofileHO_High, meTimeHB, meTimeHE, meTimeHF, meTimeHO, nevtot, Nhb, Nhe, Nhf, Nho, npart, occupancy_map_HB1, occupancy_map_HB2, occupancy_map_HE1, occupancy_map_HE2, occupancy_map_HE3, occupancy_map_HF1, occupancy_map_HF2, occupancy_map_HO, AlCaHLTBitMon_ParallelJobs::p, phi, PV3DBase< T, PVType, FrameType >::phi(), phi12(), edm::Handle< T >::product(), RecoTauCleanerPlugins::pt, alignCSCRings::r, RecHit_Aux_StatusWord_HB, RecHit_Aux_StatusWord_HE, RecHit_Aux_StatusWord_HF, RecHit_Aux_StatusWord_HO, RecHit_StatusWord_HB, RecHit_StatusWord_HE, RecHit_StatusWord_HF, RecHit_StatusWord_HF67, RecHit_StatusWord_HO, HcalCondObjectContainerBase::setTopo(), sevLvl_HB, sevLvl_HE, sevLvl_HF, sevLvl_HO, HcalDetId::subdet(), subdet_, edmStreamStallGrapher::t, theHcalChStatus, theHcalSevLvlComputer, tok_EB_, tok_EE_, tok_evt_, tok_hh_, HcalCondObjectContainerBase::topo(), useAllHistos_, ZS_nHB1, ZS_nHB2, ZS_nHE1, ZS_nHE2, ZS_nHE3, ZS_nHF1, ZS_nHF2, and ZS_nHO.

701  {
702 
703  using namespace edm;
704 
705  // cuts for each subdet_ector mimiking "Scheme B"
706  // double cutHB = 0.9, cutHE = 1.4, cutHO = 1.1, cutHFL = 1.2, cutHFS = 1.8;
707 
708  // energy in HCAL
709  double eHcal = 0.;
710  double eHcalCone = 0.;
711  double eHcalConeHB = 0.;
712  double eHcalConeHE = 0.;
713  double eHcalConeHO = 0.;
714  double eHcalConeHF = 0.;
715  double eHcalConeHFL = 0.;
716  double eHcalConeHFS = 0.;
717  // Total numbet of RecHits in HCAL, in the cone, above 1 GeV theshold
718  int nrechits = 0;
719  int nrechitsCone = 0;
720  int nrechitsThresh = 0;
721 
722  // energy in ECAL
723  double eEcal = 0.;
724  double eEcalB = 0.;
725  double eEcalE = 0.;
726  double eEcalCone = 0.;
727  int numrechitsEcal = 0;
728 
729  // MC info
730  double phi_MC = -999999.; // phi of initial particle from HepMC
731  double eta_MC = -999999.; // eta of initial particle from HepMC
732 
733  // HCAL energy around MC eta-phi at all depths;
734  double partR = 0.3;
735  double ehcal_coneMC_1 = 0.;
736  double ehcal_coneMC_2 = 0.;
737  double ehcal_coneMC_3 = 0.;
738  double ehcal_coneMC_4 = 0.;
739 
740  // Cone size for serach of the hottest HCAL cell around MC
741  double searchR = 1.0;
742  double eps = 0.001;
743 
744  // Single particle samples: actual eta-phi position of cluster around
745  // hottest cell
746  double etaHot = 99999.;
747  double phiHot = 99999.;
748 
749  // MC information
750 
751  // std::cout << "*** 1" << std::endl;
752 
753 
754  if(imc != 0) {
755 
757  ev.getByToken(tok_evt_,evtMC); // generator in late 310_preX
758  if (!evtMC.isValid()) {
759  std::cout << "no HepMCProduct found" << std::endl;
760  } else {
761  // std::cout << "*** source HepMCProduct found"<< std::endl;
762  }
763 
764  // MC particle with highest pt is taken as a direction reference
765  double maxPt = -99999.;
766  int npart = 0;
767  const HepMC::GenEvent * myGenEvent = evtMC->GetEvent();
768  for ( HepMC::GenEvent::particle_const_iterator p = myGenEvent->particles_begin();
769  p != myGenEvent->particles_end(); ++p ) {
770  double phip = (*p)->momentum().phi();
771  double etap = (*p)->momentum().eta();
772  // phi_MC = phip;
773  // eta_MC = etap;
774  double pt = (*p)->momentum().perp();
775  if(pt > maxPt) { npart++; maxPt = pt; phi_MC = phip; eta_MC = etap; }
776  }
777  // std::cout << "*** Max pT = " << maxPt << std::endl;
778 
779  }
780 
781  // std::cout << "*** 2" << std::endl;
782  // previously was: c.get<IdealGeometryRecord>().get (geometry);
783  c.get<CaloGeometryRecord>().get (geometry);
784 
785  // HCAL channel status map ****************************************
787  c.get<HcalChannelQualityRcd>().get( hcalChStatus );
788 
790  c.get<IdealGeometryRecord>().get(topo);
791 
792  theHcalChStatus = hcalChStatus.product();
793 
794  if( !theHcalChStatus->topo() ) theHcalChStatus->setTopo(topo.product());
795 
796  // Assignment of severity levels **********************************
797  edm::ESHandle<HcalSeverityLevelComputer> hcalSevLvlComputerHndl;
798  c.get<HcalSeverityLevelComputerRcd>().get(hcalSevLvlComputerHndl);
799  theHcalSevLvlComputer = hcalSevLvlComputerHndl.product();
800 
801  // Fill working vectors of HCAL RecHits quantities (all of these are drawn)
802  fillRecHitsTmp(subdet_, ev);
803 
804  // HB
805  if( subdet_ ==5 || subdet_ == 1 ){
806  for(unsigned int iv=0; iv<hcalHBSevLvlVec.size(); iv++){
808  }
809  }
810  // HE
811  if( subdet_ ==5 || subdet_ == 2 ){
812  for(unsigned int iv=0; iv<hcalHESevLvlVec.size(); iv++){
814  }
815  }
816  // HO
817  if( subdet_ ==5 || subdet_ == 3 ){
818  for(unsigned int iv=0; iv<hcalHOSevLvlVec.size(); iv++){
820  }
821  }
822  // HF
823  if( subdet_ ==5 || subdet_ == 4 ){
824  for(unsigned int iv=0; iv<hcalHFSevLvlVec.size(); iv++){
826  }
827  }
828 
829  // std::cout << "*** 3" << std::endl;
830 
831 
832  //===========================================================================
833  // IN ALL other CASES : ieta-iphi maps
834  //===========================================================================
835 
836  // ECAL
837  if(ecalselector_ == "yes" && (subdet_ == 1 || subdet_ == 2 || subdet_ == 5)) {
839 
840 
841  ev.getByToken(tok_EB_, rhitEB);
842 
843  EcalRecHitCollection::const_iterator RecHit = rhitEB.product()->begin();
844  EcalRecHitCollection::const_iterator RecHitEnd = rhitEB.product()->end();
845 
846  for (; RecHit != RecHitEnd ; ++RecHit) {
847  EBDetId EBid = EBDetId(RecHit->id());
848 
849  const CaloCellGeometry* cellGeometry =
850  geometry->getSubdetectorGeometry (EBid)->getGeometry (EBid) ;
851  double eta = cellGeometry->getPosition ().eta () ;
852  double phi = cellGeometry->getPosition ().phi () ;
853  double en = RecHit->energy();
854  eEcal += en;
855  eEcalB += en;
856 
857  if (useAllHistos_) map_ecal->Fill(eta, phi, en);
858 
859  double r = dR(eta_MC, phi_MC, eta, phi);
860  if( r < partR) {
861  eEcalCone += en;
862  numrechitsEcal++;
863  }
864  }
865 
866 
868 
869  ev.getByToken(tok_EE_, rhitEE);
870 
871  RecHit = rhitEE.product()->begin();
872  RecHitEnd = rhitEE.product()->end();
873 
874  for (; RecHit != RecHitEnd ; ++RecHit) {
875  EEDetId EEid = EEDetId(RecHit->id());
876 
877  const CaloCellGeometry* cellGeometry =
878  geometry->getSubdetectorGeometry (EEid)->getGeometry (EEid) ;
879  double eta = cellGeometry->getPosition ().eta () ;
880  double phi = cellGeometry->getPosition ().phi () ;
881  double en = RecHit->energy();
882  eEcal += en;
883  eEcalE += en;
884 
885  if (useAllHistos_) map_ecal->Fill(eta, phi, en);
886 
887  double r = dR(eta_MC, phi_MC, eta, phi);
888  if( r < partR) {
889  eEcalCone += en;
890  numrechitsEcal++;
891  }
892  }
893  } // end of ECAL selection
894 
895 
896  // std::cout << "*** 4" << std::endl;
897 
898 
899  // Counting, including ZS items
900  // Filling HCAL maps ----------------------------------------------------
901  double maxE = -99999.;
902 
903  int nhb1 = 0;
904  int nhb2 = 0;
905  int nhe1 = 0;
906  int nhe2 = 0;
907  int nhe3 = 0;
908  int nho = 0;
909  int nhf1 = 0;
910  int nhf2 = 0;
911 
912  for (unsigned int i = 0; i < cen.size(); i++) {
913 
914  int sub = csub[i];
915  int depth = cdepth[i];
916  int ieta = cieta[i];
917  int iphi = ciphi[i];
918  double en = cen[i];
919  double eta = ceta[i];
920  double phi = cphi[i];
921  uint32_t stwd = cstwd[i];
922  uint32_t auxstwd = cauxstwd[i];
923  // double z = cz[i];
924 
925  int index = ieta * 72 + iphi; // for sequential histos
926 
927  /*
928  std::cout << "*** point 4-1" << " ieta, iphi, depth, sub = "
929  << ieta << ", " << iphi << ", " << depth << ", " << sub
930  << std::endl;
931  */
932 
933 
934  if( sub == 1 && depth == 1) nhb1++;
935  if( sub == 1 && depth == 2) nhb2++;
936  if( sub == 2 && depth == 1) nhe1++;
937  if( sub == 2 && depth == 2) nhe2++;
938  if( sub == 2 && depth == 3) nhe3++;
939  if( sub == 3 && depth == 4) nho++;
940  if( sub == 4 && depth == 1) nhf1++;
941  if( sub == 4 && depth == 2) nhf2++;
942 
943  if( subdet_ == 6) { // ZS specific
944  if( en < emap_min[ieta+41][iphi][depth-1][sub-1] )
945  emap_min[ieta+41][iphi][depth-1][sub-1] = en;
946  }
947 
948  double emin = 1.;
949  if(fabs(eta) > 3.) emin = 5.;
950 
951  double r = dR(eta_MC, phi_MC, eta, phi);
952  if( r < searchR ) { // search for hottest cell in a big cone
953  if(maxE < en && en > emin) {
954  maxE = en;
955  etaHot = eta;
956  phiHot = phi;
957  }
958  }
959 
960  /*
961  if(ieta == 27 ) {
962  std::cout << "*** ieta=28, iphi = " << iphi << " det = "
963  << sub << " depth = " << depth << std::endl;
964  }
965  */
966 
967  if( subdet_ != 6) {
968 
969  // std::cout << "*** 4-1" << std::endl;
970  //The emean_vs_ieta histos are drawn as well as the e_maps
971 
972 
973  // to distinguish HE and HF
974  if( depth == 1 || depth == 2 ) {
975  int ieta1 = ieta;
976  if(sub == 4) {
977  if (ieta1 < 0) ieta1--;
978  else ieta1++;
979  }
980  if (depth == 1) emap_depth1->Fill(double(ieta1), double(iphi), en);
981  if (depth == 2) emap_depth2->Fill(double(ieta1), double(iphi), en);
982  }
983 
984  if( depth == 3) emap_depth3->Fill(double(ieta), double(iphi), en);
985  if( depth == 4) emap_depth4->Fill(double(ieta), double(iphi), en);
986 
987  if (depth == 1 && sub == 1 ) {
988  emean_vs_ieta_HB1->Fill(double(ieta), en);
989  occupancy_map_HB1->Fill(double(ieta), double(iphi));
990  if(useAllHistos_){
991  emean_seqHB1->Fill(double(index), en);
992  }
993  }
994  if (depth == 2 && sub == 1) {
995  emean_vs_ieta_HB2->Fill(double(ieta), en);
996  occupancy_map_HB2->Fill(double(ieta), double(iphi));
997  if(useAllHistos_){
998  emean_seqHB2->Fill(double(index), en);
999  }
1000  }
1001  if (depth == 1 && sub == 2) {
1002  emean_vs_ieta_HE1->Fill(double(ieta), en);
1003  occupancy_map_HE1->Fill(double(ieta), double(iphi));
1004  if(useAllHistos_){
1005  emean_seqHE1->Fill(double(index), en);
1006  }
1007  }
1008  if (depth == 2 && sub == 2) {
1009  emean_vs_ieta_HE2->Fill(double(ieta), en);
1010  occupancy_map_HE2->Fill(double(ieta), double(iphi));
1011  if(useAllHistos_){
1012  emean_seqHE2->Fill(double(index), en);
1013  }
1014  }
1015  if (depth == 3 && sub == 2) {
1016  emean_vs_ieta_HE3->Fill(double(ieta), en);
1017  occupancy_map_HE3->Fill(double(ieta), double(iphi));
1018  if(useAllHistos_){
1019  emean_seqHE3->Fill(double(index), en);
1020  }
1021  }
1022  if (depth == 4 ) {
1023  emean_vs_ieta_HO->Fill(double(ieta), en);
1024  occupancy_map_HO->Fill(double(ieta), double(iphi));
1025  if(useAllHistos_){
1026  emean_seqHO->Fill(double(index), en);
1027  }
1028  }
1029  if (depth == 1 && sub == 4) {
1030  emean_vs_ieta_HF1->Fill(double(ieta), en);
1031  occupancy_map_HF1->Fill(double(ieta), double(iphi));
1032  if(useAllHistos_){
1033  emean_seqHF1->Fill(double(index), en);
1034  }
1035  }
1036  if (depth == 2 && sub == 4) {
1037  emean_vs_ieta_HF2->Fill(double(ieta), en);
1038  occupancy_map_HF2->Fill(double(ieta), double(iphi));
1039  if(useAllHistos_){
1040  emean_seqHF2->Fill(double(index), en);
1041  }
1042  }
1043  }
1044 
1045 
1046  if( r < partR ) {
1047  if (depth == 1) ehcal_coneMC_1 += en;
1048  if (depth == 2) ehcal_coneMC_2 += en;
1049  if (depth == 3) ehcal_coneMC_3 += en;
1050  if (depth == 4) ehcal_coneMC_4 += en;
1051  }
1052 
1053  //32-bit status word
1054  uint32_t statadd;
1055  unsigned int isw67 = 0;
1056  for (unsigned int isw = 0; isw < 32; isw++){
1057  statadd = 0x1<<(isw);
1058  if (stwd & statadd){
1059  if (sub == 1) RecHit_StatusWord_HB->Fill(isw);
1060  else if (sub == 2) RecHit_StatusWord_HE->Fill(isw);
1061  else if (sub == 3) RecHit_StatusWord_HO->Fill(isw);
1062  else if (sub == 4){
1063  RecHit_StatusWord_HF->Fill(isw);
1064  if (isw == 6) isw67 += 1;
1065  if (isw == 7) isw67 += 2;
1066  }
1067  }
1068  }
1069  if (isw67 != 0 && useAllHistos_) RecHit_StatusWord_HF67->Fill(isw67); //This one is not drawn
1070 
1071  for (unsigned int isw =0; isw < 32; isw++){
1072  statadd = 0x1<<(isw);
1073  if( auxstwd & statadd ){
1074  if (sub == 1) RecHit_Aux_StatusWord_HB->Fill(isw);
1075  else if (sub == 2) RecHit_Aux_StatusWord_HE->Fill(isw);
1076  else if (sub == 3) RecHit_Aux_StatusWord_HO->Fill(isw);
1077  else if (sub == 4) RecHit_Aux_StatusWord_HF->Fill(isw);
1078  }
1079 
1080  }
1081 
1082  }
1083 
1084  // std::cout << "*** 4-2" << std::endl;
1085 
1086  if( subdet_ == 6 && useAllHistos_) { // ZS plots; not drawn
1087  ZS_nHB1->Fill(double(nhb1));
1088  ZS_nHB2->Fill(double(nhb2));
1089  ZS_nHE1->Fill(double(nhe1));
1090  ZS_nHE2->Fill(double(nhe2));
1091  ZS_nHE3->Fill(double(nhe3));
1092  ZS_nHO ->Fill(double(nho));
1093  ZS_nHF1->Fill(double(nhf1));
1094  ZS_nHF2->Fill(double(nhf2));
1095  }
1096  else{
1097  Nhb->Fill(double(nhb1 + nhb2));
1098  Nhe->Fill(double(nhe1 + nhe2 + nhe3));
1099  Nho->Fill(double(nho));
1100  Nhf->Fill(double(nhf1 + nhf2));
1101 
1102  //These are not drawn
1103  if(imc != 0 && useAllHistos_) {
1104  map_econe_depth1->Fill(eta_MC, phi_MC, ehcal_coneMC_1);
1105  map_econe_depth2->Fill(eta_MC, phi_MC, ehcal_coneMC_2);
1106  map_econe_depth3->Fill(eta_MC, phi_MC, ehcal_coneMC_3);
1107  map_econe_depth4->Fill(eta_MC, phi_MC, ehcal_coneMC_4);
1108  }
1109  }
1110 
1111  // std::cout << "*** 5" << std::endl;
1112 
1113 
1114  // NOISE =================================================================
1115  //Not drawn
1116  if (hcalselector_ == "noise" && useAllHistos_) {
1117  for (unsigned int i = 0; i < cen.size(); i++) {
1118 
1119  int sub = csub[i];
1120  int depth = cdepth[i];
1121  double en = cen[i];
1122 
1123  if (sub == 1) e_hb->Fill(en);
1124  if (sub == 2) e_he->Fill(en);
1125  if (sub == 3) e_ho->Fill(en);
1126  if (sub == 4) {
1127  if(depth == 1)
1128  e_hfl->Fill(en);
1129  else
1130  e_hfs->Fill(en);
1131  }
1132  }
1133  }
1134 
1135  //===========================================================================
1136  // SUBSYSTEMS,
1137  //===========================================================================
1138 
1139  else if ((subdet_ != 6) && (subdet_ != 0)) {
1140 
1141  // std::cout << "*** 6" << std::endl;
1142 
1143 
1144  double clusEta = 999.;
1145  double clusPhi = 999.;
1146  double clusEn = 0.;
1147 
1148  double HcalCone_d1 = 0.;
1149  double HcalCone_d2 = 0.;
1150  double HcalCone_d3 = 0.;
1151  double HcalCone_d4 = 0.;
1152  double HcalCone = 0.;
1153 
1154  int ietaMax1 = 9999;
1155  int ietaMax2 = 9999;
1156  int ietaMax3 = 9999;
1157  int ietaMax4 = 9999;
1158  int ietaMax = 9999;
1159  double enMax1 = -9999.;
1160  double enMax2 = -9999.;
1161  double enMax3 = -9999.;
1162  double enMax4 = -9999.;
1163  // double enMax = -9999.;
1164  double etaMax = 9999.;
1165 
1166  /*
1167  std::cout << "*** point 5-1" << " eta_MC, phi_MC etaHot, phiHot = "
1168  << eta_MC << ", " << phi_MC << " "
1169  << etaHot << ", " << phiHot
1170  << std::endl;
1171  */
1172 
1173  // CYCLE over cells ====================================================
1174 
1175  for (unsigned int i = 0; i < cen.size(); i++) {
1176  int sub = csub[i];
1177  int depth = cdepth[i];
1178  double eta = ceta[i];
1179  double phi = cphi[i];
1180  double en = cen[i];
1181  double t = ctime[i];
1182  int ieta = cieta[i];
1183 
1184  double rhot = dR(etaHot, phiHot, eta, phi);
1185  if(rhot < partR && en > 1.) {
1186  clusEta = (clusEta * clusEn + eta * en)/(clusEn + en);
1187  clusPhi = phi12(clusPhi, clusEn, phi, en);
1188  clusEn += en;
1189  }
1190 
1191  nrechits++;
1192  eHcal += en;
1193  if(en > 1. ) nrechitsThresh++;
1194 
1195  double r = dR(eta_MC, phi_MC, eta, phi);
1196  if( r < partR ){
1197  if(sub == 1) eHcalConeHB += en;
1198  if(sub == 2) eHcalConeHE += en;
1199  if(sub == 3) eHcalConeHO += en;
1200  if(sub == 4) {
1201  eHcalConeHF += en;
1202  if (depth == 1) eHcalConeHFL += en;
1203  else eHcalConeHFS += en;
1204  }
1205  eHcalCone += en;
1206  nrechitsCone++;
1207 
1208  // search for most energetic cell at the given depth in the cone
1209  if(depth == 1) {
1210  HcalCone_d1 += en;
1211  if(enMax1 < en) {
1212  enMax1 = en;
1213  ietaMax1 = ieta;
1214  }
1215  }
1216  if(depth == 2) {
1217  HcalCone_d2 += en;
1218  if(enMax2 < en) {
1219  enMax2 = en;
1220  ietaMax2 = ieta;
1221  }
1222  }
1223  if(depth == 3) {
1224  HcalCone_d3 += en;
1225  if(enMax3 < en) {
1226  enMax3 = en;
1227  ietaMax3 = ieta;
1228  }
1229  }
1230  if(depth == 4) {
1231  HcalCone_d4 += en;
1232  if(enMax4 < en) {
1233  enMax4 = en;
1234  ietaMax4 = ieta;
1235  }
1236  }
1237 
1238  if(depth != 4) {
1239  HcalCone += en;
1240  }
1241 
1242 
1243  // regardless of the depths (but excluding HO), just hottest cell
1244  /*
1245  if(depth != 4) {
1246  if(enMax < en) {
1247  enMax = en;
1248  ietaMax = ieta;
1249  }
1250  }
1251  */
1252 
1253  // alternative: ietamax -> closest to MC eta !!!
1254  float eta_diff = fabs(eta_MC - eta);
1255  if(eta_diff < etaMax) {
1256  etaMax = eta_diff;
1257  ietaMax = ieta;
1258  }
1259  }
1260 
1261  //The energy and overall timing histos are drawn while
1262  //the ones split by depth are not
1263  if(sub == 1 && (subdet_ == 1 || subdet_ == 5)) {
1264  meTimeHB->Fill(t);
1265  meRecHitsEnergyHB->Fill(en);
1266 
1267  meTE_Low_HB->Fill( en, t);
1268  meTE_HB->Fill( en, t);
1269  meTE_High_HB->Fill( en, t);
1270  meTEprofileHB_Low->Fill(en, t);
1271  meTEprofileHB->Fill(en, t);
1272  meTEprofileHB_High->Fill(en, t);
1273 
1274  if (useAllHistos_){
1275  if (depth == 1) meTE_HB1->Fill( en, t);
1276  else if (depth == 2) meTE_HB2->Fill( en, t);
1277  }
1278  }
1279  if(sub == 2 && (subdet_ == 2 || subdet_ == 5)) {
1280  meTimeHE->Fill(t);
1281  meRecHitsEnergyHE->Fill(en);
1282 
1283  meTE_Low_HE->Fill( en, t);
1284  meTE_HE->Fill( en, t);
1285  meTEprofileHE_Low->Fill(en, t);
1286  meTEprofileHE->Fill(en, t);
1287 
1288  if (useAllHistos_){
1289  if (depth == 1) meTE_HE1->Fill( en, t);
1290  else if (depth == 2) meTE_HE2->Fill( en, t);
1291  }
1292  }
1293  if(sub == 4 && (subdet_ == 4 || subdet_ == 5)) {
1294  meTimeHF->Fill(t);
1295  meRecHitsEnergyHF->Fill(en);
1296 
1297  meTE_Low_HF->Fill(en, t);
1298  meTE_HF->Fill(en, t);
1299  meTEprofileHF_Low->Fill(en, t);
1300  meTEprofileHF->Fill(en, t);
1301 
1302  if (useAllHistos_){
1303  if (depth == 1) meTE_HFL->Fill( en, t);
1304  else meTE_HFS->Fill( en, t);
1305  }
1306  }
1307  if(sub == 3 && (subdet_ == 3 || subdet_ == 5)) {
1308  meTimeHO->Fill(t);
1309  meRecHitsEnergyHO->Fill(en);
1310 
1311  meTE_HO->Fill( en, t);
1312  meTE_High_HO->Fill( en, t);
1313  meTEprofileHO->Fill(en, t);
1314  meTEprofileHO_High->Fill(en, t);
1315  }
1316  }
1317 
1318  if(imc != 0) {
1319  //Cone by depth are not drawn, the others are used for pion scan
1320  if (useAllHistos_){
1321  meEnConeEtaProfile_depth1->Fill(double(ietaMax1), HcalCone_d1);
1322  meEnConeEtaProfile_depth2->Fill(double(ietaMax2), HcalCone_d2);
1323  meEnConeEtaProfile_depth3->Fill(double(ietaMax3), HcalCone_d3);
1324  meEnConeEtaProfile_depth4->Fill(double(ietaMax4), HcalCone_d4);
1325  }
1326  meEnConeEtaProfile ->Fill(double(ietaMax), HcalCone); //
1327  meEnConeEtaProfile_E ->Fill(double(ietaMax), eEcalCone);
1328  meEnConeEtaProfile_EH ->Fill(double(ietaMax), HcalCone+eEcalCone);
1329  }
1330 
1331  // std::cout << "*** 7" << std::endl;
1332 
1333 
1334  // Single particle samples ONLY ! ======================================
1335  // Fill up some histos for "integrated" subsustems.
1336  // These are not drawn
1337  if(etype_ == 1 && useAllHistos_) {
1338 
1339  /*
1340  std::cout << "*** point 7-1" << " eta_MC, phi_MC clusEta, clusPhi = "
1341  << eta_MC << ", " << phi_MC << " "
1342  << clusEta << ", " << clusPhi
1343  << std::endl;
1344  */
1345 
1346  double phidev = dPhiWsign(clusPhi, phi_MC);
1347  meDeltaPhi->Fill(eta_MC, phidev);
1348  double etadev = clusEta - eta_MC;
1349  meDeltaEta->Fill(eta_MC, etadev);
1350 
1351  if(subdet_ == 1) {
1352  meSumRecHitsEnergyHB->Fill(eHcal);
1353  if(imc != 0) meSumRecHitsEnergyConeHB->Fill(eHcalConeHB);
1354  if(imc != 0) meNumRecHitsConeHB->Fill(double(nrechitsCone));
1355  meNumRecHitsThreshHB->Fill(double(nrechitsThresh));
1356  }
1357 
1358  if(subdet_ == 2) {
1359  meSumRecHitsEnergyHE->Fill(eHcal);
1360  if(imc != 0) meSumRecHitsEnergyConeHE->Fill(eHcalConeHE);
1361  if(imc != 0) meNumRecHitsConeHE->Fill(double(nrechitsCone));
1362  meNumRecHitsThreshHE->Fill(double(nrechitsThresh));
1363  }
1364 
1365  if(subdet_ == 3) {
1366  meSumRecHitsEnergyHO->Fill(eHcal);
1367  if(imc != 0) meSumRecHitsEnergyConeHO->Fill(eHcalConeHO);
1368  if(imc != 0) meNumRecHitsConeHO->Fill(double(nrechitsCone));
1369  meNumRecHitsThreshHO->Fill(double(nrechitsThresh));
1370  }
1371 
1372  if(subdet_ == 4) {
1373  if(eHcalConeHF > eps ) {
1374  meSumRecHitsEnergyHF ->Fill(eHcal);
1375  if(imc != 0) {
1376  meSumRecHitsEnergyConeHF ->Fill(eHcalConeHF);
1377  meNumRecHitsConeHF->Fill(double(nrechitsCone));
1378  meSumRecHitsEnergyConeHFL ->Fill(eHcalConeHFL);
1379  meSumRecHitsEnergyConeHFS ->Fill(eHcalConeHFS);
1380  }
1381  }
1382  }
1383 
1384  // std::cout << "*** 8" << std::endl;
1385 
1386 
1387  // Also combine with ECAL if needed
1388  if(subdet_ == 1 && ecalselector_ == "yes") {
1389 
1390  /*
1391  std::cout << "*** point 8-1"
1392  << " eEcalB " << eEcalB << " eHcal " << eHcal
1393  << " eEcalCone " << eEcalCone << " eHcalCone "
1394  << eHcalCone
1395  << " numrechitsEcal " << numrechitsEcal
1396  << std::endl;
1397 
1398  */
1399 
1400  meEcalHcalEnergyHB->Fill(eEcalB+eHcal);
1401  meEcalHcalEnergyConeHB->Fill(eEcalCone+eHcalCone);
1402  meNumEcalRecHitsConeHB->Fill(double(numrechitsEcal));
1403 
1404  }
1405 
1406  if(subdet_ == 2 && ecalselector_ == "yes"){
1407 
1408  /*
1409  std::cout << "*** point 8-2a"
1410  << " eEcalE " << eEcalE << " eHcal " << eHcal
1411  << " eEcalCone " << eEcalCone << " eHcalCone "
1412  << eHcalCone
1413  << " numrechitsEcal " << numrechitsEcal
1414  << std::endl;
1415  */
1416 
1417  meEcalHcalEnergyHE->Fill(eEcalE+eHcal);
1418  if(imc != 0) meEcalHcalEnergyConeHE->Fill(eEcalCone+eHcalCone);
1419  if(imc != 0) meNumEcalRecHitsConeHE->Fill(double(numrechitsEcal));
1420  }
1421 
1422  // Banana plots finally
1423  if(imc != 0) {
1424  if(subdet_ == 1 && ecalselector_ == "yes")
1425  meEnergyHcalVsEcalHB -> Fill(eEcalCone,eHcalCone);
1426  if(subdet_ == 2 && ecalselector_ == "yes")
1427  meEnergyHcalVsEcalHE -> Fill(eEcalCone,eHcalCone);
1428  }
1429  }
1430  }
1431  // std::cout << "*** 9" << std::endl;
1432 
1433 
1434  //===========================================================================
1435  // Getting SimHits
1436  //===========================================================================
1437 
1438  if(subdet_ > 0 && subdet_ < 6 && imc !=0 && !famos_ ) { // not noise
1439 
1440  double maxES = -9999.;
1441  double etaHotS = 1000.;
1442  double phiHotS = 1000.;
1443 
1445  ev.getByToken(tok_hh_,hcalHits);
1446  const PCaloHitContainer * SimHitResult = hcalHits.product () ;
1447 
1448  double enSimHits = 0.;
1449  double enSimHitsHB = 0.;
1450  double enSimHitsHE = 0.;
1451  double enSimHitsHO = 0.;
1452  double enSimHitsHF = 0.;
1453  double enSimHitsHFL = 0.;
1454  double enSimHitsHFS = 0.;
1455  // sum of SimHits in the cone
1456 
1457  for (std::vector<PCaloHit>::const_iterator SimHits = SimHitResult->begin () ; SimHits != SimHitResult->end(); ++SimHits) {
1458  HcalDetId cell(SimHits->id());
1459  int sub = cell.subdet();
1460  const CaloCellGeometry* cellGeometry =
1461  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
1462  double etaS = cellGeometry->getPosition().eta () ;
1463  double phiS = cellGeometry->getPosition().phi () ;
1464  double en = SimHits->energy();
1465 
1466  double emin = 0.01;
1467  if(fabs(etaS) > 3.) emin = 1.;
1468 
1469  double r = dR(eta_MC, phi_MC, etaS, phiS);
1470  if( r < searchR ) { // search for hottest cell in a big cone
1471  if(maxES < en && en > emin ) {
1472  maxES = en;
1473  etaHotS = etaS;
1474  phiHotS = phiS;
1475  }
1476  }
1477 
1478  if ( r < partR ){ // just energy in the small cone
1479  enSimHits += en;
1480  if(sub == 1) enSimHitsHB += en;
1481  if(sub == 2) enSimHitsHE += en;
1482  if(sub == 3) enSimHitsHO += en;
1483  if(sub == 4) {
1484  enSimHitsHF += en;
1485  int depth = cell.depth();
1486  if(depth == 1) enSimHitsHFL += en;
1487  else enSimHitsHFS += en;
1488  }
1489  }
1490  }
1491 
1492 
1493  // Second look over SimHits: cluster finding
1494 
1495  double clusEta = 999.;
1496  double clusPhi = 999.;
1497  double clusEn = 0.;
1498 
1499  for (std::vector<PCaloHit>::const_iterator SimHits = SimHitResult->begin () ; SimHits != SimHitResult->end(); ++SimHits) {
1500  HcalDetId cell(SimHits->id());
1501 
1502  const CaloCellGeometry* cellGeometry =
1503  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
1504  double etaS = cellGeometry->getPosition().eta () ;
1505  double phiS = cellGeometry->getPosition().phi () ;
1506  double en = SimHits->energy();
1507 
1508  double emin = 0.01;
1509  if(fabs(etaS) > 3.) emin = 1.;
1510 
1511  double rhot = dR(etaHotS, phiHotS, etaS, phiS);
1512  if(rhot < partR && en > emin) {
1513  clusEta = (clusEta * clusEn + etaS * en)/(clusEn + en);
1514  clusPhi = phi12(clusPhi, clusEn, phiS, en);
1515  clusEn += en;
1516  }
1517  }
1518 
1519  // SimHits cluster deviation from MC (eta, phi)
1520  // These are not drawn
1521  if (useAllHistos_){
1522  if(etype_ == 1) {
1523  double phidev = dPhiWsign(clusPhi, phi_MC);
1524  meDeltaPhiS->Fill(eta_MC, phidev);
1525  double etadev = clusEta - eta_MC;
1526  meDeltaEtaS->Fill(eta_MC, etadev);
1527  }
1528  // Now some histos with SimHits
1529 
1530  if(subdet_ == 4 || subdet_ == 5) {
1531  if(eHcalConeHF > eps) {
1532  meRecHitSimHitHF->Fill( enSimHitsHF, eHcalConeHF );
1533  meRecHitSimHitProfileHF->Fill( enSimHitsHF, eHcalConeHF);
1534 
1535  meRecHitSimHitHFL->Fill( enSimHitsHFL, eHcalConeHFL );
1536  meRecHitSimHitProfileHFL->Fill( enSimHitsHFL, eHcalConeHFL);
1537  meRecHitSimHitHFS->Fill( enSimHitsHFS, eHcalConeHFS );
1538  meRecHitSimHitProfileHFS->Fill( enSimHitsHFS, eHcalConeHFS);
1539  }
1540  }
1541  if(subdet_ == 1 || subdet_ == 5) {
1542  meRecHitSimHitHB->Fill( enSimHitsHB,eHcalConeHB );
1543  meRecHitSimHitProfileHB->Fill( enSimHitsHB,eHcalConeHB);
1544  }
1545  if(subdet_ == 2 || subdet_ == 5) {
1546  meRecHitSimHitHE->Fill( enSimHitsHE,eHcalConeHE );
1547  meRecHitSimHitProfileHE->Fill( enSimHitsHE,eHcalConeHE);
1548  }
1549  if(subdet_ == 3 || subdet_ == 5) {
1550  meRecHitSimHitHO->Fill( enSimHitsHO,eHcalConeHO );
1551  meRecHitSimHitProfileHO->Fill( enSimHitsHO,eHcalConeHO);
1552  }
1553  }
1554  }
1555 
1556  nevtot++;
1557 }
MonitorElement * emean_vs_ieta_HB2
int i
Definition: DBlmapReader.cc:9
const HcalSeverityLevelComputer * theHcalSevLvlComputer
MonitorElement * meSumRecHitsEnergyConeHE
const HcalChannelQuality * theHcalChStatus
std::vector< PCaloHit > PCaloHitContainer
MonitorElement * occupancy_map_HB1
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hh_
MonitorElement * meRecHitsEnergyHF
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:30
double phi12(double phi1, double en1, double phi2, double en2)
std::vector< int > hcalHBSevLvlVec
MonitorElement * meNumRecHitsConeHE
MonitorElement * meSumRecHitsEnergyConeHB
MonitorElement * meTEprofileHE_Low
std::vector< uint32_t > cstwd
MonitorElement * RecHit_Aux_StatusWord_HB
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
MonitorElement * emean_vs_ieta_HB1
std::vector< EcalRecHit >::const_iterator const_iterator
void setTopo(const HcalTopology *topo) const
MonitorElement * meEnConeEtaProfile
double npart
Definition: HydjetWrapper.h:44
MonitorElement * occupancy_map_HE3
double dPhiWsign(double phi1, double phi2)
MonitorElement * meRecHitSimHitProfileHF
MonitorElement * meEcalHcalEnergyHB
MonitorElement * meRecHitSimHitProfileHFS
MonitorElement * meEnergyHcalVsEcalHE
MonitorElement * occupancy_map_HF1
MonitorElement * meEcalHcalEnergyConeHE
MonitorElement * meRecHitsEnergyHB
MonitorElement * meSumRecHitsEnergyHF
double emap_min[82][72][4][4]
T eta() const
MonitorElement * meNumRecHitsConeHO
std::vector< double > ceta
MonitorElement * meNumRecHitsConeHB
MonitorElement * meRecHitSimHitHF
MonitorElement * meRecHitsEnergyHE
MonitorElement * occupancy_map_HE1
MonitorElement * meRecHitSimHitProfileHE
MonitorElement * meSumRecHitsEnergyHB
void Fill(long long x)
MonitorElement * meEnConeEtaProfile_E
MonitorElement * meRecHitSimHitHB
MonitorElement * meRecHitSimHitHFS
MonitorElement * meSumRecHitsEnergyConeHFS
MonitorElement * RecHit_Aux_StatusWord_HO
std::vector< double > cphi
MonitorElement * meNumEcalRecHitsConeHB
MonitorElement * meNumRecHitsThreshHB
MonitorElement * meSumRecHitsEnergyHO
std::vector< int > hcalHESevLvlVec
MonitorElement * meEnergyHcalVsEcalHB
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * RecHit_StatusWord_HF
MonitorElement * RecHit_Aux_StatusWord_HE
edm::ESHandle< CaloGeometry > geometry
MonitorElement * meSumRecHitsEnergyConeHO
MonitorElement * meTEprofileHB
MonitorElement * map_econe_depth1
virtual void fillRecHitsTmp(int subdet_, edm::Event const &ev)
MonitorElement * map_econe_depth4
double dR(double eta1, double phi1, double eta2, double phi2)
MonitorElement * emean_vs_ieta_HE3
MonitorElement * meNumRecHitsThreshHO
MonitorElement * meEcalHcalEnergyConeHB
MonitorElement * meNumRecHitsThreshHE
std::vector< int > hcalHFSevLvlVec
MonitorElement * occupancy_map_HE2
bool isValid() const
Definition: HandleBase.h:76
MonitorElement * meSumRecHitsEnergyConeHF
MonitorElement * RecHit_Aux_StatusWord_HF
MonitorElement * meRecHitSimHitHO
MonitorElement * meRecHitSimHitProfileHB
MonitorElement * RecHit_StatusWord_HO
MonitorElement * meEnConeEtaProfile_depth1
MonitorElement * emean_vs_ieta_HF2
MonitorElement * occupancy_map_HO
MonitorElement * meTEprofileHF_Low
edm::EDGetTokenT< EBRecHitCollection > tok_EB_
MonitorElement * occupancy_map_HF2
MonitorElement * RecHit_StatusWord_HF67
MonitorElement * meTEprofileHO_High
MonitorElement * meTEprofileHE
MonitorElement * occupancy_map_HB2
T const * product() const
Definition: Handle.h:81
MonitorElement * meNumRecHitsConeHF
MonitorElement * meTEprofileHF
MonitorElement * meEnConeEtaProfile_depth3
MonitorElement * emean_vs_ieta_HE1
MonitorElement * meRecHitSimHitProfileHO
std::vector< int > hcalHOSevLvlVec
MonitorElement * emean_vs_ieta_HE2
edm::EDGetTokenT< EERecHitCollection > tok_EE_
std::vector< double > ctime
MonitorElement * map_econe_depth2
MonitorElement * RecHit_StatusWord_HE
MonitorElement * meEnConeEtaProfile_EH
MonitorElement * meRecHitSimHitProfileHFL
MonitorElement * meEnConeEtaProfile_depth2
T eta() const
Definition: PV3DBase.h:76
MonitorElement * meRecHitsEnergyHO
std::vector< uint32_t > cauxstwd
MonitorElement * emean_vs_ieta_HO
MonitorElement * meSumRecHitsEnergyHE
MonitorElement * meRecHitSimHitHFL
MonitorElement * meSumRecHitsEnergyConeHFL
MonitorElement * meNumEcalRecHitsConeHE
MonitorElement * meEcalHcalEnergyHE
MonitorElement * emean_vs_ieta_HF1
MonitorElement * meTEprofileHO
tuple cout
Definition: gather_cfg.py:121
edm::EDGetTokenT< edm::HepMCProduct > tok_evt_
MonitorElement * meTEprofileHB_Low
const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
MonitorElement * meRecHitSimHitHE
MonitorElement * map_econe_depth3
MonitorElement * meTEprofileHB_High
std::vector< double > cen
const HcalTopology * topo() const
MonitorElement * meEnConeEtaProfile_depth4
MonitorElement * RecHit_StatusWord_HB
Definition: DDAxes.h:10
void HcalRecHitsValidation::bookHistograms ( DQMStore::IBooker ib,
edm::Run const &  run,
edm::EventSetup const &  es 
)
virtual

Implements thread_unsafe::DQMEDAnalyzer.

Definition at line 62 of file HcalRecHitsValidation.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::bookProfile(), e_hb, e_he, e_hfl, e_hfs, e_ho, ecalselector_, emap_depth1, emap_depth2, emap_depth3, emap_depth4, emap_min, emean_seqHB1, emean_seqHB2, emean_seqHE1, emean_seqHE2, emean_seqHE3, emean_seqHF1, emean_seqHF2, emean_seqHO, emean_vs_ieta_HB1, emean_vs_ieta_HB2, emean_vs_ieta_HE1, emean_vs_ieta_HE2, emean_vs_ieta_HE3, emean_vs_ieta_HF1, emean_vs_ieta_HF2, emean_vs_ieta_HO, etype_, hcalselector_, timingPdfMaker::histo, imc, map_depth1, map_depth2, map_depth3, map_depth4, map_ecal, map_econe_depth1, map_econe_depth2, map_econe_depth3, map_econe_depth4, meDeltaEta, meDeltaEtaS, meDeltaPhi, meDeltaPhiS, meEcalHcalEnergyConeHB, meEcalHcalEnergyConeHE, meEcalHcalEnergyHB, meEcalHcalEnergyHE, meEnConeEtaProfile, meEnConeEtaProfile_depth1, meEnConeEtaProfile_depth2, meEnConeEtaProfile_depth3, meEnConeEtaProfile_depth4, meEnConeEtaProfile_E, meEnConeEtaProfile_EH, meEnergyHcalVsEcalHB, meEnergyHcalVsEcalHE, meNumEcalRecHitsConeHB, meNumEcalRecHitsConeHE, meNumRecHitsConeHB, meNumRecHitsConeHE, meNumRecHitsConeHF, meNumRecHitsConeHO, meNumRecHitsThreshHB, meNumRecHitsThreshHE, meNumRecHitsThreshHO, meRecHitsEnergyHB, meRecHitsEnergyHE, meRecHitsEnergyHF, meRecHitsEnergyHO, meRecHitSimHitHB, meRecHitSimHitHE, meRecHitSimHitHF, meRecHitSimHitHFL, meRecHitSimHitHFS, meRecHitSimHitHO, meRecHitSimHitProfileHB, meRecHitSimHitProfileHE, meRecHitSimHitProfileHF, meRecHitSimHitProfileHFL, meRecHitSimHitProfileHFS, meRecHitSimHitProfileHO, meSumRecHitsEnergyConeHB, meSumRecHitsEnergyConeHE, meSumRecHitsEnergyConeHF, meSumRecHitsEnergyConeHFL, meSumRecHitsEnergyConeHFS, meSumRecHitsEnergyConeHO, meSumRecHitsEnergyHB, meSumRecHitsEnergyHE, meSumRecHitsEnergyHF, meSumRecHitsEnergyHO, meTE_HB, meTE_HB1, meTE_HB2, meTE_HE, meTE_HE1, meTE_HE2, meTE_HF, meTE_HFL, meTE_HFS, meTE_High_HB, meTE_High_HO, meTE_HO, meTE_Low_HB, meTE_Low_HE, meTE_Low_HF, meTEprofileHB, meTEprofileHB_High, meTEprofileHB_Low, meTEprofileHE, meTEprofileHE_Low, meTEprofileHF, meTEprofileHF_Low, meTEprofileHO, meTEprofileHO_High, meTimeHB, meTimeHE, meTimeHF, meTimeHO, Nhb, Nhe, Nhf, Nho, occupancy_map_HB1, occupancy_map_HB2, occupancy_map_HE1, occupancy_map_HE2, occupancy_map_HE3, occupancy_map_HF1, occupancy_map_HF2, occupancy_map_HO, occupancy_seqHB1, occupancy_seqHB2, occupancy_seqHE1, occupancy_seqHE2, occupancy_seqHE3, occupancy_seqHF1, occupancy_seqHF2, occupancy_seqHO, occupancy_vs_ieta_HB1, occupancy_vs_ieta_HB2, occupancy_vs_ieta_HE1, occupancy_vs_ieta_HE2, occupancy_vs_ieta_HE3, occupancy_vs_ieta_HF1, occupancy_vs_ieta_HF2, occupancy_vs_ieta_HO, RecHit_Aux_StatusWord_HB, RecHit_Aux_StatusWord_HE, RecHit_Aux_StatusWord_HF, RecHit_Aux_StatusWord_HO, RecHit_StatusWord_HB, RecHit_StatusWord_HE, RecHit_StatusWord_HF, RecHit_StatusWord_HF67, RecHit_StatusWord_HO, RMS_seq_HB1, RMS_seq_HB2, RMS_seq_HE1, RMS_seq_HE2, RMS_seq_HE3, RMS_seq_HF1, RMS_seq_HF2, RMS_seq_HO, RMS_vs_ieta_HB1, RMS_vs_ieta_HB2, RMS_vs_ieta_HE1, RMS_vs_ieta_HE2, RMS_vs_ieta_HE3, RMS_vs_ieta_HF1, RMS_vs_ieta_HF2, RMS_vs_ieta_HO, DQMStore::IBooker::setCurrentFolder(), sevLvl_HB, sevLvl_HE, sevLvl_HF, sevLvl_HO, subdet_, useAllHistos_, ZS_HB1, ZS_HB2, ZS_HE1, ZS_HE2, ZS_HE3, ZS_HF1, ZS_HF2, ZS_HO, ZS_nHB1, ZS_nHB2, ZS_nHE1, ZS_nHE2, ZS_nHE3, ZS_nHF1, ZS_nHF2, ZS_nHO, ZS_seqHB1, ZS_seqHB2, ZS_seqHE1, ZS_seqHE2, ZS_seqHE3, ZS_seqHF1, ZS_seqHF2, and ZS_seqHO.

63 {
64 
65  Char_t histo[200];
66 
67  ib.setCurrentFolder("HcalRecHitsV/HcalRecHitTask");
68 
69  // General counters (drawn)
70  sprintf (histo, "N_HB" );
71  Nhb = ib.book1D(histo, histo, 2600,0.,2600.);
72  sprintf (histo, "N_HE" );
73  Nhe = ib.book1D(histo, histo, 2600,0.,2600.);
74  sprintf (histo, "N_HO" );
75  Nho = ib.book1D(histo, histo, 2200,0.,2200.);
76  sprintf (histo, "N_HF" );
77  Nhf = ib.book1D(histo, histo, 1800,0., 1800.);
78 
79  // ZS
80  if(subdet_ == 6) {
81 
82  for (unsigned int i1 = 0; i1 < 82; i1++) {
83  for (unsigned int i2 = 0; i2 < 72; i2++) {
84  for (unsigned int i3 = 0; i3 < 4; i3++) {
85  for (unsigned int i4 = 0; i4 < 4; i4++) {
86  emap_min [i1][i2][i3][i4] = 99999.;
87  }
88  }
89  }
90  }
91 
92  //None of the ZS histos are drawn
93  if (useAllHistos_){
94  sprintf (histo, "ZSmin_map_depth1" );
95  map_depth1 = ib.book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
96  sprintf (histo, "ZSmin_map_depth2" );
97  map_depth2 = ib.book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
98  sprintf (histo, "ZSmin_map_depth3" );
99  map_depth3 = ib.book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
100  sprintf (histo, "ZSmin_map_depth4" );
101  map_depth4 = ib.book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
102 
103 
104  sprintf (histo, "ZS_Nreco_HB1" );
105  ZS_nHB1 = ib.book1D(histo, histo, 2500, 0., 2500.);
106  sprintf (histo, "ZS_Nreco_HB2" );
107  ZS_nHB2 = ib.book1D(histo, histo, 500, 0., 500.);
108  sprintf (histo, "ZS_Nreco_HE1" );
109  ZS_nHE1 = ib.book1D(histo, histo, 2000, 0., 2000.);
110  sprintf (histo, "ZS_Nreco_HE2" );
111  ZS_nHE2 = ib.book1D(histo, histo, 2000, 0., 2000.);
112  sprintf (histo, "ZS_Nreco_HE3" );
113  ZS_nHE3 = ib.book1D(histo, histo, 500, 0., 500.);
114  sprintf (histo, "ZS_Nreco_HO" );
115  ZS_nHO = ib.book1D(histo, histo, 2500, 0., 2500.);
116  sprintf (histo, "ZS_Nreco_HF1" );
117  ZS_nHF1 = ib.book1D(histo, histo, 1000, 0., 1000.);
118  sprintf (histo, "ZS_Nreco_HF2" );
119  ZS_nHF2 = ib.book1D(histo, histo, 1000, 0., 1000.);
120 
121  sprintf (histo, "ZSmin_simple1D_HB1" );
122  ZS_HB1 = ib.book1D(histo, histo,120, -2., 10.);
123  sprintf (histo, "ZSmin_simple1D_HB2" );
124  ZS_HB2 = ib.book1D(histo, histo,120, -2., 10.);
125  sprintf (histo, "ZSmin_simple1D_HE1" );
126  ZS_HE1 = ib.book1D(histo, histo,120, -2., 10.);
127  sprintf (histo, "ZSmin_simple1D_HE2" );
128  ZS_HE2 = ib.book1D(histo, histo,120, -2., 10.);
129  sprintf (histo, "ZSmin_simple1D_HE3" );
130  ZS_HE3 = ib.book1D(histo, histo,120, -2., 10.);
131  sprintf (histo, "ZSmin_simple1D_HO" );
132  ZS_HO = ib.book1D(histo, histo,120, -2., 10.);
133  sprintf (histo, "ZSmin_simple1D_HF1" );
134  ZS_HF1 = ib.book1D(histo, histo,200, -10., 10.);
135  sprintf (histo, "ZSmin_simple1D_HF2" );
136  ZS_HF2 = ib.book1D(histo, histo,200, -10., 10.);
137 
138  sprintf (histo, "ZSmin_sequential1D_HB1" );
139  ZS_seqHB1 = ib.book1D(histo, histo,2400, -1200., 1200.);
140  sprintf (histo, "ZSmin_sequential1D_HB2" );
141  ZS_seqHB2 = ib.book1D(histo, histo,2400, -1200., 1200.);
142  sprintf (histo, "ZSmin_sequential1D_HE1" );
143  ZS_seqHE1 = ib.book1D(histo, histo,4400, -2200., 2200.);
144  sprintf (histo, "ZSmin_sequential1D_HE2" );
145  ZS_seqHE2 = ib.book1D(histo, histo,4400, -2200., 2200.);
146  sprintf (histo, "ZSmin_sequential1D_HE3" );
147  ZS_seqHE3 = ib.book1D(histo, histo,4400, -2200., 2200.);
148  sprintf (histo, "ZSmin_sequential1D_HO" );
149  ZS_seqHO = ib.book1D(histo, histo,2400, -1200., 1200.);
150  sprintf (histo, "ZSmin_sequential1D_HF1" );
151  ZS_seqHF1 = ib.book1D(histo, histo,6000, -3000., 3000.);
152  sprintf (histo, "ZSmin_sequential1D_HF2" );
153  ZS_seqHF2 = ib.book1D(histo, histo,6000, -3000., 3000.);
154  }
155  }
156 
157  // ALL others, except ZS
158  else {
159 
160  sprintf (histo, "emap_depth1" );
161  emap_depth1 = ib.book2D(histo, histo, 84, -42., 42., 72, 0., 72.);
162  sprintf (histo, "emap_depth2" );
163  emap_depth2 = ib.book2D(histo, histo, 84, -42., 42., 72, 0., 72.);
164  sprintf (histo, "emap_depth3" );
165  emap_depth3 = ib.book2D(histo, histo, 84, -42., 42., 72, 0., 72.);
166  sprintf (histo, "emap_depth4" );
167  emap_depth4 = ib.book2D(histo, histo, 84, -42., 42., 72, 0., 72.);
168 
169  if (useAllHistos_){
170 
171  if (ecalselector_ == "yes") {
172  sprintf (histo, "map_ecal" );
173  map_ecal = ib.book2D(histo, histo, 70, -3.045, 3.045, 72, -3.1415926536, 3.1415926536);
174  }
175  }
176 
177  //The mean energy histos are drawn, but not the RMS or emean seq
178  sprintf (histo, "emean_vs_ieta_HB1" );
179  emean_vs_ieta_HB1 = ib.bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s");
180  sprintf (histo, "emean_vs_ieta_HB2" );
181  emean_vs_ieta_HB2 = ib.bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s");
182  sprintf (histo, "emean_vs_ieta_HE1" );
183  emean_vs_ieta_HE1 = ib.bookProfile(histo, histo, 82, -41., 41., 2010, -10. ,2000., "s" );
184  sprintf (histo, "emean_vs_ieta_HE2" );
185  emean_vs_ieta_HE2 = ib.bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s");
186  sprintf (histo, "emean_vs_ieta_HE3" );
187  emean_vs_ieta_HE3 = ib.bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s" );
188  sprintf (histo, "emean_vs_ieta_HO" );
189  emean_vs_ieta_HO = ib.bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s" );
190  sprintf (histo, "emean_vs_ieta_HF1" );
191  emean_vs_ieta_HF1 = ib.bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s" );
192  sprintf (histo, "emean_vs_ieta_HF2" );
193  emean_vs_ieta_HF2 = ib.bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s" );
194 
195  if (useAllHistos_){
196  sprintf (histo, "RMS_vs_ieta_HB1" );
197  RMS_vs_ieta_HB1 = ib.book1D(histo, histo, 82, -41., 41.);
198  sprintf (histo, "RMS_vs_ieta_HB2" );
199  RMS_vs_ieta_HB2 = ib.book1D(histo, histo, 82, -41., 41.);
200  sprintf (histo, "RMS_vs_ieta_HE1" );
201  RMS_vs_ieta_HE1 = ib.book1D(histo, histo, 82, -41., 41.);
202  sprintf (histo, "RMS_vs_ieta_HE2" );
203  RMS_vs_ieta_HE2 = ib.book1D(histo, histo, 82, -41., 41.);
204  sprintf (histo, "RMS_vs_ieta_HE3" );
205  RMS_vs_ieta_HE3 = ib.book1D(histo, histo, 82, -41., 41.);
206  sprintf (histo, "RMS_vs_ieta_HO" );
207  RMS_vs_ieta_HO = ib.book1D(histo, histo, 82, -41., 41.);
208  sprintf (histo, "RMS_vs_ieta_HF1" );
209  RMS_vs_ieta_HF1 = ib.book1D(histo, histo, 82, -41., 41.);
210  sprintf (histo, "RMS_vs_ieta_HF2" );
211  RMS_vs_ieta_HF2 = ib.book1D(histo, histo, 82, -41., 41.);
212 
213  // Sequential emean and RMS
214  sprintf (histo, "emean_seq_HB1" );
215  emean_seqHB1 = ib.bookProfile(histo, histo, 2400, -1200., 1200., 2010, -10., 2000., "s" );
216  sprintf (histo, "emean_seq_HB2" );
217  emean_seqHB2 = ib.bookProfile(histo, histo, 2400, -1200., 1200., 2010, -10., 2000., "s" );
218  sprintf (histo, "emean_seq_HE1" );
219  emean_seqHE1 = ib.bookProfile(histo, histo, 4400, -2200., 2200., 2010, -10., 2000., "s" );
220  sprintf (histo, "emean_seq_HE2" );
221  emean_seqHE2 = ib.bookProfile(histo, histo, 4400, -2200., 2200., 2010, -10., 2000., "s" );
222  sprintf (histo, "emean_seq_HE3" );
223  emean_seqHE3 = ib.bookProfile(histo, histo, 4400, -2200., 2200., 2010, -10., 2000., "s" );
224  sprintf (histo, "emean_seq_HO" );
225  emean_seqHO = ib.bookProfile(histo, histo, 2400, -1200., 1200., 2010, -10., 2000., "s" );
226  sprintf (histo, "emean_seq_HF1" );
227  emean_seqHF1 = ib.bookProfile(histo, histo, 6000, -3000., 3000., 2010, -10., 2000., "s" );
228  sprintf (histo, "emean_seq_HF2" );
229  emean_seqHF2 = ib.bookProfile(histo, histo, 6000, -3000., 3000., 2010, -10., 2000., "s" );
230 
231  sprintf (histo, "RMS_seq_HB1" );
232  RMS_seq_HB1 = ib.book1D(histo, histo, 2400, -1200., 1200.);
233  sprintf (histo, "RMS_seq_HB2" );
234  RMS_seq_HB2 = ib.book1D(histo, histo, 2400, -1200., 1200.);
235  sprintf (histo, "RMS_seq_HE1" );
236  RMS_seq_HE1 = ib.book1D(histo, histo, 4400, -2200., 2200.);
237  sprintf (histo, "RMS_seq_HE2" );
238  RMS_seq_HE2 = ib.book1D(histo, histo, 4400, -2200., 2200.);
239  sprintf (histo, "RMS_seq_HE3" );
240  RMS_seq_HE3 = ib.book1D(histo, histo, 4400, -2200., 2200.);
241  sprintf (histo, "RMS_seq_HO" );
242  RMS_seq_HO = ib.book1D(histo, histo, 2400, -1200., 1200.);
243  sprintf (histo, "RMS_seq_HF1" );
244  RMS_seq_HF1 = ib.book1D(histo, histo, 6000, -3000., 3000.);
245  sprintf (histo, "RMS_seq_HF2" );
246  RMS_seq_HF2 = ib.book1D(histo, histo, 6000, -3000., 3000.);
247  }
248  // Occupancy
249  //The only occupancy histos drawn are occupancy vs. ieta
250  //but the maps are needed because this is where the latter are filled from
251  sprintf (histo, "occupancy_map_HB1" );
252  occupancy_map_HB1 = ib.book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
253  sprintf (histo, "occupancy_map_HB2" );
254  occupancy_map_HB2 = ib.book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
255  sprintf (histo, "occupancy_map_HE1" );
256  occupancy_map_HE1 = ib.book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
257  sprintf (histo, "occupancy_map_HE2" );
258  occupancy_map_HE2 = ib.book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
259  sprintf (histo, "occupancy_map_HE3" );
260  occupancy_map_HE3 = ib.book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
261  sprintf (histo, "occupancy_map_HO" );
262  occupancy_map_HO = ib.book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
263  sprintf (histo, "occupancy_map_HF1" );
264  occupancy_map_HF1 = ib.book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
265  sprintf (histo, "occupancy_map_HF2" );
266  occupancy_map_HF2 = ib.book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
267 
268  //These are drawn
269  sprintf (histo, "occupancy_vs_ieta_HB1" );
270  occupancy_vs_ieta_HB1 = ib.book1D(histo, histo, 82, -41., 41.);
271  sprintf (histo, "occupancy_vs_ieta_HB2" );
272  occupancy_vs_ieta_HB2 = ib.book1D(histo, histo, 82, -41., 41.);
273  sprintf (histo, "occupancy_vs_ieta_HE1" );
274  occupancy_vs_ieta_HE1 = ib.book1D(histo, histo, 82, -41., 41.);
275  sprintf (histo, "occupancy_vs_ieta_HE2" );
276  occupancy_vs_ieta_HE2 = ib.book1D(histo, histo, 82, -41., 41.);
277  sprintf (histo, "occupancy_vs_ieta_HE3" );
278  occupancy_vs_ieta_HE3 = ib.book1D(histo, histo, 82, -41., 41.);
279  sprintf (histo, "occupancy_vs_ieta_HO" );
280  occupancy_vs_ieta_HO = ib.book1D(histo, histo, 82, -41., 41.);
281  sprintf (histo, "occupancy_vs_ieta_HF1" );
282  occupancy_vs_ieta_HF1 = ib.book1D(histo, histo, 82, -41., 41.);
283  sprintf (histo, "occupancy_vs_ieta_HF2" );
284  occupancy_vs_ieta_HF2 = ib.book1D(histo, histo, 82, -41., 41.);
285 
286  //These are not
287  if (useAllHistos_){
288  sprintf (histo, "occ_sequential1D_HB1" );
289  occupancy_seqHB1 = ib.book1D(histo, histo,2400, -1200., 1200.);
290  sprintf (histo, "occ_sequential1D_HB2" );
291  occupancy_seqHB2 = ib.book1D(histo, histo,2400, -1200., 1200.);
292  sprintf (histo, "occ_sequential1D_HE1" );
293  occupancy_seqHE1 = ib.book1D(histo, histo,4400, -2200., 2200.);
294  sprintf (histo, "occ_sequential1D_HE2" );
295  occupancy_seqHE2 = ib.book1D(histo, histo,4400, -2200., 2200.);
296  sprintf (histo, "occ_sequential1D_HE3" );
297  occupancy_seqHE3 = ib.book1D(histo, histo,4400, -2200., 2200.);
298  sprintf (histo, "occ_sequential1D_HO" );
299  occupancy_seqHO = ib.book1D(histo, histo,2400, -1200., 1200.);
300  sprintf (histo, "occ_sequential1D_HF1" );
301  occupancy_seqHF1 = ib.book1D(histo, histo,6000, -3000., 3000.);
302  sprintf (histo, "occ_sequential1D_HF2" );
303  occupancy_seqHF2 = ib.book1D(histo, histo,6000, -3000., 3000.);
304  }
305 
306  //All status word histos except HF67 are drawn
307  sprintf (histo, "HcalRecHitTask_RecHit_StatusWord_HB" ) ;
308  RecHit_StatusWord_HB = ib.book1D(histo, histo, 32 , -0.5, 31.5);
309 
310  sprintf (histo, "HcalRecHitTask_RecHit_StatusWord_HE" ) ;
311  RecHit_StatusWord_HE = ib.book1D(histo, histo, 32 , -0.5, 31.5);
312 
313  sprintf (histo, "HcalRecHitTask_RecHit_StatusWord_HF" ) ;
314  RecHit_StatusWord_HF = ib.book1D(histo, histo, 32 , -0.5, 31.5);
315 
316  if (useAllHistos_){
317  sprintf (histo, "HcalRecHitTask_RecHit_StatusWord_HF67" ) ;
318  RecHit_StatusWord_HF67 = ib.book1D(histo, histo, 3 , 0.5, 3.5);
319  }
320  sprintf (histo, "HcalRecHitTask_RecHit_StatusWord_HO" ) ;
321  RecHit_StatusWord_HO = ib.book1D(histo, histo, 32 , -0.5, 31.5);
322 
323  //Aux status word histos
324  sprintf (histo, "HcalRecHitTask_RecHit_Aux_StatusWord_HB" ) ;
325  RecHit_Aux_StatusWord_HB = ib.book1D(histo, histo, 32 , -0.5, 31.5);
326 
327  sprintf (histo, "HcalRecHitTask_RecHit_Aux_StatusWord_HE" ) ;
328  RecHit_Aux_StatusWord_HE = ib.book1D(histo, histo, 32 , -0.5, 31.5);
329 
330  sprintf (histo, "HcalRecHitTask_RecHit_Aux_StatusWord_HF" ) ;
331  RecHit_Aux_StatusWord_HF = ib.book1D(histo, histo, 32 , -0.5, 31.5);
332 
333  sprintf (histo, "HcalRecHitTask_RecHit_Aux_StatusWord_HO" ) ;
334  RecHit_Aux_StatusWord_HO = ib.book1D(histo, histo, 32 , -0.5, 31.5);
335 
336  //These are not drawn
337  if(imc !=0 && useAllHistos_) {
338  sprintf (histo, "map_econe_depth1" );
340  ib.book2D(histo, histo, 520, -5.2, 5.2, 72, -3.1415926536, 3.1415926536);
341  sprintf (histo, "map_econe_depth2" );
343  ib.book2D(histo, histo, 520, -5.2, 5.2, 72, -3.1415926536, 3.1415926536);
344  sprintf (histo, "map_econe_depth3" );
346  ib.book2D(histo, histo, 520, -5.2, 5.2, 72, -3.1415926536, 3.1415926536);
347  sprintf (histo, "map_econe_depth4" );
349  ib.book2D(histo, histo, 520, -5.2, 5.2, 72, -3.1415926536, 3.1415926536);
350  }
351  } // end-of (subdet_ =! 6)
352 
353  //======================= Now various cases one by one ===================
354 
355  //Histograms drawn for single pion scan
356  if(subdet_ != 0 && imc != 0) { // just not for noise
357  sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_all_depths");
358  meEnConeEtaProfile = ib.bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000.);
359 
360  sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_all_depths_E");
361  meEnConeEtaProfile_E = ib.bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000.);
362 
363  sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_all_depths_EH");
364  meEnConeEtaProfile_EH = ib.bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000.);
365  }
366  //The other cone profile, delta ieta/phi and noise histos are not drawn
367  if (useAllHistos_){
368  if(subdet_ != 0 && imc != 0) { // just not for noise
369 
370  // meEnConeEtaProfiel_depth1->Fill(eta_RecHit, HcalCone_d1);
371 
372  sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_depth1");
373  meEnConeEtaProfile_depth1 = ib.bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000.);
374 
375  sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_depth2");
376  meEnConeEtaProfile_depth2 = ib.bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000.);
377 
378  sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_depth3");
379  meEnConeEtaProfile_depth3 = ib.bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000.);
380 
381  sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_depth4");
382  meEnConeEtaProfile_depth4 = ib.bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000.);
383 
384  }
385 
386  if(etype_ == 1 && subdet_ != 0) { // single part., not for noise
387 
388  sprintf (histo, "Delta_phi_cluster-MC");
389  meDeltaPhi = ib.book2D(histo, histo, 520, -5.2, 5.2, 60, -0.6, 0.6);
390 
391  sprintf (histo, "Delta_eta_cluster-MC");
392  meDeltaEta = ib.book2D(histo, histo, 520, -5.2, 5.2, 60, -0.6, 0.6);
393 
394  sprintf (histo, "Delta_phi_simcluster-MC");
395  meDeltaPhiS = ib.book2D(histo, histo, 520, -5.2, 5.2, 60, -0.6, 0.6);
396 
397  sprintf (histo, "Delta_eta_simcluster-MC");
398  meDeltaEtaS = ib.book2D(histo, histo, 520, -5.2, 5.2, 60, -0.6, 0.6);
399  }
400  // NOISE-specific
401 
402  if (hcalselector_ == "noise" ){
403 
404  sprintf (histo, "e_hb" ) ;
405  e_hb = ib.book1D(histo, histo,1000, -5., 5.);
406  sprintf (histo, "e_he" ) ;
407  e_he = ib.book1D(histo, histo,1000, -5., 5.);
408  sprintf (histo, "e_ho" ) ;
409  e_ho = ib.book1D(histo, histo,1000, -5., 5.);
410  sprintf (histo, "e_hfl" ) ;
411  e_hfl = ib.book1D(histo, histo,2000, -10., 10.);
412  sprintf (histo, "e_hfs" ) ;
413  e_hfs = ib.book1D(histo, histo,2000, -10., 10.);
414  }
415  }
416  // ************** HB **********************************
417  if (subdet_ == 1 || subdet_ == 5 ){
418 
419  //Only severity level, energy of rechits and overall HB timing histos are drawn
420  if (useAllHistos_){
421  if(etype_ == 1 && subdet_ == 1 ) {
422  if(imc != 0) {
423  sprintf (histo, "HcalRecHitTask_number_of_rechits_in_cone_HB" ) ;
424  meNumRecHitsConeHB = ib.book1D(histo, histo, 100, 0., 100.);
425 
426  sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_in_cone_HB" ) ;
427  meSumRecHitsEnergyConeHB = ib.book1D(histo,histo, 60 ,-20., 280.);
428  }
429 
430  sprintf (histo, "HcalRecHitTask_number_of_rechits_above_1GeV_HB");
431  meNumRecHitsThreshHB = ib.book1D(histo, histo, 30, 0., 30.);
432 
433  sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_HB" ) ;
434  meSumRecHitsEnergyHB = ib.book1D(histo,histo, 60 , -20., 280.);
435 
436  if (ecalselector_ == "yes") {
437  if(imc != 0) {
438  sprintf (histo, "HcalRecHitTask_number_of_ecalrechits_in_cone_HB");
439  meNumEcalRecHitsConeHB = ib.book1D(histo, histo, 300, 0., 300.);
440  sprintf (histo, "HcalRecHitTask_energy_ecal_plus_hcal_in_cone_HB");
441  meEcalHcalEnergyConeHB = ib.book1D(histo,histo, 60 , -20., 280.);
442  }
443 
444  sprintf (histo, "HcalRecHitTask_energy_hcal_vs_ecal_HB");
445  meEnergyHcalVsEcalHB = ib.book2D(histo, histo, 300, 0., 150., 300, 0., 150.);
446  sprintf (histo, "HcalRecHitTask_energy_ecal_plus_hcal_HB" ) ;
447  meEcalHcalEnergyHB = ib.book1D(histo,histo, 60 , -20., 280.);
448  }
449  }
450  }
451 
452  sprintf(histo, "HcalRecHitTask_severityLevel_HB");
453  sevLvl_HB = ib.book1D(histo, histo, 25, -0.5, 24.5);
454 
455  sprintf (histo, "HcalRecHitTask_energy_of_rechits_HB" ) ;
456  meRecHitsEnergyHB = ib.book1D(histo, histo, 2010 , -10. , 2000.);
457 
458  sprintf (histo, "HcalRecHitTask_timing_HB" ) ;
459  meTimeHB = ib.book1D(histo, histo, 70, -48., 92.);
460 
461  //High, medium and low histograms to reduce RAM usage
462  sprintf (histo, "HcalRecHitTask_timing_vs_energy_Low_HB" ) ;
463  meTE_Low_HB = ib.book2D(histo, histo, 50, -5., 45., 70, -48., 92.);
464 
465  sprintf (histo, "HcalRecHitTask_timing_vs_energy_HB" ) ;
466  meTE_HB = ib.book2D(histo, histo, 150, -5., 295., 70, -48., 92.);
467 
468  sprintf (histo, "HcalRecHitTask_timing_vs_energy_High_HB" ) ;
469  meTE_High_HB = ib.book2D(histo, histo, 150, -5., 2995., 70, -48., 92.);
470 
471  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_Low_HB" ) ;
472  meTEprofileHB_Low = ib.bookProfile(histo, histo, 50, -5., 45., 70, -48., 92.);
473 
474  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_HB" ) ;
475  meTEprofileHB = ib.bookProfile(histo, histo, 150, -5., 295., 70, -48., 92.);
476 
477  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_High_HB" ) ;
478  meTEprofileHB_High = ib.bookProfile(histo, histo, 150, -5., 2995., 70, -48., 92.);
479 
480  //Timing by depth and rechits vs simhits are not drawn
481  if (useAllHistos_){
482  sprintf (histo, "HcalRecHitTask_timing_vs_energy_HB_depth1" ) ;
483  meTE_HB1 = ib.book2D(histo, histo, 3000, -5., 2995., 70, -48., 92.);
484 
485  sprintf (histo, "HcalRecHitTask_timing_vs_energy_HB_depth2" ) ;
486  meTE_HB2 = ib.book2D(histo, histo, 3000, -5., 2995., 70, -48., 92.);
487 
488  if(imc != 0) {
489  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_HB");
490  meRecHitSimHitHB = ib.book2D(histo, histo, 120, 0., 1.2, 300, 0., 150.);
491  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_profile_HB");
492  meRecHitSimHitProfileHB = ib.bookProfile(histo, histo, 120, 0., 1.2, 500, 0., 500.);
493  }
494  }
495  }
496 
497  // ********************** HE ************************************
498  if ( subdet_ == 2 || subdet_ == 5 ){
499 
500  //None of these are drawn
501  if (useAllHistos_){
502  if(etype_ == 1 && subdet_ == 2 ) {
503 
504  if(imc != 0) {
505  sprintf (histo, "HcalRecHitTask_number_of_rechits_in_cone_HE" ) ;
506  meNumRecHitsConeHE = ib.book1D(histo, histo, 100, 0., 100.);
507 
508  sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_in_cone_HE" ) ;
509  meSumRecHitsEnergyConeHE = ib.book1D(histo,histo, 60 ,-20., 280.);
510  }
511 
512  sprintf (histo, "HcalRecHitTask_number_of_rechits_above_1GeV_HE");
513  meNumRecHitsThreshHE = ib.book1D(histo, histo, 30, 0., 30.);
514 
515  sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_HE" ) ;
516  meSumRecHitsEnergyHE = ib.book1D(histo,histo, 60 , -20., 280.);
517 
518  if (ecalselector_ == "yes") {
519  sprintf (histo, "HcalRecHitTask_energy_ecal_plus_hcal_HE" ) ;
520  meEcalHcalEnergyHE = ib.book1D(histo,histo, 80, -20., 380.);
521 
522  sprintf (histo, "HcalRecHitTask_energy_hcal_vs_ecal_HE");
523  meEnergyHcalVsEcalHE = ib.book2D(histo, histo, 300, 0., 150., 300, 0., 150.);
524  if(imc != 0) {
525  sprintf (histo, "HcalRecHitTask_number_of_ecalrechits_in_cone_HE");
526  meNumEcalRecHitsConeHE = ib.book1D(histo, histo, 300, 0., 300.);
527  sprintf (histo, "HcalRecHitTask_energy_ecal_plus_hcal_in_cone_HE");
528  meEcalHcalEnergyConeHE = ib.book1D(histo,histo, 60,-20., 280.);
529  }
530  }
531  }
532  }
533 
534  //Only severity level, energy of rechits and overall HB timing histos are drawn
535  sprintf(histo, "HcalRecHitTask_severityLevel_HE");
536  sevLvl_HE = ib.book1D(histo, histo, 25, -0.5, 24.5);
537 
538  sprintf (histo, "HcalRecHitTask_energy_of_rechits_HE" ) ;
539  meRecHitsEnergyHE = ib.book1D(histo, histo, 510, -10., 500.);
540 
541  sprintf (histo, "HcalRecHitTask_timing_HE" ) ;
542  meTimeHE = ib.book1D(histo, histo, 70, -48., 92.);
543 
544  sprintf (histo, "HcalRecHitTask_timing_vs_energy_Low_HE" ) ;
545  meTE_Low_HE = ib.book2D(histo, histo, 80, -5., 75., 70, -48., 92.);
546 
547  sprintf (histo, "HcalRecHitTask_timing_vs_energy_HE" ) ;
548  meTE_HE = ib.book2D(histo, histo, 200, -5., 395., 70, -48., 92.);
549 
550  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_Low_HE" ) ;
551  meTEprofileHE_Low = ib.bookProfile(histo, histo, 80, -5., 75., 70, -48., 92.);
552 
553  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_HE" ) ;
554  meTEprofileHE = ib.bookProfile(histo, histo, 200, -5., 395., 70, -48., 92.);
555 
556  //Timing by depth and rechits vs simhits are not drawn
557  if (useAllHistos_){
558  sprintf (histo, "HcalRecHitTask_timing_vs_energy_HE_depth1" ) ;
559  meTE_HE1 = ib.book2D(histo, histo, 1000, -5., 995., 70, -48., 92.);
560 
561  sprintf (histo, "HcalRecHitTask_timing_vs_energy_HE_depth2" ) ;
562  meTE_HE2 = ib.book2D(histo, histo, 1000, -5., 995., 70, -48., 92.);
563 
564  if(imc != 0) {
565  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_HE");
566  meRecHitSimHitHE = ib.book2D(histo, histo, 120, 0., 0.6, 300, 0., 150.);
567  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_profile_HE");
568  meRecHitSimHitProfileHE = ib.bookProfile(histo, histo, 120, 0., 0.6, 500, 0., 500.);
569  }
570  }
571 
572  }
573 
574  // ************** HO ****************************************
575  if ( subdet_ == 3 || subdet_ == 5 ){
576 
577  //Only severity level, energy of rechits and overall HB timing histos are drawn
578  if (useAllHistos_){
579  if(etype_ == 1 && subdet_ == 3) {
580  if (imc != 0) {
581  sprintf (histo, "HcalRecHitTask_number_of_rechits_in_cone_HO" ) ;
582  meNumRecHitsConeHO = ib.book1D(histo, histo, 100, 0 , 100.);
583 
584  sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_in_cone_HO" ) ;
585  meSumRecHitsEnergyConeHO = ib.book1D(histo,histo, 80 ,-20., 380.);
586  }
587 
588  sprintf (histo, "HcalRecHitTask_number_of_rechits_above_1GeV_HO");
589  meNumRecHitsThreshHO = ib.book1D(histo, histo, 100, 0., 100.);
590 
591  sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_HO" ) ;
592  meSumRecHitsEnergyHO = ib.book1D(histo,histo, 80 , -20., 380.);
593  }
594  }
595 
596  sprintf(histo, "HcalRecHitTask_severityLevel_HO");
597  sevLvl_HO = ib.book1D(histo, histo, 25, -0.5, 24.5);
598 
599  sprintf (histo, "HcalRecHitTask_energy_of_rechits_HO" ) ;
600  meRecHitsEnergyHO = ib.book1D(histo, histo, 510 , -10. , 500.);
601 
602  sprintf (histo, "HcalRecHitTask_timing_HO" ) ;
603  meTimeHO = ib.book1D(histo, histo, 70, -48., 92.);
604 
605  sprintf (histo, "HcalRecHitTask_timing_vs_energy_HO" ) ;
606  meTE_HO= ib.book2D(histo, histo, 60, -5., 55., 70, -48., 92.);
607 
608  sprintf (histo, "HcalRecHitTask_timing_vs_energy_High_HO" ) ;
609  meTE_High_HO= ib.book2D(histo, histo, 100, -5., 995., 70, -48., 92.);
610 
611  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_HO" ) ;
612  meTEprofileHO = ib.bookProfile(histo, histo, 60, -5., 55., 70, -48., 92.);
613 
614  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_High_HO" ) ;
615  meTEprofileHO_High = ib.bookProfile(histo, histo, 100, -5., 995., 70, -48., 92.);
616 
617  //Rechits vs simhits are not drawn
618  if (useAllHistos_){
619  if(imc != 0) {
620  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_HO");
621  meRecHitSimHitHO = ib.book2D(histo, histo, 150, 0., 1.5, 350, 0., 350.);
622  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_profile_HO");
623  meRecHitSimHitProfileHO = ib.bookProfile(histo, histo, 150, 0., 1.5, 500, 0., 500.);
624  }
625  }
626  }
627 
628  // ********************** HF ************************************
629  if ( subdet_ == 4 || subdet_ == 5 ){
630 
631  //Only severity level, energy of rechits and overall HB timing histos are drawn
632  if (useAllHistos_){
633  if(etype_ == 1 && subdet_ == 4) {
634 
635  if(imc != 0) {
636  sprintf (histo, "HcalRecHitTask_number_of_rechits_in_cone_HF" ) ;
637  meNumRecHitsConeHF = ib.book1D(histo, histo, 30, 0 , 30.);
638 
639  sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_in_cone_HF" ) ;
640  meSumRecHitsEnergyConeHF = ib.book1D(histo,histo,100, -20., 180.);
641 
642  sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_in_cone_HFL" );
643  meSumRecHitsEnergyConeHFL = ib.book1D(histo,histo,100,-20., 180.);
644 
645  sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_in_cone_HFS");
646  meSumRecHitsEnergyConeHFS = ib.book1D(histo,histo,100,-20., 180.);
647  }
648  sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_HF" ) ;
649  meSumRecHitsEnergyHF = ib.book1D(histo,histo, 80 , -20., 380.);
650  }
651  }
652 
653  sprintf(histo, "HcalRecHitTask_severityLevel_HF");
654  sevLvl_HF = ib.book1D(histo, histo, 25, -0.5, 24.5);
655 
656  sprintf (histo, "HcalRecHitTask_energy_of_rechits_HF" ) ;
657  meRecHitsEnergyHF = ib.book1D(histo, histo, 1010 , -10. , 1000.);
658 
659  sprintf (histo, "HcalRecHitTask_timing_HF" ) ;
660  meTimeHF = ib.book1D(histo, histo, 70, -48., 92.);
661 
662  sprintf (histo, "HcalRecHitTask_timing_vs_energy_Low_HF" ) ;
663  meTE_Low_HF = ib.book2D(histo, histo, 100, -5., 195., 70, -48., 92.);
664 
665  sprintf (histo, "HcalRecHitTask_timing_vs_energy_HF" ) ;
666  meTE_HF = ib.book2D(histo, histo, 200, -5., 995., 70, -48., 92.);
667 
668  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_Low_HF" ) ;
669  meTEprofileHF_Low = ib.bookProfile(histo, histo, 100, -5., 195., 70, -48., 92.);
670 
671  sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_HF" ) ;
672  meTEprofileHF = ib.bookProfile(histo, histo, 200, -5., 995., 70, -48., 92.);
673 
674  //Timing by L/S and rechits vs simhits are not drawn
675  if (useAllHistos_){
676  sprintf (histo, "HcalRecHitTask_timing_vs_energy_HFL" ) ;
677  meTE_HFL = ib.book2D(histo, histo, 1000, -5., 995., 70, -48., 92.);
678 
679  sprintf (histo, "HcalRecHitTask_timing_vs_energy_HFS" ) ;
680  meTE_HFS = ib.book2D(histo, histo, 1000, -5., 995., 70, -48., 92.);
681 
682  if(imc != 0) {
683  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_HF");
684  meRecHitSimHitHF = ib.book2D(histo, histo, 50, 0., 50., 150, 0., 150.);
685  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_HFL");
686  meRecHitSimHitHFL = ib.book2D(histo, histo, 50, 0., 50., 150, 0., 150.);
687  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_HFS");
688  meRecHitSimHitHFS = ib.book2D(histo, histo, 50, 0., 50., 150, 0., 150.);
689  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_profile_HF");
690  meRecHitSimHitProfileHF = ib.bookProfile(histo, histo, 50, 0., 50., 500, 0., 500.);
691  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_profile_HFL");
692  meRecHitSimHitProfileHFL = ib.bookProfile(histo, histo, 50, 0., 50., 500, 0., 500.);
693  sprintf (histo, "HcalRecHitTask_energy_rechits_vs_simhits_profile_HFS");
694  meRecHitSimHitProfileHFS = ib.bookProfile(histo, histo, 50, 0., 50., 500, 0., 500.);
695  }
696  }
697  }
698 
699 }
MonitorElement * emean_vs_ieta_HB2
MonitorElement * RMS_vs_ieta_HB1
MonitorElement * occupancy_vs_ieta_HO
MonitorElement * meSumRecHitsEnergyConeHE
MonitorElement * occupancy_seqHB1
MonitorElement * occupancy_map_HB1
MonitorElement * occupancy_vs_ieta_HE3
MonitorElement * meRecHitsEnergyHF
MonitorElement * occupancy_vs_ieta_HF1
MonitorElement * RMS_vs_ieta_HF1
MonitorElement * bookProfile(Args &&...args)
Definition: DQMStore.h:157
MonitorElement * meNumRecHitsConeHE
MonitorElement * meSumRecHitsEnergyConeHB
MonitorElement * meTEprofileHE_Low
MonitorElement * RMS_vs_ieta_HE3
MonitorElement * RecHit_Aux_StatusWord_HB
MonitorElement * RMS_vs_ieta_HE1
MonitorElement * emean_vs_ieta_HB1
MonitorElement * occupancy_seqHO
MonitorElement * occupancy_seqHE3
MonitorElement * meEnConeEtaProfile
MonitorElement * occupancy_map_HE3
MonitorElement * meRecHitSimHitProfileHF
MonitorElement * meEcalHcalEnergyHB
MonitorElement * meRecHitSimHitProfileHFS
MonitorElement * meEnergyHcalVsEcalHE
MonitorElement * occupancy_map_HF1
MonitorElement * meEcalHcalEnergyConeHE
MonitorElement * meRecHitsEnergyHB
MonitorElement * meSumRecHitsEnergyHF
double emap_min[82][72][4][4]
MonitorElement * meNumRecHitsConeHO
MonitorElement * occupancy_seqHF2
MonitorElement * meNumRecHitsConeHB
MonitorElement * RMS_vs_ieta_HB2
MonitorElement * meRecHitSimHitHF
MonitorElement * meRecHitsEnergyHE
MonitorElement * occupancy_map_HE1
MonitorElement * meRecHitSimHitProfileHE
MonitorElement * meSumRecHitsEnergyHB
MonitorElement * meEnConeEtaProfile_E
MonitorElement * meRecHitSimHitHB
MonitorElement * meRecHitSimHitHFS
MonitorElement * RMS_vs_ieta_HO
MonitorElement * meSumRecHitsEnergyConeHFS
MonitorElement * RecHit_Aux_StatusWord_HO
MonitorElement * meNumEcalRecHitsConeHB
MonitorElement * meNumRecHitsThreshHB
MonitorElement * meSumRecHitsEnergyHO
MonitorElement * meEnergyHcalVsEcalHB
MonitorElement * RecHit_StatusWord_HF
MonitorElement * RecHit_Aux_StatusWord_HE
MonitorElement * meSumRecHitsEnergyConeHO
MonitorElement * meTEprofileHB
MonitorElement * map_econe_depth1
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:115
MonitorElement * map_econe_depth4
MonitorElement * emean_vs_ieta_HE3
MonitorElement * meNumRecHitsThreshHO
MonitorElement * meEcalHcalEnergyConeHB
MonitorElement * meNumRecHitsThreshHE
MonitorElement * occupancy_map_HE2
MonitorElement * occupancy_vs_ieta_HB2
MonitorElement * meSumRecHitsEnergyConeHF
MonitorElement * RecHit_Aux_StatusWord_HF
MonitorElement * meRecHitSimHitHO
MonitorElement * meRecHitSimHitProfileHB
MonitorElement * RecHit_StatusWord_HO
MonitorElement * meEnConeEtaProfile_depth1
MonitorElement * emean_vs_ieta_HF2
MonitorElement * occupancy_map_HO
MonitorElement * occupancy_vs_ieta_HE2
MonitorElement * meTEprofileHF_Low
MonitorElement * occupancy_map_HF2
MonitorElement * RecHit_StatusWord_HF67
MonitorElement * meTEprofileHO_High
MonitorElement * meTEprofileHE
MonitorElement * occupancy_seqHB2
MonitorElement * occupancy_map_HB2
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * RMS_vs_ieta_HE2
MonitorElement * meNumRecHitsConeHF
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:133
MonitorElement * meTEprofileHF
MonitorElement * meEnConeEtaProfile_depth3
MonitorElement * emean_vs_ieta_HE1
MonitorElement * meRecHitSimHitProfileHO
MonitorElement * emean_vs_ieta_HE2
MonitorElement * occupancy_vs_ieta_HF2
MonitorElement * map_econe_depth2
MonitorElement * RecHit_StatusWord_HE
MonitorElement * meEnConeEtaProfile_EH
MonitorElement * meRecHitSimHitProfileHFL
MonitorElement * meEnConeEtaProfile_depth2
MonitorElement * RMS_vs_ieta_HF2
MonitorElement * meRecHitsEnergyHO
MonitorElement * emean_vs_ieta_HO
MonitorElement * occupancy_seqHF1
MonitorElement * meSumRecHitsEnergyHE
MonitorElement * meRecHitSimHitHFL
MonitorElement * meSumRecHitsEnergyConeHFL
MonitorElement * meNumEcalRecHitsConeHE
MonitorElement * meEcalHcalEnergyHE
MonitorElement * emean_vs_ieta_HF1
MonitorElement * meTEprofileHO
MonitorElement * meTEprofileHB_Low
MonitorElement * occupancy_vs_ieta_HB1
MonitorElement * occupancy_seqHE2
MonitorElement * meRecHitSimHitHE
MonitorElement * map_econe_depth3
MonitorElement * occupancy_seqHE1
MonitorElement * meTEprofileHB_High
MonitorElement * meEnConeEtaProfile_depth4
MonitorElement * occupancy_vs_ieta_HE1
MonitorElement * RecHit_StatusWord_HB
double HcalRecHitsValidation::dPhiWsign ( double  phi1,
double  phi2 
)
private

Definition at line 1747 of file HcalRecHitsValidation.cc.

References PI, and tmp.

Referenced by analyze().

1747  {
1748  // clockwise phi2 w.r.t phi1 means "+" phi distance
1749  // anti-clockwise phi2 w.r.t phi1 means "-" phi distance
1750 
1751  double PI = 3.1415926535898;
1752  double a1 = phi1; double a2 = phi2;
1753  double tmp = a2 - a1;
1754  if( a1*a2 < 0.) {
1755  if(a1 > 0.5 * PI) tmp += 2.*PI;
1756  if(a2 > 0.5 * PI) tmp -= 2.*PI;
1757  }
1758  return tmp;
1759 
1760 }
#define PI
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
double HcalRecHitsValidation::dR ( double  eta1,
double  phi1,
double  eta2,
double  phi2 
)
private

Definition at line 1721 of file HcalRecHitsValidation.cc.

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

Referenced by analyze().

1721  {
1722  double PI = 3.1415926535898;
1723  double deltaphi= phi1 - phi2;
1724  if( phi2 > phi1 ) { deltaphi= phi2 - phi1;}
1725  if(deltaphi > PI) { deltaphi = 2.*PI - deltaphi;}
1726  double deltaeta = eta2 - eta1;
1727  double tmp = sqrt(deltaeta* deltaeta + deltaphi*deltaphi);
1728  return tmp;
1729 }
#define PI
T sqrt(T t)
Definition: SSEVec.h:48
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
void HcalRecHitsValidation::fillRecHitsTmp ( int  subdet_,
edm::Event const &  ev 
)
privatevirtual

Definition at line 1561 of file HcalRecHitsValidation.cc.

References cauxstwd, cdepth, cen, ceta, cieta, ciphi, cphi, cstwd, csub, ctime, cz, eta(), geometry, edm::Event::getByToken(), HcalBarrel, HcalEndcap, HcalForward, hcalHBSevLvlVec, hcalHESevLvlVec, hcalHFSevLvlVec, hcalHOSevLvlVec, HcalOuter, hcalSevLvl(), iz, j, phi, edmStreamStallGrapher::t, tok_hbhe_, tok_hf_, and tok_ho_.

Referenced by analyze().

1561  {
1562 
1563  using namespace edm;
1564 
1565 
1566  // initialize data vectors
1567  csub.clear();
1568  cen.clear();
1569  ceta.clear();
1570  cphi.clear();
1571  ctime.clear();
1572  cieta.clear();
1573  ciphi.clear();
1574  cdepth.clear();
1575  cz.clear();
1576  cstwd.clear();
1577  cauxstwd.clear();
1578  hcalHBSevLvlVec.clear();
1579  hcalHESevLvlVec.clear();
1580  hcalHFSevLvlVec.clear();
1581  hcalHOSevLvlVec.clear();
1582 
1583  if( subdet_ == 1 || subdet_ == 2 || subdet_ == 5 || subdet_ == 6 || subdet_ == 0) {
1584 
1585  //HBHE
1587  ev.getByToken(tok_hbhe_, hbhecoll);
1588 
1589  for (HBHERecHitCollection::const_iterator j=hbhecoll->begin(); j != hbhecoll->end(); j++) {
1590  HcalDetId cell(j->id());
1591  const CaloCellGeometry* cellGeometry =
1592  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
1593  double eta = cellGeometry->getPosition().eta () ;
1594  double phi = cellGeometry->getPosition().phi () ;
1595  double zc = cellGeometry->getPosition().z ();
1596  int sub = cell.subdet();
1597  int depth = cell.depth();
1598  int inteta = cell.ieta();
1599  if(inteta > 0) inteta -= 1;
1600  int intphi = cell.iphi()-1;
1601  double en = j->energy();
1602  double t = j->time();
1603  int stwd = j->flags();
1604  int auxstwd = j->aux();
1605 
1606  int serivityLevel = hcalSevLvl( (CaloRecHit*) &*j );
1607  if( cell.subdet()==HcalBarrel ){
1608  hcalHBSevLvlVec.push_back(serivityLevel);
1609  }else if (cell.subdet()==HcalEndcap ){
1610  hcalHESevLvlVec.push_back(serivityLevel);
1611  }
1612 
1613  if((iz > 0 && eta > 0.) || (iz < 0 && eta <0.) || iz == 0) {
1614 
1615  csub.push_back(sub);
1616  cen.push_back(en);
1617  ceta.push_back(eta);
1618  cphi.push_back(phi);
1619  ctime.push_back(t);
1620  cieta.push_back(inteta);
1621  ciphi.push_back(intphi);
1622  cdepth.push_back(depth);
1623  cz.push_back(zc);
1624  cstwd.push_back(stwd);
1625  cauxstwd.push_back(auxstwd);
1626  }
1627  }
1628 
1629  }
1630 
1631  if( subdet_ == 4 || subdet_ == 5 || subdet_ == 6 || subdet_ == 0) {
1632 
1633  //HF
1635  ev.getByToken(tok_hf_, hfcoll);
1636 
1637  for (HFRecHitCollection::const_iterator j = hfcoll->begin(); j != hfcoll->end(); j++) {
1638  HcalDetId cell(j->id());
1639  const CaloCellGeometry* cellGeometry =
1640  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
1641  double eta = cellGeometry->getPosition().eta () ;
1642  double phi = cellGeometry->getPosition().phi () ;
1643  double zc = cellGeometry->getPosition().z ();
1644  int sub = cell.subdet();
1645  int depth = cell.depth();
1646  int inteta = cell.ieta();
1647  if(inteta > 0) inteta -= 1;
1648  int intphi = cell.iphi()-1;
1649  double en = j->energy();
1650  double t = j->time();
1651  int stwd = j->flags();
1652  int auxstwd = j->aux();
1653 
1654  int serivityLevel = hcalSevLvl( (CaloRecHit*) &*j );
1655  if( cell.subdet()==HcalForward ){
1656  hcalHFSevLvlVec.push_back(serivityLevel);
1657  }
1658 
1659  if((iz > 0 && eta > 0.) || (iz < 0 && eta <0.) || iz == 0) {
1660 
1661  csub.push_back(sub);
1662  cen.push_back(en);
1663  ceta.push_back(eta);
1664  cphi.push_back(phi);
1665  ctime.push_back(t);
1666  cieta.push_back(inteta);
1667  ciphi.push_back(intphi);
1668  cdepth.push_back(depth);
1669  cz.push_back(zc);
1670  cstwd.push_back(stwd);
1671  cauxstwd.push_back(auxstwd);
1672  }
1673  }
1674  }
1675 
1676  //HO
1677  if( subdet_ == 3 || subdet_ == 5 || subdet_ == 6 || subdet_ == 0) {
1678 
1680  ev.getByToken(tok_ho_, hocoll);
1681 
1682  for (HORecHitCollection::const_iterator j = hocoll->begin(); j != hocoll->end(); j++) {
1683  HcalDetId cell(j->id());
1684  const CaloCellGeometry* cellGeometry =
1685  geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
1686  double eta = cellGeometry->getPosition().eta () ;
1687  double phi = cellGeometry->getPosition().phi () ;
1688  double zc = cellGeometry->getPosition().z ();
1689  int sub = cell.subdet();
1690  int depth = cell.depth();
1691  int inteta = cell.ieta();
1692  if(inteta > 0) inteta -= 1;
1693  int intphi = cell.iphi()-1;
1694  double t = j->time();
1695  double en = j->energy();
1696  int stwd = j->flags();
1697  int auxstwd = j->aux();
1698 
1699  int serivityLevel = hcalSevLvl( (CaloRecHit*) &*j );
1700  if( cell.subdet()==HcalOuter ){
1701  hcalHOSevLvlVec.push_back(serivityLevel);
1702  }
1703 
1704  if((iz > 0 && eta > 0.) || (iz < 0 && eta <0.) || iz == 0) {
1705  csub.push_back(sub);
1706  cen.push_back(en);
1707  ceta.push_back(eta);
1708  cphi.push_back(phi);
1709  ctime.push_back(t);
1710  cieta.push_back(inteta);
1711  ciphi.push_back(intphi);
1712  cdepth.push_back(depth);
1713  cz.push_back(zc);
1714  cstwd.push_back(stwd);
1715  cauxstwd.push_back(auxstwd);
1716  }
1717  }
1718  }
1719 }
std::vector< int > hcalHBSevLvlVec
std::vector< uint32_t > cstwd
edm::EDGetTokenT< HFRecHitCollection > tok_hf_
std::vector< HBHERecHit >::const_iterator const_iterator
int hcalSevLvl(const CaloRecHit *hit)
T eta() const
std::vector< double > ceta
edm::EDGetTokenT< HORecHitCollection > tok_ho_
std::vector< double > cphi
std::vector< int > hcalHESevLvlVec
edm::ESHandle< CaloGeometry > geometry
int j
Definition: DBlmapReader.cc:9
edm::EDGetTokenT< HBHERecHitCollection > tok_hbhe_
std::vector< int > hcalHFSevLvlVec
std::vector< int > hcalHOSevLvlVec
std::vector< double > ctime
std::vector< double > cz
std::vector< uint32_t > cauxstwd
std::vector< double > cen
Definition: DDAxes.h:10
int HcalRecHitsValidation::hcalSevLvl ( const CaloRecHit hit)
private

Definition at line 1762 of file HcalRecHitsValidation.cc.

References CaloRecHit::detid(), CaloRecHit::flags(), HcalSeverityLevelComputer::getSeverityLevel(), HcalChannelStatus::getValue(), HcalCondObjectContainer< Item >::getValues(), theHcalChStatus, and theHcalSevLvlComputer.

Referenced by fillRecHitsTmp().

1762  {
1763 
1764  const DetId id = hit->detid();
1765 
1766  const uint32_t recHitFlag = hit->flags();
1767  const uint32_t dbStatusFlag = theHcalChStatus->getValues(id)->getValue();
1768 
1769  int severityLevel = theHcalSevLvlComputer->getSeverityLevel(id, recHitFlag, dbStatusFlag);
1770 
1771  return severityLevel;
1772 
1773 }
const HcalSeverityLevelComputer * theHcalSevLvlComputer
const HcalChannelQuality * theHcalChStatus
const DetId & detid() const
Definition: CaloRecHit.h:20
const Item * getValues(DetId fId, bool throwOnFail=true) const
uint32_t flags() const
Definition: CaloRecHit.h:21
Definition: DetId.h:18
int getSeverityLevel(const DetId &myid, const uint32_t &myflag, const uint32_t &mystatus) const
uint32_t getValue() const
double HcalRecHitsValidation::phi12 ( double  phi1,
double  en1,
double  phi2,
double  en2 
)
private

Definition at line 1731 of file HcalRecHitsValidation.cc.

References PI, and tmp.

Referenced by analyze().

1731  {
1732  // weighted mean value of phi1 and phi2
1733 
1734  double tmp;
1735  double PI = 3.1415926535898;
1736  double a1 = phi1; double a2 = phi2;
1737 
1738  if( a1 > 0.5*PI && a2 < 0.) a2 += 2*PI;
1739  if( a2 > 0.5*PI && a1 < 0.) a1 += 2*PI;
1740  tmp = (a1 * en1 + a2 * en2)/(en1 + en2);
1741  if(tmp > PI) tmp -= 2.*PI;
1742 
1743  return tmp;
1744 
1745 }
#define PI
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100

Member Data Documentation

std::vector<uint32_t> HcalRecHitsValidation::cauxstwd
private

Definition at line 376 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsValidation::cdepth
private

Definition at line 369 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsValidation::cen
private

Definition at line 370 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsValidation::ceta
private

Definition at line 371 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsValidation::cieta
private

Definition at line 367 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsValidation::ciphi
private

Definition at line 368 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsValidation::cphi
private

Definition at line 372 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<uint32_t> HcalRecHitsValidation::cstwd
private

Definition at line 375 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsValidation::csub
private

Definition at line 366 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsValidation::ctime
private

Definition at line 373 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsValidation::cz
private

Definition at line 374 of file HcalRecHitsValidation.h.

Referenced by fillRecHitsTmp().

MonitorElement* HcalRecHitsValidation::e_hb
private

Definition at line 247 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::e_he
private

Definition at line 248 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::e_hfl
private

Definition at line 250 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::e_hfs
private

Definition at line 251 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::e_ho
private

Definition at line 249 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

std::string HcalRecHitsValidation::ecalselector_
private

Definition at line 73 of file HcalRecHitsValidation.h.

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

MonitorElement* HcalRecHitsValidation::emap_depth1
private

Definition at line 157 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emap_depth2
private

Definition at line 158 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emap_depth3
private

Definition at line 159 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emap_depth4
private

Definition at line 160 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

double HcalRecHitsValidation::emap_min[82][72][4][4]
private

Definition at line 379 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_seqHB1
private

Definition at line 180 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_seqHB2
private

Definition at line 181 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_seqHE1
private

Definition at line 182 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_seqHE2
private

Definition at line 183 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_seqHE3
private

Definition at line 184 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_seqHF1
private

Definition at line 186 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_seqHF2
private

Definition at line 187 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_seqHO
private

Definition at line 185 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_vs_ieta_HB1
private

Definition at line 162 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_vs_ieta_HB2
private

Definition at line 163 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_vs_ieta_HE1
private

Definition at line 164 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_vs_ieta_HE2
private

Definition at line 165 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_vs_ieta_HE3
private

Definition at line 166 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_vs_ieta_HF1
private

Definition at line 168 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_vs_ieta_HF2
private

Definition at line 169 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::emean_vs_ieta_HO
private

Definition at line 167 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

int HcalRecHitsValidation::etype_
private

Definition at line 93 of file HcalRecHitsValidation.h.

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

std::string HcalRecHitsValidation::eventype_
private

Definition at line 74 of file HcalRecHitsValidation.h.

Referenced by HcalRecHitsValidation().

bool HcalRecHitsValidation::famos_
private

Definition at line 77 of file HcalRecHitsValidation.h.

Referenced by analyze(), and HcalRecHitsValidation().

edm::ESHandle<CaloGeometry> HcalRecHitsValidation::geometry
private
std::vector<int> HcalRecHitsValidation::hcalHBSevLvlVec
private

Definition at line 103 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsValidation::hcalHESevLvlVec
private

Definition at line 103 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsValidation::hcalHFSevLvlVec
private

Definition at line 103 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsValidation::hcalHOSevLvlVec
private

Definition at line 103 of file HcalRecHitsValidation.h.

Referenced by analyze(), and fillRecHitsTmp().

std::string HcalRecHitsValidation::hcalselector_
private

Definition at line 72 of file HcalRecHitsValidation.h.

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

int HcalRecHitsValidation::imc
private

Definition at line 95 of file HcalRecHitsValidation.h.

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

int HcalRecHitsValidation::iz
private

Definition at line 94 of file HcalRecHitsValidation.h.

Referenced by fillRecHitsTmp(), and HcalRecHitsValidation().

MonitorElement* HcalRecHitsValidation::map_depth1
private

Definition at line 118 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::map_depth2
private

Definition at line 119 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::map_depth3
private

Definition at line 120 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::map_depth4
private

Definition at line 121 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::map_ecal
private

Definition at line 155 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::map_econe_depth1
private

Definition at line 227 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::map_econe_depth2
private

Definition at line 228 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::map_econe_depth3
private

Definition at line 229 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::map_econe_depth4
private

Definition at line 230 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

std::string HcalRecHitsValidation::mc_
private

Definition at line 76 of file HcalRecHitsValidation.h.

Referenced by HcalRecHitsValidation().

MonitorElement* HcalRecHitsValidation::meDeltaEta
private

Definition at line 242 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meDeltaEtaS
private

Definition at line 244 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meDeltaPhi
private

Definition at line 241 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meDeltaPhiS
private

Definition at line 243 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEcalHcalEnergyConeHB
private

Definition at line 322 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEcalHcalEnergyConeHE
private

Definition at line 323 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEcalHcalEnergyConeHF
private

Definition at line 325 of file HcalRecHitsValidation.h.

MonitorElement* HcalRecHitsValidation::meEcalHcalEnergyConeHO
private

Definition at line 324 of file HcalRecHitsValidation.h.

MonitorElement* HcalRecHitsValidation::meEcalHcalEnergyHB
private

Definition at line 319 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEcalHcalEnergyHE
private

Definition at line 320 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEnConeEtaProfile
private

Definition at line 237 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEnConeEtaProfile_depth1
private

Definition at line 233 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEnConeEtaProfile_depth2
private

Definition at line 234 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEnConeEtaProfile_depth3
private

Definition at line 235 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEnConeEtaProfile_depth4
private

Definition at line 236 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEnConeEtaProfile_E
private

Definition at line 238 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEnConeEtaProfile_EH
private

Definition at line 239 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEnergyHcalVsEcalHB
private

Definition at line 343 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meEnergyHcalVsEcalHE
private

Definition at line 344 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meNumEcalRecHitsConeHB
private

Definition at line 347 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meNumEcalRecHitsConeHE
private

Definition at line 348 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meNumRecHitsConeHB
private

Definition at line 259 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meNumRecHitsConeHE
private

Definition at line 260 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meNumRecHitsConeHF
private

Definition at line 262 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meNumRecHitsConeHO
private

Definition at line 261 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meNumRecHitsThreshHB
private

Definition at line 254 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meNumRecHitsThreshHE
private

Definition at line 255 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meNumRecHitsThreshHO
private

Definition at line 256 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitsEnergyHB
private

Definition at line 271 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitsEnergyHE
private

Definition at line 272 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitsEnergyHF
private

Definition at line 274 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitsEnergyHO
private

Definition at line 273 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitHB
private

Definition at line 328 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitHE
private

Definition at line 329 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitHF
private

Definition at line 331 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitHFL
private

Definition at line 332 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitHFS
private

Definition at line 333 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitHO
private

Definition at line 330 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitProfileHB
private

Definition at line 335 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitProfileHE
private

Definition at line 336 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitProfileHF
private

Definition at line 338 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitProfileHFL
private

Definition at line 339 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitProfileHFS
private

Definition at line 340 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meRecHitSimHitProfileHO
private

Definition at line 337 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meSumRecHitsEnergyConeHB
private

Definition at line 311 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meSumRecHitsEnergyConeHE
private

Definition at line 312 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meSumRecHitsEnergyConeHF
private

Definition at line 314 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meSumRecHitsEnergyConeHFL
private

Definition at line 315 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meSumRecHitsEnergyConeHFS
private

Definition at line 316 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meSumRecHitsEnergyConeHO
private

Definition at line 313 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meSumRecHitsEnergyHB
private

Definition at line 305 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meSumRecHitsEnergyHE
private

Definition at line 306 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meSumRecHitsEnergyHF
private

Definition at line 308 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meSumRecHitsEnergyHO
private

Definition at line 307 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_HB
private

Definition at line 277 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_HB1
private

Definition at line 279 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_HB2
private

Definition at line 280 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_HE
private

Definition at line 286 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_HE1
private

Definition at line 287 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_HE2
private

Definition at line 288 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_HF
private

Definition at line 298 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_HFL
private

Definition at line 299 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_HFS
private

Definition at line 300 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_High_HB
private

Definition at line 278 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_High_HO
private

Definition at line 293 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_HO
private

Definition at line 292 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_Low_HB
private

Definition at line 276 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_Low_HE
private

Definition at line 285 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTE_Low_HF
private

Definition at line 297 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHB
private

Definition at line 282 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHB_High
private

Definition at line 283 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHB_Low
private

Definition at line 281 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHE
private

Definition at line 290 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHE_Low
private

Definition at line 289 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHF
private

Definition at line 302 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHF_Low
private

Definition at line 301 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHO
private

Definition at line 294 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTEprofileHO_High
private

Definition at line 295 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTimeHB
private

Definition at line 265 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTimeHE
private

Definition at line 266 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTimeHF
private

Definition at line 268 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::meTimeHO
private

Definition at line 267 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

int HcalRecHitsValidation::nevtot
private

Definition at line 382 of file HcalRecHitsValidation.h.

Referenced by analyze(), and HcalRecHitsValidation().

MonitorElement* HcalRecHitsValidation::Nhb
private

Definition at line 111 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::Nhe
private

Definition at line 112 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::Nhf
private

Definition at line 114 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::Nho
private

Definition at line 113 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_map_HB1
private

Definition at line 198 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_map_HB2
private

Definition at line 199 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_map_HE1
private

Definition at line 200 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_map_HE2
private

Definition at line 201 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_map_HE3
private

Definition at line 202 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_map_HF1
private

Definition at line 204 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_map_HF2
private

Definition at line 205 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_map_HO
private

Definition at line 203 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_seqHB1
private

Definition at line 216 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_seqHB2
private

Definition at line 217 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_seqHE1
private

Definition at line 218 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_seqHE2
private

Definition at line 219 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_seqHE3
private

Definition at line 220 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_seqHF1
private

Definition at line 222 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_seqHF2
private

Definition at line 223 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_seqHO
private

Definition at line 221 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_vs_ieta_HB1
private

Definition at line 207 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_vs_ieta_HB2
private

Definition at line 208 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_vs_ieta_HE1
private

Definition at line 209 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_vs_ieta_HE2
private

Definition at line 210 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_vs_ieta_HE3
private

Definition at line 211 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_vs_ieta_HF1
private

Definition at line 213 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_vs_ieta_HF2
private

Definition at line 214 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::occupancy_vs_ieta_HO
private

Definition at line 212 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

std::string HcalRecHitsValidation::outputFile_
private

Definition at line 71 of file HcalRecHitsValidation.h.

Referenced by HcalRecHitsValidation().

MonitorElement* HcalRecHitsValidation::RecHit_Aux_StatusWord_HB
private

Definition at line 360 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::RecHit_Aux_StatusWord_HE
private

Definition at line 361 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::RecHit_Aux_StatusWord_HF
private

Definition at line 362 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::RecHit_Aux_StatusWord_HO
private

Definition at line 363 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::RecHit_StatusWord_HB
private

Definition at line 353 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::RecHit_StatusWord_HE
private

Definition at line 354 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::RecHit_StatusWord_HF
private

Definition at line 355 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::RecHit_StatusWord_HF67
private

Definition at line 356 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::RecHit_StatusWord_HO
private

Definition at line 357 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_seq_HB1
private

Definition at line 189 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_seq_HB2
private

Definition at line 190 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_seq_HE1
private

Definition at line 191 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_seq_HE2
private

Definition at line 192 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_seq_HE3
private

Definition at line 193 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_seq_HF1
private

Definition at line 195 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_seq_HF2
private

Definition at line 196 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_seq_HO
private

Definition at line 194 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_vs_ieta_HB1
private

Definition at line 171 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_vs_ieta_HB2
private

Definition at line 172 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_vs_ieta_HE1
private

Definition at line 173 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_vs_ieta_HE2
private

Definition at line 174 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_vs_ieta_HE3
private

Definition at line 175 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_vs_ieta_HF1
private

Definition at line 177 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_vs_ieta_HF2
private

Definition at line 178 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::RMS_vs_ieta_HO
private

Definition at line 176 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::sevLvl_HB
private

Definition at line 105 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::sevLvl_HE
private

Definition at line 106 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::sevLvl_HF
private

Definition at line 107 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::sevLvl_HO
private

Definition at line 108 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

std::string HcalRecHitsValidation::sign_
private

Definition at line 75 of file HcalRecHitsValidation.h.

Referenced by HcalRecHitsValidation().

int HcalRecHitsValidation::subdet_
private

Definition at line 90 of file HcalRecHitsValidation.h.

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

const HcalChannelQuality* HcalRecHitsValidation::theHcalChStatus
private

Definition at line 98 of file HcalRecHitsValidation.h.

Referenced by analyze(), and hcalSevLvl().

const HcalSeverityLevelComputer* HcalRecHitsValidation::theHcalSevLvlComputer
private

Definition at line 100 of file HcalRecHitsValidation.h.

Referenced by analyze(), and hcalSevLvl().

edm::EDGetTokenT<EBRecHitCollection> HcalRecHitsValidation::tok_EB_
private

Definition at line 82 of file HcalRecHitsValidation.h.

Referenced by analyze(), and HcalRecHitsValidation().

edm::EDGetTokenT<EERecHitCollection> HcalRecHitsValidation::tok_EE_
private

Definition at line 83 of file HcalRecHitsValidation.h.

Referenced by analyze(), and HcalRecHitsValidation().

edm::EDGetTokenT<edm::HepMCProduct> HcalRecHitsValidation::tok_evt_
private

Definition at line 81 of file HcalRecHitsValidation.h.

Referenced by analyze(), and HcalRecHitsValidation().

edm::EDGetTokenT<HBHERecHitCollection> HcalRecHitsValidation::tok_hbhe_
private

Definition at line 85 of file HcalRecHitsValidation.h.

Referenced by fillRecHitsTmp(), and HcalRecHitsValidation().

edm::EDGetTokenT<HFRecHitCollection> HcalRecHitsValidation::tok_hf_
private

Definition at line 86 of file HcalRecHitsValidation.h.

Referenced by fillRecHitsTmp(), and HcalRecHitsValidation().

edm::EDGetTokenT<edm::PCaloHitContainer> HcalRecHitsValidation::tok_hh_
private

Definition at line 84 of file HcalRecHitsValidation.h.

Referenced by analyze(), and HcalRecHitsValidation().

edm::EDGetTokenT<HORecHitCollection> HcalRecHitsValidation::tok_ho_
private

Definition at line 87 of file HcalRecHitsValidation.h.

Referenced by fillRecHitsTmp(), and HcalRecHitsValidation().

bool HcalRecHitsValidation::useAllHistos_
private

Definition at line 78 of file HcalRecHitsValidation.h.

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

MonitorElement* HcalRecHitsValidation::ZS_HB1
private

Definition at line 123 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_HB2
private

Definition at line 124 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_HE1
private

Definition at line 125 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_HE2
private

Definition at line 126 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_HE3
private

Definition at line 127 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_HF1
private

Definition at line 129 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_HF2
private

Definition at line 130 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_HO
private

Definition at line 128 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_nHB1
private

Definition at line 132 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_nHB2
private

Definition at line 133 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_nHE1
private

Definition at line 134 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_nHE2
private

Definition at line 135 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_nHE3
private

Definition at line 136 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_nHF1
private

Definition at line 138 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_nHF2
private

Definition at line 139 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_nHO
private

Definition at line 137 of file HcalRecHitsValidation.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_seqHB1
private

Definition at line 141 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_seqHB2
private

Definition at line 142 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_seqHE1
private

Definition at line 143 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_seqHE2
private

Definition at line 144 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_seqHE3
private

Definition at line 145 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_seqHF1
private

Definition at line 147 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_seqHF2
private

Definition at line 148 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().

MonitorElement* HcalRecHitsValidation::ZS_seqHO
private

Definition at line 146 of file HcalRecHitsValidation.h.

Referenced by bookHistograms().