CMS 3D CMS Logo

OccupancyPlots.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: OccupancyPlots
4 // Class: OccupancyPlots
5 //
13 //
14 // Original Author: Andrea Venturi
15 // Created: Mon Oct 27 17:37:53 CET 2008
16 // $Id: OccupancyPlots.cc,v 1.3 2013/02/27 19:49:47 wmtan Exp $
17 //
18 //
19 
20 // system include files
21 #include <memory>
22 
23 // user include files
24 
25 #include <vector>
26 #include <map>
27 #include <limits>
28 
29 #include "TProfile.h"
30 
41 
46 
51 
61 
62 //
63 // class decleration
64 //
65 
67 public:
68  explicit OccupancyPlots(const edm::ParameterSet&);
69  ~OccupancyPlots() override;
70 
71 private:
72  void beginJob() override;
73  void analyze(const edm::Event&, const edm::EventSetup&) override;
74  void beginRun(const edm::Run&, const edm::EventSetup&) override;
75  void endRun(const edm::Run&, const edm::EventSetup&) override;
76  void endJob() override;
77 
78  // ----------member data ---------------------------
79 
80  std::vector<edm::EDGetTokenT<std::map<unsigned int, int> > > m_multiplicityMapTokens;
81  std::vector<edm::EDGetTokenT<std::map<unsigned int, int> > > m_occupancyMapTokens;
83 
85  std::map<unsigned int, DetIdSelector> m_wantedsubdets;
86 
87  TProfile** m_avemultiplicity;
88  TProfile** m_aveoccupancy;
89 
92 
93  TProfile** m_averadius;
94  TProfile** m_avez;
95  TProfile** m_avex;
96  TProfile** m_avey;
97  TProfile** m_zavedr;
98  TProfile** m_zavedz;
99  TProfile** m_zavedrphi;
100  TProfile** m_yavedr;
101  TProfile** m_yavedz;
102  TProfile** m_yavedrphi;
103  TProfile** m_xavedr;
104  TProfile** m_xavedz;
105  TProfile** m_xavedrphi;
106 };
107 
108 //
109 // constants, enums and typedefs
110 //
111 
112 //
113 // static data member definitions
114 //
115 
116 //
117 // constructors and destructor
118 //
120  : m_multiplicityMapTokens(edm::vector_transform(
121  iConfig.getParameter<std::vector<edm::InputTag> >("multiplicityMaps"),
122  [this](edm::InputTag const& tag) { return consumes<std::map<unsigned int, int> >(tag); })),
123  m_occupancyMapTokens(edm::vector_transform(
124  iConfig.getParameter<std::vector<edm::InputTag> >("occupancyMaps"),
125  [this](edm::InputTag const& tag) { return consumes<std::map<unsigned int, int> >(tag); })),
126  m_fp(iConfig.getUntrackedParameter<edm::FileInPath>(
127  "file", edm::FileInPath("CalibTracker/SiPixelESProducers/data/PixelSkimmedGeometry.txt"))),
128  m_rhm(consumesCollector()),
129  m_wantedsubdets() {
130  //now do what ever initialization is needed
131 
132  m_avemultiplicity = m_rhm.makeTProfile("avemult", "Average Multiplicty", 6000, 0.5, 6000.5);
133  m_aveoccupancy = m_rhm.makeTProfile("aveoccu", "Average Occupancy", 6000, 0.5, 6000.5);
134 
135  m_nchannels_ideal = m_rhm.makeTH1F("nchannels_ideal", "Number of channels (ideal)", 6000, 0.5, 6000.5);
136  m_nchannels_real = m_rhm.makeTH1F("nchannels_real", "Number of channels (real)", 6000, 0.5, 6000.5);
137 
138  m_averadius = m_rhm.makeTProfile("averadius", "Average Module Radius", 6000, 0.5, 6000.5);
139  m_avez = m_rhm.makeTProfile("avez", "Average Module z coordinate", 6000, 0.5, 6000.5);
140  m_avex = m_rhm.makeTProfile("avex", "Average Module x coordinate", 6000, 0.5, 6000.5);
141  m_avey = m_rhm.makeTProfile("avey", "Average Module y coordinate", 6000, 0.5, 6000.5);
142 
143  m_zavedr = m_rhm.makeTProfile("zavedr", "Average z unit vector dr", 6000, 0.5, 6000.5);
144  m_zavedz = m_rhm.makeTProfile("zavedz", "Average z unit vector dz", 6000, 0.5, 6000.5);
145  m_zavedrphi = m_rhm.makeTProfile("zavedrphi", "Average z unit vector drphi", 6000, 0.5, 6000.5);
146  m_xavedr = m_rhm.makeTProfile("xavedr", "Average x unit vector dr", 6000, 0.5, 6000.5);
147  m_xavedz = m_rhm.makeTProfile("xavedz", "Average x unit vctor dz", 6000, 0.5, 6000.5);
148  m_xavedrphi = m_rhm.makeTProfile("xavedrphi", "Average Module x unit vector drphi", 6000, 0.5, 6000.5);
149  m_yavedr = m_rhm.makeTProfile("yavedr", "Average y unit vector dr", 6000, 0.5, 6000.5);
150  m_yavedz = m_rhm.makeTProfile("yavedz", "Average y unit vector dz", 6000, 0.5, 6000.5);
151  m_yavedrphi = m_rhm.makeTProfile("yavedrphi", "Average y unit vector drphi", 6000, 0.5, 6000.5);
152 
153  std::vector<edm::ParameterSet> wantedsubdets_ps =
154  iConfig.getParameter<std::vector<edm::ParameterSet> >("wantedSubDets");
155 
156  for (std::vector<edm::ParameterSet>::const_iterator wsdps = wantedsubdets_ps.begin(); wsdps != wantedsubdets_ps.end();
157  ++wsdps) {
158  unsigned int detsel = wsdps->getParameter<unsigned int>("detSelection");
159  std::vector<std::string> selstr = wsdps->getUntrackedParameter<std::vector<std::string> >("selection");
160  m_wantedsubdets[detsel] = DetIdSelector(selstr);
161  }
162 }
163 
165  // do anything here that needs to be done at desctruction time
166  // (e.g. close files, deallocate resources etc.)
167 }
168 
169 //
170 // member functions
171 //
172 
173 // ------------ method called to for each event ------------
175  using namespace edm;
176 
177  for (std::vector<edm::EDGetTokenT<std::map<unsigned int, int> > >::const_iterator mapToken =
178  m_multiplicityMapTokens.begin();
179  mapToken != m_multiplicityMapTokens.end();
180  ++mapToken) {
182  iEvent.getByToken(*mapToken, mults);
183 
184  for (std::map<unsigned int, int>::const_iterator mult = mults->begin(); mult != mults->end(); mult++) {
186  (*m_avemultiplicity)->Fill(mult->first, mult->second);
187  }
188  }
189 
190  for (std::vector<edm::EDGetTokenT<std::map<unsigned int, int> > >::const_iterator mapToken =
191  m_occupancyMapTokens.begin();
192  mapToken != m_occupancyMapTokens.end();
193  ++mapToken) {
195  iEvent.getByToken(*mapToken, occus);
196 
197  for (std::map<unsigned int, int>::const_iterator occu = occus->begin(); occu != occus->end(); occu++) {
199  (*m_aveoccupancy)->Fill(occu->first, occu->second);
200  }
201  }
202 }
203 
204 // ------------ method called once each job just before starting event loop ------------
206 
207 void OccupancyPlots::beginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) { m_rhm.beginRun(iRun); }
208 
209 void OccupancyPlots::endRun(const edm::Run& iRun, const edm::EventSetup& iSetup) {
210  // edm::ESHandle<GlobalTrackingGeometry> trkgeo;
211  // iSetup.get<GlobalTrackingGeometryRecord>().get("",trkgeo);
213  iSetup.get<TrackerDigiGeometryRecord>().get("", trkgeo);
214 
215  // Test new TrackerGeometry features
216  LogDebug("IsThereTest") << "Test of TrackerGeometry::isThere";
217  LogTrace("IsThereTest") << " is there PixelBarrel: " << trkgeo->isThere(GeomDetEnumerators::PixelBarrel);
218  LogTrace("IsThereTest") << " is there PixelEndcap: " << trkgeo->isThere(GeomDetEnumerators::PixelEndcap);
219  LogTrace("IsThereTest") << " is there P1PXB: " << trkgeo->isThere(GeomDetEnumerators::P1PXB);
220  LogTrace("IsThereTest") << " is there P1PXEC: " << trkgeo->isThere(GeomDetEnumerators::P1PXEC);
221  LogTrace("IsThereTest") << " is there P2PXB: " << trkgeo->isThere(GeomDetEnumerators::P2PXB);
222  LogTrace("IsThereTest") << " is there P2PXEC: " << trkgeo->isThere(GeomDetEnumerators::P2PXEC);
223  LogTrace("IsThereTest") << " is there TIB: " << trkgeo->isThere(GeomDetEnumerators::TIB);
224  LogTrace("IsThereTest") << " is there TID: " << trkgeo->isThere(GeomDetEnumerators::TID);
225  LogTrace("IsThereTest") << " is there TOB: " << trkgeo->isThere(GeomDetEnumerators::TOB);
226  LogTrace("IsThereTest") << " is there TEC: " << trkgeo->isThere(GeomDetEnumerators::TEC);
227  LogTrace("IsThereTest") << " is there P2OTB: " << trkgeo->isThere(GeomDetEnumerators::P2OTB);
228  LogTrace("IsThereTest") << " is there P2OTEC: " << trkgeo->isThere(GeomDetEnumerators::P2OTEC);
229 
230  const Local2DPoint center(0., 0.);
231  const Local3DPoint locz(0., 0., 1.);
232  const Local3DPoint locx(1., 0., 0.);
233  const Local3DPoint locy(0., 1., 0.);
234  const GlobalPoint origin(0., 0., 0.);
235 
236  TrackingGeometry::DetIdContainer detunits = trkgeo->detUnitIds();
237 
238  for (TrackingGeometry::DetIdContainer::const_iterator det = detunits.begin(); det != detunits.end(); ++det) {
239  if (det->det() != DetId::Tracker)
240  continue;
241 
242  edm::LogInfo("DetIdFromGeometry") << det->rawId();
243 
244  GlobalPoint position = trkgeo->idToDet(*det)->toGlobal(center);
245  GlobalPoint zpos = trkgeo->idToDet(*det)->toGlobal(locz);
246  GlobalPoint xpos = trkgeo->idToDet(*det)->toGlobal(locx);
247  GlobalPoint ypos = trkgeo->idToDet(*det)->toGlobal(locy);
248  GlobalVector posvect = position - origin;
249  GlobalVector dz = zpos - position;
250  GlobalVector dx = xpos - position;
251  GlobalVector dy = ypos - position;
252 
253  double dzdr = posvect.perp() > 0 ? (dz.x() * posvect.x() + dz.y() * posvect.y()) / posvect.perp() : 0.;
254  double dxdr = posvect.perp() > 0 ? (dx.x() * posvect.x() + dx.y() * posvect.y()) / posvect.perp() : 0.;
255  double dydr = posvect.perp() > 0 ? (dy.x() * posvect.x() + dy.y() * posvect.y()) / posvect.perp() : 0.;
256 
257  double dzdrphi = posvect.perp() > 0 ? (dz.y() * posvect.x() - dz.x() * posvect.y()) / posvect.perp() : 0.;
258  double dxdrphi = posvect.perp() > 0 ? (dx.y() * posvect.x() - dx.x() * posvect.y()) / posvect.perp() : 0.;
259  double dydrphi = posvect.perp() > 0 ? (dy.y() * posvect.x() - dy.x() * posvect.y()) / posvect.perp() : 0.;
260 
261  for (std::map<unsigned int, DetIdSelector>::const_iterator sel = m_wantedsubdets.begin();
262  sel != m_wantedsubdets.end();
263  ++sel) {
264  if (sel->second.isSelected(*det)) {
265  edm::LogInfo("SelectedDetId") << sel->first;
266  // average positions
267  if (m_averadius && *m_averadius)
268  (*m_averadius)->Fill(sel->first, position.perp());
269  if (m_avez && *m_avez)
270  (*m_avez)->Fill(sel->first, position.z());
271  if (m_avex && *m_avex)
272  (*m_avex)->Fill(sel->first, position.x());
273  if (m_avey && *m_avey)
274  (*m_avey)->Fill(sel->first, position.y());
275  if (m_zavedr && *m_zavedr)
276  (*m_zavedr)->Fill(sel->first, dzdr);
277  if (m_zavedz && *m_zavedz)
278  (*m_zavedz)->Fill(sel->first, dz.z());
279  if (m_zavedrphi && *m_zavedrphi)
280  (*m_zavedrphi)->Fill(sel->first, dzdrphi);
281  if (m_xavedr && *m_xavedr)
282  (*m_xavedr)->Fill(sel->first, dxdr);
283  if (m_xavedz && *m_xavedz)
284  (*m_xavedz)->Fill(sel->first, dx.z());
285  if (m_xavedrphi && *m_xavedrphi)
286  (*m_xavedrphi)->Fill(sel->first, dxdrphi);
287  if (m_yavedr && *m_yavedr)
288  (*m_yavedr)->Fill(sel->first, dydr);
289  if (m_yavedz && *m_yavedz)
290  (*m_yavedz)->Fill(sel->first, dy.z());
291  if (m_yavedrphi && *m_yavedrphi)
292  (*m_yavedrphi)->Fill(sel->first, dydrphi);
293  }
294  }
295  }
296 
297  // counting the number of channels per module subset
298 
299  // the histograms have to be reset to avoid double counting if endRun is called more than once
300 
302  (*m_nchannels_ideal)->Reset();
304  (*m_nchannels_real)->Reset();
305 
307  iSetup.get<SiStripQualityRcd>().get("", quality);
308 
309  for (const auto det : trkgeo->detUnits()) {
310  const StripGeomDetUnit* stripDet = dynamic_cast<const StripGeomDetUnit*>(det);
311  if (stripDet != nullptr) {
312  const DetId detid = stripDet->geographicalId();
313 
314  int nchannideal = stripDet->specificTopology().nstrips();
315  // int nchannreal = stripDet->specificTopology().nstrips();
316  int nchannreal = 0;
317  for (int strip = 0; strip < nchannideal; ++strip) {
318  if (!quality->IsStripBad(detid, strip))
319  ++nchannreal;
320  }
321 
322  for (std::map<unsigned int, DetIdSelector>::const_iterator sel = m_wantedsubdets.begin();
323  sel != m_wantedsubdets.end();
324  ++sel) {
325  if (sel->second.isSelected(detid)) {
327  (*m_nchannels_ideal)->Fill(sel->first, nchannideal);
329  (*m_nchannels_real)->Fill(sel->first, nchannreal);
330  }
331  }
332  }
333  }
334 
336  iSetup.get<SiPixelQualityRcd>().get("", pxlquality);
337 
339 
340  const std::vector<uint32_t>& pxldetids = pxlreader.getAllDetIds();
341 
342  for (std::vector<uint32_t>::const_iterator detid = pxldetids.begin(); detid != pxldetids.end(); ++detid) {
343  int nchannideal = pxlreader.getDetUnitDimensions(*detid).first * pxlreader.getDetUnitDimensions(*detid).second;
344  int nchannreal = 0;
345  if (!pxlquality->IsModuleBad(*detid)) {
346  nchannreal = pxlreader.getDetUnitDimensions(*detid).first * pxlreader.getDetUnitDimensions(*detid).second;
347  }
348  /*
349  int nchannreal = 0;
350  for(int strip = 0; strip < nchannideal; ++strip) {
351  if(!quality->IsStripBad(*detid,strip)) ++nchannreal;
352  }
353  */
354 
355  for (std::map<unsigned int, DetIdSelector>::const_iterator sel = m_wantedsubdets.begin();
356  sel != m_wantedsubdets.end();
357  ++sel) {
358  if (sel->second.isSelected(*detid)) {
360  (*m_nchannels_ideal)->Fill(sel->first, nchannideal);
362  (*m_nchannels_real)->Fill(sel->first, nchannreal);
363  }
364  }
365  }
366 }
367 // ------------ method called once each job just after ending the event loop ------------
369 //define this as a plug-in
Vector3DBase
Definition: Vector3DBase.h:8
SiPixelDetInfoFileReader::getAllDetIds
const std::vector< uint32_t > & getAllDetIds() const
Definition: SiPixelDetInfoFileReader.cc:85
TrackerGeometry::idToDet
const TrackerGeomDet * idToDet(DetId) const override
Definition: TrackerGeometry.cc:193
Point2DBase< float, LocalTag >
OccupancyPlots::m_fp
edm::FileInPath m_fp
Definition: OccupancyPlots.cc:82
SiPixelQuality::IsModuleBad
bool IsModuleBad(const uint32_t &detid) const
Definition: SiPixelQuality.cc:97
OccupancyPlots::endRun
void endRun(const edm::Run &, const edm::EventSetup &) override
Definition: OccupancyPlots.cc:209
StripGeomDetUnit.h
MessageLogger.h
OccupancyPlots::m_rhm
RunHistogramManager m_rhm
Definition: OccupancyPlots.cc:84
TrackerGeometry.h
GeomDetEnumerators::TID
Definition: GeomDetEnumerators.h:15
SiPixelQualityRcd
Definition: SiPixelQualityRcd.h:13
ESHandle.h
OccupancyPlots::m_xavedrphi
TProfile ** m_xavedrphi
Definition: OccupancyPlots.cc:105
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
OccupancyPlots::m_nchannels_ideal
TH1F ** m_nchannels_ideal
Definition: OccupancyPlots.cc:90
edm::Run
Definition: Run.h:45
OccupancyPlots::endJob
void endJob() override
Definition: OccupancyPlots.cc:368
edm::EDGetTokenT
Definition: EDGetToken.h:33
edm
HLT enums.
Definition: AlignableModifier.h:19
digitizers_cfi.strip
strip
Definition: digitizers_cfi.py:19
OccupancyPlots::m_zavedz
TProfile ** m_zavedz
Definition: OccupancyPlots.cc:98
GeomDetEnumerators::TIB
Definition: GeomDetEnumerators.h:13
edm::LogInfo
Definition: MessageLogger.h:254
OccupancyPlots::m_nchannels_real
TH1F ** m_nchannels_real
Definition: OccupancyPlots.cc:91
OccupancyPlots::m_aveoccupancy
TProfile ** m_aveoccupancy
Definition: OccupancyPlots.cc:88
GeomDetEnumerators::P2OTB
Definition: GeomDetEnumerators.h:23
GeomDetEnumerators::TOB
Definition: GeomDetEnumerators.h:14
DetIdSelector.h
EDAnalyzer.h
OccupancyPlots::OccupancyPlots
OccupancyPlots(const edm::ParameterSet &)
Definition: OccupancyPlots.cc:119
watchdog.const
const
Definition: watchdog.py:83
edm::Handle
Definition: AssociativeIterator.h:50
edm::EDAnalyzer
Definition: EDAnalyzer.h:29
FileInPath.h
DetId
Definition: DetId.h:17
SiPixelDetInfoFileReader
Definition: SiPixelDetInfoFileReader.h:28
edm::FileInPath
Definition: FileInPath.h:64
GeomDetEnumerators::PixelBarrel
Definition: GeomDetEnumerators.h:11
MakerMacros.h
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
RunHistogramManager
Definition: RunHistogramManager.h:210
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
OccupancyPlots::m_zavedrphi
TProfile ** m_zavedrphi
Definition: OccupancyPlots.cc:99
GlobalPosition_Frontier_DevDB_cff.tag
tag
Definition: GlobalPosition_Frontier_DevDB_cff.py:11
SiPixelQualityRcd.h
TrackerGeometry::detUnits
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
Definition: TrackerGeometry.h:61
GeomDetEnumerators::P1PXEC
Definition: GeomDetEnumerators.h:26
RunHistogramManager.h
SiStripQualityRcd
Definition: SiStripDependentRecords.h:56
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
OccupancyPlots
Definition: OccupancyPlots.cc:66
OccupancyPlots::m_avey
TProfile ** m_avey
Definition: OccupancyPlots.cc:96
Run.h
edm::ESHandle< TrackerGeometry >
OccupancyPlots::m_xavedz
TProfile ** m_xavedz
Definition: OccupancyPlots.cc:104
OccupancyPlots::m_multiplicityMapTokens
std::vector< edm::EDGetTokenT< std::map< unsigned int, int > > > m_multiplicityMapTokens
Definition: OccupancyPlots.cc:80
GeomDetEnumerators::P2OTEC
Definition: GeomDetEnumerators.h:24
Point3DBase< float, LocalTag >
TrackerGeometry::isThere
bool isThere(GeomDetEnumerators::SubDetector subdet) const
Definition: TrackerGeometry.cc:219
OccupancyPlots::beginJob
void beginJob() override
Definition: OccupancyPlots.cc:205
GlobalTrackingGeometryRecord.h
edm::vector_transform
auto vector_transform(std::vector< InputType > const &input, Function predicate) -> std::vector< typename std::remove_cv< typename std::remove_reference< decltype(predicate(input.front()))>::type >::type >
Definition: transform.h:11
TrackingGeometry::DetIdContainer
std::vector< DetId > DetIdContainer
Definition: TrackingGeometry.h:30
OccupancyPlots::~OccupancyPlots
~OccupancyPlots() override
Definition: OccupancyPlots.cc:164
GeomDetEnumerators::P1PXB
Definition: GeomDetEnumerators.h:25
GeomDet::geographicalId
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
TrackerDigiGeometryRecord.h
OccupancyPlots::m_avez
TProfile ** m_avez
Definition: OccupancyPlots.cc:94
GeomDet::toGlobal
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:49
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
edm::ParameterSet
Definition: ParameterSet.h:36
DetId::Tracker
Definition: DetId.h:25
Event.h
OccupancyPlots::m_yavedz
TProfile ** m_yavedz
Definition: OccupancyPlots.cc:101
GeomDetEnumerators::TEC
Definition: GeomDetEnumerators.h:16
OccupancyPlots::m_xavedr
TProfile ** m_xavedr
Definition: OccupancyPlots.cc:103
RunHistogramManager::beginRun
void beginRun(const edm::Run &iRun)
Definition: RunHistogramManager.cc:101
position
static int position[264][3]
Definition: ReadPGInfo.cc:289
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
iEvent
int iEvent
Definition: GenABIO.cc:224
OccupancyPlots::beginRun
void beginRun(const edm::Run &, const edm::EventSetup &) override
Definition: OccupancyPlots.cc:207
PVValHelper::dy
Definition: PVValidationHelpers.h:49
edm::EventSetup
Definition: EventSetup.h:57
get
#define get
OccupancyPlots::m_avemultiplicity
TProfile ** m_avemultiplicity
Definition: OccupancyPlots.cc:87
StripTopology::nstrips
virtual int nstrips() const =0
InputTag.h
SiPixelDetInfoFileReader.h
GeomDet.h
std
Definition: JetResolutionObject.h:76
qcdUeDQM_cfi.quality
quality
Definition: qcdUeDQM_cfi.py:31
PVValHelper::dz
Definition: PVValidationHelpers.h:50
Frameworkfwd.h
OccupancyPlots::m_averadius
TProfile ** m_averadius
Definition: OccupancyPlots.cc:93
LocalPoint.h
transform.h
OccupancyPlots::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: OccupancyPlots.cc:174
SiStripQuality.h
OccupancyPlots::m_yavedrphi
TProfile ** m_yavedrphi
Definition: OccupancyPlots.cc:102
SiStripQualityRcd.h
GlobalVector.h
OccupancyPlots::m_yavedr
TProfile ** m_yavedr
Definition: OccupancyPlots.cc:100
VarParsing.mult
mult
Definition: VarParsing.py:659
GeomDetEnumerators::PixelEndcap
Definition: GeomDetEnumerators.h:12
SiPixelQuality.h
OccupancyPlots::m_zavedr
TProfile ** m_zavedr
Definition: OccupancyPlots.cc:97
StripGeomDetUnit::specificTopology
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
Definition: StripGeomDetUnit.cc:17
GeomDetEnumerators::P2PXB
Definition: GeomDetEnumerators.h:27
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:671
ParameterSet.h
OccupancyPlots::m_occupancyMapTokens
std::vector< edm::EDGetTokenT< std::map< unsigned int, int > > > m_occupancyMapTokens
Definition: OccupancyPlots.cc:81
EgammaValidation_Wenu_cff.sel
sel
Definition: EgammaValidation_Wenu_cff.py:33
TrackerGeometry::detUnitIds
const DetIdContainer & detUnitIds() const override
Returm a vector of all GeomDetUnit DetIds.
Definition: TrackerGeometry.h:63
OccupancyPlots::m_wantedsubdets
std::map< unsigned int, DetIdSelector > m_wantedsubdets
Definition: OccupancyPlots.cc:85
GlobalTrackingGeometry.h
edm::Event
Definition: Event.h:73
OccupancyPlots::m_avex
TProfile ** m_avex
Definition: OccupancyPlots.cc:95
GlobalPoint.h
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
edm::InputTag
Definition: InputTag.h:15
PVValHelper::dx
Definition: PVValidationHelpers.h:48
DetIdSelector
Definition: DetIdSelector.h:12
edm::FileInPath::fullPath
std::string fullPath() const
Definition: FileInPath.cc:163
GeomDetEnumerators::P2PXEC
Definition: GeomDetEnumerators.h:28
StripGeomDetUnit
Definition: StripGeomDetUnit.h:15