CMS 3D CMS Logo

Phase2ITMonitorCluster.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //bookLayer
3 // Package: Phase2ITMonitorCluster
4 // Class: Phase2ITMonitorCluster
5 //
11 //
12 // Author: Gabriel Ramirez
13 // Date: May 23, 2020
14 #include <memory>
35 // DQM Histograming
39 
41 public:
43  ~Phase2ITMonitorCluster() override;
44  void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& iRun, edm::EventSetup const& iSetup) override;
45  void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
46  void dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) override;
47  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
48 
49 private:
50  struct ClusterMEs {
58  };
59 
65 
66  void bookLayerHistos(DQMStore::IBooker& ibooker, uint32_t det_it, std::string& subdir);
67 
68  std::map<std::string, ClusterMEs> layerMEs_;
73  const TrackerGeometry* tkGeom_ = nullptr;
74  const TrackerTopology* tTopo_ = nullptr;
75 };
77 //
78 // constructors
79 //
81  : config_(iConfig),
82  itPixelClusterToken_(consumes<edmNew::DetSetVector<SiPixelCluster>>(
83  config_.getParameter<edm::InputTag>("InnerPixelClusterSource"))),
85  topoToken_(esConsumes<TrackerTopology, TrackerTopologyRcd, edm::Transition::BeginRun>()) {
86  edm::LogInfo("Phase2ITMonitorCluster") << ">>> Construct Phase2ITMonitorCluster ";
87 }
88 
90  edm::LogInfo("Phase2ITMonitorCluster") << ">>> Destroy Phase2ITMonitorCluster ";
91 }
92 //
93 // -- DQM Begin Run
96  tkGeom_ = &(*geomHandle);
98  tTopo_ = tTopoHandle.product();
99 }
100 
101 //
102 // -- Analyze
103 //
105  // Getting the clusters
107  iEvent.getByToken(itPixelClusterToken_, itPixelClusterHandle);
108  // Number of clusters
109  std::map<std::string, unsigned int> nClsmap;
110  unsigned int nclusGlobal = 0;
111  for (const auto& DSVItr : *itPixelClusterHandle) {
112  uint32_t rawid(DSVItr.detId());
113  DetId detId(rawid);
114  const GeomDet* geomDet = tkGeom_->idToDet(detId);
115  if (!geomDet)
116  continue;
117  const GeomDetUnit* geomDetUnit(tkGeom_->idToDetUnit(detId));
118  if (!geomDetUnit)
119  continue;
120  nclusGlobal += DSVItr.size();
121  std::string folderkey = phase2tkutil::getITHistoId(detId, tTopo_);
122  // initialize the nhit counters if they don't exist for this layer
123  auto counterDet = nClsmap.find(folderkey);
124  if (counterDet == nClsmap.end()) {
125  nClsmap.emplace(folderkey, DSVItr.size());
126  } else
127  counterDet->second += DSVItr.size();
128  for (const auto& clusterItr : DSVItr) {
129  MeasurementPoint mpCluster(clusterItr.x(), clusterItr.y());
130  Local3DPoint localPosCluster = geomDetUnit->topology().localPosition(mpCluster);
131  Global3DPoint globalPosCluster = geomDetUnit->surface().toGlobal(localPosCluster);
132  double gx = globalPosCluster.x() * 10.;
133  double gy = globalPosCluster.y() * 10.;
134  double gz = globalPosCluster.z() * 10.;
135  double gr = globalPosCluster.perp() * 10.;
136 
137  // cluster size
138  if (geomDetUnit->subDetector() == GeomDetEnumerators::SubDetector::P2PXB) {
139  globalXY_barrel_->Fill(gx, gy);
140  globalRZ_barrel_->Fill(gz, gr);
141  } else if (geomDetUnit->subDetector() == GeomDetEnumerators::SubDetector::P2PXEC) {
142  globalXY_endcap_->Fill(gx, gy);
143  globalRZ_endcap_->Fill(gz, gr);
144  }
145  auto local_mesIT = layerMEs_.find(folderkey);
146  if (local_mesIT == layerMEs_.end())
147  continue;
148  ClusterMEs& local_mes = local_mesIT->second;
149  if (local_mes.XYGlobalPositionMapPixel) //make this optional
150  local_mes.XYGlobalPositionMapPixel->Fill(globalPosCluster.z(), globalPosCluster.perp());
151  local_mes.XYLocalPositionMapPixel->Fill(localPosCluster.x(), localPosCluster.y());
152  local_mes.ClusterSize->Fill(clusterItr.size());
153  local_mes.ClusterSizeX->Fill(clusterItr.sizeX());
154  local_mes.ClusterSizeY->Fill(clusterItr.sizeY());
155  local_mes.ClusterCharge->Fill(clusterItr.charge());
156  }
157  }
158 
159  for (const auto& it : nClsmap) {
160  if (layerMEs_.find(it.first) == layerMEs_.end())
161  continue;
162  layerMEs_[it.first].nClusters->Fill(it.second);
163  }
164  numberClusters_->Fill(nclusGlobal); //global histo of #clusters
165 }
166 
167 //
168 // -- Book Histograms
169 //
171  edm::Run const& iRun,
172  edm::EventSetup const& iSetup) {
173  std::string top_folder = config_.getParameter<std::string>("TopFolderName");
174  std::stringstream folder_name;
175 
176  ibooker.cd();
177  folder_name << top_folder << "/";
178  ibooker.setCurrentFolder(folder_name.str());
179 
180  edm::LogInfo("Phase2ITMonitorCluster") << " Booking Histograms in: " << folder_name.str();
181 
183 
185  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionXY_PXB"), ibooker);
186 
188  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionRZ_PXB"), ibooker);
189 
191  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionXY_PXEC"), ibooker);
192 
194  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionRZ_PXEC"), ibooker);
195 
196  //Now book layer wise histos
197  edm::ESWatcher<TrackerDigiGeometryRecord> theTkDigiGeomWatcher;
198  if (theTkDigiGeomWatcher.check(iSetup)) {
200  for (auto const& det_u : tkGeom_->detUnits()) {
201  //Always check TrackerNumberingBuilder before changing this part
202  if (!(det_u->subDetector() == GeomDetEnumerators::SubDetector::P2PXB ||
203  det_u->subDetector() == GeomDetEnumerators::SubDetector::P2PXEC))
204  continue;
205  unsigned int detId_raw = det_u->geographicalId().rawId();
206  edm::LogInfo("Phase2ITMonitorRecHit") << "Detid:" << detId_raw << "\tsubdet=" << det_u->subDetector()
207  << "\t key=" << phase2tkutil::getITHistoId(detId_raw, tTopo_) << std::endl;
208  bookLayerHistos(ibooker, detId_raw, top_folder);
209  }
210  }
211 }
212 
216  if (folderName.empty())
217  return;
218 
219  std::map<std::string, ClusterMEs>::iterator pos = layerMEs_.find(folderName);
220 
221  if (pos == layerMEs_.end()) {
222  ibooker.cd();
223  ibooker.setCurrentFolder(subdir + "/" + folderName);
224 
225  edm::LogInfo("Phase2ITMonitorCluster") << " Booking Histograms in: " << subdir + "/" + folderName;
226 
227  ClusterMEs local_mes;
228 
229  local_mes.nClusters =
231 
232  local_mes.ClusterSize =
234 
235  local_mes.ClusterSizeX =
237 
238  local_mes.ClusterSizeY =
240 
241  local_mes.ClusterCharge =
243 
244  local_mes.XYLocalPositionMapPixel =
246 
247  local_mes.XYGlobalPositionMapPixel =
248  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionXY_perlayer"), ibooker);
249 
250  layerMEs_.emplace(folderName, local_mes);
251  }
252 }
253 
255  // clusterITMonitor
257  //Global Histos
258  {
260  psd0.add<std::string>("name", "NumberOfClusters");
261  psd0.add<std::string>("title", "NumberClusters;Number of Clusters;");
262  psd0.add<double>("xmin", 0.0);
263  psd0.add<bool>("switch", true);
264  psd0.add<double>("xmax", 300000.0);
265  psd0.add<int>("NxBins", 150);
266  desc.add<edm::ParameterSetDescription>("GlobalNClusters", psd0);
267  }
268  {
270  psd0.add<std::string>("name", "Global_Position_RZ_IT_barrel");
271  psd0.add<std::string>("title", "Global_Position_RZ_IT_barrel;z [mm];r [mm]");
272  psd0.add<double>("ymax", 300.0);
273  psd0.add<int>("NxBins", 1500);
274  psd0.add<int>("NyBins", 300);
275  psd0.add<bool>("switch", true);
276  psd0.add<double>("xmax", 3000.0);
277  psd0.add<double>("xmin", -3000.0);
278  psd0.add<double>("ymin", 0.0);
279  desc.add<edm::ParameterSetDescription>("GlobalPositionRZ_PXB", psd0);
280  }
281  {
283  psd0.add<std::string>("name", "Global_Position_XY_IT_barrel");
284  psd0.add<std::string>("title", "Global_Position_XY_IT_barrel;x [mm];y [mm];");
285  psd0.add<double>("ymax", 300.0);
286  psd0.add<int>("NxBins", 600);
287  psd0.add<int>("NyBins", 600);
288  psd0.add<bool>("switch", true);
289  psd0.add<double>("xmax", 300.0);
290  psd0.add<double>("xmin", -300.0);
291  psd0.add<double>("ymin", -300.0);
292  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_PXB", psd0);
293  }
294  {
296  psd0.add<std::string>("name", "Global_Position_RZ_IT_endcap");
297  psd0.add<std::string>("title", "Global_Position_RZ_IT_endcap;z [mm];r [mm]");
298  psd0.add<double>("ymax", 300.0);
299  psd0.add<int>("NxBins", 1500);
300  psd0.add<int>("NyBins", 300);
301  psd0.add<bool>("switch", true);
302  psd0.add<double>("xmax", 3000.0);
303  psd0.add<double>("xmin", -3000.0);
304  psd0.add<double>("ymin", 0.0);
305  desc.add<edm::ParameterSetDescription>("GlobalPositionRZ_PXEC", psd0);
306  }
307  {
309  psd0.add<std::string>("name", "Global_Position_XY_IT_endcap");
310  psd0.add<std::string>("title", "Global_Position_XY_IT_endcap; x [mm]; y [mm]");
311  psd0.add<double>("ymax", 300.0);
312  psd0.add<int>("NxBins", 600);
313  psd0.add<int>("NyBins", 600);
314  psd0.add<bool>("switch", true);
315  psd0.add<double>("xmax", 300.0);
316  psd0.add<double>("xmin", -300.0);
317  psd0.add<double>("ymin", -300.0);
318  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_PXEC", psd0);
319  }
320  //Local histos
321  //Per layer/ring histos
322  {
324  psd0.add<std::string>("name", "NumberOfClustersLayer");
325  psd0.add<std::string>("title", "NumberOfClutsers;Number of Clusters;");
326  psd0.add<double>("xmin", 0.0);
327  psd0.add<bool>("switch", true);
328  psd0.add<double>("xmax", 20000.0);
329  psd0.add<int>("NxBins", 150);
330  desc.add<edm::ParameterSetDescription>("NClustersLayer", psd0);
331  }
332  {
334  psd0.add<std::string>("name", "ClusterCharge");
335  psd0.add<std::string>("title", ";Cluster charge;");
336  psd0.add<double>("xmin", 0.);
337  psd0.add<bool>("switch", true);
338  psd0.add<double>("xmax", 100000.);
339  psd0.add<int>("NxBins", 100);
340  desc.add<edm::ParameterSetDescription>("ClusterCharge", psd0);
341  }
342  {
344  psd0.add<std::string>("name", "ClusterSize");
345  psd0.add<std::string>("title", ";Cluster size;");
346  psd0.add<double>("xmin", -0.5);
347  psd0.add<double>("xmax", 30.5);
348  psd0.add<int>("NxBins", 31);
349  psd0.add<bool>("switch", true);
350  desc.add<edm::ParameterSetDescription>("ClusterSize", psd0);
351  }
352  {
354  psd0.add<std::string>("name", "ClusterSizeY");
355  psd0.add<std::string>("title", ";Cluster sizeY;");
356  psd0.add<double>("xmin", -0.5);
357  psd0.add<bool>("switch", true);
358  psd0.add<double>("xmax", 30.5);
359  psd0.add<int>("NxBins", 31);
360  desc.add<edm::ParameterSetDescription>("ClusterSizeY", psd0);
361  }
362  {
364  psd0.add<std::string>("name", "ClusterSizeX");
365  psd0.add<std::string>("title", ";Cluster sizeX;");
366  psd0.add<double>("xmin", -0.5);
367  psd0.add<bool>("switch", true);
368  psd0.add<double>("xmax", 30.5);
369  psd0.add<int>("NxBins", 31);
370  desc.add<edm::ParameterSetDescription>("ClusterSizeX", psd0);
371  }
372  {
374  psd0.add<std::string>("name", "Local_ClusterPosition_XY");
375  psd0.add<std::string>("title", "Local_ClusterPosition_XY; x; y");
376  psd0.add<double>("ymax", 0.0);
377  psd0.add<int>("NxBins", 500);
378  psd0.add<int>("NyBins", 500);
379  psd0.add<bool>("switch", true);
380  psd0.add<double>("xmax", 0.0);
381  psd0.add<double>("xmin", 0.0);
382  psd0.add<double>("ymin", 0.0);
383  desc.add<edm::ParameterSetDescription>("LocalPositionXY", psd0);
384  }
385  {
387  psd0.add<std::string>("name", "GlobalPositionXY_perlayer");
388  psd0.add<std::string>("title", "GlobalClusterPositionXY_perlayer;x [mm];y [mm];");
389  psd0.add<double>("ymax", 300.0);
390  psd0.add<int>("NxBins", 600);
391  psd0.add<int>("NyBins", 600);
392  psd0.add<bool>("switch", false);
393  psd0.add<double>("xmax", 300.0);
394  psd0.add<double>("xmin", -300.0);
395  psd0.add<double>("ymin", -300.0);
396  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_perlayer", psd0);
397  }
398 
399  desc.add<std::string>("TopFolderName", "TrackerPhase2ITCluster");
400  desc.add<edm::InputTag>("InnerPixelClusterSource", edm::InputTag("siPixelClusters"));
401  descriptions.add("Phase2ITMonitorCluster", desc);
402 }
403 
ConfigurationDescriptions.h
TrackerGeometry::idToDet
const TrackerGeomDet * idToDet(DetId) const override
Definition: TrackerGeometry.cc:193
edm::ESWatcher::check
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:52
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
Point2DBase
Definition: Point2DBase.h:9
dqm::impl::MonitorElement
Definition: MonitorElement.h:98
phase2tkutil::book1DFromPSet
MonitorElement * book1DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
Definition: TrackerPhase2DQMUtil.cc:50
Handle.h
Phase2ITMonitorCluster::config_
edm::ParameterSet config_
Definition: Phase2ITMonitorCluster.cc:69
Phase2ITMonitorCluster::globalXY_endcap_
MonitorElement * globalXY_endcap_
Definition: Phase2ITMonitorCluster.cc:62
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
MessageLogger.h
Phase2ITMonitorCluster::layerMEs_
std::map< std::string, ClusterMEs > layerMEs_
Definition: Phase2ITMonitorCluster.cc:68
TrackerGeometry.h
GeomDet
Definition: GeomDet.h:27
Phase2ITMonitorCluster::globalXY_barrel_
MonitorElement * globalXY_barrel_
Definition: Phase2ITMonitorCluster.cc:61
edm::ESWatcher< TrackerDigiGeometryRecord >
ESHandle.h
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
Phase2ITMonitorCluster::globalRZ_barrel_
MonitorElement * globalRZ_barrel_
Definition: Phase2ITMonitorCluster.cc:63
Phase2ITMonitorCluster::dqmBeginRun
void dqmBeginRun(const edm::Run &iRun, const edm::EventSetup &iSetup) override
Definition: Phase2ITMonitorCluster.cc:94
edm::Run
Definition: Run.h:45
edm::EDGetTokenT
Definition: EDGetToken.h:33
edm
HLT enums.
Definition: AlignableModifier.h:19
TrackerTopology
Definition: TrackerTopology.h:16
pos
Definition: PixelAliasList.h:18
SiPixelCluster.h
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89281
Phase2ITMonitorCluster::tkGeom_
const TrackerGeometry * tkGeom_
Definition: Phase2ITMonitorCluster.cc:73
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
Phase2ITMonitorCluster::topoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Definition: Phase2ITMonitorCluster.cc:72
Phase2ITMonitorCluster::itPixelClusterToken_
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > itPixelClusterToken_
Definition: Phase2ITMonitorCluster.cc:70
Phase2ITMonitorCluster::ClusterMEs::ClusterSizeX
MonitorElement * ClusterSizeX
Definition: Phase2ITMonitorCluster.cc:53
DQMStore.h
Phase2ITMonitorCluster::analyze
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
Definition: Phase2ITMonitorCluster.cc:104
Phase2ITMonitorCluster::bookLayerHistos
void bookLayerHistos(DQMStore::IBooker &ibooker, uint32_t det_it, std::string &subdir)
Definition: Phase2ITMonitorCluster.cc:214
dqm::legacy::MonitorElement
Definition: MonitorElement.h:462
SiPixelCluster
Pixel cluster – collection of neighboring pixels above threshold.
Definition: SiPixelCluster.h:28
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
edm::Handle
Definition: AssociativeIterator.h:50
edmNew
Definition: DetSet2RangeMap.h:11
TrackerGeometry::idToDetUnit
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
Definition: TrackerGeometry.cc:183
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
DetId
Definition: DetId.h:17
Phase2ITMonitorCluster::numberClusters_
MonitorElement * numberClusters_
Definition: Phase2ITMonitorCluster.cc:60
MakerMacros.h
TrackerTopology.h
Phase2ITMonitorCluster::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: Phase2ITMonitorCluster.cc:254
Phase2ITMonitorCluster::ClusterMEs::ClusterSizeY
MonitorElement * ClusterSizeY
Definition: Phase2ITMonitorCluster.cc:54
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
Phase2ITMonitorCluster::~Phase2ITMonitorCluster
~Phase2ITMonitorCluster() override
Definition: Phase2ITMonitorCluster.cc:89
TrackerGeometry::detUnits
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
Definition: TrackerGeometry.h:61
Service.h
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
Phase2ITMonitorCluster::ClusterMEs::XYLocalPositionMapPixel
MonitorElement * XYLocalPositionMapPixel
Definition: Phase2ITMonitorCluster.cc:57
TrackerPhase2DQMUtil.h
edm::ESHandle< TrackerGeometry >
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
Point3DBase< float, LocalTag >
ParameterSetDescription.h
DQMEDAnalyzer.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
Phase2ITMonitorCluster::Phase2ITMonitorCluster
Phase2ITMonitorCluster(const edm::ParameterSet &)
Definition: Phase2ITMonitorCluster.cc:80
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
Phase2ITMonitorCluster::ClusterMEs::ClusterSize
MonitorElement * ClusterSize
Definition: Phase2ITMonitorCluster.cc:52
phase2tkutil::book2DFromPSet
MonitorElement * book2DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
Definition: TrackerPhase2DQMUtil.cc:62
TrackerDigiGeometryRecord.h
MonitorElement.h
edm::ParameterSet
Definition: ParameterSet.h:47
edm::Transition
Transition
Definition: Transition.h:12
Phase2ITMonitorCluster::geomToken_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
Definition: Phase2ITMonitorCluster.cc:71
Phase2ITMonitorCluster::bookHistograms
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &iRun, edm::EventSetup const &iSetup) override
Definition: Phase2ITMonitorCluster.cc:170
Event.h
fed_dqm_sourceclient-live_cfg.folder_name
folder_name
Definition: fed_dqm_sourceclient-live_cfg.py:42
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
Phase2ITMonitorCluster::ClusterMEs
Definition: Phase2ITMonitorCluster.cc:50
iEvent
int iEvent
Definition: GenABIO.cc:224
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:155
edm::EventSetup
Definition: EventSetup.h:58
DetSetVector.h
Phase2ITMonitorCluster::tTopo_
const TrackerTopology * tTopo_
Definition: Phase2ITMonitorCluster.cc:74
Phase2ITMonitorCluster::globalRZ_endcap_
MonitorElement * globalRZ_endcap_
Definition: Phase2ITMonitorCluster.cc:64
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord >
ALCARECODTCalibSynchCosmicsDQM_cff.folderName
folderName
Definition: ALCARECODTCalibSynchCosmicsDQM_cff.py:9
InputTag.h
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
phase2tkutil::getITHistoId
std::string getITHistoId(uint32_t det_id, const TrackerTopology *tTopo)
Definition: TrackerPhase2DQMUtil.cc:2
DetId.h
Frameworkfwd.h
ESWatcher.h
PixelGeomDetUnit.h
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
dqm::implementation::IBooker
Definition: DQMStore.h:43
Phase2ITMonitorCluster
Definition: Phase2ITMonitorCluster.cc:40
GeomDetEnumerators::P2PXB
Definition: GeomDetEnumerators.h:27
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
ParameterSet.h
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
edm::Event
Definition: Event.h:73
Phase2ITMonitorCluster::ClusterMEs::XYGlobalPositionMapPixel
MonitorElement * XYGlobalPositionMapPixel
Definition: Phase2ITMonitorCluster.cc:56
Phase2ITMonitorCluster::ClusterMEs::nClusters
MonitorElement * nClusters
Definition: Phase2ITMonitorCluster.cc:51
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
DetSetVectorNew.h
edm::InputTag
Definition: InputTag.h:15
Phase2ITMonitorCluster::ClusterMEs::ClusterCharge
MonitorElement * ClusterCharge
Definition: Phase2ITMonitorCluster.cc:55
GeomDetEnumerators::P2PXEC
Definition: GeomDetEnumerators.h:28
TrackerGeometry
Definition: TrackerGeometry.h:14