CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
HGCalRecHitValidation Class Reference
Inheritance diagram for HGCalRecHitValidation:
DQMEDAnalyzer edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Classes

struct  energysum
 
struct  HitsInfo
 

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 
 HGCalRecHitValidation (const edm::ParameterSet &)
 
 ~HGCalRecHitValidation () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void fillHitsInfo ()
 
void fillHitsInfo (HitsInfo &hits)
 
void fillOccupancyMap (std::map< int, int > &OccupancyMap, int layer)
 
template<class T1 , class T2 >
void recHitValidation (DetId &detId, int layer, const T1 *geom, T2 it)
 

Private Attributes

std::vector< MonitorElement * > energy_
 
std::vector< MonitorElement * > EtaPhi_Minus_
 
std::vector< MonitorElement * > EtaPhi_Plus_
 
std::vector< MonitorElement * > HitOccupancy_Minus_
 
std::vector< MonitorElement * > HitOccupancy_Plus_
 
bool ifHCAL_
 
unsigned int layers_
 
MonitorElementMeanHitOccupancy_Minus_
 
MonitorElementMeanHitOccupancy_Plus_
 
std::string nameDetector_
 
std::map< int, int > OccupancyMap_minus
 
std::map< int, int > OccupancyMap_plus
 
edm::EDGetToken recHitSource_
 
int verbosity_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- 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)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 41 of file HGCalRecHitValidation.cc.

Constructor & Destructor Documentation

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

Definition at line 92 of file HGCalRecHitValidation.cc.

References Exception, edm::ParameterSet::getParameter(), ifHCAL_, nameDetector_, recHitSource_, and groupFilesInBlocks::temp.

92  :
93  nameDetector_(iConfig.getParameter<std::string>("DetectorName")),
94  ifHCAL_(iConfig.getParameter<bool>("ifHCAL")),
95  verbosity_(iConfig.getUntrackedParameter<int>("Verbosity",0)) {
96 
97  auto temp = iConfig.getParameter<edm::InputTag>("RecHitSource");
98  if (nameDetector_ == "HGCalEESensitive" ||
99  nameDetector_ == "HGCalHESiliconSensitive" ||
100  nameDetector_ == "HGCalHEScintillatorSensitive") {
101  recHitSource_ = consumes<HGCRecHitCollection>(temp);
102  } else if (nameDetector_ == "HCal") {
103  if (ifHCAL_) recHitSource_ = consumes<HBHERecHitCollection>(temp);
104  else recHitSource_ = consumes<HGChebRecHitCollection>(temp);
105  } else {
106  throw cms::Exception("BadHGCRecHitSource")
107  << "HGCal DetectorName given as " << nameDetector_ << " must be: "
108  << "\"HGCalHESiliconSensitive\", \"HGCalHESiliconSensitive\", "
109  << "\"HGCalHEScintillatorSensitive\", or \"HCal\"!";
110  }
111 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
HGCalRecHitValidation::~HGCalRecHitValidation ( )
inlineoverride

Member Function Documentation

void HGCalRecHitValidation::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Definition at line 123 of file HGCalRecHitValidation.cc.

References HcalDetId::depth(), edm::EventID::event(), fillHitsInfo(), relativeConstraints::geom, motionPolicyChamber::geom0, edm::EventSetup::get(), edm::Event::getByToken(), HcalEndcap, edm::EventBase::id(), ifHCAL_, edm::ESHandleBase::isValid(), edm::HandleBase::isValid(), HGCalDetId::layer(), nameDetector_, OccupancyMap_minus, OccupancyMap_plus, convertSQLiteXML::ok, edm::Handle< T >::product(), edm::ESHandle< T >::product(), recHitSource_, recHitValidation(), edm::SortedCollection< T, SORT >::size(), DetId::subdetId(), and verbosity_.

Referenced by ~HGCalRecHitValidation().

124  {
125  OccupancyMap_plus.clear();
126  OccupancyMap_minus.clear();
127 
128  bool ok(true);
129  unsigned int ntot(0), nused(0);
130  if (nameDetector_ == "HCal") {
132  iSetup.get<CaloGeometryRecord>().get(geom);
133  if (!geom.isValid())
134  edm::LogWarning("HGCalValidation") << "Cannot get valid HGCalGeometry "
135  << "Object for " << nameDetector_;
136  const CaloGeometry* geom0 = geom.product();
137 
138  if (ifHCAL_) {
140  iEvent.getByToken(recHitSource_, hbhecoll);
141  if (hbhecoll.isValid()) {
142  if (verbosity_>0)
143  edm::LogVerbatim("HGCalValidation") << nameDetector_ << " with "
144  << hbhecoll->size()
145  << " element(s)";
146  for (const auto & it : *(hbhecoll.product())) {
147  DetId detId = it.id();
148  ntot++;
149  if (detId.subdetId() == HcalEndcap) {
150  nused++;
151  int layer = HcalDetId(detId).depth();
152  recHitValidation(detId, layer, geom0, &it);
153  }
154  }
155  } else {
156  ok = false;
157  edm::LogWarning("HGCalValidation") << "HBHERecHitCollection Handle does not exist !!!";
158  }
159  } else {
161  iEvent.getByToken(recHitSource_, hbhecoll);
162  if (hbhecoll.isValid()) {
163  if (verbosity_>0)
164  edm::LogVerbatim("HGCalValidation") << nameDetector_ << " with "
165  << hbhecoll->size()
166  << " element(s)";
167  for (const auto & it : *(hbhecoll.product())) {
168  DetId detId = it.id();
169  ntot++; nused++;
170  int layer = HcalDetId(detId).depth();
171  recHitValidation(detId, layer, geom0, &it);
172  }
173  } else {
174  ok = false;
175  edm::LogWarning("HGCalValidation") << "HGChebRecHitCollection Handle does not exist !!!";
176  }
177  }
178  } else {
180  iSetup.get<IdealGeometryRecord>().get(nameDetector_, geom);
181  if (!geom.isValid()) edm::LogWarning("HGCalValidation") << "Cannot get valid HGCalGeometry Object for " << nameDetector_;
182  const HGCalGeometry* geom0 = geom.product();
183 
184  edm::Handle<HGCRecHitCollection> theRecHitContainers;
185  iEvent.getByToken(recHitSource_, theRecHitContainers);
186  if (theRecHitContainers.isValid()) {
187  if (verbosity_>0)
188  edm::LogVerbatim("HGCalValidation") << nameDetector_ << " with "
189  << theRecHitContainers->size()
190  << " element(s)";
191  for (const auto & it : *(theRecHitContainers.product())) {
192  ntot++; nused++;
193  DetId detId = it.id();
194  int layer = HGCalDetId(detId).layer();
195  recHitValidation(detId, layer, geom0, &it);
196  }
197  } else {
198  ok = false;
199  edm::LogWarning("HGCalValidation") << "HGCRecHitCollection Handle does not exist !!!";
200  }
201  }
202  if (ok) fillHitsInfo();
203  edm::LogVerbatim("HGCalValidation") << "Event " << iEvent.id().event()
204  << " with " << ntot << " total and "
205  << nused << " used recHits";
206 }
EventNumber_t event() const
Definition: EventID.h:41
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:519
int depth() const
get the tower depth
Definition: HcalDetId.cc:108
std::map< int, int > OccupancyMap_minus
bool isValid() const
Definition: HandleBase.h:74
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:38
Definition: DetId.h:18
T const * product() const
Definition: Handle.h:81
const T & get() const
Definition: EventSetup.h:59
std::map< int, int > OccupancyMap_plus
edm::EventID id() const
Definition: EventBase.h:60
size_type size() const
bool isValid() const
Definition: ESHandle.h:47
T const * product() const
Definition: ESHandle.h:86
void recHitValidation(DetId &detId, int layer, const T1 *geom, T2 it)
int layer() const
get the layer #
Definition: HGCalDetId.h:48
void HGCalRecHitValidation::bookHistograms ( DQMStore::IBooker iB,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 288 of file HGCalRecHitValidation.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DEFINE_FWK_MODULE, energy_, EtaPhi_Minus_, EtaPhi_Plus_, HitOccupancy_Minus_, HitOccupancy_Plus_, layers_, MeanHitOccupancy_Minus_, MeanHitOccupancy_Plus_, nameDetector_, pi, and DQMStore::IBooker::setCurrentFolder().

Referenced by ~HGCalRecHitValidation().

290  {
291 
292  iB.setCurrentFolder("HGCalRecHitsV/"+nameDetector_);
293  std::ostringstream histoname;
294  for (unsigned int ilayer = 0; ilayer < layers_; ilayer++ ) {
295  histoname.str(""); histoname << "HitOccupancy_Plus_layer_" << ilayer;
296  HitOccupancy_Plus_.push_back(iB.book1D( histoname.str().c_str(), "RecHitOccupancy_Plus", 100, 0, 10000));
297  histoname.str(""); histoname << "HitOccupancy_Minus_layer_" << ilayer;
298  HitOccupancy_Minus_.push_back(iB.book1D( histoname.str().c_str(), "RecHitOccupancy_Minus", 100, 0, 10000));
299 
300  histoname.str(""); histoname << "EtaPhi_Plus_" << "layer_" << ilayer;
301  EtaPhi_Plus_.push_back(iB.book2D(histoname.str().c_str(), "Occupancy", 31, 1.45, 3.0, 72, -CLHEP::pi, CLHEP::pi));
302  histoname.str(""); histoname << "EtaPhi_Minus_" << "layer_" << ilayer;
303  EtaPhi_Minus_.push_back(iB.book2D(histoname.str().c_str(), "Occupancy", 31, -3.0, -1.45, 72, -CLHEP::pi, CLHEP::pi));
304 
305  histoname.str(""); histoname << "energy_layer_" << ilayer;
306  energy_.push_back(iB.book1D(histoname.str().c_str(),"energy_",100,0,0.002));
307  }//loop over layers ends here
308 
309  histoname.str(""); histoname << "SUMOfRecHitOccupancy_Plus";
310  MeanHitOccupancy_Plus_= iB.book1D( histoname.str().c_str(), "SUMOfRecHitOccupancy_Plus", layers_, -0.5, layers_-0.5);
311  histoname.str(""); histoname << "SUMOfRecHitOccupancy_Minus";
312  MeanHitOccupancy_Minus_ = iB.book1D( histoname.str().c_str(), "SUMOfRecHitOccupancy_Minus", layers_, -0.5,layers_-0.5);
313 }
std::vector< MonitorElement * > EtaPhi_Minus_
std::vector< MonitorElement * > EtaPhi_Plus_
std::vector< MonitorElement * > HitOccupancy_Minus_
const Double_t pi
MonitorElement * MeanHitOccupancy_Plus_
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
MonitorElement * MeanHitOccupancy_Minus_
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:279
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:136
std::vector< MonitorElement * > HitOccupancy_Plus_
std::vector< MonitorElement * > energy_
void HGCalRecHitValidation::dqmBeginRun ( const edm::Run ,
const edm::EventSetup iSetup 
)
override

Definition at line 272 of file HGCalRecHitValidation.cc.

References edm::EventSetup::get(), HcalDDDRecConstants::getMaxDepth(), HGCalDDDConstants::layers(), layers_, and nameDetector_.

Referenced by ~HGCalRecHitValidation().

273  {
274 
275  if (nameDetector_ == "HCal") {
277  iSetup.get<HcalRecNumberingRecord>().get( pHRNDC );
278  const HcalDDDRecConstants *hcons = &(*pHRNDC);
279  layers_ = hcons->getMaxDepth(1);
280  } else {
282  iSetup.get<IdealGeometryRecord>().get(nameDetector_, pHGDC);
283  const HGCalDDDConstants & hgcons_ = (*pHGDC);
284  layers_ = hgcons_.layers(true);
285  }
286 }
unsigned int layers(bool reco) const
int getMaxDepth(const int &type) const
const T & get() const
Definition: EventSetup.h:59
void HGCalRecHitValidation::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 114 of file HGCalRecHitValidation.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::addUntracked(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by ~HGCalRecHitValidation().

114  {
116  desc.add<std::string>("DetectorName","HGCalEESensitive");
117  desc.add<edm::InputTag>("RecHitSource",edm::InputTag("HGCalRecHit","HGCEERecHits"));
118  desc.add<bool>("ifHCAL",false);
119  desc.addUntracked<int>("Verbosity",0);
120  descriptions.add("hgcalRecHitValidationEE",desc);
121 }
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void HGCalRecHitValidation::fillHitsInfo ( )
private

Definition at line 246 of file HGCalRecHitValidation.cc.

References HitOccupancy_Minus_, HitOccupancy_Plus_, OccupancyMap_minus, and OccupancyMap_plus.

Referenced by analyze(), recHitValidation(), and ~HGCalRecHitValidation().

246  {
247 
248  for (auto itr = OccupancyMap_plus.begin() ; itr != OccupancyMap_plus.end(); ++itr) {
249  int layer = (*itr).first;
250  int occupancy = (*itr).second;
251  HitOccupancy_Plus_.at(layer)->Fill(occupancy);
252  }
253 
254  for (auto itr = OccupancyMap_minus.begin() ; itr != OccupancyMap_minus.end(); ++itr) {
255  int layer = (*itr).first;
256  int occupancy = (*itr).second;
257  HitOccupancy_Minus_.at(layer)->Fill(occupancy);
258  }
259 
260 }
std::vector< MonitorElement * > HitOccupancy_Minus_
std::map< int, int > OccupancyMap_minus
std::map< int, int > OccupancyMap_plus
std::vector< MonitorElement * > HitOccupancy_Plus_
void HGCalRecHitValidation::fillHitsInfo ( HitsInfo hits)
private

Definition at line 262 of file HGCalRecHitValidation.cc.

References HGCalRecHitValidation::HitsInfo::energy, energy_, HGCalRecHitValidation::HitsInfo::eta, EtaPhi_Minus_, EtaPhi_Plus_, HGCalRecHitValidation::HitsInfo::layer, and HGCalRecHitValidation::HitsInfo::phi.

262  {
263 
264  unsigned int ilayer = hits.layer -1;
265  energy_.at(ilayer)->Fill(hits.energy);
266 
267  EtaPhi_Plus_.at(ilayer)->Fill(hits.eta , hits.phi);
268  EtaPhi_Minus_.at(ilayer)->Fill(hits.eta, hits.phi);
269 
270 }
std::vector< MonitorElement * > EtaPhi_Minus_
std::vector< MonitorElement * > EtaPhi_Plus_
std::vector< MonitorElement * > energy_
void HGCalRecHitValidation::fillOccupancyMap ( std::map< int, int > &  OccupancyMap,
int  layer 
)
private

Definition at line 241 of file HGCalRecHitValidation.cc.

Referenced by recHitValidation(), and ~HGCalRecHitValidation().

241  {
242  if (OccupancyMap.find(layer) != OccupancyMap.end()) OccupancyMap[layer]++;
243  else OccupancyMap[layer] = 1;
244 }
template<class T1 , class T2 >
void HGCalRecHitValidation::recHitValidation ( DetId detId,
int  layer,
const T1 *  geom,
T2  it 
)
private

Definition at line 209 of file HGCalRecHitValidation.cc.

References HGCalRecHitValidation::HitsInfo::energy, HGCalRecHitValidation::HitsInfo::eta, PV3DBase< T, PVType, FrameType >::eta(), fillHitsInfo(), fillOccupancyMap(), HGCalRecHitValidation::HitsInfo::layer, OccupancyMap_minus, OccupancyMap_plus, HGCalRecHitValidation::HitsInfo::phi, PV3DBase< T, PVType, FrameType >::phi(), verbosity_, HGCalRecHitValidation::HitsInfo::x, PV3DBase< T, PVType, FrameType >::x(), HGCalRecHitValidation::HitsInfo::y, PV3DBase< T, PVType, FrameType >::y(), HGCalRecHitValidation::HitsInfo::z, and PV3DBase< T, PVType, FrameType >::z().

Referenced by analyze(), and ~HGCalRecHitValidation().

210  {
211 
212  const GlobalPoint& global = geom->getPosition(detId);
213  double energy = it->energy();
214 
215  float globalx = global.x();
216  float globaly = global.y();
217  float globalz = global.z();
218 
219  HitsInfo hinfo;
220  hinfo.energy = energy;
221  hinfo.x = globalx;
222  hinfo.y = globaly;
223  hinfo.z = globalz;
224  hinfo.layer = layer;
225  hinfo.phi = global.phi();
226  hinfo.eta = global.eta();
227 
228  if (verbosity_>1)
229  edm::LogVerbatim("HGCalValidation") << "-------------------------- gx = "
230  << globalx << " gy = " << globaly
231  << " gz = " << globalz << " phi = "
232  << hinfo.phi << " eta = " << hinfo.eta;
233 
234  fillHitsInfo(hinfo);
235 
236  if (hinfo.eta > 0) fillOccupancyMap(OccupancyMap_plus, layer -1);
237  else fillOccupancyMap(OccupancyMap_minus, layer -1);
238 
239 }
Geom::Phi< T > phi() const
Definition: PV3DBase.h:69
T y() const
Definition: PV3DBase.h:63
std::map< int, int > OccupancyMap_minus
T z() const
Definition: PV3DBase.h:64
void fillOccupancyMap(std::map< int, int > &OccupancyMap, int layer)
T eta() const
Definition: PV3DBase.h:76
std::map< int, int > OccupancyMap_plus
T x() const
Definition: PV3DBase.h:62

Member Data Documentation

std::vector<MonitorElement*> HGCalRecHitValidation::energy_
private

Definition at line 85 of file HGCalRecHitValidation.cc.

Referenced by bookHistograms(), and fillHitsInfo().

std::vector<MonitorElement*> HGCalRecHitValidation::EtaPhi_Minus_
private

Definition at line 84 of file HGCalRecHitValidation.cc.

Referenced by bookHistograms(), and fillHitsInfo().

std::vector<MonitorElement*> HGCalRecHitValidation::EtaPhi_Plus_
private

Definition at line 83 of file HGCalRecHitValidation.cc.

Referenced by bookHistograms(), and fillHitsInfo().

std::vector<MonitorElement*> HGCalRecHitValidation::HitOccupancy_Minus_
private

Definition at line 87 of file HGCalRecHitValidation.cc.

Referenced by bookHistograms(), and fillHitsInfo().

std::vector<MonitorElement*> HGCalRecHitValidation::HitOccupancy_Plus_
private

Definition at line 86 of file HGCalRecHitValidation.cc.

Referenced by bookHistograms(), and fillHitsInfo().

bool HGCalRecHitValidation::ifHCAL_
private

Definition at line 77 of file HGCalRecHitValidation.cc.

Referenced by analyze(), and HGCalRecHitValidation().

unsigned int HGCalRecHitValidation::layers_
private

Definition at line 79 of file HGCalRecHitValidation.cc.

Referenced by bookHistograms(), and dqmBeginRun().

MonitorElement* HGCalRecHitValidation::MeanHitOccupancy_Minus_
private

Definition at line 89 of file HGCalRecHitValidation.cc.

Referenced by bookHistograms().

MonitorElement* HGCalRecHitValidation::MeanHitOccupancy_Plus_
private

Definition at line 88 of file HGCalRecHitValidation.cc.

Referenced by bookHistograms().

std::string HGCalRecHitValidation::nameDetector_
private
std::map<int, int> HGCalRecHitValidation::OccupancyMap_minus
private

Definition at line 81 of file HGCalRecHitValidation.cc.

Referenced by analyze(), fillHitsInfo(), and recHitValidation().

std::map<int, int> HGCalRecHitValidation::OccupancyMap_plus
private

Definition at line 80 of file HGCalRecHitValidation.cc.

Referenced by analyze(), fillHitsInfo(), and recHitValidation().

edm::EDGetToken HGCalRecHitValidation::recHitSource_
private

Definition at line 76 of file HGCalRecHitValidation.cc.

Referenced by analyze(), and HGCalRecHitValidation().

int HGCalRecHitValidation::verbosity_
private

Definition at line 78 of file HGCalRecHitValidation.cc.

Referenced by analyze(), and recHitValidation().