CMS 3D CMS Logo

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

#include <CaloTowersValidation.h>

Inheritance diagram for CaloTowersValidation:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

virtual void analyze (edm::Event const &e, edm::EventSetup const &c)
 
virtual void beginJob ()
 
virtual void beginRun ()
 
 CaloTowersValidation (edm::ParameterSet const &conf)
 
virtual void endJob ()
 
virtual void endRun ()
 
 ~CaloTowersValidation ()
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Types

typedef math::RhoEtaPhiVector Vector
 

Private Member Functions

double dR (double eta1, double phi1, double eta2, double phi2)
 

Private Attributes

DQMStoredbe_
 
MonitorElementemean_vs_ieta_E
 
MonitorElementemean_vs_ieta_E1
 
MonitorElementemean_vs_ieta_EH
 
MonitorElementemean_vs_ieta_EH1
 
MonitorElementemean_vs_ieta_H
 
MonitorElementemean_vs_ieta_H1
 
MonitorElementemEnergyTiming_HB
 
MonitorElementemEnergyTiming_HE
 
MonitorElementemEnergyTiming_HF
 
MonitorElementemEnergyTiming_High_HB
 
MonitorElementemEnergyTiming_Low_HB
 
MonitorElementemEnergyTiming_Low_HE
 
MonitorElementemEnergyTiming_profile_HB
 
MonitorElementemEnergyTiming_profile_HE
 
MonitorElementemEnergyTiming_profile_HF
 
MonitorElementemEnergyTiming_profile_High_HB
 
MonitorElementemEnergyTiming_profile_Low_HB
 
MonitorElementemEnergyTiming_profile_Low_HE
 
MonitorElementemTiming_HB
 
MonitorElementemTiming_HE
 
MonitorElementemTiming_HF
 
double etaMax [3]
 
double etaMin [3]
 
MonitorElementhadEnergyTiming_HB
 
MonitorElementhadEnergyTiming_HE
 
MonitorElementhadEnergyTiming_HF
 
MonitorElementhadEnergyTiming_High_HB
 
MonitorElementhadEnergyTiming_Low_HB
 
MonitorElementhadEnergyTiming_Low_HE
 
MonitorElementhadEnergyTiming_Low_HF
 
MonitorElementhadEnergyTiming_profile_HB
 
MonitorElementhadEnergyTiming_profile_HE
 
MonitorElementhadEnergyTiming_profile_HF
 
MonitorElementhadEnergyTiming_profile_High_HB
 
MonitorElementhadEnergyTiming_profile_Low_HB
 
MonitorElementhadEnergyTiming_profile_Low_HE
 
MonitorElementhadEnergyTiming_profile_Low_HF
 
MonitorElementhadTiming_HB
 
MonitorElementhadTiming_HE
 
MonitorElementhadTiming_HF
 
std::string hcalselector_
 
int imc
 
int isub
 
MonitorElementmapEnergy_E
 
MonitorElementmapEnergy_EH
 
MonitorElementmapEnergy_H
 
MonitorElementmapEnergy_HB
 
MonitorElementmapEnergy_HE
 
MonitorElementmapEnergy_HF
 
MonitorElementmapEnergy_N
 
MonitorElementmapEnergyEcal_HB
 
MonitorElementmapEnergyEcal_HE
 
MonitorElementmapEnergyEcal_HF
 
MonitorElementmapEnergyHcal_HB
 
MonitorElementmapEnergyHcal_HE
 
MonitorElementmapEnergyHcal_HF
 
std::string mc_
 
MonitorElementmeEnergyEcal_HB
 
MonitorElementmeEnergyEcal_HE
 
MonitorElementmeEnergyEcal_HF
 
MonitorElementmeEnergyEcalTower_HB
 
MonitorElementmeEnergyEcalTower_HE
 
MonitorElementmeEnergyEcalTower_HF
 
MonitorElementmeEnergyHcal_HB
 
MonitorElementmeEnergyHcal_HE
 
MonitorElementmeEnergyHcal_HF
 
MonitorElementmeEnergyHcalTower_HB
 
MonitorElementmeEnergyHcalTower_HE
 
MonitorElementmeEnergyHcalTower_HF
 
MonitorElementmeEnergyHcalvsEcal_HB
 
MonitorElementmeEnergyHcalvsEcal_HE
 
MonitorElementmeEnergyHcalvsEcal_HF
 
MonitorElementmeEnergyHO_HB
 
MonitorElementmeEnergyHO_HE
 
MonitorElementmeEnergyHO_HF
 
MonitorElementmeNumFiredTowers_HB
 
MonitorElementmeNumFiredTowers_HE
 
MonitorElementmeNumFiredTowers_HF
 
MonitorElementMET_HB
 
MonitorElementMET_HE
 
MonitorElementMET_HF
 
MonitorElementmeTotEnergy_HB
 
MonitorElementmeTotEnergy_HE
 
MonitorElementmeTotEnergy_HF
 
int nevent
 
MonitorElementNtowers_vs_ieta
 
MonitorElementnumBadCellsEcal_EB
 
MonitorElementnumBadCellsEcal_EE
 
MonitorElementnumBadCellsHcal_HB
 
MonitorElementnumBadCellsHcal_HE
 
MonitorElementnumBadCellsHcal_HF
 
MonitorElementnumPrbCellsEcal_EB
 
MonitorElementnumPrbCellsEcal_EE
 
MonitorElementnumPrbCellsHcal_HB
 
MonitorElementnumPrbCellsHcal_HE
 
MonitorElementnumPrbCellsHcal_HF
 
MonitorElementnumRcvCellsEcal_EB
 
MonitorElementnumRcvCellsEcal_EE
 
MonitorElementnumRcvCellsHcal_HB
 
MonitorElementnumRcvCellsHcal_HE
 
MonitorElementnumRcvCellsHcal_HF
 
MonitorElementoccupancy_map
 
MonitorElementoccupancy_vs_ieta
 
std::string outputFile_
 
MonitorElementphiMET_HB
 
MonitorElementphiMET_HE
 
MonitorElementphiMET_HF
 
MonitorElementSET_HB
 
MonitorElementSET_HE
 
MonitorElementSET_HF
 
edm::EDGetTokenT
< CaloTowerCollection
tok_calo_
 
edm::EDGetTokenT
< edm::HepMCProduct
tok_evt_
 
bool useAllHistos_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Definition at line 34 of file CaloTowersValidation.h.

Member Typedef Documentation

Definition at line 53 of file CaloTowersValidation.h.

Constructor & Destructor Documentation

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

Definition at line 6 of file CaloTowersValidation.cc.

References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookProfile(), dbe_, emean_vs_ieta_E, emean_vs_ieta_E1, emean_vs_ieta_EH, emean_vs_ieta_EH1, emean_vs_ieta_H, emean_vs_ieta_H1, emEnergyTiming_HB, emEnergyTiming_HE, emEnergyTiming_HF, emEnergyTiming_High_HB, emEnergyTiming_Low_HB, emEnergyTiming_Low_HE, emEnergyTiming_profile_HB, emEnergyTiming_profile_HE, emEnergyTiming_profile_HF, emEnergyTiming_profile_High_HB, emEnergyTiming_profile_Low_HB, emEnergyTiming_profile_Low_HE, emTiming_HB, emTiming_HE, emTiming_HF, etaMax, etaMin, edm::ParameterSet::getUntrackedParameter(), hadEnergyTiming_HB, hadEnergyTiming_HE, hadEnergyTiming_HF, hadEnergyTiming_High_HB, hadEnergyTiming_Low_HB, hadEnergyTiming_Low_HE, hadEnergyTiming_Low_HF, hadEnergyTiming_profile_HB, hadEnergyTiming_profile_HE, hadEnergyTiming_profile_HF, hadEnergyTiming_profile_High_HB, hadEnergyTiming_profile_Low_HB, hadEnergyTiming_profile_Low_HE, hadEnergyTiming_profile_Low_HF, hadTiming_HB, hadTiming_HE, hadTiming_HF, hcalselector_, timingPdfMaker::histo, imc, isub, mapEnergy_E, mapEnergy_EH, mapEnergy_H, mapEnergy_HB, mapEnergy_HE, mapEnergy_HF, mapEnergy_N, mapEnergyEcal_HB, mapEnergyEcal_HE, mapEnergyEcal_HF, mapEnergyHcal_HB, mapEnergyHcal_HE, mapEnergyHcal_HF, mc_, meEnergyEcal_HB, meEnergyEcal_HE, meEnergyEcal_HF, meEnergyEcalTower_HB, meEnergyEcalTower_HE, meEnergyEcalTower_HF, meEnergyHcal_HB, meEnergyHcal_HE, meEnergyHcal_HF, meEnergyHcalTower_HB, meEnergyHcalTower_HE, meEnergyHcalTower_HF, meEnergyHcalvsEcal_HB, meEnergyHcalvsEcal_HE, meEnergyHcalvsEcal_HF, meEnergyHO_HB, meEnergyHO_HE, meEnergyHO_HF, meNumFiredTowers_HB, meNumFiredTowers_HE, meNumFiredTowers_HF, MET_HB, MET_HE, MET_HF, meTotEnergy_HB, meTotEnergy_HE, meTotEnergy_HF, Ntowers_vs_ieta, numBadCellsEcal_EB, numBadCellsEcal_EE, numBadCellsHcal_HB, numBadCellsHcal_HE, numBadCellsHcal_HF, numPrbCellsEcal_EB, numPrbCellsEcal_EE, numPrbCellsHcal_HB, numPrbCellsHcal_HE, numPrbCellsHcal_HF, numRcvCellsEcal_EB, numRcvCellsEcal_EE, numRcvCellsHcal_HB, numRcvCellsHcal_HE, numRcvCellsHcal_HF, occupancy_map, occupancy_vs_ieta, cppFunctionSkipper::operator, outputFile_, phiMET_HB, phiMET_HE, phiMET_HF, SET_HB, SET_HE, SET_HF, DQMStore::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, tok_calo_, tok_evt_, and useAllHistos_.

7 {
8 
9  tok_calo_ = consumes<CaloTowerCollection>(conf.getUntrackedParameter<edm::InputTag>("CaloTowerCollectionLabel"));
10  tok_evt_ = consumes<edm::HepMCProduct>(edm::InputTag("generator"));
11 
12  // DQM ROOT output
13  outputFile_ = conf.getUntrackedParameter<std::string>("outputFile", "myfile.root");
14 
15  hcalselector_ = conf.getUntrackedParameter<std::string>("hcalselector", "all");
16 
17  mc_ = conf.getUntrackedParameter<std::string>("mc", "yes");
18  useAllHistos_ = conf.getUntrackedParameter<bool>("useAllHistos", false);
19 
20  etaMin[0] = 0.;
21  etaMax[0] = 1.4;
22  etaMin[1] = 1.4;
23  etaMax[1] = 2.9;
24  etaMin[2] = 2.9;
25  etaMax[2] = 5.2;
26 
27  isub = 0;
28  if(hcalselector_ == "HB") isub = 1;
29  if(hcalselector_ == "HE") isub = 2;
30  if(hcalselector_ == "HF") isub = 3;
31 
32  imc = 1;
33  if(mc_ == "no") imc = 0;
34 
35  if ( outputFile_.size() != 0 ) {
36  edm::LogInfo("OutputInfo") << " Hcal RecHit Task histograms will be saved to '" << outputFile_.c_str() << "'";
37  } else {
38  edm::LogInfo("OutputInfo") << " Hcal RecHit Task histograms will NOT be saved";
39  }
40 
41  dbe_ = 0;
42  // get hold of back-end interface
44 
45  // const char * sub = hcalselector_.c_str();
46 
47  Char_t histo[100];
48 
49  if ( dbe_ ) {
50  dbe_->setCurrentFolder("CaloTowersV/CaloTowersTask");
51  }
52 
53  //These two histos are not drawn by our macros, but they are used
54  //in the EndJob for norms and such so I am leaving them alone for now
55  //-------------------------------------------------------------------------------------------
56  sprintf (histo, "Ntowers_per_event_vs_ieta" );
57  Ntowers_vs_ieta = dbe_->book1D(histo, histo, 82, -41., 41.);
58 
59  sprintf (histo, "CaloTowersTask_map_Nentries" );
60  mapEnergy_N = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
61  //-------------------------------------------------------------------------------------------
62 
63  //These the single pion scan histos
64  //-------------------------------------------------------------------------------------------
65  //The first three are not used
66  if (useAllHistos_){
67  sprintf (histo, "emean_vs_ieta_E" );
68  emean_vs_ieta_E = dbe_->bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000., "s");
69  sprintf (histo, "emean_vs_ieta_H" );
70  emean_vs_ieta_H = dbe_->bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000., "s");
71  sprintf (histo, "emean_vs_ieta_EH" );
72  emean_vs_ieta_EH = dbe_->bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000., "s");
73  }
74  //These are drawn
75  sprintf (histo, "emean_vs_ieta_E1" );
76  emean_vs_ieta_E1 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000., "s");
77  sprintf (histo, "emean_vs_ieta_H1" );
78  emean_vs_ieta_H1 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000., "s");
79  sprintf (histo, "emean_vs_ieta_EH1" );
80  emean_vs_ieta_EH1 = dbe_->bookProfile(histo, histo, 82, -41., 41., 2100, -100., 2000., "s");
81  //-------------------------------------------------------------------------------------------
82 
83  //Map energy histos are not drawn
84  if (useAllHistos_){
85  sprintf (histo, "CaloTowersTask_map_energy_E" );
86  mapEnergy_E = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
87  sprintf (histo, "CaloTowersTask_map_energy_H");
88  mapEnergy_H = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
89  sprintf (histo, "CaloTowersTask_map_energy_EH" );
90  mapEnergy_EH = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
91  }
92 
93  //All ECAL cell histos are used
94  // XXX: ECAL 0-25 [0-26, 26 bins] HCAL 0-4 [0-5, 5 bins]
95  sprintf (histo, "number_of_bad_cells_Ecal_EB");
96  numBadCellsEcal_EB = dbe_->book1D(histo, histo, 26, 0, 26);
97  sprintf (histo, "number_of_bad_cells_Ecal_EE");
98  numBadCellsEcal_EE = dbe_->book1D(histo, histo, 26, 0, 26);
99  sprintf (histo, "number_of_recovered_cells_Ecal_EB");
100  numRcvCellsEcal_EB = dbe_->book1D(histo, histo, 26, 0, 26);
101  sprintf (histo, "number_of_recovered_cells_Ecal_EE");
102  numRcvCellsEcal_EE = dbe_->book1D(histo, histo, 26, 0, 26);
103  sprintf (histo, "number_of_problematic_cells_Ecal_EB");
104  numPrbCellsEcal_EB = dbe_->book1D(histo, histo, 26, 0, 26);
105  sprintf (histo, "number_of_problematic_cells_Ecal_EE");
106  numPrbCellsEcal_EE = dbe_->book1D(histo, histo, 26, 0, 26);
107 
108  //Occupancy vs. ieta is drawn, occupancy map is needed to draw it
109  sprintf (histo, "CaloTowersTask_map_occupancy" );
110  occupancy_map = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
111 
112  sprintf (histo, "CaloTowersTask_occupancy_vs_ieta" );
113  occupancy_vs_ieta = dbe_->book1D(histo, histo, 82, -41, 41);
114 
115  if( isub == 1 || isub == 0) {
116  //All cell histos are used
117  sprintf (histo, "number_of_bad_cells_Hcal_HB");
118  numBadCellsHcal_HB = dbe_->book1D(histo, histo, 5, 0, 5);
119  sprintf (histo, "number_of_recovered_cells_Hcal_HB");
120  numRcvCellsHcal_HB = dbe_->book1D(histo, histo, 5, 0, 5);
121  sprintf (histo, "number_of_problematic_cells_Hcal_HB");
122  numPrbCellsHcal_HB = dbe_->book1D(histo, histo, 5, 0, 5);
123 
124  //These are the five oldest CaloTower histos used: NTowers, E in HCAL/ECAL, MET and SET
125  //-------------------------------------------------------------------------------------------
126  sprintf (histo, "CaloTowersTask_energy_HCAL_HB" ) ;
127  meEnergyHcal_HB = dbe_->book1D(histo, histo, 4100, -200, 8000);
128 
129  sprintf (histo, "CaloTowersTask_energy_ECAL_HB" ) ;
130  meEnergyEcal_HB = dbe_->book1D(histo, histo, 3100, -200, 6000);
131 
132  sprintf (histo, "CaloTowersTask_number_of_fired_towers_HB" ) ;
133  meNumFiredTowers_HB = dbe_->book1D(histo, histo, 1000, 0, 2000);
134 
135  sprintf (histo, "CaloTowersTask_MET_HB" ) ;
136  MET_HB = dbe_->book1D(histo, histo, 3000, 0. , 3000. ) ;
137 
138  sprintf (histo, "CaloTowersTask_SET_HB" ) ;
139  SET_HB = dbe_->book1D(histo, histo, 8000, 0. , 8000. ) ;
140  //-------------------------------------------------------------------------------------------
141 
142  //Timing histos and profiles -- all six are necessary
143  //-------------------------------------------------------------------------------------------
144  sprintf (histo, "CaloTowersTask_EM_Timing_HB" ) ;
145  emTiming_HB = dbe_->book1D(histo, histo, 110, -120., 100. ) ;
146 
147  sprintf (histo, "CaloTowersTask_HAD_Timing_HB" ) ;
148  hadTiming_HB = dbe_->book1D(histo, histo, 70, -48., 92. ) ;
149 
150  //Energy-Timing histos are divided into low, medium and high to reduce memory usage
151  //EM
152  sprintf (histo, "CaloTowersTask_EM_Energy_Timing_Low_HB" ) ;
153  emEnergyTiming_Low_HB = dbe_->book2D(histo, histo, 40, 0. , 40., 110, -120., 100. ) ;
154 
155  sprintf (histo, "CaloTowersTask_EM_Energy_Timing_HB" ) ;
156  emEnergyTiming_HB = dbe_->book2D(histo, histo, 200, 0. , 400., 110, -120., 100. ) ;
157 
158  sprintf (histo, "CaloTowersTask_EM_Energy_Timing_High_HB" ) ;
159  emEnergyTiming_High_HB = dbe_->book2D(histo, histo, 200, 0. , 3000., 110, -120., 100. ) ;
160 
161  sprintf (histo, "CaloTowersTask_EM_Energy_Timing_profile_Low_HB" ) ;
162  emEnergyTiming_profile_Low_HB = dbe_->bookProfile(histo, histo, 40, 0. , 40., 110, -120., 100. ) ;
163 
164  sprintf (histo, "CaloTowersTask_EM_Energy_Timing_profile_HB" ) ;
165  emEnergyTiming_profile_HB = dbe_->bookProfile(histo, histo, 200, 0. , 400., 110, -120., 100. ) ;
166 
167  sprintf (histo, "CaloTowersTask_EM_Energy_Timing_profile_High_HB" ) ;
168  emEnergyTiming_profile_High_HB = dbe_->bookProfile(histo, histo, 200, 0. , 3000., 110, -120., 100. ) ;
169 
170  //HAD
171  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_Low_HB" ) ;
172  hadEnergyTiming_Low_HB = dbe_->book2D(histo, histo, 40, 0. , 40., 70, -48., 92. ) ;
173 
174  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_HB" ) ;
175  hadEnergyTiming_HB = dbe_->book2D(histo, histo, 100, 0. , 200., 70, -48., 92. ) ;
176 
177  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_High_HB" ) ;
178  hadEnergyTiming_High_HB = dbe_->book2D(histo, histo, 300, 0. , 3000., 70, -48., 92. ) ;
179 
180  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_profile_Low_HB" ) ;
181  hadEnergyTiming_profile_Low_HB = dbe_->bookProfile(histo, histo, 40, 0. , 40., 70, -48., 92. ) ;
182 
183  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_profile_HB" ) ;
184  hadEnergyTiming_profile_HB = dbe_->bookProfile(histo, histo, 100, 0. , 200., 70, -48., 92. ) ;
185 
186  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_profile_High_HB" ) ;
187  hadEnergyTiming_profile_High_HB = dbe_->bookProfile(histo, histo, 300, 0. , 3000., 70, -48., 92. ) ;
188  //-------------------------------------------------------------------------------------------
189 
190  //Everything else is not drawn
191  if (useAllHistos_){
192  sprintf (histo, "CaloTowersTask_sum_of_energy_HCAL_vs_ECAL_HB") ;
193  meEnergyHcalvsEcal_HB = dbe_->book2D(histo, histo, 500, 0., 500., 500, 0., 500.);
194 
195  sprintf (histo, "CaloTowersTask_energy_OUTER_HB" ) ;
196  meEnergyHO_HB = dbe_->book1D(histo, histo, 1640, -200, 8000);
197 
198  sprintf (histo, "CaloTowersTask_energy_of_ECAL_component_of_tower_HB" ) ;
199  meEnergyEcalTower_HB = dbe_->book1D(histo, histo, 440, -200, 2000);
200 
201  sprintf (histo, "CaloTowersTask_energy_of_HCAL_component_of_tower_HB" ) ;
202  meEnergyHcalTower_HB = dbe_->book1D(histo, histo, 440 , -200 , 2000);
203 
204  sprintf (histo, "CaloTowersTask_energy_HcalPlusEcalPlusHO_HB" ) ;
205  meTotEnergy_HB = dbe_->book1D(histo, histo,400, 0., 2000.) ;
206 
207  sprintf (histo, "CaloTowersTask_map_energy_HB" );
208  mapEnergy_HB = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
209  sprintf (histo, "CaloTowersTask_map_energy_HCAL_HB");
210  mapEnergyHcal_HB = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
211  sprintf (histo, "CaloTowersTask_map_energy_ECAL_HB" );
212  mapEnergyEcal_HB = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
213 
214  sprintf (histo, "CaloTowersTask_phi_MET_HB" ) ;
215  phiMET_HB = dbe_->book1D(histo, histo, 72, -3.1415926535898, 3.1415926535898 ) ;
216  }
217  }
218 
219  if( isub == 2 || isub == 0) {
220  //All cell histos are used
221  sprintf (histo, "number_of_bad_cells_Hcal_HE");
222  numBadCellsHcal_HE = dbe_->book1D(histo, histo, 5, 0, 5);
223  sprintf (histo, "number_of_recovered_cells_Hcal_HE");
224  numRcvCellsHcal_HE = dbe_->book1D(histo, histo, 5, 0, 5);
225  sprintf (histo, "number_of_problematic_cells_Hcal_HE");
226  numPrbCellsHcal_HE = dbe_->book1D(histo, histo, 5, 0, 5);
227 
228  //These are the five oldest CaloTower histos used: NTowers, E in HCAL/ECAL, MET and SET
229  //-------------------------------------------------------------------------------------------
230  sprintf (histo, "CaloTowersTask_energy_HCAL_HE" ) ;
231  meEnergyHcal_HE = dbe_->book1D(histo, histo, 440, -200, 2000);
232 
233  sprintf (histo, "CaloTowersTask_energy_ECAL_HE" ) ;
234  meEnergyEcal_HE = dbe_->book1D(histo, histo, 440, -200, 2000);
235 
236  sprintf (histo, "CaloTowersTask_number_of_fired_towers_HE" ) ;
237  meNumFiredTowers_HE = dbe_->book1D(histo, histo, 1000, 0, 2000);
238 
239  sprintf (histo, "CaloTowersTask_MET_HE" ) ;
240  MET_HE = dbe_->book1D(histo, histo, 1000, 0. , 1000. ) ;
241 
242  sprintf (histo, "CaloTowersTask_SET_HE" ) ;
243  SET_HE = dbe_->book1D(histo, histo, 2000, 0. , 2000. ) ;
244  //-------------------------------------------------------------------------------------------
245 
246  //Timing histos and profiles -- all six are necessary
247  //-------------------------------------------------------------------------------------------
248  sprintf (histo, "CaloTowersTask_EM_Timing_HE" ) ;
249  emTiming_HE = dbe_->book1D(histo, histo, 110, -120., 100. ) ;
250 
251  sprintf (histo, "CaloTowersTask_HAD_Timing_HE" ) ;
252  hadTiming_HE = dbe_->book1D(histo, histo, 70, -48., 92. ) ;
253 
254  //Energy-Timing histos are divided into low and normal to reduce memory usage
255  //EM
256  sprintf (histo, "CaloTowersTask_EM_Energy_Timing_Low_HE" ) ;
257  emEnergyTiming_Low_HE = dbe_->book2D(histo, histo, 160, 0. , 160., 110, -120., 100. ) ;
258 
259  sprintf (histo, "CaloTowersTask_EM_Energy_Timing_HE" ) ;
260  emEnergyTiming_HE = dbe_->book2D(histo, histo, 200, 0. , 800., 110, -120., 100. ) ;
261 
262  sprintf (histo, "CaloTowersTask_EM_Energy_Timing_profile_Low_HE" ) ;
263  emEnergyTiming_profile_Low_HE = dbe_->bookProfile(histo, histo, 160, 0. , 160., 110, -120., 100. ) ;
264 
265  sprintf (histo, "CaloTowersTask_EM_Energy_Timing_profile_HE" ) ;
266  emEnergyTiming_profile_HE = dbe_->bookProfile(histo, histo, 200, 0. , 800., 110, -120., 100. ) ;
267 
268  //HAD
269  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_Low_HE" ) ;
270  hadEnergyTiming_Low_HE = dbe_->book2D(histo, histo, 160, 0. , 160., 70, -48., 92. ) ;
271 
272  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_HE" ) ;
273  hadEnergyTiming_HE = dbe_->book2D(histo, histo, 200, 0. , 800., 70, -48., 92. ) ;
274 
275  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_profile_Low_HE" ) ;
276  hadEnergyTiming_profile_Low_HE = dbe_->bookProfile(histo, histo, 160, 0. , 160., 70, -48., 92. ) ;
277 
278  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_profile_HE" ) ;
279  hadEnergyTiming_profile_HE = dbe_->bookProfile(histo, histo, 200, 0. , 800., 70, -48., 92. ) ;
280  //-------------------------------------------------------------------------------------------
281 
282  //Everything else is not drawn
283  if (useAllHistos_){
284  sprintf (histo, "CaloTowersTask_sum_of_energy_HCAL_vs_ECAL_HE") ;
285  meEnergyHcalvsEcal_HE = dbe_->book2D(histo, histo, 500, 0., 500., 500, 0., 500.);
286 
287  sprintf (histo, "CaloTowersTask_energy_OUTER_HE" ) ;
288  meEnergyHO_HE = dbe_->book1D(histo, histo, 440, -200, 2000);
289 
290  sprintf (histo, "CaloTowersTask_energy_of_ECAL_component_of_tower_HE" ) ;
291  meEnergyEcalTower_HE = dbe_->book1D(histo, histo, 1100, -200, 2000);
292 
293  sprintf (histo, "CaloTowersTask_energy_of_HCAL_component_of_tower_HE" ) ;
294  meEnergyHcalTower_HE = dbe_->book1D(histo, histo, 1100 , -200 , 2000);
295 
296  sprintf (histo, "CaloTowersTask_energy_HcalPlusEcalPlusHO_HE" ) ;
297  meTotEnergy_HE = dbe_->book1D(histo, histo,400, 0., 2000.) ;
298 
299  sprintf (histo, "CaloTowersTask_map_energy_HE" );
300  mapEnergy_HE = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
301  sprintf (histo, "CaloTowersTask_map_energy_HCAL_HE");
302  mapEnergyHcal_HE = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
303  sprintf (histo, "CaloTowersTask_map_energy_ECAL_HE" );
304  mapEnergyEcal_HE = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
305 
306  sprintf (histo, "CaloTowersTask_phi_MET_HE" ) ;
307  phiMET_HE = dbe_->book1D(histo, histo, 72, -3.1415926535898, 3.1415926535898 ) ;
308  }
309  }
310 
311 
312  if( isub == 3 || isub == 0) {
313  //All cell histos are used
314  sprintf (histo, "number_of_bad_cells_Hcal_HF");
315  numBadCellsHcal_HF = dbe_->book1D(histo, histo, 5, 0, 5);
316  sprintf (histo, "number_of_recovered_cells_Hcal_HF");
317  numRcvCellsHcal_HF = dbe_->book1D(histo, histo, 5, 0, 5);
318  sprintf (histo, "number_of_problematic_cells_Hcal_HF");
319  numPrbCellsHcal_HF = dbe_->book1D(histo, histo, 5, 0, 5);
320 
321  //These are the five oldest CaloTower histos used: NTowers, E in HCAL/ECAL, MET and SET
322  //-------------------------------------------------------------------------------------------
323  sprintf (histo, "CaloTowersTask_energy_HCAL_HF" ) ;
324  meEnergyHcal_HF = dbe_->book1D(histo, histo, 440, -200, 2000);
325 
326  sprintf (histo, "CaloTowersTask_energy_ECAL_HF" ) ;
327  meEnergyEcal_HF = dbe_->book1D(histo, histo, 440, -200, 2000);
328 
329  sprintf (histo, "CaloTowersTask_number_of_fired_towers_HF" ) ;
330  meNumFiredTowers_HF = dbe_->book1D(histo, histo, 1000, 0, 2000);
331 
332  sprintf (histo, "CaloTowersTask_MET_HF" ) ;
333  MET_HF = dbe_->book1D(histo, histo, 500, 0. , 500. ) ;
334 
335  sprintf (histo, "CaloTowersTask_SET_HF" ) ;
336  SET_HF = dbe_->book1D(histo, histo, 200, 0. , 200. ) ;
337  //-------------------------------------------------------------------------------------------
338 
339  //Timing histos and profiles -- all six are necessary
340  //-------------------------------------------------------------------------------------------
341  sprintf (histo, "CaloTowersTask_EM_Timing_HF" ) ;
342  emTiming_HF = dbe_->book1D(histo, histo, 110, -120., 100. ) ;
343 
344  sprintf (histo, "CaloTowersTask_HAD_Timing_HF" ) ;
345  hadTiming_HF = dbe_->book1D(histo, histo, 70, -48., 92. ) ;
346 
347  //EM
348  sprintf (histo, "CaloTowersTask_EM_Energy_Timing_HF" ) ;
349  emEnergyTiming_HF = dbe_->book2D(histo, histo, 150, 0. , 300., 110, -120., 100. ) ;
350 
351  sprintf (histo, "CaloTowersTask_EM_Energy_Timing_profile_HF" ) ;
352  emEnergyTiming_profile_HF = dbe_->bookProfile(histo, histo, 150, 0. , 300., 110, -120., 100. ) ;
353 
354  //HAD (requires two different sets of histograms to lower RAM usage)
355  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_Low_HF" ) ;
356  hadEnergyTiming_Low_HF = dbe_->book2D(histo, histo, 40, 0. , 40., 70, -48., 92. ) ;
357 
358  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_HF" ) ;
359  hadEnergyTiming_HF = dbe_->book2D(histo, histo, 200, 0. , 600., 70, -48., 92. ) ;
360 
361  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_profile_Low_HF" ) ;
362  hadEnergyTiming_profile_Low_HF = dbe_->bookProfile(histo, histo, 40, 0. , 40., 70, -48., 92. ) ;
363 
364  sprintf (histo, "CaloTowersTask_HAD_Energy_Timing_profile_HF" ) ;
365  hadEnergyTiming_profile_HF = dbe_->bookProfile(histo, histo, 200, 0. , 600., 70, -48., 92. ) ;
366  //-------------------------------------------------------------------------------------------
367 
368  //Everything else is not drawn
369  if (useAllHistos_){
370  sprintf (histo, "CaloTowersTask_sum_of_energy_HCAL_vs_ECAL_HF") ;
371  meEnergyHcalvsEcal_HF = dbe_->book2D(histo, histo, 500, 0., 500., 500, 0., 500.);
372 
373  sprintf (histo, "CaloTowersTask_energy_OUTER_HF" ) ;
374  meEnergyHO_HF = dbe_->book1D(histo, histo, 440, -200, 2000);
375 
376  sprintf (histo, "CaloTowersTask_energy_of_ECAL_component_of_tower_HF" ) ;
377  meEnergyEcalTower_HF = dbe_->book1D(histo, histo, 440, -200, 2000);
378 
379  sprintf (histo, "CaloTowersTask_energy_of_HCAL_component_of_tower_HF" ) ;
380  meEnergyHcalTower_HF = dbe_->book1D(histo, histo, 440 , -200 , 2000);
381 
382  sprintf (histo, "CaloTowersTask_energy_HcalPlusEcalPlusHO_HF" ) ;
383  meTotEnergy_HF = dbe_->book1D(histo, histo, 400, 0., 2000.) ;
384 
385  sprintf (histo, "CaloTowersTask_map_energy_HF" );
386  mapEnergy_HF = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
387  sprintf (histo, "CaloTowersTask_map_energy_HCAL_HF");
388  mapEnergyHcal_HF = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
389  sprintf (histo, "CaloTowersTask_map_energy_ECAL_HF" );
390  mapEnergyEcal_HF = dbe_->book2D(histo, histo, 82, -41., 41., 72, 0., 72.);
391 
392  sprintf (histo, "CaloTowersTask_phi_MET_HF" ) ;
393  phiMET_HF = dbe_->book1D(histo, histo, 72, -3.1415926535898, 3.1415926535898 ) ;
394  }
395  }
396 
397 }
MonitorElement * emean_vs_ieta_E1
MonitorElement * emean_vs_ieta_H1
MonitorElement * mapEnergyEcal_HE
MonitorElement * phiMET_HF
MonitorElement * hadEnergyTiming_profile_Low_HE
MonitorElement * emEnergyTiming_HE
MonitorElement * meEnergyHcalTower_HB
edm::EDGetTokenT< CaloTowerCollection > tok_calo_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:954
MonitorElement * mapEnergy_HE
MonitorElement * meTotEnergy_HF
MonitorElement * hadTiming_HE
MonitorElement * hadEnergyTiming_profile_HF
MonitorElement * mapEnergyEcal_HB
MonitorElement * hadEnergyTiming_profile_HB
MonitorElement * mapEnergy_HF
MonitorElement * meEnergyHcalvsEcal_HE
MonitorElement * meEnergyEcal_HB
MonitorElement * meTotEnergy_HB
MonitorElement * numPrbCellsHcal_HE
MonitorElement * hadEnergyTiming_profile_High_HB
MonitorElement * meNumFiredTowers_HF
MonitorElement * phiMET_HE
MonitorElement * mapEnergyHcal_HB
MonitorElement * hadEnergyTiming_profile_HE
MonitorElement * meNumFiredTowers_HE
MonitorElement * hadTiming_HB
MonitorElement * emTiming_HB
MonitorElement * hadEnergyTiming_Low_HE
MonitorElement * numBadCellsHcal_HB
MonitorElement * numBadCellsEcal_EE
MonitorElement * hadEnergyTiming_profile_Low_HF
MonitorElement * numRcvCellsEcal_EB
MonitorElement * meEnergyHcalTower_HF
MonitorElement * meEnergyEcalTower_HB
MonitorElement * numPrbCellsEcal_EB
MonitorElement * numBadCellsEcal_EB
MonitorElement * emean_vs_ieta_EH
MonitorElement * emEnergyTiming_High_HB
MonitorElement * mapEnergyHcal_HE
MonitorElement * phiMET_HB
MonitorElement * hadEnergyTiming_profile_Low_HB
MonitorElement * emTiming_HF
MonitorElement * emEnergyTiming_Low_HE
MonitorElement * mapEnergy_E
MonitorElement * numBadCellsHcal_HF
MonitorElement * numPrbCellsHcal_HB
MonitorElement * meEnergyEcalTower_HE
MonitorElement * meEnergyHcal_HF
MonitorElement * occupancy_vs_ieta
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:1268
MonitorElement * numPrbCellsHcal_HF
MonitorElement * meEnergyEcalTower_HF
MonitorElement * meEnergyHcalvsEcal_HF
MonitorElement * hadEnergyTiming_High_HB
MonitorElement * emEnergyTiming_HF
MonitorElement * mapEnergy_H
MonitorElement * emTiming_HE
MonitorElement * emEnergyTiming_profile_Low_HB
MonitorElement * hadEnergyTiming_HF
MonitorElement * numRcvCellsEcal_EE
tuple conf
Definition: dbtoconf.py:185
MonitorElement * meEnergyHO_HE
MonitorElement * numBadCellsHcal_HE
MonitorElement * hadTiming_HF
MonitorElement * numRcvCellsHcal_HE
MonitorElement * meEnergyHcal_HE
MonitorElement * meEnergyEcal_HF
MonitorElement * meEnergyHcalTower_HE
edm::EDGetTokenT< edm::HepMCProduct > tok_evt_
MonitorElement * hadEnergyTiming_HB
MonitorElement * numRcvCellsHcal_HB
MonitorElement * emEnergyTiming_HB
MonitorElement * emEnergyTiming_profile_HF
MonitorElement * numRcvCellsHcal_HF
MonitorElement * numPrbCellsEcal_EE
MonitorElement * hadEnergyTiming_Low_HB
MonitorElement * meEnergyHO_HF
MonitorElement * meEnergyHcal_HB
MonitorElement * emEnergyTiming_Low_HB
MonitorElement * meNumFiredTowers_HB
MonitorElement * Ntowers_vs_ieta
MonitorElement * emean_vs_ieta_EH1
MonitorElement * meEnergyEcal_HE
MonitorElement * occupancy_map
MonitorElement * hadEnergyTiming_Low_HF
MonitorElement * meTotEnergy_HE
MonitorElement * mapEnergyHcal_HF
MonitorElement * emEnergyTiming_profile_Low_HE
MonitorElement * hadEnergyTiming_HE
MonitorElement * emean_vs_ieta_E
MonitorElement * emean_vs_ieta_H
MonitorElement * meEnergyHcalvsEcal_HB
MonitorElement * emEnergyTiming_profile_HE
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:1082
MonitorElement * meEnergyHO_HB
MonitorElement * emEnergyTiming_profile_HB
MonitorElement * mapEnergy_EH
MonitorElement * emEnergyTiming_profile_High_HB
MonitorElement * mapEnergy_N
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:667
MonitorElement * mapEnergyEcal_HF
MonitorElement * mapEnergy_HB
CaloTowersValidation::~CaloTowersValidation ( )

Definition at line 404 of file CaloTowersValidation.cc.

404  {
405 
406 }

Member Function Documentation

void CaloTowersValidation::analyze ( edm::Event const &  e,
edm::EventSetup const &  c 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 481 of file CaloTowersValidation.cc.

References gather_cfg::cout, DetId::det(), dR(), DetId::Ecal, EcalBarrel, EcalEndcap, emean_vs_ieta_E, emean_vs_ieta_E1, emean_vs_ieta_EH, emean_vs_ieta_EH1, emean_vs_ieta_H, emean_vs_ieta_H1, emEnergyTiming_HB, emEnergyTiming_HE, emEnergyTiming_HF, emEnergyTiming_High_HB, emEnergyTiming_Low_HB, emEnergyTiming_Low_HE, emEnergyTiming_profile_HB, emEnergyTiming_profile_HE, emEnergyTiming_profile_HF, emEnergyTiming_profile_High_HB, emEnergyTiming_profile_Low_HB, emEnergyTiming_profile_Low_HE, emTiming_HB, emTiming_HE, emTiming_HF, etaMax, etaMin, MonitorElement::Fill(), HcalObjRepresent::Fill(), hadEnergyTiming_HB, hadEnergyTiming_HE, hadEnergyTiming_HF, hadEnergyTiming_High_HB, hadEnergyTiming_Low_HB, hadEnergyTiming_Low_HE, hadEnergyTiming_Low_HF, hadEnergyTiming_profile_HB, hadEnergyTiming_profile_HE, hadEnergyTiming_profile_HF, hadEnergyTiming_profile_High_HB, hadEnergyTiming_profile_Low_HB, hadEnergyTiming_profile_Low_HE, hadEnergyTiming_profile_Low_HF, hadTiming_HB, hadTiming_HE, hadTiming_HF, DetId::Hcal, HcalBarrel, HcalEndcap, HcalForward, CaloTowerDetId::ieta(), imc, isub, edm::HandleBase::isValid(), mapEnergy_E, mapEnergy_EH, mapEnergy_H, mapEnergy_HB, mapEnergy_HE, mapEnergy_HF, mapEnergy_N, mapEnergyEcal_HB, mapEnergyEcal_HE, mapEnergyEcal_HF, mapEnergyHcal_HB, mapEnergyHcal_HE, mapEnergyHcal_HF, meEnergyEcal_HB, meEnergyEcal_HE, meEnergyEcal_HF, meEnergyEcalTower_HB, meEnergyEcalTower_HE, meEnergyEcalTower_HF, meEnergyHcal_HB, meEnergyHcal_HE, meEnergyHcal_HF, meEnergyHcalTower_HB, meEnergyHcalTower_HE, meEnergyHcalTower_HF, meEnergyHcalvsEcal_HB, meEnergyHcalvsEcal_HE, meEnergyHcalvsEcal_HF, meEnergyHO_HB, meEnergyHO_HE, meEnergyHO_HF, meNumFiredTowers_HB, meNumFiredTowers_HE, meNumFiredTowers_HF, CaloMET_cfi::met, MET_HB, MET_HE, MET_HF, meTotEnergy_HB, meTotEnergy_HE, meTotEnergy_HF, nevent, npart, Ntowers_vs_ieta, numBadCellsEcal_EB, numBadCellsEcal_EE, numBadCellsHcal_HB, numBadCellsHcal_HE, numBadCellsHcal_HF, numPrbCellsEcal_EB, numPrbCellsEcal_EE, numPrbCellsHcal_HB, numPrbCellsHcal_HE, numPrbCellsHcal_HF, numRcvCellsEcal_EB, numRcvCellsEcal_EE, numRcvCellsHcal_HB, numRcvCellsHcal_HE, numRcvCellsHcal_HF, occupancy_map, AlCaHLTBitMon_ParallelJobs::p, phiMET_HB, phiMET_HE, phiMET_HF, RecoTauCleanerPlugins::pt, alignCSCRings::r, Gflash::Rmin, SET_HB, SET_HE, SET_HF, mathSSE::sqrt(), HcalDetId::subdet(), DetId::subdetId(), tok_calo_, tok_evt_, and useAllHistos_.

481  {
482 
483  nevent++;
484 
485  // bool MC = false; // UNUSED
486  double phi_MC = 9999.;
487  double eta_MC = 9999.;
488 
489  if (imc != 0){
491  event.getByToken(tok_evt_,evtMC); // generator in late 310_preX
492  if (!evtMC.isValid()) {
493  std::cout << "no HepMCProduct found" << std::endl;
494  } else {
495  // MC=true; // UNUSED
496  // std::cout << "*** source HepMCProduct found"<< std::endl;
497  }
498 
499  // MC particle with highest pt is taken as a direction reference
500  double maxPt = -99999.;
501  int npart = 0;
502  const HepMC::GenEvent * myGenEvent = evtMC->GetEvent();
503  for ( HepMC::GenEvent::particle_const_iterator p = myGenEvent->particles_begin();
504  p != myGenEvent->particles_end(); ++p ) {
505  double phip = (*p)->momentum().phi();
506  double etap = (*p)->momentum().eta();
507  // phi_MC = phip;
508  // eta_MC = etap;
509  double pt = (*p)->momentum().perp();
510  if(pt > maxPt) { npart++; maxPt = pt; phi_MC = phip; eta_MC = etap; }
511  }
512  // std::cout << "*** Max pT = " << maxPt << std::endl;
513  }
514 
516  event.getByToken(tok_calo_,towers);
518 
519  double met;
520  double phimet;
521 
522  // ieta scan
523  double partR = 0.3;
524  double Rmin = 9999.;
525  double Econe = 0.;
526  double Hcone = 0.;
527  double Ee1 = 0.;
528  double Eh1 = 0.;
529  double ieta_MC = 9999;
530  double iphi_MC = 9999;
531  // double etaM = 9999.;
532 
533 
534  // HB
535  double sumEnergyHcal_HB = 0.;
536  double sumEnergyEcal_HB = 0.;
537  double sumEnergyHO_HB = 0.;
538  Int_t numFiredTowers_HB = 0;
539  double metx_HB = 0.;
540  double mety_HB = 0.;
541  double metz_HB = 0.;
542  double sEt_HB = 0.;
543  // HE
544  double sumEnergyHcal_HE = 0.;
545  double sumEnergyEcal_HE = 0.;
546  double sumEnergyHO_HE = 0.;
547  Int_t numFiredTowers_HE = 0;
548  double metx_HE = 0.;
549  double mety_HE = 0.;
550  double metz_HE = 0.;
551  double sEt_HE = 0.;
552  // HF
553  double sumEnergyHcal_HF = 0.;
554  double sumEnergyEcal_HF = 0.;
555  double sumEnergyHO_HF = 0.;
556  Int_t numFiredTowers_HF = 0;
557  double metx_HF = 0.;
558  double mety_HF = 0.;
559  double metz_HF = 0.;
560  double sEt_HF = 0.;
561 
562  for ( cal = towers->begin(); cal != towers->end(); ++cal ) {
563 
564  double eE = cal->emEnergy();
565  double eH = cal->hadEnergy();
566  double eHO = cal->outerEnergy();
567  double etaT = cal->eta();
568  double phiT = cal->phi();
569  double en = cal->energy();
570  double etT = cal->et();
571  double had_tm = cal->hcalTime();
572  double em_tm = cal->ecalTime();
573 
574  int numBadEcalCells = cal->numBadEcalCells();
575  int numRcvEcalCells = cal->numRecoveredEcalCells();
576  int numPrbEcalCells = cal->numProblematicEcalCells();
577 
578  int numBadHcalCells = cal->numBadHcalCells();
579  int numRcvHcalCells = cal->numRecoveredHcalCells();
580  int numPrbHcalCells = cal->numProblematicHcalCells();
581 
582  math::RhoEtaPhiVector mom(cal->et(), cal->eta(), cal->phi());
583  // Vector mom = cal->momentum();
584 
585  // cell properties
586  CaloTowerDetId idT = cal->id();
587  int ieta = idT.ieta();
588  if(ieta > 0) ieta -= 1;
589  int iphi = idT.iphi();
590 
591  // ecal: 0 EcalBarrel 1 EcalEndcap
592  // hcal: 0 hcalBarrel 1 HcalEndcap 2 HcalForward
593  std::vector<int> inEcals(2), inHcals(3);
594  unsigned int constitSize = cal->constituentsSize();
595  for(unsigned int ic=0; ic<constitSize; ic++){
596  DetId detId = cal->constituent(ic);
597  if(detId.det() == DetId::Ecal){
598  if( detId.subdetId()==EcalBarrel ) inEcals[0] =1;
599  else if( detId.subdetId()==EcalEndcap ) inEcals[1] =1;
600  }
601  if(detId.det() == DetId::Hcal){
602  if( HcalDetId(detId).subdet()==HcalBarrel ) inHcals[0] =1;
603  else if( HcalDetId(detId).subdet()==HcalEndcap ) inHcals[1] =1;
604  else if( HcalDetId(detId).subdet()==HcalForward ) inHcals[2] =1;
605  }
606  }
607  //All cell histos are used
608  if( inEcals[0] ) {
609  numBadCellsEcal_EB->Fill(numBadEcalCells);
610  numRcvCellsEcal_EB->Fill(numRcvEcalCells);
611  numPrbCellsEcal_EB->Fill(numPrbEcalCells);
612  }
613  if( inEcals[1] ) {
614  numBadCellsEcal_EE->Fill(numBadEcalCells);
615  numRcvCellsEcal_EE->Fill(numRcvEcalCells);
616  numPrbCellsEcal_EE->Fill(numPrbEcalCells);
617  }
618 
619  if (imc != 0){
620  double r = dR(eta_MC, phi_MC, etaT, phiT);
621 
622  if( r < partR ){
623  Econe += eE;
624  Hcone += eH;
625 
626  // closest to MC
627  if(r < Rmin) {
628  if( fabs(eta_MC) < 3.0 && (ieta > 29 || ieta < -29)) {;}
629  else {
630  Rmin = r;
631  ieta_MC = ieta;
632  iphi_MC = iphi;
633  Ee1 = eE;
634  Eh1 = eH;
635  }
636  }
637  }
638  }
639 
640  //Ntowers is used in EndJob, occupancy_map is used for occupancy vs ieta
641  Ntowers_vs_ieta -> Fill(double(ieta),1.);
642  occupancy_map -> Fill(double(ieta),double(iphi));
643 
644 
645  if((isub == 0 || isub == 1)
646  && (fabs(etaT) < etaMax[0] && fabs(etaT) >= etaMin[0] )) {
647 
648  //All cell histos are used
649  numBadCellsHcal_HB->Fill(numBadHcalCells);
650  numRcvCellsHcal_HB->Fill(numRcvHcalCells);
651  numPrbCellsHcal_HB->Fill(numPrbHcalCells);
652 
653  //Map energy histos are not used
654  if (useAllHistos_){
655  mapEnergy_HB -> Fill(double(ieta), double(iphi), en);
656  mapEnergyHcal_HB -> Fill(double(ieta), double(iphi), eH);
657  mapEnergyEcal_HB -> Fill(double(ieta), double(iphi), eE);
658  }
659  // std::cout << " e_ecal = " << eE << std::endl;
660 
661  // simple sums
662  sumEnergyHcal_HB += eH;
663  sumEnergyEcal_HB += eE;
664  sumEnergyHO_HB += eHO;
665 
666  numFiredTowers_HB++;
667 
668  //Not used
669  if (useAllHistos_){
672  }
673 
674  // MET, SET & phimet
675  // double etT = cal->et();
676  metx_HB += mom.x();
677  mety_HB += mom.y(); //etT * sin(phiT);
678  sEt_HB += etT;
679 
680  //Timing (all histos are used)
681  emTiming_HB->Fill(em_tm);
682  hadTiming_HB->Fill(had_tm);
683 
684  emEnergyTiming_Low_HB->Fill(eE, em_tm);
685  emEnergyTiming_HB->Fill(eE, em_tm);
686  emEnergyTiming_High_HB->Fill(eE, em_tm);
688  emEnergyTiming_profile_HB->Fill(eE, em_tm);
690 
691  hadEnergyTiming_Low_HB->Fill(eH, had_tm);
692  hadEnergyTiming_HB->Fill(eH, had_tm);
693  hadEnergyTiming_High_HB->Fill(eH, had_tm);
694  hadEnergyTiming_profile_Low_HB->Fill(eH, had_tm);
695  hadEnergyTiming_profile_HB->Fill(eH, had_tm);
697  }
698 
699  if((isub == 0 || isub == 2)
700  && (fabs(etaT) < etaMax[1] && fabs(etaT) >= etaMin[1] )) {
701 
702  //All cell histos are used
703  numBadCellsHcal_HE->Fill(numBadHcalCells);
704  numRcvCellsHcal_HE->Fill(numRcvHcalCells);
705  numPrbCellsHcal_HE->Fill(numPrbHcalCells);
706 
707  //Map energy histos are not used
708  if (useAllHistos_){
709  mapEnergy_HE -> Fill(double(ieta), double(iphi), en);
710  mapEnergyHcal_HE -> Fill(double(ieta), double(iphi), eH);
711  mapEnergyEcal_HE -> Fill(double(ieta), double(iphi), eE);
712  }
713  // std::cout << " e_ecal = " << eE << std::endl;
714 
715  // simple sums
716  sumEnergyHcal_HE += eH;
717  sumEnergyEcal_HE += eE;
718  sumEnergyHO_HE += eHO;
719 
720  numFiredTowers_HE++;
721 
722  //Not used
723  if (useAllHistos_){
726  }
727  // MET, SET & phimet
728  // double etT = cal->et();
729  metx_HE += mom.x();
730  mety_HE += mom.y(); //etT * sin(phiT);
731  sEt_HE += etT;
732 
733  //Timing (all histos are used)
734  emTiming_HE->Fill(em_tm);
735  hadTiming_HE->Fill(had_tm);
736 
737  emEnergyTiming_Low_HE->Fill(eE, em_tm);
738  emEnergyTiming_HE->Fill(eE, em_tm);
740  emEnergyTiming_profile_HE->Fill(eE, em_tm);
741 
742  hadEnergyTiming_Low_HE->Fill(eH, had_tm);
743  hadEnergyTiming_HE->Fill(eH, had_tm);
744  hadEnergyTiming_profile_Low_HE->Fill(eH, had_tm);
745  hadEnergyTiming_profile_HE->Fill(eH, had_tm);
746  }
747 
748  if((isub == 0 || isub == 3)
749  && (fabs(etaT) < etaMax[2] && fabs(etaT) >= etaMin[2] )) {
750 
751  //All cell histos are used
752  numBadCellsHcal_HF->Fill(numBadHcalCells);
753  numRcvCellsHcal_HF->Fill(numRcvHcalCells);
754  numPrbCellsHcal_HF->Fill(numPrbHcalCells);
755 
756  //Map energy histos are not used
757  if (useAllHistos_){
758  mapEnergy_HF -> Fill(double(ieta), double(iphi), en);
759  mapEnergyHcal_HF -> Fill(double(ieta), double(iphi), eH);
760  mapEnergyEcal_HF -> Fill(double(ieta), double(iphi), eE);
761  }
762  // std::cout << " e_ecal = " << eE << std::endl;
763 
764  // simple sums
765  sumEnergyHcal_HF += eH;
766  sumEnergyEcal_HF += eE;
767  sumEnergyHO_HF += eHO;
768 
769  numFiredTowers_HF++;
770 
771  //Not used
772  if (useAllHistos_){
775  }
776  // MET, SET & phimet
777  // double etT = cal->et();
778  metx_HF += mom.x();
779  mety_HF += mom.y(); //etT * sin(phiT);
780  sEt_HF += etT;
781 
782  //Timing (all histos are used)
783  emTiming_HF->Fill(em_tm);
784  hadTiming_HF->Fill(had_tm);
785  emEnergyTiming_HF->Fill(eE, em_tm);
786  emEnergyTiming_profile_HF->Fill(eE, em_tm);
787 
788  hadEnergyTiming_Low_HF->Fill(eH, had_tm);
789  hadEnergyTiming_HF->Fill(eH, had_tm);
790  hadEnergyTiming_profile_Low_HF->Fill(eH, had_tm);
791  hadEnergyTiming_profile_HF->Fill(eH, had_tm);
792  }
793 
794 
795 
796  } // end of Towers cycle
797 
798  //These are the six single pion histos; only the second set is used
799  if (useAllHistos_){
800  emean_vs_ieta_E -> Fill(double(ieta_MC), Econe);
801  emean_vs_ieta_H -> Fill(double(ieta_MC), Hcone);
802  emean_vs_ieta_EH -> Fill(double(ieta_MC), Econe+Hcone);
803  }
804  emean_vs_ieta_E1 -> Fill(double(ieta_MC), Ee1);
805  emean_vs_ieta_H1 -> Fill(double(ieta_MC), Eh1);
806  emean_vs_ieta_EH1 -> Fill(double(ieta_MC), Ee1+Eh1);
807 
808  //Map histos are not used except the last one in EndJob
809  if (useAllHistos_){
810  mapEnergy_E -> Fill(double(ieta_MC), double(iphi_MC), Ee1);
811  mapEnergy_H -> Fill(double(ieta_MC), double(iphi_MC), Eh1);
812  mapEnergy_EH -> Fill(double(ieta_MC), double(iphi_MC), Ee1+Eh1);
813  }
814  mapEnergy_N -> Fill(double(ieta_MC), double(iphi_MC), 1.);
815 
816 
817  if(isub == 0 || isub == 1) {
818  met = sqrt(metx_HB*metx_HB + mety_HB*mety_HB);
819  Vector metv(metx_HB,mety_HB,metz_HB);
820  phimet = metv.phi();
821 
822  //Five oldest drawn histos first; the rest are not used
823  meEnergyHcal_HB-> Fill(sumEnergyHcal_HB);
824  meEnergyEcal_HB-> Fill(sumEnergyEcal_HB);
825  meNumFiredTowers_HB-> Fill(numFiredTowers_HB);
826  MET_HB -> Fill (met);
827  SET_HB -> Fill (sEt_HB);
828 
829  if (useAllHistos_){
830  meEnergyHcalvsEcal_HB->Fill(sumEnergyEcal_HB, sumEnergyHcal_HB);
831  meEnergyHO_HB-> Fill(sumEnergyHO_HB);
832  meTotEnergy_HB-> Fill(sumEnergyHcal_HB+sumEnergyEcal_HB
833  +sumEnergyHO_HB);
834  phiMET_HB -> Fill (phimet);
835  }
836  }
837 
838 
839  if(isub == 0 || isub == 2) {
840  met = sqrt(metx_HE*metx_HE + mety_HE*mety_HE);
841  Vector metv(metx_HE,mety_HE,metz_HE);
842  phimet = metv.phi();
843 
844  //Five oldest drawn histos first; the rest are not used
845  meEnergyHcal_HE-> Fill(sumEnergyHcal_HE);
846  meEnergyEcal_HE-> Fill(sumEnergyEcal_HE);
847  meNumFiredTowers_HE-> Fill(numFiredTowers_HE);
848  MET_HE -> Fill (met);
849  SET_HE -> Fill (sEt_HE);
850 
851  if (useAllHistos_){
852  meEnergyHcalvsEcal_HE->Fill(sumEnergyEcal_HE, sumEnergyHcal_HE);
853  meEnergyHO_HE-> Fill(sumEnergyHO_HE);
854  meTotEnergy_HE-> Fill(sumEnergyHcal_HE+sumEnergyEcal_HE
855  +sumEnergyHO_HE);
856  phiMET_HE -> Fill (phimet);
857  }
858  }
859 
860  if(isub == 0 || isub == 3) {
861  met = sqrt(metx_HF*metx_HF + mety_HF*mety_HF);
862  Vector metv(metx_HF,mety_HF,metz_HF);
863  phimet = metv.phi();
864 
865  //Five oldest drawn histos first; the rest are not used
866  meEnergyHcal_HF-> Fill(sumEnergyHcal_HF);
867  meEnergyEcal_HF-> Fill(sumEnergyEcal_HF);
868  meNumFiredTowers_HF-> Fill(numFiredTowers_HF);
869  MET_HF -> Fill (met);
870  SET_HF -> Fill (sEt_HF);
871 
872  if (useAllHistos_){
873  meEnergyHcalvsEcal_HF->Fill(sumEnergyEcal_HF, sumEnergyHcal_HF);
874  meEnergyHO_HF-> Fill(sumEnergyHO_HF);
875  meTotEnergy_HF-> Fill(sumEnergyHcal_HF+sumEnergyEcal_HF
876  +sumEnergyHO_HF);
877  phiMET_HF -> Fill (phimet);
878  }
879  }
880 
881 }
MonitorElement * emean_vs_ieta_E1
double dR(double eta1, double phi1, double eta2, double phi2)
MonitorElement * emean_vs_ieta_H1
MonitorElement * mapEnergyEcal_HE
MonitorElement * phiMET_HF
tuple met
____________________________________________________________________________||
Definition: CaloMET_cfi.py:4
MonitorElement * hadEnergyTiming_profile_Low_HE
HcalSubdetector subdet() const
get the subdetector
Definition: HcalDetId.h:30
MonitorElement * emEnergyTiming_HE
MonitorElement * meEnergyHcalTower_HB
edm::EDGetTokenT< CaloTowerCollection > tok_calo_
MonitorElement * mapEnergy_HE
MonitorElement * meTotEnergy_HF
MonitorElement * hadTiming_HE
ROOT::Math::Plane3D::Vector Vector
Definition: EcalHitMaker.cc:29
MonitorElement * hadEnergyTiming_profile_HF
MonitorElement * mapEnergyEcal_HB
MonitorElement * hadEnergyTiming_profile_HB
MonitorElement * mapEnergy_HF
MonitorElement * meEnergyHcalvsEcal_HE
std::vector< CaloTower >::const_iterator const_iterator
MonitorElement * meEnergyEcal_HB
MonitorElement * meTotEnergy_HB
MonitorElement * numPrbCellsHcal_HE
MonitorElement * hadEnergyTiming_profile_High_HB
double npart
Definition: HydjetWrapper.h:44
MonitorElement * meNumFiredTowers_HF
MonitorElement * phiMET_HE
MonitorElement * mapEnergyHcal_HB
MonitorElement * hadEnergyTiming_profile_HE
MonitorElement * meNumFiredTowers_HE
MonitorElement * hadTiming_HB
RhoEtaPhiVectorD RhoEtaPhiVector
spatial vector with cylindrical internal representation using pseudorapidity
Definition: Vector3D.h:32
MonitorElement * emTiming_HB
MonitorElement * hadEnergyTiming_Low_HE
MonitorElement * numBadCellsHcal_HB
MonitorElement * numBadCellsEcal_EE
void Fill(long long x)
MonitorElement * hadEnergyTiming_profile_Low_HF
MonitorElement * numRcvCellsEcal_EB
MonitorElement * meEnergyHcalTower_HF
MonitorElement * meEnergyEcalTower_HB
MonitorElement * numPrbCellsEcal_EB
MonitorElement * numBadCellsEcal_EB
MonitorElement * emean_vs_ieta_EH
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
T sqrt(T t)
Definition: SSEVec.h:48
MonitorElement * emEnergyTiming_High_HB
MonitorElement * mapEnergyHcal_HE
MonitorElement * phiMET_HB
MonitorElement * hadEnergyTiming_profile_Low_HB
MonitorElement * emTiming_HF
MonitorElement * emEnergyTiming_Low_HE
MonitorElement * mapEnergy_E
MonitorElement * numBadCellsHcal_HF
MonitorElement * numPrbCellsHcal_HB
MonitorElement * meEnergyEcalTower_HE
MonitorElement * meEnergyHcal_HF
MonitorElement * numPrbCellsHcal_HF
MonitorElement * meEnergyEcalTower_HF
MonitorElement * meEnergyHcalvsEcal_HF
MonitorElement * hadEnergyTiming_High_HB
MonitorElement * emEnergyTiming_HF
bool isValid() const
Definition: HandleBase.h:76
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:37
MonitorElement * mapEnergy_H
MonitorElement * emTiming_HE
MonitorElement * emEnergyTiming_profile_Low_HB
MonitorElement * hadEnergyTiming_HF
MonitorElement * numRcvCellsEcal_EE
MonitorElement * meEnergyHO_HE
MonitorElement * numBadCellsHcal_HE
MonitorElement * hadTiming_HF
Definition: DetId.h:18
MonitorElement * numRcvCellsHcal_HE
MonitorElement * meEnergyHcal_HE
MonitorElement * meEnergyEcal_HF
MonitorElement * meEnergyHcalTower_HE
edm::EDGetTokenT< edm::HepMCProduct > tok_evt_
MonitorElement * hadEnergyTiming_HB
MonitorElement * numRcvCellsHcal_HB
MonitorElement * emEnergyTiming_HB
MonitorElement * emEnergyTiming_profile_HF
MonitorElement * numRcvCellsHcal_HF
MonitorElement * numPrbCellsEcal_EE
MonitorElement * hadEnergyTiming_Low_HB
MonitorElement * meEnergyHO_HF
MonitorElement * meEnergyHcal_HB
MonitorElement * emEnergyTiming_Low_HB
MonitorElement * meNumFiredTowers_HB
MonitorElement * Ntowers_vs_ieta
MonitorElement * emean_vs_ieta_EH1
MonitorElement * meEnergyEcal_HE
MonitorElement * occupancy_map
MonitorElement * hadEnergyTiming_Low_HF
MonitorElement * meTotEnergy_HE
MonitorElement * mapEnergyHcal_HF
MonitorElement * emEnergyTiming_profile_Low_HE
MonitorElement * hadEnergyTiming_HE
tuple cout
Definition: gather_cfg.py:121
MonitorElement * emean_vs_ieta_E
int ieta() const
get the tower ieta
MonitorElement * emean_vs_ieta_H
MonitorElement * meEnergyHcalvsEcal_HB
MonitorElement * emEnergyTiming_profile_HE
Detector det() const
get the detector field from this detid
Definition: DetId.h:35
MonitorElement * meEnergyHO_HB
MonitorElement * mapEnergy_EH
MonitorElement * emEnergyTiming_profile_HB
MonitorElement * emEnergyTiming_profile_High_HB
const double Rmin[kNumberCalorimeter]
MonitorElement * mapEnergy_N
MonitorElement * mapEnergyEcal_HF
MonitorElement * mapEnergy_HB
void CaloTowersValidation::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 479 of file CaloTowersValidation.cc.

References nevent.

void CaloTowersValidation::beginRun ( void  )
virtual

Definition at line 400 of file CaloTowersValidation.cc.

400 {}
double CaloTowersValidation::dR ( double  eta1,
double  phi1,
double  eta2,
double  phi2 
)
private

Definition at line 883 of file CaloTowersValidation.cc.

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

Referenced by analyze().

883  {
884  double PI = 3.1415926535898;
885  double deltaphi= phi1 - phi2;
886  if( phi2 > phi1 ) { deltaphi= phi2 - phi1;}
887  if(deltaphi > PI) { deltaphi = 2.*PI - deltaphi;}
888  double deltaeta = eta2 - eta1;
889  double tmp = sqrt(deltaeta* deltaeta + deltaphi*deltaphi);
890  return tmp;
891 }
#define PI
T sqrt(T t)
Definition: SSEVec.h:48
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
void CaloTowersValidation::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 408 of file CaloTowersValidation.cc.

408  {
409 /*
410  // mean number of towers per ieta
411  int nx = Ntowers_vs_ieta->getNbinsX();
412  float cont;
413  float fev = float(nevent);
414 
415  for (int i = 1; i <= nx; i++) {
416  cont = Ntowers_vs_ieta -> getBinContent(i) / fev ;
417  Ntowers_vs_ieta -> setBinContent(i,cont);
418  }
419 
420  // mean energies & occupancies evaluation
421 
422  nx = mapEnergy_N->getNbinsX();
423  int ny = mapEnergy_N->getNbinsY();
424  float cnorm;
425  float phi_factor;
426 
427  for (int i = 1; i <= nx; i++) {
428  float sumphi = 0.;
429 
430  for (int j = 1; j <= ny; j++) {
431 
432  // Emean
433  cnorm = mapEnergy_N -> getBinContent(i,j);
434  //Phi histos are not used in the macros
435  if(cnorm > 0.000001 && useAllHistos_) {
436 
437  cont = mapEnergy_E -> getBinContent(i,j) / cnorm ;
438  mapEnergy_E -> setBinContent(i,j,cont);
439 
440  cont = mapEnergy_H -> getBinContent(i,j) / cnorm ;
441  mapEnergy_H -> setBinContent(i,j,cont);
442 
443  cont = mapEnergy_EH -> getBinContent(i,j) / cnorm ;
444  mapEnergy_EH -> setBinContent(i,j,cont);
445  }
446 
447  // Occupancy (needed for occupancy vs ieta)
448  cnorm = occupancy_map -> getBinContent(i,j) / fev;
449  if(cnorm > 1.e-30) occupancy_map -> setBinContent(i,j,cnorm);
450 
451  sumphi += cnorm;
452 
453  } // end of iphy cycle (j)
454 
455  //Occupancy vs ieta histo is drawn
456  // phi-factor evaluation for occupancy_vs_ieta calculation
457  int ieta = i - 42; // -41 -1, 0 40
458  if(ieta >=0 ) ieta +=1; // -41 -1, 1 41 - to make it detector-like
459 
460  if(ieta >= -20 && ieta <= 20 )
461  {phi_factor = 72.;}
462  else {
463  if(ieta >= 40 || ieta <= -40 ) {phi_factor = 18.;}
464  else
465  phi_factor = 36.;
466  }
467  if(ieta >= 0) ieta -= 1; // -41 -1, 0 40 - to bring back to histo num
468 
469  cnorm = sumphi / phi_factor;
470  occupancy_vs_ieta->Fill(double(ieta), cnorm);
471 
472 
473  } // end of ieta cycle (i)
474 
475  if ( outputFile_.size() != 0 && dbe_ ) dbe_->save(outputFile_);
476 */
477 }
void CaloTowersValidation::endRun ( void  )
virtual

Definition at line 402 of file CaloTowersValidation.cc.

402 {}

Member Data Documentation

DQMStore* CaloTowersValidation::dbe_
private

Definition at line 47 of file CaloTowersValidation.h.

Referenced by CaloTowersValidation().

MonitorElement* CaloTowersValidation::emean_vs_ieta_E
private

Definition at line 68 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emean_vs_ieta_E1
private

Definition at line 72 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emean_vs_ieta_EH
private

Definition at line 70 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emean_vs_ieta_EH1
private

Definition at line 74 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emean_vs_ieta_H
private

Definition at line 69 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emean_vs_ieta_H1
private

Definition at line 73 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emEnergyTiming_HB
private

Definition at line 126 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emEnergyTiming_HE
private

Definition at line 161 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emEnergyTiming_HF
private

Definition at line 190 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emEnergyTiming_High_HB
private

Definition at line 127 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emEnergyTiming_Low_HB
private

Definition at line 125 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emEnergyTiming_Low_HE
private

Definition at line 160 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emEnergyTiming_profile_HB
private

Definition at line 129 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emEnergyTiming_profile_HE
private

Definition at line 163 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emEnergyTiming_profile_HF
private

Definition at line 191 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emEnergyTiming_profile_High_HB
private

Definition at line 130 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emEnergyTiming_profile_Low_HB
private

Definition at line 128 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emEnergyTiming_profile_Low_HE
private

Definition at line 162 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emTiming_HB
private

Definition at line 122 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emTiming_HE
private

Definition at line 157 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::emTiming_HF
private

Definition at line 188 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

double CaloTowersValidation::etaMax[3]
private

Definition at line 64 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

double CaloTowersValidation::etaMin[3]
private

Definition at line 65 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_HB
private

Definition at line 133 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_HE
private

Definition at line 166 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_HF
private

Definition at line 194 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_High_HB
private

Definition at line 134 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_Low_HB
private

Definition at line 132 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_Low_HE
private

Definition at line 165 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_Low_HF
private

Definition at line 193 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_HB
private

Definition at line 136 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_HE
private

Definition at line 168 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_HF
private

Definition at line 196 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_High_HB
private

Definition at line 137 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_Low_HB
private

Definition at line 135 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_Low_HE
private

Definition at line 167 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadEnergyTiming_profile_Low_HF
private

Definition at line 195 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadTiming_HB
private

Definition at line 123 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadTiming_HE
private

Definition at line 158 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::hadTiming_HF
private

Definition at line 189 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

std::string CaloTowersValidation::hcalselector_
private

Definition at line 49 of file CaloTowersValidation.h.

Referenced by CaloTowersValidation().

int CaloTowersValidation::imc
private

Definition at line 61 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

int CaloTowersValidation::isub
private

Definition at line 58 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::mapEnergy_E
private

Definition at line 81 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::mapEnergy_EH
private

Definition at line 83 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::mapEnergy_H
private

Definition at line 82 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::mapEnergy_HB
private

Definition at line 115 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::mapEnergy_HE
private

Definition at line 150 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::mapEnergy_HF
private

Definition at line 181 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::mapEnergy_N
private

Definition at line 84 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::mapEnergyEcal_HB
private

Definition at line 116 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::mapEnergyEcal_HE
private

Definition at line 151 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::mapEnergyEcal_HF
private

Definition at line 182 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::mapEnergyHcal_HB
private

Definition at line 117 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::mapEnergyHcal_HE
private

Definition at line 152 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::mapEnergyHcal_HF
private

Definition at line 183 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

std::string CaloTowersValidation::mc_
private

Definition at line 50 of file CaloTowersValidation.h.

Referenced by CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyEcal_HB
private

Definition at line 107 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyEcal_HE
private

Definition at line 142 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyEcal_HF
private

Definition at line 173 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyEcalTower_HB
private

Definition at line 111 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyEcalTower_HE
private

Definition at line 146 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyEcalTower_HF
private

Definition at line 177 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyHcal_HB
private

Definition at line 108 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyHcal_HE
private

Definition at line 143 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyHcal_HF
private

Definition at line 174 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyHcalTower_HB
private

Definition at line 112 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyHcalTower_HE
private

Definition at line 147 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyHcalTower_HF
private

Definition at line 178 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyHcalvsEcal_HB
private

Definition at line 105 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyHcalvsEcal_HE
private

Definition at line 140 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyHcalvsEcal_HF
private

Definition at line 171 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyHO_HB
private

Definition at line 106 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyHO_HE
private

Definition at line 141 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meEnergyHO_HF
private

Definition at line 172 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meNumFiredTowers_HB
private

Definition at line 109 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meNumFiredTowers_HE
private

Definition at line 144 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meNumFiredTowers_HF
private

Definition at line 175 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::MET_HB
private

Definition at line 118 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::MET_HE
private

Definition at line 153 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::MET_HF
private

Definition at line 184 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meTotEnergy_HB
private

Definition at line 113 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meTotEnergy_HE
private

Definition at line 148 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::meTotEnergy_HF
private

Definition at line 179 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

int CaloTowersValidation::nevent
private

Definition at line 59 of file CaloTowersValidation.h.

Referenced by analyze(), and beginJob().

MonitorElement* CaloTowersValidation::Ntowers_vs_ieta
private

Definition at line 76 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numBadCellsEcal_EB
private

Definition at line 87 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numBadCellsEcal_EE
private

Definition at line 88 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numBadCellsHcal_HB
private

Definition at line 94 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numBadCellsHcal_HE
private

Definition at line 95 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numBadCellsHcal_HF
private

Definition at line 96 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numPrbCellsEcal_EB
private

Definition at line 91 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numPrbCellsEcal_EE
private

Definition at line 92 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numPrbCellsHcal_HB
private

Definition at line 100 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numPrbCellsHcal_HE
private

Definition at line 101 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numPrbCellsHcal_HF
private

Definition at line 102 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numRcvCellsEcal_EB
private

Definition at line 89 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numRcvCellsEcal_EE
private

Definition at line 90 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numRcvCellsHcal_HB
private

Definition at line 97 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numRcvCellsHcal_HE
private

Definition at line 98 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::numRcvCellsHcal_HF
private

Definition at line 99 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::occupancy_map
private

Definition at line 77 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::occupancy_vs_ieta
private

Definition at line 78 of file CaloTowersValidation.h.

Referenced by CaloTowersValidation().

std::string CaloTowersValidation::outputFile_
private

Definition at line 48 of file CaloTowersValidation.h.

Referenced by CaloTowersValidation().

MonitorElement* CaloTowersValidation::phiMET_HB
private

Definition at line 120 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::phiMET_HE
private

Definition at line 155 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::phiMET_HF
private

Definition at line 186 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::SET_HB
private

Definition at line 119 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::SET_HE
private

Definition at line 154 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

MonitorElement* CaloTowersValidation::SET_HF
private

Definition at line 185 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

edm::EDGetTokenT<CaloTowerCollection> CaloTowersValidation::tok_calo_
private

Definition at line 55 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

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

Definition at line 56 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().

bool CaloTowersValidation::useAllHistos_
private

Definition at line 51 of file CaloTowersValidation.h.

Referenced by analyze(), and CaloTowersValidation().