CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

HcalRecHitsAnalyzer Class Reference

#include <HcalRecHitsAnalyzer.h>

Inheritance diagram for HcalRecHitsAnalyzer:
edm::EDAnalyzer

List of all members.

Public Member Functions

virtual void analyze (edm::Event const &ev, edm::EventSetup const &c)
virtual void beginJob ()
virtual void endJob ()
 HcalRecHitsAnalyzer (edm::ParameterSet const &conf)
 ~HcalRecHitsAnalyzer ()

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
DQMStoredbe_
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
MonitorElementmeDeltaPhi
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
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_
edm::InputTag theHBHERecHitCollectionLabel
const HcalChannelQualitytheHcalChStatus
const HcalSeverityLevelComputertheHcalSevLvlComputer
edm::InputTag theHFRecHitCollectionLabel
edm::InputTag theHORecHitCollectionLabel
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

Detailed Description

Definition at line 55 of file HcalRecHitsAnalyzer.h.


Constructor & Destructor Documentation

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

Definition at line 5 of file HcalRecHitsAnalyzer.cc.

References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookProfile(), dbe_, 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_, eventype_, edm::ParameterSet::getUntrackedParameter(), hcalselector_, interpolateCardsSimple::histo, imc, iz, map_depth1, map_depth2, map_depth3, map_depth4, map_ecal, meDeltaEta, meDeltaPhi, 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, meSumRecHitsEnergyConeHB, meSumRecHitsEnergyConeHE, meSumRecHitsEnergyConeHF, meSumRecHitsEnergyConeHFL, meSumRecHitsEnergyConeHFS, meSumRecHitsEnergyConeHO, meSumRecHitsEnergyHB, meSumRecHitsEnergyHE, meSumRecHitsEnergyHF, meSumRecHitsEnergyHO, meTE_HB, meTE_HE, meTE_HF, 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, 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, cppFunctionSkipper::operator, outputFile_, 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::setCurrentFolder(), sevLvl_HB, sevLvl_HE, sevLvl_HF, sevLvl_HO, sign_, subdet_, theHBHERecHitCollectionLabel, theHFRecHitCollectionLabel, theHORecHitCollectionLabel, 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.

                                                                    {
  // DQM ROOT output
  outputFile_ = conf.getUntrackedParameter<std::string>("outputFile", "myfile.root");
  
  if ( outputFile_.size() != 0 ) {
    edm::LogInfo("OutputInfo") << " Hcal RecHit Task histograms will be saved to '" << outputFile_.c_str() << "'";
  } else {
    edm::LogInfo("OutputInfo") << " Hcal RecHit Task histograms will NOT be saved";
  }
  
  nevtot = 0;
  
  dbe_ = 0;
  // get hold of back-end interface
  dbe_ = edm::Service<DQMStore>().operator->();
   
  Char_t histo[200];

  hcalselector_ = conf.getUntrackedParameter<std::string>("hcalselector", "all");
  ecalselector_ = conf.getUntrackedParameter<std::string>("ecalselector", "yes");
  eventype_     = conf.getUntrackedParameter<std::string>("eventype", "single");
  sign_         = conf.getUntrackedParameter<std::string>("sign", "*");
  useAllHistos_ = conf.getUntrackedParameter<bool>("useAllHistos", false);

  //Collections
  theHBHERecHitCollectionLabel = conf.getUntrackedParameter<edm::InputTag>("HBHERecHitCollectionLabel");
  theHFRecHitCollectionLabel   = conf.getUntrackedParameter<edm::InputTag>("HFRecHitCollectionLabel");
  theHORecHitCollectionLabel   = conf.getUntrackedParameter<edm::InputTag>("HORecHitCollectionLabel");

  subdet_ = 5;
  if (hcalselector_ == "noise") subdet_ = 0;
  if (hcalselector_ == "HB"   ) subdet_ = 1;
  if (hcalselector_ == "HE"   ) subdet_ = 2;
  if (hcalselector_ == "HO"   ) subdet_ = 3;
  if (hcalselector_ == "HF"   ) subdet_ = 4;
  if (hcalselector_ == "all"  ) subdet_ = 5;
  if (hcalselector_ == "ZS"   ) subdet_ = 6;

  etype_ = 1;
  if (eventype_ == "multi") etype_ = 2;

  iz = 1;
  if(sign_ == "-") iz = -1;
  if(sign_ == "*") iz = 0;

  imc = 0;

  if ( dbe_ ) {
    dbe_->setCurrentFolder("HcalRecHitsD/HcalRecHitTask");

    // General counters (drawn)
    sprintf  (histo, "N_HB" );
    Nhb = dbe_->book1D(histo, histo, 2600,0.,2600.);
    sprintf  (histo, "N_HE" );
    Nhe = dbe_->book1D(histo, histo, 2600,0.,2600.);
    sprintf  (histo, "N_HO" );
    Nho = dbe_->book1D(histo, histo, 2200,0.,2200.);
    sprintf  (histo, "N_HF" );
    Nhf = dbe_->book1D(histo, histo, 1800,0., 1800.);

    // ZS
    if(subdet_ == 6) {

      for (unsigned int i1 = 0;  i1 < 82; i1++) {
        for (unsigned int i2 = 0;  i2 < 72; i2++) {
          for (unsigned int i3 = 0;  i3 < 4;  i3++) {
            for (unsigned int i4 = 0;  i4 < 4;  i4++) {
              emap_min [i1][i2][i3][i4] = 99999.;     
            }
          }
        }
      }

      //None of the ZS histos are drawn
      if (useAllHistos_){
        sprintf  (histo, "ZSmin_map_depth1" );
        map_depth1 = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
        sprintf  (histo, "ZSmin_map_depth2" );
        map_depth2 = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
        sprintf  (histo, "ZSmin_map_depth3" );
        map_depth3 = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
        sprintf  (histo, "ZSmin_map_depth4" );
        map_depth4 = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
        
      
        sprintf  (histo, "ZS_Nreco_HB1" );
        ZS_nHB1 = dbe_->book1D(histo, histo, 2500, 0., 2500.);
        sprintf  (histo, "ZS_Nreco_HB2" );
        ZS_nHB2 = dbe_->book1D(histo, histo,  500, 0.,  500.);
        sprintf  (histo, "ZS_Nreco_HE1" );
        ZS_nHE1 = dbe_->book1D(histo, histo, 2000, 0., 2000.);
        sprintf  (histo, "ZS_Nreco_HE2" );
        ZS_nHE2 = dbe_->book1D(histo, histo, 2000, 0., 2000.);
        sprintf  (histo, "ZS_Nreco_HE3" );
        ZS_nHE3 = dbe_->book1D(histo, histo,  500, 0.,  500.);
        sprintf  (histo, "ZS_Nreco_HO" );
        ZS_nHO  = dbe_->book1D(histo, histo, 2500, 0., 2500.);
        sprintf  (histo, "ZS_Nreco_HF1" );
        ZS_nHF1 = dbe_->book1D(histo, histo, 1000, 0., 1000.);
        sprintf  (histo, "ZS_Nreco_HF2" );
        ZS_nHF2 = dbe_->book1D(histo, histo, 1000, 0., 1000.);
      
        sprintf  (histo, "ZSmin_simple1D_HB1" );
        ZS_HB1 = dbe_->book1D(histo, histo,120, -2., 10.);
        sprintf  (histo, "ZSmin_simple1D_HB2" );
        ZS_HB2 = dbe_->book1D(histo, histo,120, -2., 10.);
        sprintf  (histo, "ZSmin_simple1D_HE1" );
        ZS_HE1 = dbe_->book1D(histo, histo,120, -2., 10.);
        sprintf  (histo, "ZSmin_simple1D_HE2" );
        ZS_HE2 = dbe_->book1D(histo, histo,120, -2., 10.);
        sprintf  (histo, "ZSmin_simple1D_HE3" );
        ZS_HE3 = dbe_->book1D(histo, histo,120, -2., 10.);
        sprintf  (histo, "ZSmin_simple1D_HO" );
        ZS_HO = dbe_->book1D(histo, histo,120, -2., 10.);
        sprintf  (histo, "ZSmin_simple1D_HF1" );
        ZS_HF1 = dbe_->book1D(histo, histo,200, -10., 10.);
        sprintf  (histo, "ZSmin_simple1D_HF2" );
        ZS_HF2 = dbe_->book1D(histo, histo,200, -10., 10.);
        
        sprintf  (histo, "ZSmin_sequential1D_HB1" );
        ZS_seqHB1 = dbe_->book1D(histo, histo,2400, -1200., 1200.);
        sprintf  (histo, "ZSmin_sequential1D_HB2" );
        ZS_seqHB2 = dbe_->book1D(histo, histo,2400, -1200., 1200.);
        sprintf  (histo, "ZSmin_sequential1D_HE1" );
        ZS_seqHE1 = dbe_->book1D(histo, histo,4400, -2200., 2200.);
        sprintf  (histo, "ZSmin_sequential1D_HE2" );
        ZS_seqHE2 = dbe_->book1D(histo, histo,4400, -2200., 2200.);
        sprintf  (histo, "ZSmin_sequential1D_HE3" );
        ZS_seqHE3 = dbe_->book1D(histo, histo,4400, -2200., 2200.);
        sprintf  (histo, "ZSmin_sequential1D_HO" );
        ZS_seqHO  = dbe_->book1D(histo, histo,2400, -1200., 1200.);
        sprintf  (histo, "ZSmin_sequential1D_HF1" );
        ZS_seqHF1 = dbe_->book1D(histo, histo,6000, -3000., 3000.);
        sprintf  (histo, "ZSmin_sequential1D_HF2" );
        ZS_seqHF2 = dbe_->book1D(histo, histo,6000, -3000., 3000.);
      }
    }

    // ALL others, except ZS
    else {
  
      sprintf  (histo, "emap_depth1" );
      emap_depth1 = dbe_->book2D(histo, histo, 84, -42., 42., 72, 0., 72.);
      sprintf  (histo, "emap_depth2" );
      emap_depth2 = dbe_->book2D(histo, histo, 84, -42., 42., 72, 0., 72.);
      sprintf  (histo, "emap_depth3" );
      emap_depth3 = dbe_->book2D(histo, histo, 84, -42., 42., 72, 0., 72.);
      sprintf  (histo, "emap_depth4" );
      emap_depth4 = dbe_->book2D(histo, histo, 84, -42., 42., 72, 0., 72.);
      
      if (useAllHistos_){
        
        if (ecalselector_ == "yes") {
          sprintf  (histo, "map_ecal" );
          map_ecal = dbe_->book2D(histo, histo, 70, -3.045, 3.045, 72, -3.1415926536, 3.1415926536);
        }
      }
      
      //The mean energy histos are drawn, but not the RMS or emean seq
      sprintf  (histo, "emean_vs_ieta_HB1" );
      emean_vs_ieta_HB1 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s");
      sprintf  (histo, "emean_vs_ieta_HB2" );
      emean_vs_ieta_HB2 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s");
      sprintf  (histo, "emean_vs_ieta_HE1" );
      emean_vs_ieta_HE1 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2010, -10. ,2000., "s" );
      sprintf  (histo, "emean_vs_ieta_HE2" );
      emean_vs_ieta_HE2 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s");
      sprintf  (histo, "emean_vs_ieta_HE3" );
      emean_vs_ieta_HE3 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s" );
      sprintf  (histo, "emean_vs_ieta_HO" );
      emean_vs_ieta_HO = dbe_->bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s" );
      sprintf  (histo, "emean_vs_ieta_HF1" );
      emean_vs_ieta_HF1 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s" );
      sprintf  (histo, "emean_vs_ieta_HF2" );
      emean_vs_ieta_HF2 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2010, -10., 2000., "s" );

      if (useAllHistos_){
        sprintf  (histo, "RMS_vs_ieta_HB1" );
        RMS_vs_ieta_HB1 = dbe_->book1D(histo, histo, 82, -41., 41.);
        sprintf  (histo, "RMS_vs_ieta_HB2" );
        RMS_vs_ieta_HB2 = dbe_->book1D(histo, histo, 82, -41., 41.);
        sprintf  (histo, "RMS_vs_ieta_HE1" );
        RMS_vs_ieta_HE1 = dbe_->book1D(histo, histo, 82, -41., 41.);
        sprintf  (histo, "RMS_vs_ieta_HE2" );
        RMS_vs_ieta_HE2 = dbe_->book1D(histo, histo, 82, -41., 41.);
        sprintf  (histo, "RMS_vs_ieta_HE3" );
        RMS_vs_ieta_HE3 = dbe_->book1D(histo, histo, 82, -41., 41.);
        sprintf  (histo, "RMS_vs_ieta_HO" );
        RMS_vs_ieta_HO = dbe_->book1D(histo, histo, 82, -41., 41.);
        sprintf  (histo, "RMS_vs_ieta_HF1" );
        RMS_vs_ieta_HF1 = dbe_->book1D(histo, histo, 82, -41., 41.);
        sprintf  (histo, "RMS_vs_ieta_HF2" );
        RMS_vs_ieta_HF2 = dbe_->book1D(histo, histo, 82, -41., 41.);
        
        // Sequential emean and RMS
        sprintf  (histo, "emean_seq_HB1" );
        emean_seqHB1 = dbe_->bookProfile(histo, histo, 2400, -1200., 1200.,  2010, -10., 2000., "s" );
        sprintf  (histo, "emean_seq_HB2" );
        emean_seqHB2 = dbe_->bookProfile(histo, histo, 2400, -1200., 1200.,  2010, -10., 2000., "s" );
        sprintf  (histo, "emean_seq_HE1" );
        emean_seqHE1 = dbe_->bookProfile(histo, histo, 4400, -2200., 2200.,  2010, -10., 2000., "s" );
        sprintf  (histo, "emean_seq_HE2" );
        emean_seqHE2 = dbe_->bookProfile(histo, histo, 4400, -2200., 2200.,  2010, -10., 2000., "s" );
        sprintf  (histo, "emean_seq_HE3" );
        emean_seqHE3 = dbe_->bookProfile(histo, histo, 4400, -2200., 2200.,  2010, -10., 2000., "s" );
        sprintf  (histo, "emean_seq_HO" );
        emean_seqHO = dbe_->bookProfile(histo, histo,  2400, -1200., 1200.,  2010, -10., 2000., "s" );
        sprintf  (histo, "emean_seq_HF1" );
        emean_seqHF1 = dbe_->bookProfile(histo, histo, 6000, -3000., 3000.,  2010, -10., 2000., "s" );
        sprintf  (histo, "emean_seq_HF2" );
        emean_seqHF2 = dbe_->bookProfile(histo, histo, 6000, -3000., 3000.,  2010, -10., 2000., "s" );
        
        sprintf  (histo, "RMS_seq_HB1" );
        RMS_seq_HB1 = dbe_->book1D(histo, histo, 2400, -1200., 1200.);
        sprintf  (histo, "RMS_seq_HB2" );
        RMS_seq_HB2 = dbe_->book1D(histo, histo, 2400, -1200., 1200.);
        sprintf  (histo, "RMS_seq_HE1" );
        RMS_seq_HE1 = dbe_->book1D(histo, histo, 4400, -2200., 2200.);
        sprintf  (histo, "RMS_seq_HE2" );
        RMS_seq_HE2 = dbe_->book1D(histo, histo, 4400, -2200., 2200.);
        sprintf  (histo, "RMS_seq_HE3" );
        RMS_seq_HE3 = dbe_->book1D(histo, histo, 4400, -2200., 2200.);
        sprintf  (histo, "RMS_seq_HO" );
        RMS_seq_HO = dbe_->book1D(histo, histo, 2400, -1200., 1200.);
        sprintf  (histo, "RMS_seq_HF1" );
        RMS_seq_HF1 = dbe_->book1D(histo, histo, 6000, -3000., 3000.);
        sprintf  (histo, "RMS_seq_HF2" );
        RMS_seq_HF2 = dbe_->book1D(histo, histo, 6000, -3000., 3000.);
      }
      // Occupancy
      //The only occupancy histos drawn are occupancy vs. ieta
      //but the maps are needed because this is where the latter are filled from
      sprintf  (histo, "occupancy_map_HB1" );
      occupancy_map_HB1 = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
      sprintf  (histo, "occupancy_map_HB2" );
      occupancy_map_HB2 = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
      sprintf  (histo, "occupancy_map_HE1" );
      occupancy_map_HE1 = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
      sprintf  (histo, "occupancy_map_HE2" );
      occupancy_map_HE2 = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);      
      sprintf  (histo, "occupancy_map_HE3" );
      occupancy_map_HE3 = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
      sprintf  (histo, "occupancy_map_HO" );
      occupancy_map_HO = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);      
      sprintf  (histo, "occupancy_map_HF1" );
      occupancy_map_HF1 = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
      sprintf  (histo, "occupancy_map_HF2" );
      occupancy_map_HF2 = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
      
      //These are drawn
      sprintf  (histo, "occupancy_vs_ieta_HB1" );
      occupancy_vs_ieta_HB1 = dbe_->book1D(histo, histo, 82, -41., 41.);
      sprintf  (histo, "occupancy_vs_ieta_HB2" );
      occupancy_vs_ieta_HB2 = dbe_->book1D(histo, histo, 82, -41., 41.);
      sprintf  (histo, "occupancy_vs_ieta_HE1" );
      occupancy_vs_ieta_HE1 = dbe_->book1D(histo, histo, 82, -41., 41.);
      sprintf  (histo, "occupancy_vs_ieta_HE2" );
      occupancy_vs_ieta_HE2 = dbe_->book1D(histo, histo, 82, -41., 41.);
      sprintf  (histo, "occupancy_vs_ieta_HE3" );
      occupancy_vs_ieta_HE3 = dbe_->book1D(histo, histo, 82, -41., 41.);
      sprintf  (histo, "occupancy_vs_ieta_HO" );
      occupancy_vs_ieta_HO = dbe_->book1D(histo, histo, 82, -41., 41.);
      sprintf  (histo, "occupancy_vs_ieta_HF1" );
      occupancy_vs_ieta_HF1 = dbe_->book1D(histo, histo, 82, -41., 41.);
      sprintf  (histo, "occupancy_vs_ieta_HF2" );
      occupancy_vs_ieta_HF2 = dbe_->book1D(histo, histo, 82, -41., 41.);
      
      //These are not
      if (useAllHistos_){
        sprintf  (histo, "occ_sequential1D_HB1" );
        occupancy_seqHB1 = dbe_->book1D(histo, histo,2400, -1200., 1200.);
        sprintf  (histo, "occ_sequential1D_HB2" );
        occupancy_seqHB2 = dbe_->book1D(histo, histo,2400, -1200., 1200.);
        sprintf  (histo, "occ_sequential1D_HE1" );
        occupancy_seqHE1 = dbe_->book1D(histo, histo,4400, -2200., 2200.);
        sprintf  (histo, "occ_sequential1D_HE2" );
        occupancy_seqHE2 = dbe_->book1D(histo, histo,4400, -2200., 2200.);
        sprintf  (histo, "occ_sequential1D_HE3" );
        occupancy_seqHE3 = dbe_->book1D(histo, histo,4400, -2200., 2200.);
        sprintf  (histo, "occ_sequential1D_HO" );
        occupancy_seqHO  = dbe_->book1D(histo, histo,2400, -1200., 1200.);
        sprintf  (histo, "occ_sequential1D_HF1" );
        occupancy_seqHF1 = dbe_->book1D(histo, histo,6000, -3000., 3000.);
        sprintf  (histo, "occ_sequential1D_HF2" );
        occupancy_seqHF2 = dbe_->book1D(histo, histo,6000, -3000., 3000.);
      }

      //All status word histos except HF67 are drawn
      sprintf (histo, "HcalRecHitTask_RecHit_StatusWord_HB" ) ;
      RecHit_StatusWord_HB = dbe_->book1D(histo, histo, 32 , -0.5, 31.5); 
      
      sprintf (histo, "HcalRecHitTask_RecHit_StatusWord_HE" ) ;
      RecHit_StatusWord_HE = dbe_->book1D(histo, histo, 32 , -0.5, 31.5); 

      sprintf (histo, "HcalRecHitTask_RecHit_StatusWord_HF" ) ;
      RecHit_StatusWord_HF = dbe_->book1D(histo, histo, 32 , -0.5, 31.5); 

      if (useAllHistos_){
        sprintf (histo, "HcalRecHitTask_RecHit_StatusWord_HF67" ) ;
        RecHit_StatusWord_HF67 = dbe_->book1D(histo, histo, 3 , 0.5, 3.5); 
      }
      sprintf (histo, "HcalRecHitTask_RecHit_StatusWord_HO" ) ;
      RecHit_StatusWord_HO = dbe_->book1D(histo, histo, 32 , -0.5, 31.5); 

      //Aux status word histos
      sprintf (histo, "HcalRecHitTask_RecHit_Aux_StatusWord_HB" ) ;
      RecHit_Aux_StatusWord_HB = dbe_->book1D(histo, histo, 32 , -0.5, 31.5); 
      
      sprintf (histo, "HcalRecHitTask_RecHit_Aux_StatusWord_HE" ) ;
      RecHit_Aux_StatusWord_HE = dbe_->book1D(histo, histo, 32 , -0.5, 31.5); 

      sprintf (histo, "HcalRecHitTask_RecHit_Aux_StatusWord_HF" ) ;
      RecHit_Aux_StatusWord_HF = dbe_->book1D(histo, histo, 32 , -0.5, 31.5); 

      sprintf (histo, "HcalRecHitTask_RecHit_Aux_StatusWord_HO" ) ;
      RecHit_Aux_StatusWord_HO = dbe_->book1D(histo, histo, 32 , -0.5, 31.5); 

    }  // end-of (subdet_ =! 6)

    //======================= Now various cases one by one ===================

    //Histograms drawn for single pion scan
    if(subdet_ != 0 && imc != 0) { // just not for noise  
      sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_all_depths");
      meEnConeEtaProfile = dbe_->bookProfile(histo, histo, 82, -41., 41.,        2100, -100., 2000.);  
      
      sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_all_depths_E");
      meEnConeEtaProfile_E = dbe_->bookProfile(histo, histo, 82, -41., 41.,      2100, -100., 2000.);  
      
      sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_all_depths_EH");
      meEnConeEtaProfile_EH = dbe_->bookProfile(histo, histo, 82, -41., 41.,     2100, -100., 2000.);  
    }
    //The other cone profile, delta ieta/phi and noise histos are not drawn
    if (useAllHistos_){
      if(subdet_ != 0 && imc != 0) { // just not for noise  
        
        //    meEnConeEtaProfiel_depth1->Fill(eta_RecHit, HcalCone_d1);
        
        sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_depth1");
        meEnConeEtaProfile_depth1 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000.);   
        
        sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_depth2");
        meEnConeEtaProfile_depth2 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000.);  
        
        sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_depth3");
        meEnConeEtaProfile_depth3 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000.);  
        
        sprintf (histo, "HcalRecHitTask_En_rechits_cone_profile_vs_ieta_depth4");
        meEnConeEtaProfile_depth4 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000.);  
        
      }
      
      if(etype_ == 1 && subdet_ != 0) { // single part., not for noise
        
        sprintf  (histo, "Delta_phi_cluster-MC");
        meDeltaPhi =  dbe_->book2D(histo, histo, 520, -5.2, 5.2, 60, -0.6, 0.6);
        
        sprintf  (histo, "Delta_eta_cluster-MC");
        meDeltaEta =  dbe_->book2D(histo, histo, 520, -5.2, 5.2, 60, -0.6, 0.6);
      
      }
      // NOISE-specific
      
      if (hcalselector_ == "noise" ){
        
        sprintf  (histo, "e_hb" ) ;
        e_hb = dbe_->book1D(histo, histo,1000, -5., 5.);
        sprintf  (histo, "e_he" ) ;
        e_he = dbe_->book1D(histo, histo,1000, -5., 5.);
        sprintf  (histo, "e_ho" ) ;
        e_ho = dbe_->book1D(histo, histo,1000, -5., 5.);
        sprintf  (histo, "e_hfl" ) ;
        e_hfl = dbe_->book1D(histo, histo,2000, -10., 10.);
        sprintf  (histo, "e_hfs" ) ;
        e_hfs = dbe_->book1D(histo, histo,2000, -10., 10.);
      }
    }
    // ************** HB **********************************
    if (subdet_ == 1 || subdet_ == 5 ){

      //Only severity level, energy of rechits and overall HB timing histos are drawn  
      if (useAllHistos_){
        if(etype_ == 1 && subdet_ == 1 ) { 
          if(imc != 0) {
            sprintf (histo, "HcalRecHitTask_number_of_rechits_in_cone_HB" ) ;
            meNumRecHitsConeHB    = dbe_->book1D(histo, histo, 100, 0., 100.);
            
            sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_in_cone_HB" ) ;
            meSumRecHitsEnergyConeHB = dbe_->book1D(histo,histo, 60 ,-20., 280.);
          }
          
          sprintf (histo, "HcalRecHitTask_number_of_rechits_above_1GeV_HB");
          meNumRecHitsThreshHB = dbe_->book1D(histo, histo,  30, 0., 30.); 
          
          sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_HB" ) ;
          meSumRecHitsEnergyHB = dbe_->book1D(histo,histo, 60 , -20., 280.);
        
          if (ecalselector_ == "yes") {  
            if(imc != 0) {
              sprintf (histo, "HcalRecHitTask_number_of_ecalrechits_in_cone_HB");
              meNumEcalRecHitsConeHB = dbe_->book1D(histo, histo, 300, 0., 300.);           
              sprintf (histo, "HcalRecHitTask_energy_ecal_plus_hcal_in_cone_HB");
              meEcalHcalEnergyConeHB =  dbe_->book1D(histo,histo, 60 , -20., 280.);
            }
            
            sprintf (histo, "HcalRecHitTask_energy_hcal_vs_ecal_HB");
            meEnergyHcalVsEcalHB = dbe_->book2D(histo, histo, 300, 0., 150., 300, 0., 150.);    
            sprintf (histo, "HcalRecHitTask_energy_ecal_plus_hcal_HB" ) ;
            meEcalHcalEnergyHB = dbe_->book1D(histo,histo, 60 , -20., 280.);
          }
        }
      }
      
      sprintf(histo, "HcalRecHitTask_severityLevel_HB");
      sevLvl_HB = dbe_->book1D(histo, histo, 25, -0.5, 24.5); 

      sprintf (histo, "HcalRecHitTask_energy_of_rechits_HB" ) ;
      meRecHitsEnergyHB = dbe_->book1D(histo, histo, 2010 , -10. , 2000.); 
      
      sprintf (histo, "HcalRecHitTask_timing_HB" ) ;
      meTimeHB = dbe_->book1D(histo, histo, 70, -48., 92.); 

      //High, medium and low histograms to reduce RAM usage
      sprintf (histo, "HcalRecHitTask_timing_vs_energy_Low_HB" ) ;
      meTE_Low_HB = dbe_->book2D(histo, histo, 50, -5., 45.,  70, -48., 92.);

      sprintf (histo, "HcalRecHitTask_timing_vs_energy_HB" ) ;
      meTE_HB = dbe_->book2D(histo, histo, 150, -5., 295.,  70, -48., 92.);

      sprintf (histo, "HcalRecHitTask_timing_vs_energy_High_HB" ) ;
      meTE_High_HB = dbe_->book2D(histo, histo, 150, -5., 2995.,  70, -48., 92.);
      
      sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_Low_HB" ) ;
      meTEprofileHB_Low = dbe_->bookProfile(histo, histo, 50, -5., 45., 70, -48., 92.); 

      sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_HB" ) ;
      meTEprofileHB = dbe_->bookProfile(histo, histo, 150, -5., 295., 70, -48., 92.); 

      sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_High_HB" ) ;
      meTEprofileHB_High = dbe_->bookProfile(histo, histo, 150, -5., 2995., 70, -48., 92.); 

    }
    
    // ********************** HE ************************************
    if ( subdet_ == 2 || subdet_ == 5 ){

      //None of these are drawn
      if (useAllHistos_){
        if(etype_ == 1 && subdet_ == 2 ) { 
          
          if(imc != 0) {
            sprintf (histo, "HcalRecHitTask_number_of_rechits_in_cone_HE" ) ;
            meNumRecHitsConeHE    = dbe_->book1D(histo, histo, 100, 0., 100.);
            
            sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_in_cone_HE" ) ;
            meSumRecHitsEnergyConeHE = dbe_->book1D(histo,histo, 60 ,-20., 280.);
          }     
          
          sprintf (histo, "HcalRecHitTask_number_of_rechits_above_1GeV_HE");
          meNumRecHitsThreshHE = dbe_->book1D(histo, histo,  30, 0., 30.);  
          
          sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_HE" ) ;
          meSumRecHitsEnergyHE = dbe_->book1D(histo,histo, 60 , -20., 280.);
          
          if (ecalselector_ == "yes") {         
            sprintf (histo, "HcalRecHitTask_energy_ecal_plus_hcal_HE" ) ;
            meEcalHcalEnergyHE = dbe_->book1D(histo,histo, 80, -20., 380.);
            
            sprintf (histo, "HcalRecHitTask_energy_hcal_vs_ecal_HE");
            meEnergyHcalVsEcalHE = dbe_->book2D(histo, histo, 300, 0., 150., 300, 0., 150.);
            if(imc != 0) {
              sprintf (histo, "HcalRecHitTask_number_of_ecalrechits_in_cone_HE");
              meNumEcalRecHitsConeHE = dbe_->book1D(histo, histo, 300, 0., 300.);   
              sprintf (histo, "HcalRecHitTask_energy_ecal_plus_hcal_in_cone_HE");
              meEcalHcalEnergyConeHE =  dbe_->book1D(histo,histo, 60,-20., 280.);
            }
          }           
        }
      }
      
      //Only severity level, energy of rechits and overall HB timing histos are drawn  
      sprintf(histo, "HcalRecHitTask_severityLevel_HE");
      sevLvl_HE = dbe_->book1D(histo, histo, 25, -0.5, 24.5); 
      
      sprintf (histo, "HcalRecHitTask_energy_of_rechits_HE" ) ;
      meRecHitsEnergyHE = dbe_->book1D(histo, histo, 510, -10., 500.); 
      
      sprintf (histo, "HcalRecHitTask_timing_HE" ) ;
      meTimeHE = dbe_->book1D(histo, histo, 70, -48., 92.); 
      
      sprintf (histo, "HcalRecHitTask_timing_vs_energy_Low_HE" ) ;
      meTE_Low_HE = dbe_->book2D(histo, histo, 80, -5., 75.,  70, -48., 92.);

      sprintf (histo, "HcalRecHitTask_timing_vs_energy_HE" ) ;
      meTE_HE = dbe_->book2D(histo, histo, 200, -5., 395.,  70, -48., 92.);
      
      sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_Low_HE" ) ;
      meTEprofileHE_Low = dbe_->bookProfile(histo, histo, 80, -5., 75., 70, -48., 92.); 

      sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_HE" ) ;
      meTEprofileHE = dbe_->bookProfile(histo, histo, 200, -5., 395., 70, -48., 92.); 
      
    }

    // ************** HO ****************************************
    if ( subdet_ == 3 || subdet_ == 5  ){
      
      //Only severity level, energy of rechits and overall HB timing histos are drawn  
      if (useAllHistos_){
        if(etype_ == 1 && subdet_ == 3) { 
          if (imc != 0) {
            sprintf (histo, "HcalRecHitTask_number_of_rechits_in_cone_HO" ) ;
            meNumRecHitsConeHO    = dbe_->book1D(histo, histo, 100, 0 , 100.);
            
            sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_in_cone_HO" ) ;
            meSumRecHitsEnergyConeHO = dbe_->book1D(histo,histo, 80 ,-20., 380.);
          }
          
          sprintf (histo, "HcalRecHitTask_number_of_rechits_above_1GeV_HO");
          meNumRecHitsThreshHO = dbe_->book1D(histo, histo,   100, 0., 100.);   
          
          sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_HO" ) ;
          meSumRecHitsEnergyHO = dbe_->book1D(histo,histo, 80 , -20., 380.);
        }
      }      
      
      sprintf(histo, "HcalRecHitTask_severityLevel_HO");
      sevLvl_HO = dbe_->book1D(histo, histo, 25, -0.5, 24.5); 

      sprintf (histo, "HcalRecHitTask_energy_of_rechits_HO" ) ;
      meRecHitsEnergyHO = dbe_->book1D(histo, histo, 510 , -10. , 500.); 
      
      sprintf (histo, "HcalRecHitTask_timing_HO" ) ;
      meTimeHO = dbe_->book1D(histo, histo, 70, -48., 92.); 
      
      sprintf (histo, "HcalRecHitTask_timing_vs_energy_HO" ) ;
      meTE_HO= dbe_->book2D(histo, histo, 60, -5., 55., 70, -48., 92.);

      sprintf (histo, "HcalRecHitTask_timing_vs_energy_High_HO" ) ;
      meTE_High_HO= dbe_->book2D(histo, histo, 100, -5., 995., 70, -48., 92.);
      
      sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_HO" ) ;
      meTEprofileHO = dbe_->bookProfile(histo, histo, 60, -5., 55.,  70, -48., 92.); 

      sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_High_HO" ) ;
      meTEprofileHO_High = dbe_->bookProfile(histo, histo, 100, -5., 995.,  70, -48., 92.); 
      
    }   
  
    // ********************** HF ************************************
    if ( subdet_ == 4 || subdet_ == 5 ){

      //Only severity level, energy of rechits and overall HB timing histos are drawn  
      if (useAllHistos_){
        if(etype_ == 1 &&  subdet_ == 4) { 
          
          if(imc != 0) {
            sprintf (histo, "HcalRecHitTask_number_of_rechits_in_cone_HF" ) ;
            meNumRecHitsConeHF    = dbe_->book1D(histo, histo, 30, 0 , 30.);
            
            sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_in_cone_HF" ) ;
            meSumRecHitsEnergyConeHF = dbe_->book1D(histo,histo,100, -20., 180.);
            
            sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_in_cone_HFL" );
            meSumRecHitsEnergyConeHFL = dbe_->book1D(histo,histo,100,-20., 180.);
            
            sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_in_cone_HFS");
            meSumRecHitsEnergyConeHFS = dbe_->book1D(histo,histo,100,-20., 180.);
          }
          sprintf (histo, "HcalRecHitTask_sum_of_rechits_energy_HF" ) ;
          meSumRecHitsEnergyHF = dbe_->book1D(histo,histo, 80 , -20., 380.);  
        }
      }
      
      sprintf(histo, "HcalRecHitTask_severityLevel_HF");
      sevLvl_HF = dbe_->book1D(histo, histo, 25, -0.5, 24.5); 

      sprintf (histo, "HcalRecHitTask_energy_of_rechits_HF" ) ;
      meRecHitsEnergyHF = dbe_->book1D(histo, histo, 1010 , -10. , 1000.); 

      sprintf (histo, "HcalRecHitTask_timing_HF" ) ;
      meTimeHF = dbe_->book1D(histo, histo, 70, -48., 92.); 
      
      sprintf (histo, "HcalRecHitTask_timing_vs_energy_Low_HF" ) ;
      meTE_Low_HF = dbe_->book2D(histo, histo, 100, -5., 195., 70, -48., 92.);

      sprintf (histo, "HcalRecHitTask_timing_vs_energy_HF" ) ;
      meTE_HF = dbe_->book2D(histo, histo, 200, -5., 995., 70, -48., 92.);
      
      sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_Low_HF" ) ;
      meTEprofileHF_Low = dbe_->bookProfile(histo, histo, 100, -5., 195., 70, -48., 92.); 

      sprintf (histo, "HcalRecHitTask_timing_vs_energy_profile_HF" ) ;
      meTEprofileHF = dbe_->bookProfile(histo, histo, 200, -5., 995., 70, -48., 92.); 

    }
  }  //end-of if(_dbe) 

}
HcalRecHitsAnalyzer::~HcalRecHitsAnalyzer ( )

Definition at line 606 of file HcalRecHitsAnalyzer.cc.

{ }

Member Function Documentation

void HcalRecHitsAnalyzer::analyze ( edm::Event const &  ev,
edm::EventSetup const &  c 
) [virtual]

Implements edm::EDAnalyzer.

Definition at line 613 of file HcalRecHitsAnalyzer.cc.

References cauxstwd, cdepth, cen, ceta, cieta, ciphi, cphi, cstwd, csub, ctime, 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, eta(), etype_, MonitorElement::Fill(), HcalObjRepresent::Fill(), fillRecHitsTmp(), geometry, edm::EventSetup::get(), edm::Event::getByLabel(), hcalHBSevLvlVec, hcalHESevLvlVec, hcalHFSevLvlVec, hcalHOSevLvlVec, hcalselector_, i, imc, getHLTprescales::index, map_ecal, 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, 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, occupancy_map_HB1, occupancy_map_HB2, occupancy_map_HE1, occupancy_map_HE2, occupancy_map_HE3, occupancy_map_HF1, occupancy_map_HF2, occupancy_map_HO, phi, phi12(), edm::Handle< T >::product(), 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, sevLvl_HB, sevLvl_HE, sevLvl_HF, sevLvl_HO, subdet_, lumiQTWidget::t, theHcalChStatus, theHcalSevLvlComputer, useAllHistos_, ZS_nHB1, ZS_nHB2, ZS_nHE1, ZS_nHE2, ZS_nHE3, ZS_nHF1, ZS_nHF2, and ZS_nHO.

                                                                            {

  using namespace edm;

  // cuts for each subdet_ector mimiking  "Scheme B"
  //  double cutHB = 0.9, cutHE = 1.4, cutHO = 1.1, cutHFL = 1.2, cutHFS = 1.8; 

  // energy in HCAL
  double eHcal        = 0.;
  double eHcalCone    = 0.;  
  double eHcalConeHB  = 0.;  
  double eHcalConeHE  = 0.;  
  double eHcalConeHO  = 0.;  
  double eHcalConeHF  = 0.;  
  double eHcalConeHFL = 0.;  
  double eHcalConeHFS = 0.;  
  // Total numbet of RecHits in HCAL, in the cone, above 1 GeV theshold
  int nrechits       = 0;
  int nrechitsCone   = 0;
  int nrechitsThresh = 0;

  // energy in ECAL
  double eEcal       = 0.;
  double eEcalB      = 0.;
  double eEcalE      = 0.;
  double eEcalCone   = 0.;
  int numrechitsEcal = 0;

  // HCAL energy around MC eta-phi at all depths;
  double partR = 0.3;
//   double ehcal_coneMC_1 = 0.;
//   double ehcal_coneMC_2 = 0.;
//   double ehcal_coneMC_3 = 0.;
//   double ehcal_coneMC_4 = 0.;

  // Cone size for serach of the hottest HCAL cell around MC
//   double searchR = 1.0; 
  double eps     = 0.001;

  // Single particle samples: actual eta-phi position of cluster around
  // hottest cell
  double etaHot  = 99999.; 
  double phiHot  = 99999.; 

  //   std::cout << "*** 2" << std::endl; 
  //   previously was:  c.get<IdealGeometryRecord>().get (geometry);
  c.get<CaloGeometryRecord>().get (geometry);

  // HCAL channel status map ****************************************
  edm::ESHandle<HcalChannelQuality> hcalChStatus;
  c.get<HcalChannelQualityRcd>().get( hcalChStatus );
  theHcalChStatus = hcalChStatus.product();
  // Assignment of severity levels **********************************
  edm::ESHandle<HcalSeverityLevelComputer> hcalSevLvlComputerHndl;
  c.get<HcalSeverityLevelComputerRcd>().get(hcalSevLvlComputerHndl);
  theHcalSevLvlComputer = hcalSevLvlComputerHndl.product(); 

  // Fill working vectors of HCAL RecHits quantities (all of these are drawn)
  fillRecHitsTmp(subdet_, ev); 

  // HB   
  if( subdet_ ==5 || subdet_ == 1 ){ 
     for(unsigned int iv=0; iv<hcalHBSevLvlVec.size(); iv++){
        sevLvl_HB->Fill(hcalHBSevLvlVec[iv]);
     }    
  }
  // HE   
  if( subdet_ ==5 || subdet_ == 2 ){
     for(unsigned int iv=0; iv<hcalHESevLvlVec.size(); iv++){
        sevLvl_HE->Fill(hcalHESevLvlVec[iv]);
     }
  }
  // HO 
  if( subdet_ ==5 || subdet_ == 3 ){
     for(unsigned int iv=0; iv<hcalHOSevLvlVec.size(); iv++){
        sevLvl_HO->Fill(hcalHOSevLvlVec[iv]);
     }
  }
  // HF 
  if( subdet_ ==5 || subdet_ == 4 ){
     for(unsigned int iv=0; iv<hcalHFSevLvlVec.size(); iv++){
        sevLvl_HF->Fill(hcalHFSevLvlVec[iv]);
     }
  } 

  //  std::cout << "*** 3" << std::endl; 


  //===========================================================================
 // IN ALL other CASES : ieta-iphi maps 
  //===========================================================================

  // ECAL 
  if(ecalselector_ == "yes" && (subdet_ == 1 || subdet_ == 2 || subdet_ == 5)) {
    Handle<EBRecHitCollection> rhitEB;


      ev.getByLabel("ecalRecHit","EcalRecHitsEB", rhitEB);

    EcalRecHitCollection::const_iterator RecHit = rhitEB.product()->begin();  
    EcalRecHitCollection::const_iterator RecHitEnd = rhitEB.product()->end();  
    
    for (; RecHit != RecHitEnd ; ++RecHit) {
      EBDetId EBid = EBDetId(RecHit->id());
       
      const CaloCellGeometry* cellGeometry =
        geometry->getSubdetectorGeometry (EBid)->getGeometry (EBid) ;
      double eta = cellGeometry->getPosition ().eta () ;
      double phi = cellGeometry->getPosition ().phi () ;
      double en  = RecHit->energy();
      eEcal  += en;
      eEcalB += en;

      if (useAllHistos_) map_ecal->Fill(eta, phi, en);

    }

    
    Handle<EERecHitCollection> rhitEE;
 
      ev.getByLabel("ecalRecHit","EcalRecHitsEE", rhitEE);

    RecHit = rhitEE.product()->begin();  
    RecHitEnd = rhitEE.product()->end();  
    
    for (; RecHit != RecHitEnd ; ++RecHit) {
      EEDetId EEid = EEDetId(RecHit->id());
      
      const CaloCellGeometry* cellGeometry =
        geometry->getSubdetectorGeometry (EEid)->getGeometry (EEid) ;
      double eta = cellGeometry->getPosition ().eta () ;
      double phi = cellGeometry->getPosition ().phi () ;        
      double en   = RecHit->energy();
      eEcal  += en;
      eEcalE += en;

      if (useAllHistos_) map_ecal->Fill(eta, phi, en);

    }
  }     // end of ECAL selection 


  //     std::cout << "*** 4" << std::endl; 


  // Counting, including ZS items
  // Filling HCAL maps  ----------------------------------------------------
//   double maxE = -99999.;
  
  int nhb1 = 0;
  int nhb2 = 0;
  int nhe1 = 0;
  int nhe2 = 0;
  int nhe3 = 0;
  int nho  = 0;
  int nhf1 = 0;
  int nhf2 = 0;  
  
  for (unsigned int i = 0; i < cen.size(); i++) {
    
    int sub       = csub[i];
    int depth     = cdepth[i];
    int ieta      = cieta[i]; 
    int iphi      = ciphi[i]; 
    double en     = cen[i]; 
    //     double eta    = ceta[i]; 
    //     double phi    = cphi[i]; 
    uint32_t stwd = cstwd[i];
    uint32_t auxstwd = cauxstwd[i];
    //    double z   = cz[i];

    int index = ieta * 72 + iphi; //  for sequential histos
    
    /*   
         std::cout << "*** point 4-1" << " ieta, iphi, depth, sub = "
         << ieta << ", " << iphi << ", " << depth << ", " << sub  
         << std::endl;
    */
    
    
    if( sub == 1 && depth == 1)  nhb1++;
    if( sub == 1 && depth == 2)  nhb2++;
    if( sub == 2 && depth == 1)  nhe1++;
    if( sub == 2 && depth == 2)  nhe2++;
    if( sub == 2 && depth == 3)  nhe3++;
    if( sub == 3 && depth == 4)  nho++;
    if( sub == 4 && depth == 1)  nhf1++;
    if( sub == 4 && depth == 2)  nhf2++;
    
    if( subdet_ == 6) {                                    // ZS specific
      if( en < emap_min[ieta+41][iphi][depth-1][sub-1] )
        emap_min[ieta+41][iphi][depth-1][sub-1] = en;
    }
    
//     double emin = 1.;
//     if(fabs(eta) > 3.) emin = 5.; 
    
    /*   
    if(ieta == 27 ) { 
      std::cout << "*** ieta=28, iphi = " << iphi << "  det = " 
                << sub << "  depth = " << depth << std::endl;
    }
    */

    if( subdet_ != 6) {  

      //      std::cout << "*** 4-1" << std::endl; 
      //The emean_vs_ieta histos are drawn as well as the e_maps


      // to distinguish HE and HF
      if( depth == 1 || depth == 2 ) {
        int ieta1 =  ieta;
        if(sub == 4) { 
          if (ieta1 < 0) ieta1--;
          else  ieta1++;   
        }
        if (depth == 1) emap_depth1->Fill(double(ieta1), double(iphi), en);
        if (depth == 2) emap_depth2->Fill(double(ieta1), double(iphi), en);
      }

      if( depth == 3) emap_depth3->Fill(double(ieta), double(iphi), en);
      if( depth == 4) emap_depth4->Fill(double(ieta), double(iphi), en);
      
      if (depth == 1 && sub == 1 ) {
        emean_vs_ieta_HB1->Fill(double(ieta), en);
        occupancy_map_HB1->Fill(double(ieta), double(iphi));          
        if(useAllHistos_){
          emean_seqHB1->Fill(double(index), en);
        }
      }
      if (depth == 2  && sub == 1) {
        emean_vs_ieta_HB2->Fill(double(ieta), en);
        occupancy_map_HB2->Fill(double(ieta), double(iphi));          
        if(useAllHistos_){
          emean_seqHB2->Fill(double(index), en);
        }
      }
      if (depth == 1 && sub == 2) {
        emean_vs_ieta_HE1->Fill(double(ieta), en);
        occupancy_map_HE1->Fill(double(ieta), double(iphi));   
        if(useAllHistos_){
          emean_seqHE1->Fill(double(index), en);
        }
      }
      if (depth == 2 && sub == 2) {
        emean_vs_ieta_HE2->Fill(double(ieta), en);
        occupancy_map_HE2->Fill(double(ieta), double(iphi));          
        if(useAllHistos_){
          emean_seqHE2->Fill(double(index), en);
        }
      }
      if (depth == 3 && sub == 2) {
        emean_vs_ieta_HE3->Fill(double(ieta), en);
        occupancy_map_HE3->Fill(double(ieta), double(iphi));          
        if(useAllHistos_){
          emean_seqHE3->Fill(double(index), en);
        }
      }
      if (depth == 4 ) {
        emean_vs_ieta_HO->Fill(double(ieta), en);
        occupancy_map_HO->Fill(double(ieta), double(iphi));          
        if(useAllHistos_){
          emean_seqHO->Fill(double(index), en);
        }
      }
      if (depth == 1 && sub == 4) {
        emean_vs_ieta_HF1->Fill(double(ieta), en);
        occupancy_map_HF1->Fill(double(ieta), double(iphi));          
        if(useAllHistos_){
          emean_seqHF1->Fill(double(index), en);
        }
      }
      if (depth == 2 && sub == 4) {
        emean_vs_ieta_HF2->Fill(double(ieta), en);
        occupancy_map_HF2->Fill(double(ieta), double(iphi));          
        if(useAllHistos_){
          emean_seqHF2->Fill(double(index), en);
        }
      }
    }
    

//     if( r < partR ) {
//       if (depth == 1) ehcal_coneMC_1 += en; 
//       if (depth == 2) ehcal_coneMC_2 += en; 
//       if (depth == 3) ehcal_coneMC_3 += en; 
//       if (depth == 4) ehcal_coneMC_4 += en; 
//     }
    
    //32-bit status word  
    uint32_t statadd;
    unsigned int isw67 = 0;
    for (unsigned int isw = 0; isw < 32; isw++){
      statadd = 0x1<<(isw);
      if (stwd & statadd){
        if      (sub == 1) RecHit_StatusWord_HB->Fill(isw);
        else if (sub == 2) RecHit_StatusWord_HE->Fill(isw);
        else if (sub == 3) RecHit_StatusWord_HO->Fill(isw);
        else if (sub == 4){
          RecHit_StatusWord_HF->Fill(isw);
          if (isw == 6) isw67 += 1;
          if (isw == 7) isw67 += 2;
        }
      }
    }
    if (isw67 != 0 && useAllHistos_) RecHit_StatusWord_HF67->Fill(isw67); //This one is not drawn

    for (unsigned int isw =0; isw < 32; isw++){
      statadd = 0x1<<(isw);
      if( auxstwd & statadd ){
        if      (sub == 1) RecHit_Aux_StatusWord_HB->Fill(isw);
        else if (sub == 2) RecHit_Aux_StatusWord_HE->Fill(isw);
        else if (sub == 3) RecHit_Aux_StatusWord_HO->Fill(isw);
        else if (sub == 4) RecHit_Aux_StatusWord_HF->Fill(isw);
      }

    }

  } 
 
  //  std::cout << "*** 4-2" << std::endl; 
  
  if( subdet_ == 6 && useAllHistos_) {               // ZS plots; not drawn
    ZS_nHB1->Fill(double(nhb1));  
    ZS_nHB2->Fill(double(nhb2));  
    ZS_nHE1->Fill(double(nhe1));  
    ZS_nHE2->Fill(double(nhe2));  
    ZS_nHE3->Fill(double(nhe3));  
    ZS_nHO ->Fill(double(nho));  
    ZS_nHF1->Fill(double(nhf1));  
    ZS_nHF2->Fill(double(nhf2));  
  }
  else{ 
    Nhb->Fill(double(nhb1 + nhb2));
    Nhe->Fill(double(nhe1 + nhe2 + nhe3));
    Nho->Fill(double(nho));
    Nhf->Fill(double(nhf1 + nhf2));

  }

  //  std::cout << "*** 5" << std::endl; 
    

  //  NOISE ================================================================= 
  //Not drawn
  if (hcalselector_ == "noise" && useAllHistos_) {
    for (unsigned int i = 0; i < cen.size(); i++) {
      
      int sub   = csub[i];
      int depth = cdepth[i];
      double en = cen[i]; 
      
      if (sub == 1) e_hb->Fill(en);
      if (sub == 2) e_he->Fill(en);  
      if (sub == 3) e_ho->Fill(en);  
      if (sub == 4) {
        if(depth == 1)  
          e_hfl->Fill(en);  
        else 
          e_hfs->Fill(en);  
      }
    }
  }

  //===========================================================================
  // SUBSYSTEMS,  
  //===========================================================================
  
  else if ((subdet_ != 6) && (subdet_ != 0)) {

    //       std::cout << "*** 6" << std::endl; 
    
    
    double clusEta = 999.;
    double clusPhi = 999.; 
    double clusEn  = 0.;
    
    double HcalCone_d1 = 0.;
    double HcalCone_d2 = 0.;
    double HcalCone_d3 = 0.;
    double HcalCone_d4 = 0.;
    double HcalCone    = 0.;

    int ietaMax1  =  9999;
    int ietaMax2  =  9999;
    int ietaMax3  =  9999;
    int ietaMax4  =  9999;
    int ietaMax   =  9999;
    //     double enMax1 = -9999.;
    //     double enMax2 = -9999.;
    //     double enMax3 = -9999.;
    //     double enMax4 = -9999.;
    //     double enMax  = -9999.;
    //     double etaMax =  9999.;

    //   CYCLE over cells ====================================================

    for (unsigned int i = 0; i < cen.size(); i++) {
      int sub    = csub[i];
      int depth  = cdepth[i];
      double eta = ceta[i]; 
      double phi = cphi[i]; 
      double en  = cen[i]; 
      double t   = ctime[i];
//       int   ieta = cieta[i];

      double rhot = dR(etaHot, phiHot, eta, phi); 
      if(rhot < partR && en > 1.) { 
        clusEta = (clusEta * clusEn + eta * en)/(clusEn + en);
        clusPhi = phi12(clusPhi, clusEn, phi, en); 
        clusEn += en;
      }

      nrechits++;           
      eHcal += en;
      if(en > 1. ) nrechitsThresh++;
      
      //The energy and overall timing histos are drawn while
      //the ones split by depth are not
      if(sub == 1 && (subdet_ == 1 || subdet_ == 5)) {  
        meTimeHB->Fill(t);
        meRecHitsEnergyHB->Fill(en);
        
        meTE_Low_HB->Fill( en, t);
        meTE_HB->Fill( en, t);
        meTE_High_HB->Fill( en, t);
        meTEprofileHB_Low->Fill(en, t);
        meTEprofileHB->Fill(en, t);
        meTEprofileHB_High->Fill(en, t);

        if (useAllHistos_){
          if      (depth == 1) meTE_HB1->Fill( en, t);
          else if (depth == 2) meTE_HB2->Fill( en, t);
        }
      }     
      if(sub == 2 && (subdet_ == 2 || subdet_ == 5)) {  
        meTimeHE->Fill(t);
        meRecHitsEnergyHE->Fill(en);

        meTE_Low_HE->Fill( en, t);
        meTE_HE->Fill( en, t);
        meTEprofileHE_Low->Fill(en, t);
        meTEprofileHE->Fill(en, t);

        if (useAllHistos_){
          if      (depth == 1) meTE_HE1->Fill( en, t);
          else if (depth == 2) meTE_HE2->Fill( en, t);
        }
      }
      if(sub == 4 && (subdet_ == 4 || subdet_ == 5)) {  
        meTimeHF->Fill(t);
        meRecHitsEnergyHF->Fill(en);      

        meTE_Low_HF->Fill(en, t);
        meTE_HF->Fill(en, t);
        meTEprofileHF_Low->Fill(en, t);
        meTEprofileHF->Fill(en, t);

        if (useAllHistos_){
          if   (depth == 1) meTE_HFL->Fill( en, t);
          else              meTE_HFS->Fill( en, t);
        }
      }
      if(sub == 3 && (subdet_ == 3 || subdet_ == 5)) {  
        meTimeHO->Fill(t);
        meRecHitsEnergyHO->Fill(en);

        meTE_HO->Fill( en, t);
        meTE_High_HO->Fill( en, t);
        meTEprofileHO->Fill(en, t);
        meTEprofileHO_High->Fill(en, t);
      }
    }

    if(imc != 0) {
      //Cone by depth are not drawn, the others are used for pion scan
      if (useAllHistos_){
        meEnConeEtaProfile_depth1->Fill(double(ietaMax1), HcalCone_d1);
        meEnConeEtaProfile_depth2->Fill(double(ietaMax2), HcalCone_d2);
        meEnConeEtaProfile_depth3->Fill(double(ietaMax3), HcalCone_d3);
        meEnConeEtaProfile_depth4->Fill(double(ietaMax4), HcalCone_d4);
      }
      meEnConeEtaProfile       ->Fill(double(ietaMax),  HcalCone);   // 
      meEnConeEtaProfile_E     ->Fill(double(ietaMax), eEcalCone);   
      meEnConeEtaProfile_EH    ->Fill(double(ietaMax),  HcalCone+eEcalCone); 
    }

    //     std::cout << "*** 7" << std::endl; 

    
    // Single particle samples ONLY !  ======================================
    // Fill up some histos for "integrated" subsustems. 
    // These are not drawn
    if(etype_ == 1 && useAllHistos_) {

      /*
      std::cout << "*** point 7-1" << "  eta_MC, phi_MC   clusEta, clusPhi = "
                << eta_MC  << ", " << phi_MC << "   "
                << clusEta << ", " << clusPhi 
                << std::endl;
      */    

//       double phidev = dPhiWsign(clusPhi, phi_MC);
//       meDeltaPhi->Fill(eta_MC, phidev);
//       double etadev = clusEta - eta_MC;
//       meDeltaEta->Fill(eta_MC, etadev);

      if(subdet_ == 1) {
        meSumRecHitsEnergyHB->Fill(eHcal);
        if(imc != 0) meSumRecHitsEnergyConeHB->Fill(eHcalConeHB);    
        if(imc != 0) meNumRecHitsConeHB->Fill(double(nrechitsCone));
        meNumRecHitsThreshHB->Fill(double(nrechitsThresh));
      }

      if(subdet_ == 2) {
        meSumRecHitsEnergyHE->Fill(eHcal);
        if(imc != 0) meSumRecHitsEnergyConeHE->Fill(eHcalConeHE);    
        if(imc != 0) meNumRecHitsConeHE->Fill(double(nrechitsCone));
        meNumRecHitsThreshHE->Fill(double(nrechitsThresh));
      }

      if(subdet_ == 3) {
        meSumRecHitsEnergyHO->Fill(eHcal);
        if(imc != 0) meSumRecHitsEnergyConeHO->Fill(eHcalConeHO);    
        if(imc != 0) meNumRecHitsConeHO->Fill(double(nrechitsCone));
        meNumRecHitsThreshHO->Fill(double(nrechitsThresh));
      }

      if(subdet_ == 4) {
        if(eHcalConeHF > eps ) {
          meSumRecHitsEnergyHF ->Fill(eHcal);
          if(imc != 0) { 
            meSumRecHitsEnergyConeHF ->Fill(eHcalConeHF);    
            meNumRecHitsConeHF->Fill(double(nrechitsCone));
            meSumRecHitsEnergyConeHFL ->Fill(eHcalConeHFL);    
            meSumRecHitsEnergyConeHFS ->Fill(eHcalConeHFS);    
          }
        }
      }

      //         std::cout << "*** 8" << std::endl; 


      // Also combine with ECAL if needed 
      if(subdet_ == 1  && ecalselector_ == "yes") {
        
        /*
          std::cout << "*** point 8-1" 
          << "  eEcalB " << eEcalB << "  eHcal " << eHcal
          << "  eEcalCone " <<  eEcalCone << "  eHcalCone " 
                  << eHcalCone
                  << "  numrechitsEcal " <<  numrechitsEcal
                  << std::endl;
                  
        */
        
        meEcalHcalEnergyHB->Fill(eEcalB+eHcal);
        meEcalHcalEnergyConeHB->Fill(eEcalCone+eHcalCone);
        meNumEcalRecHitsConeHB->Fill(double(numrechitsEcal));
        
      }
      
      if(subdet_ == 2  && ecalselector_ == "yes"){
        
        /*
          std::cout << "*** point 8-2a" 
          << "  eEcalE " << eEcalE << "  eHcal " << eHcal
          << "  eEcalCone " <<  eEcalCone << "  eHcalCone " 
          << eHcalCone
          << "  numrechitsEcal " <<  numrechitsEcal
          << std::endl;
        */
        
        meEcalHcalEnergyHE->Fill(eEcalE+eHcal);
        if(imc != 0) meEcalHcalEnergyConeHE->Fill(eEcalCone+eHcalCone);
        if(imc != 0) meNumEcalRecHitsConeHE->Fill(double(numrechitsEcal));
      } 

      // Banana plots finally
      if(imc != 0) {
        if(subdet_ == 1 && ecalselector_ == "yes")
          meEnergyHcalVsEcalHB -> Fill(eEcalCone,eHcalCone);
        if(subdet_ == 2 && ecalselector_ == "yes") 
          meEnergyHcalVsEcalHE -> Fill(eEcalCone,eHcalCone);
      }
    }
  }
  //  std::cout << "*** 9" << std::endl; 

  nevtot++;
}
void HcalRecHitsAnalyzer::beginJob ( void  ) [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 611 of file HcalRecHitsAnalyzer.cc.

{ }
double HcalRecHitsAnalyzer::dPhiWsign ( double  phi1,
double  phi2 
) [private]

Definition at line 1394 of file HcalRecHitsAnalyzer.cc.

References PI, and tmp.

                                                              {
  // clockwise      phi2 w.r.t phi1 means "+" phi distance
  // anti-clockwise phi2 w.r.t phi1 means "-" phi distance 

  double PI = 3.1415926535898;
  double a1 = phi1; double a2  = phi2;
  double tmp =  a2 - a1;
  if( a1*a2 < 0.) {
    if(a1 > 0.5 * PI)  tmp += 2.*PI;
    if(a2 > 0.5 * PI)  tmp -= 2.*PI;
  }
  return tmp;

}
double HcalRecHitsAnalyzer::dR ( double  eta1,
double  phi1,
double  eta2,
double  phi2 
) [private]

Definition at line 1368 of file HcalRecHitsAnalyzer.cc.

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

Referenced by analyze().

                                                                                 { 
  double PI = 3.1415926535898;
  double deltaphi= phi1 - phi2;
  if( phi2 > phi1 ) { deltaphi= phi2 - phi1;}
  if(deltaphi > PI) { deltaphi = 2.*PI - deltaphi;}
  double deltaeta = eta2 - eta1;
  double tmp = sqrt(deltaeta* deltaeta + deltaphi*deltaphi);
  return tmp;
}
void HcalRecHitsAnalyzer::endJob ( void  ) [virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 608 of file HcalRecHitsAnalyzer.cc.

{ }
void HcalRecHitsAnalyzer::fillRecHitsTmp ( int  subdet_,
edm::Event const &  ev 
) [private, virtual]

Definition at line 1208 of file HcalRecHitsAnalyzer.cc.

References cauxstwd, cdepth, cen, ceta, cieta, ciphi, cphi, cstwd, csub, ctime, cz, eta(), geometry, edm::Event::getByLabel(), HcalBarrel, HcalEndcap, HcalForward, hcalHBSevLvlVec, hcalHESevLvlVec, hcalHFSevLvlVec, hcalHOSevLvlVec, HcalOuter, hcalSevLvl(), iz, j, phi, lumiQTWidget::t, theHBHERecHitCollectionLabel, theHFRecHitCollectionLabel, and theHORecHitCollectionLabel.

Referenced by analyze().

                                                                       {
  
  using namespace edm;
  
  
  // initialize data vectors
  csub.clear();
  cen.clear();
  ceta.clear();
  cphi.clear();
  ctime.clear();
  cieta.clear();
  ciphi.clear();
  cdepth.clear();
  cz.clear();
  cstwd.clear();
  cauxstwd.clear();
  hcalHBSevLvlVec.clear();
  hcalHESevLvlVec.clear();
  hcalHFSevLvlVec.clear();
  hcalHOSevLvlVec.clear(); 

  if( subdet_ == 1 || subdet_ == 2  || subdet_ == 5 || subdet_ == 6 || subdet_ == 0) {
    
    //HBHE
    edm::Handle<HBHERecHitCollection> hbhecoll;
    ev.getByLabel(theHBHERecHitCollectionLabel, hbhecoll);
    
    for (HBHERecHitCollection::const_iterator j=hbhecoll->begin(); j != hbhecoll->end(); j++) {
      HcalDetId cell(j->id());
      const CaloCellGeometry* cellGeometry =
        geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
      double eta  = cellGeometry->getPosition().eta () ;
      double phi  = cellGeometry->getPosition().phi () ;
      double zc   = cellGeometry->getPosition().z ();
      int sub     = cell.subdet();
      int depth   = cell.depth();
      int inteta  = cell.ieta();
      if(inteta > 0) inteta -= 1;
      int intphi  = cell.iphi()-1;
      double en   = j->energy();
      double t    = j->time();
      int stwd    = j->flags();
      int auxstwd = j->aux();
      
      int serivityLevel = hcalSevLvl( (CaloRecHit*) &*j );
      if( cell.subdet()==HcalBarrel ){
         hcalHBSevLvlVec.push_back(serivityLevel);
      }else if (cell.subdet()==HcalEndcap ){
         hcalHESevLvlVec.push_back(serivityLevel);
      } 
      
      if((iz > 0 && eta > 0.) || (iz < 0 && eta <0.) || iz == 0) { 
        
        csub.push_back(sub);
        cen.push_back(en);
        ceta.push_back(eta);
        cphi.push_back(phi);
        ctime.push_back(t);
        cieta.push_back(inteta);
        ciphi.push_back(intphi);
        cdepth.push_back(depth);
        cz.push_back(zc);
        cstwd.push_back(stwd);
        cauxstwd.push_back(auxstwd);
      }
    }
    
  }

  if( subdet_ == 4 || subdet_ == 5 || subdet_ == 6 || subdet_ == 0) {

    //HF
    edm::Handle<HFRecHitCollection> hfcoll;
    ev.getByLabel(theHFRecHitCollectionLabel, hfcoll);

    for (HFRecHitCollection::const_iterator j = hfcoll->begin(); j != hfcoll->end(); j++) {
      HcalDetId cell(j->id());
      const CaloCellGeometry* cellGeometry =
        geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
      double eta   = cellGeometry->getPosition().eta () ;
      double phi   = cellGeometry->getPosition().phi () ;
      double zc     = cellGeometry->getPosition().z ();
      int sub      = cell.subdet();
      int depth    = cell.depth();
      int inteta   = cell.ieta();
      if(inteta > 0) inteta -= 1;
      int intphi   = cell.iphi()-1;
      double en    = j->energy();
      double t     = j->time();
      int stwd     = j->flags();
      int auxstwd  = j->aux();

      int serivityLevel = hcalSevLvl( (CaloRecHit*) &*j );
      if( cell.subdet()==HcalForward ){
         hcalHFSevLvlVec.push_back(serivityLevel);
      } 

      if((iz > 0 && eta > 0.) || (iz < 0 && eta <0.) || iz == 0) { 
        
        csub.push_back(sub);
        cen.push_back(en);
        ceta.push_back(eta);
        cphi.push_back(phi);
        ctime.push_back(t);
        cieta.push_back(inteta);
        ciphi.push_back(intphi);
        cdepth.push_back(depth);
        cz.push_back(zc);
        cstwd.push_back(stwd);
        cauxstwd.push_back(auxstwd);
      }
    }
  }

  //HO
  if( subdet_ == 3 || subdet_ == 5 || subdet_ == 6 || subdet_ == 0) {
  
    edm::Handle<HORecHitCollection> hocoll;
    ev.getByLabel(theHORecHitCollectionLabel, hocoll);
    
    for (HORecHitCollection::const_iterator j = hocoll->begin(); j != hocoll->end(); j++) {
      HcalDetId cell(j->id());
      const CaloCellGeometry* cellGeometry =
        geometry->getSubdetectorGeometry (cell)->getGeometry (cell) ;
      double eta   = cellGeometry->getPosition().eta () ;
      double phi   = cellGeometry->getPosition().phi () ;
      double zc    = cellGeometry->getPosition().z ();
      int sub      = cell.subdet();
      int depth    = cell.depth();
      int inteta   = cell.ieta();
      if(inteta > 0) inteta -= 1;
      int intphi   = cell.iphi()-1;
      double t     = j->time();
      double en    = j->energy();
      int stwd     = j->flags();
      int auxstwd  = j->aux();

      int serivityLevel = hcalSevLvl( (CaloRecHit*) &*j );
      if( cell.subdet()==HcalOuter ){
         hcalHOSevLvlVec.push_back(serivityLevel);
      } 
      
      if((iz > 0 && eta > 0.) || (iz < 0 && eta <0.) || iz == 0) { 
        csub.push_back(sub);
        cen.push_back(en);
        ceta.push_back(eta);
        cphi.push_back(phi);
        ctime.push_back(t);
        cieta.push_back(inteta);
        ciphi.push_back(intphi);
        cdepth.push_back(depth);
        cz.push_back(zc);
        cstwd.push_back(stwd);
        cauxstwd.push_back(auxstwd);
      }
    }
  }
}
int HcalRecHitsAnalyzer::hcalSevLvl ( const CaloRecHit hit) [private]

Definition at line 1409 of file HcalRecHitsAnalyzer.cc.

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

Referenced by fillRecHitsTmp().

                                                        {

   const DetId id = hit->detid();

   const uint32_t recHitFlag = hit->flags();
   const uint32_t dbStatusFlag = theHcalChStatus->getValues(id)->getValue();

   int severityLevel = theHcalSevLvlComputer->getSeverityLevel(id, recHitFlag, dbStatusFlag);

   return severityLevel;

} 
double HcalRecHitsAnalyzer::phi12 ( double  phi1,
double  en1,
double  phi2,
double  en2 
) [private]

Definition at line 1378 of file HcalRecHitsAnalyzer.cc.

References PI, and tmp.

Referenced by analyze().

                                                                                  {
  // weighted mean value of phi1 and phi2
  
  double tmp;
  double PI = 3.1415926535898;
  double a1 = phi1; double a2  = phi2;

  if( a1 > 0.5*PI  && a2 < 0.) a2 += 2*PI; 
  if( a2 > 0.5*PI  && a1 < 0.) a1 += 2*PI; 
  tmp = (a1 * en1 + a2 * en2)/(en1 + en2);
  if(tmp > PI) tmp -= 2.*PI; 
 
  return tmp;

}

Member Data Documentation

std::vector<uint32_t> HcalRecHitsAnalyzer::cauxstwd [private]

Definition at line 355 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsAnalyzer::cdepth [private]

Definition at line 348 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsAnalyzer::cen [private]

Definition at line 349 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsAnalyzer::ceta [private]

Definition at line 350 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsAnalyzer::cieta [private]

Definition at line 346 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsAnalyzer::ciphi [private]

Definition at line 347 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsAnalyzer::cphi [private]

Definition at line 351 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<uint32_t> HcalRecHitsAnalyzer::cstwd [private]

Definition at line 354 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsAnalyzer::csub [private]

Definition at line 345 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsAnalyzer::ctime [private]

Definition at line 352 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<double> HcalRecHitsAnalyzer::cz [private]

Definition at line 353 of file HcalRecHitsAnalyzer.h.

Referenced by fillRecHitsTmp().

Definition at line 69 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 241 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 242 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 244 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 245 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 243 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

std::string HcalRecHitsAnalyzer::ecalselector_ [private]

Definition at line 73 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 153 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 154 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 155 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 156 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

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

Definition at line 358 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 176 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 177 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 178 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 179 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 180 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 182 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 183 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 181 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 158 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 159 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 160 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 161 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 162 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 164 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 165 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 163 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 89 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

std::string HcalRecHitsAnalyzer::eventype_ [private]

Definition at line 74 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 77 of file HcalRecHitsAnalyzer.h.

Definition at line 329 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsAnalyzer::hcalHBSevLvlVec [private]

Definition at line 99 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsAnalyzer::hcalHESevLvlVec [private]

Definition at line 99 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsAnalyzer::hcalHFSevLvlVec [private]

Definition at line 99 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::vector<int> HcalRecHitsAnalyzer::hcalHOSevLvlVec [private]

Definition at line 99 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and fillRecHitsTmp().

std::string HcalRecHitsAnalyzer::hcalselector_ [private]

Definition at line 72 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

int HcalRecHitsAnalyzer::imc [private]

Definition at line 91 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

int HcalRecHitsAnalyzer::iz [private]

Definition at line 90 of file HcalRecHitsAnalyzer.h.

Referenced by fillRecHitsTmp(), and HcalRecHitsAnalyzer().

Definition at line 114 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 115 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 116 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 117 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 151 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 223 of file HcalRecHitsAnalyzer.h.

Definition at line 224 of file HcalRecHitsAnalyzer.h.

Definition at line 225 of file HcalRecHitsAnalyzer.h.

Definition at line 226 of file HcalRecHitsAnalyzer.h.

std::string HcalRecHitsAnalyzer::mc_ [private]

Definition at line 76 of file HcalRecHitsAnalyzer.h.

Definition at line 238 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 237 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 316 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 317 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 319 of file HcalRecHitsAnalyzer.h.

Definition at line 318 of file HcalRecHitsAnalyzer.h.

Definition at line 313 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 314 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 233 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 229 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 230 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 231 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 232 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 234 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 235 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 322 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 323 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 326 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 327 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 253 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 254 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 256 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 255 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 248 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 249 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 250 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 265 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 266 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 268 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 267 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 305 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 306 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 308 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 309 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 310 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 307 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 299 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 300 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 302 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 301 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 271 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 273 of file HcalRecHitsAnalyzer.h.

Referenced by analyze().

Definition at line 274 of file HcalRecHitsAnalyzer.h.

Referenced by analyze().

Definition at line 280 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 281 of file HcalRecHitsAnalyzer.h.

Referenced by analyze().

Definition at line 282 of file HcalRecHitsAnalyzer.h.

Referenced by analyze().

Definition at line 292 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 293 of file HcalRecHitsAnalyzer.h.

Referenced by analyze().

Definition at line 294 of file HcalRecHitsAnalyzer.h.

Referenced by analyze().

Definition at line 272 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 287 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 286 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 270 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 279 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 291 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 276 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 277 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 275 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 284 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 283 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 296 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 295 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 288 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 289 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 259 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 260 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 262 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 261 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 361 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 107 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 108 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 110 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 109 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 194 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 195 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 196 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 197 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 198 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 200 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 201 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 199 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 212 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 213 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 214 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 215 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 216 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 218 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 219 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 217 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 203 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 204 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 205 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 206 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 207 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 209 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 210 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 208 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

std::string HcalRecHitsAnalyzer::outputFile_ [private]

Definition at line 71 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 339 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 340 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 341 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 342 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 332 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 333 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 334 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 335 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 336 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 185 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 186 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 187 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 188 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 189 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 191 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 192 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 190 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 167 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 168 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 169 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 170 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 171 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 173 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 174 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 172 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 101 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 102 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 103 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 104 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

std::string HcalRecHitsAnalyzer::sign_ [private]

Definition at line 75 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 86 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 81 of file HcalRecHitsAnalyzer.h.

Referenced by fillRecHitsTmp(), and HcalRecHitsAnalyzer().

Definition at line 94 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and hcalSevLvl().

Definition at line 96 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and hcalSevLvl().

Definition at line 82 of file HcalRecHitsAnalyzer.h.

Referenced by fillRecHitsTmp(), and HcalRecHitsAnalyzer().

Definition at line 83 of file HcalRecHitsAnalyzer.h.

Referenced by fillRecHitsTmp(), and HcalRecHitsAnalyzer().

Definition at line 78 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 119 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 120 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 121 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 122 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 123 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 125 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 126 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 124 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 128 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 129 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 130 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 131 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 132 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 134 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 135 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 133 of file HcalRecHitsAnalyzer.h.

Referenced by analyze(), and HcalRecHitsAnalyzer().

Definition at line 137 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 138 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 139 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 140 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 141 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 143 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 144 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().

Definition at line 142 of file HcalRecHitsAnalyzer.h.

Referenced by HcalRecHitsAnalyzer().