CMS 3D CMS Logo

Phase2OTMonitorCluster.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //bookLayer
3 // Package: Phase2OTMonitorCluster
4 // Class: Phase2OTMonitorCluster
5 //
11 //
12 // Author: Gabriel Ramirez
13 // Date: May 23, 2020
14 //
15 #include <memory>
36 // DQM Histograming
40 
42 public:
44  ~Phase2OTMonitorCluster() override;
45  void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& iRun, edm::EventSetup const& iSetup) override;
46  void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
47  void dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) override;
48  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
49 
50 private:
51  struct ClusterMEs {
56 
61  };
67 
68  void fillOTHistos(const edm::Event& iEvent);
69 
70  void bookLayerHistos(DQMStore::IBooker& ibooker, uint32_t det_it, std::string& subdir);
71 
72  std::map<std::string, ClusterMEs> layerMEs_;
73 
78  const TrackerGeometry* tkGeom_ = nullptr;
79  const TrackerTopology* tTopo_ = nullptr;
80 };
82 //
83 // constructors
84 //
86  : config_(iConfig),
87  clustersToken_(consumes<Phase2TrackerCluster1DCollectionNew>(config_.getParameter<edm::InputTag>("clusterSrc"))),
88  geomToken_(esConsumes<TrackerGeometry, TrackerDigiGeometryRecord, edm::Transition::BeginRun>()),
89  topoToken_(esConsumes<TrackerTopology, TrackerTopologyRcd, edm::Transition::BeginRun>()) {
90  edm::LogInfo("Phase2OTMonitorCluster") << ">>> Construct Phase2OTMonitorCluster ";
91 }
92 
94  edm::LogInfo("Phase2OTMonitorCluster") << ">>> Destroy Phase2OTMonitorCluster ";
95 }
96 //
97 // -- DQM Begin Run
100  tkGeom_ = &(*geomHandle);
102  tTopo_ = tTopoHandle.product();
103 }
104 //
105 // -- Analyze
106 //
108  // Getting the clusters
110  iEvent.getByToken(clustersToken_, clusterHandle);
111 
112  // Number of clusters
113  std::map<std::string, unsigned int> nClustersCounter_P; //map of detidkey vs #cls
114  std::map<std::string, unsigned int> nClustersCounter_S; //map of detidkey vs #cls
115  unsigned int nclus = 0; //global counter
116  for (const auto& DSVItr : *clusterHandle) {
117  // Getting the id of detector unit
118  uint32_t rawid(DSVItr.detId());
119  DetId detId(rawid);
120  const GeomDetUnit* geomDetUnit(tkGeom_->idToDetUnit(detId));
121  if (!geomDetUnit)
122  continue;
123 
124  std::string folderkey = phase2tkutil::getOTHistoId(detId, tTopo_);
125 
127  // initialize the nhit counters if they don't exist for this layer
128  //the check on the detId is needed to avoid checking at the filling stage
130  auto counterDet = nClustersCounter_P.find(folderkey);
131  if (counterDet == nClustersCounter_P.end())
132  nClustersCounter_P.emplace(folderkey, DSVItr.size());
133  else
134  counterDet->second += DSVItr.size();
136  auto counterDet = nClustersCounter_S.find(folderkey);
137  if (counterDet == nClustersCounter_S.end())
138  nClustersCounter_S.emplace(folderkey, DSVItr.size());
139  else
140  counterDet->second += DSVItr.size();
141  }
142  nclus += DSVItr.size();
143 
144  for (const auto& clusterItr : DSVItr) {
145  MeasurementPoint mpCluster(clusterItr.center(), clusterItr.column() + 0.5);
146  Local3DPoint localPosCluster = geomDetUnit->topology().localPosition(mpCluster);
147  Global3DPoint globalPosCluster = geomDetUnit->surface().toGlobal(localPosCluster);
148  double gx = globalPosCluster.x() * 10.;
149  double gy = globalPosCluster.y() * 10.;
150  double gz = globalPosCluster.z() * 10.;
151  double gr = globalPosCluster.perp() * 10.;
152  auto layerMEit = layerMEs_.find(folderkey);
153  if (layerMEit == layerMEs_.end())
154  continue;
155  ClusterMEs& local_mes = layerMEit->second;
157  globalXY_P_->Fill(gx, gy);
158  globalRZ_P_->Fill(gz, gr);
159  local_mes.ClusterSize_P->Fill(clusterItr.size());
160  local_mes.XYLocalPositionMap_P->Fill(localPosCluster.x(), localPosCluster.y());
161 
162  if (local_mes.XYGlobalPositionMap_P != nullptr) //make this optional
163  local_mes.XYGlobalPositionMap_P->Fill(gx, gy);
165  globalXY_S_->Fill(gx, gy);
166  globalRZ_S_->Fill(gz, gr);
167  local_mes.ClusterSize_S->Fill(clusterItr.size());
168  local_mes.XYLocalPositionMap_S->Fill(localPosCluster.x(), localPosCluster.y());
169 
170  if (local_mes.XYGlobalPositionMap_S != nullptr) //make this optional
171  local_mes.XYGlobalPositionMap_S->Fill(gx, gy);
172  }
173  }
174  }
175  for (const auto& it : nClustersCounter_P) {
176  if (layerMEs_.find(it.first) == layerMEs_.end())
177  continue;
178  if (layerMEs_[it.first].nClusters_P != nullptr) //this check should not be required though
179  layerMEs_[it.first].nClusters_P->Fill(it.second);
180  }
181  for (const auto& it : nClustersCounter_S) {
182  if (layerMEs_.find(it.first) == layerMEs_.end())
183  continue;
184  if (layerMEs_[it.first].nClusters_S != nullptr) //this check should not be required though
185  layerMEs_[it.first].nClusters_S->Fill(it.second);
186  }
187  numberClusters_->Fill(nclus);
188 }
189 
190 //
191 // -- Book Histograms
192 //
194  edm::Run const& iRun,
195  edm::EventSetup const& iSetup) {
196  std::string top_folder = config_.getParameter<std::string>("TopFolderName");
197  ibooker.cd();
198  ibooker.setCurrentFolder(top_folder);
199  edm::LogInfo("Phase2OTMonitorCluster") << " Booking Histograms in: " << top_folder;
200 
202 
204 
206 
208 
210 
211  //Now book layer wise histos
212  edm::ESWatcher<TrackerDigiGeometryRecord> theTkDigiGeomWatcher;
213  if (theTkDigiGeomWatcher.check(iSetup)) {
215  for (auto const& det_u : tkGeom_->detUnits()) {
216  //Always check TrackerNumberingBuilder before changing this part
217  //continue if Pixel
218  if ((det_u->subDetector() == GeomDetEnumerators::SubDetector::P2PXB ||
219  det_u->subDetector() == GeomDetEnumerators::SubDetector::P2PXEC))
220  continue;
221  unsigned int detId_raw = det_u->geographicalId().rawId();
222  edm::LogInfo("Phase2ITMonitorRecHit") << "Detid:" << detId_raw << "\tsubdet=" << det_u->subDetector()
223  << "\t key=" << phase2tkutil::getITHistoId(detId_raw, tTopo_) << std::endl;
224  bookLayerHistos(ibooker, detId_raw, top_folder);
225  }
226  }
227 }
228 
232  if (folderName.empty()) {
233  edm::LogWarning("Phase2OTMonitorCluster") << ">>>> Invalid histo_id ";
234  return;
235  }
236  if (layerMEs_.find(folderName) == layerMEs_.end()) {
237  ibooker.cd();
238  ibooker.setCurrentFolder(subdir + "/" + folderName);
239  edm::LogInfo("Phase2OTMonitorCluster") << " Booking Histograms in: " << subdir + "/" + folderName;
240  ClusterMEs local_mes;
243  local_mes.nClusters_P =
245  local_mes.ClusterSize_P =
247  local_mes.XYGlobalPositionMap_P =
248  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionXY_perlayer_P"), ibooker);
249  local_mes.XYLocalPositionMap_P =
250  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("LocalPositionXY_P"), ibooker);
251  }
252 
253  local_mes.nClusters_S =
255 
256  local_mes.ClusterSize_S =
258 
259  local_mes.XYGlobalPositionMap_S =
260  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionXY_perlayer_S"), ibooker);
261 
262  local_mes.XYLocalPositionMap_S =
263  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("LocalPositionXY_S"), ibooker);
264 
265  layerMEs_.emplace(folderName, local_mes);
266  } //if block layerME find
267 }
268 
270  // rechitMonitorOT
272  {
274  psd0.add<std::string>("name", "NumberOfClusters");
275  psd0.add<std::string>("title", ";Number of clusters per event;");
276  psd0.add<double>("xmin", 0.0);
277  psd0.add<bool>("switch", true);
278  psd0.add<double>("xmax", 0.0);
279  psd0.add<int>("NxBins", 50);
280  desc.add<edm::ParameterSetDescription>("GlobalNClusters", psd0);
281  }
282  {
284  psd0.add<std::string>("name", "Global_ClusterPosition_XY_P");
285  psd0.add<std::string>("title", "Global_ClusterPosition_XY_P;x [mm];y [mm];");
286  psd0.add<int>("NxBins", 1250);
287  psd0.add<double>("xmin", -1250.0);
288  psd0.add<double>("xmax", 1250.0);
289  psd0.add<int>("NyBins", 1250);
290  psd0.add<double>("ymin", -1250.0);
291  psd0.add<double>("ymax", 1250.0);
292  psd0.add<bool>("switch", true);
293  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_P", psd0);
294  }
295  {
297  psd0.add<std::string>("name", "Global_ClusterPosition_XY_S");
298  psd0.add<std::string>("title", "Global_ClusterPosition_XY_S;x [mm];y [mm];");
299  psd0.add<int>("NxBins", 1250);
300  psd0.add<double>("xmin", -1250.0);
301  psd0.add<double>("xmax", 1250.0);
302  psd0.add<int>("NyBins", 1250);
303  psd0.add<double>("ymin", -1250.0);
304  psd0.add<double>("ymax", 1250.0);
305  psd0.add<bool>("switch", true);
306  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_S", psd0);
307  }
308 
309  {
311  psd0.add<std::string>("name", "Global_ClusterPosition_RZ_P");
312  psd0.add<std::string>("title", "Global_ClusterPosition_RZ_P;z [mm];r [mm]");
313  psd0.add<int>("NxBins", 1500);
314  psd0.add<double>("xmin", -3000.0);
315  psd0.add<double>("xmax", 3000.0);
316  psd0.add<int>("NyBins", 1250);
317  psd0.add<double>("ymin", 0.0);
318  psd0.add<double>("ymax", 1250.0);
319  psd0.add<bool>("switch", true);
320  desc.add<edm::ParameterSetDescription>("GlobalPositionRZ_P", psd0);
321  }
322  {
324  psd0.add<std::string>("name", "Global_ClusterPosition_RZ_S");
325  psd0.add<std::string>("title", "Global_ClusterPosition_RZ_S;z [mm];r [mm]");
326  psd0.add<int>("NxBins", 1500);
327  psd0.add<double>("xmin", -3000.0);
328  psd0.add<double>("xmax", 3000.0);
329  psd0.add<int>("NyBins", 1250);
330  psd0.add<double>("ymin", 0.0);
331  psd0.add<double>("ymax", 1250.0);
332  psd0.add<bool>("switch", true);
333  desc.add<edm::ParameterSetDescription>("GlobalPositionRZ_S", psd0);
334  }
335  //Layer wise parameter
336  {
338  psd0.add<std::string>("name", "NumberOfClustersLayerP");
339  psd0.add<std::string>("title", ";Number of clusters per event(macro pixel sensor);");
340  psd0.add<double>("xmin", 0.0);
341  psd0.add<double>("xmax", 0.0);
342  psd0.add<int>("NxBins", 50);
343  psd0.add<bool>("switch", true);
344  desc.add<edm::ParameterSetDescription>("NClustersLayer_P", psd0);
345  }
346  {
348  psd0.add<std::string>("name", "NumberOfClustersLayerS");
349  psd0.add<std::string>("title", ";Number of clusters per event(strip sensor);");
350  psd0.add<double>("xmin", 0.0);
351  psd0.add<double>("xmax", 0.0);
352  psd0.add<int>("NxBins", 50);
353  psd0.add<bool>("switch", true);
354  desc.add<edm::ParameterSetDescription>("NClustersLayer_S", psd0);
355  }
356  {
358  psd0.add<std::string>("name", "ClusterSize_P");
359  psd0.add<std::string>("title", ";cluster size(macro pixel sensor);");
360  psd0.add<double>("xmin", -0.5);
361  psd0.add<double>("xmax", 30.5);
362  psd0.add<int>("NxBins", 31);
363  psd0.add<bool>("switch", true);
364  desc.add<edm::ParameterSetDescription>("ClusterSize_P", psd0);
365  }
366  {
368  psd0.add<std::string>("name", "ClusterSize_S");
369  psd0.add<std::string>("title", ";cluster size(strip sensor);");
370  psd0.add<double>("xmin", -0.5);
371  psd0.add<double>("xmax", 30.5);
372  psd0.add<int>("NxBins", 31);
373  psd0.add<bool>("switch", true);
374  desc.add<edm::ParameterSetDescription>("ClusterSize_S", psd0);
375  }
376  {
378  psd0.add<std::string>("name", "GlobalPositionXY_perlayer_P");
379  psd0.add<std::string>("title", "GlobalClusterPositionXY_perlayer_P;x [mm];y [mm];");
380  psd0.add<int>("NxBins", 1250);
381  psd0.add<double>("xmin", -1250.0);
382  psd0.add<double>("xmax", 1250.0);
383  psd0.add<int>("NyBins", 1250);
384  psd0.add<double>("ymin", -1250.0);
385  psd0.add<double>("ymax", 1250.0);
386  psd0.add<bool>("switch", false);
387  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_perlayer_P", psd0);
388  }
389  {
391  psd0.add<std::string>("name", "GlobalPositionXY_perlayer_S");
392  psd0.add<std::string>("title", "GlobalClusterPositionXY_perlayer_S;x [mm];y [mm];");
393  psd0.add<int>("NxBins", 1250);
394  psd0.add<double>("xmin", -1250.0);
395  psd0.add<double>("xmax", 1250.0);
396  psd0.add<int>("NyBins", 1250);
397  psd0.add<double>("ymin", -1250.0);
398  psd0.add<double>("ymax", 1250.0);
399  psd0.add<bool>("switch", false);
400  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_perlayer_S", psd0);
401  }
402  {
404  psd0.add<std::string>("name", "LocalPositionXY_P");
405  psd0.add<std::string>("title", "LocalPositionXY_P;x ;y ;");
406  psd0.add<int>("NxBins", 50);
407  psd0.add<double>("xmin", -10.0);
408  psd0.add<double>("xmax", 10.0);
409  psd0.add<int>("NyBins", 50);
410  psd0.add<double>("ymin", -10.0);
411  psd0.add<double>("ymax", 10.0);
412  psd0.add<bool>("switch", true);
413  desc.add<edm::ParameterSetDescription>("LocalPositionXY_P", psd0);
414  }
415  {
417  psd0.add<std::string>("name", "LocalPositionXY_S");
418  psd0.add<std::string>("title", "LocalPositionXY_S;x ;y ;");
419  psd0.add<int>("NxBins", 50);
420  psd0.add<double>("xmin", -10.0);
421  psd0.add<double>("xmax", 10.0);
422  psd0.add<int>("NyBins", 50);
423  psd0.add<double>("ymin", -10.0);
424  psd0.add<double>("ymax", 10.0);
425  psd0.add<bool>("switch", true);
426  desc.add<edm::ParameterSetDescription>("LocalPositionXY_S", psd0);
427  }
428 
429  desc.add<std::string>("TopFolderName", "TrackerPhase2OTCluster");
430  desc.add<edm::InputTag>("clusterSrc", edm::InputTag("siPhase2Clusters"));
431  descriptions.add("Phase2OTMonitorCluster", desc);
432 }
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
Phase2OTMonitorCluster::globalRZ_P_
MonitorElement * globalRZ_P_
Definition: Phase2OTMonitorCluster.cc:64
Handle.h
Phase2OTMonitorCluster::geomToken_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
Definition: Phase2OTMonitorCluster.cc:76
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
MessageLogger.h
TrackerGeometry.h
GeomDet
Definition: GeomDet.h:27
Phase2OTMonitorCluster::fillOTHistos
void fillOTHistos(const edm::Event &iEvent)
edm::ESWatcher< TrackerDigiGeometryRecord >
ESHandle.h
TrackerGeometry::ModuleType::Ph2SS
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
edm::Run
Definition: Run.h:45
Phase2OTMonitorCluster::config_
edm::ParameterSet config_
Definition: Phase2OTMonitorCluster.cc:74
edm::EDGetTokenT
Definition: EDGetToken.h:33
edm
HLT enums.
Definition: AlignableModifier.h:19
TrackerTopology
Definition: TrackerTopology.h:16
SiPixelCluster.h
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:85964
Phase2OTMonitorCluster::~Phase2OTMonitorCluster
~Phase2OTMonitorCluster() override
Definition: Phase2OTMonitorCluster.cc:93
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
DQMStore.h
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
TrackerGeometry::getDetectorType
ModuleType getDetectorType(DetId) const
Definition: TrackerGeometry.cc:247
edm::Handle
Definition: AssociativeIterator.h:50
Phase2OTMonitorCluster::Phase2OTMonitorCluster
Phase2OTMonitorCluster(const edm::ParameterSet &)
Definition: Phase2OTMonitorCluster.cc:85
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
Phase2OTMonitorCluster::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: Phase2OTMonitorCluster.cc:269
Phase2OTMonitorCluster::ClusterMEs::XYLocalPositionMap_P
MonitorElement * XYLocalPositionMap_P
Definition: Phase2OTMonitorCluster.cc:55
Phase2OTMonitorCluster::bookLayerHistos
void bookLayerHistos(DQMStore::IBooker &ibooker, uint32_t det_it, std::string &subdir)
Definition: Phase2OTMonitorCluster.cc:230
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
Phase2OTMonitorCluster::dqmBeginRun
void dqmBeginRun(const edm::Run &iRun, const edm::EventSetup &iSetup) override
Definition: Phase2OTMonitorCluster.cc:98
DetId
Definition: DetId.h:17
Phase2OTMonitorCluster::ClusterMEs::ClusterSize_S
MonitorElement * ClusterSize_S
Definition: Phase2OTMonitorCluster.cc:58
MakerMacros.h
TrackerTopology.h
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
TrackerGeometry::detUnits
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
Definition: TrackerGeometry.h:61
Service.h
Phase2OTMonitorCluster::ClusterMEs::nClusters_S
MonitorElement * nClusters_S
Definition: Phase2OTMonitorCluster.cc:57
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
TrackerGeometry::ModuleType
ModuleType
Definition: TrackerGeometry.h:29
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
TrackerPhase2DQMUtil.h
edm::ESHandle< TrackerGeometry >
Phase2OTMonitorCluster::numberClusters_
MonitorElement * numberClusters_
Definition: Phase2OTMonitorCluster.cc:62
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
Phase2OTMonitorCluster::ClusterMEs::nClusters_P
MonitorElement * nClusters_P
Definition: Phase2OTMonitorCluster.cc:52
Phase2OTMonitorCluster::tTopo_
const TrackerTopology * tTopo_
Definition: Phase2OTMonitorCluster.cc:79
Point3DBase< float, LocalTag >
Phase2OTMonitorCluster::ClusterMEs
Definition: Phase2OTMonitorCluster.cc:51
DQMEDAnalyzer.h
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
DQMEDAnalyzer
Definition: DQMEDAnalyzer.py:1
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
Phase2OTMonitorCluster::ClusterMEs::ClusterSize_P
MonitorElement * ClusterSize_P
Definition: Phase2OTMonitorCluster.cc:53
Event.h
Phase2OTMonitorCluster::clustersToken_
edm::EDGetTokenT< Phase2TrackerCluster1DCollectionNew > clustersToken_
Definition: Phase2OTMonitorCluster.cc:75
Phase2OTMonitorCluster::globalXY_S_
MonitorElement * globalXY_S_
Definition: Phase2OTMonitorCluster.cc:65
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
iEvent
int iEvent
Definition: GenABIO.cc:224
Phase2OTMonitorCluster::analyze
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
Definition: Phase2OTMonitorCluster.cc:107
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:148
edm::EventSetup
Definition: EventSetup.h:57
DetSetVector.h
TrackerGeometry::ModuleType::Ph2PSS
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord >
ALCARECODTCalibSynchCosmicsDQM_cff.folderName
folderName
Definition: ALCARECODTCalibSynchCosmicsDQM_cff.py:9
InputTag.h
edmNew::DetSetVector
Definition: DetSetNew.h:13
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
phase2tkutil::getITHistoId
std::string getITHistoId(uint32_t det_id, const TrackerTopology *tTopo)
Definition: TrackerPhase2DQMUtil.cc:2
Phase2OTMonitorCluster::globalRZ_S_
MonitorElement * globalRZ_S_
Definition: Phase2OTMonitorCluster.cc:66
DetId.h
Frameworkfwd.h
ESWatcher.h
Phase2TrackerCluster1D.h
Phase2OTMonitorCluster::globalXY_P_
MonitorElement * globalXY_P_
Definition: Phase2OTMonitorCluster.cc:63
PixelGeomDetUnit.h
Phase2OTMonitorCluster::ClusterMEs::XYGlobalPositionMap_S
MonitorElement * XYGlobalPositionMap_S
Definition: Phase2OTMonitorCluster.cc:59
Phase2OTMonitorCluster::layerMEs_
std::map< std::string, ClusterMEs > layerMEs_
Definition: Phase2OTMonitorCluster.cc:72
Phase2OTMonitorCluster::bookHistograms
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &iRun, edm::EventSetup const &iSetup) override
Definition: Phase2OTMonitorCluster.cc:193
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
dqm::implementation::IBooker
Definition: DQMStore.h:43
GeomDetEnumerators::P2PXB
Definition: GeomDetEnumerators.h:27
Phase2OTMonitorCluster::topoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Definition: Phase2OTMonitorCluster.cc:77
TrackerTopologyRcd
Definition: TrackerTopologyRcd.h:10
Phase2OTMonitorCluster
Definition: Phase2OTMonitorCluster.cc:41
Phase2OTMonitorCluster::ClusterMEs::XYLocalPositionMap_S
MonitorElement * XYLocalPositionMap_S
Definition: Phase2OTMonitorCluster.cc:60
ParameterSet.h
Phase2OTMonitorCluster::tkGeom_
const TrackerGeometry * tkGeom_
Definition: Phase2OTMonitorCluster.cc:78
edm::Event
Definition: Event.h:73
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
DetSetVectorNew.h
edm::InputTag
Definition: InputTag.h:15
phase2tkutil::getOTHistoId
std::string getOTHistoId(uint32_t det_id, const TrackerTopology *tTopo)
Definition: TrackerPhase2DQMUtil.cc:25
TrackerGeometry::ModuleType::Ph2PSP
Phase2OTMonitorCluster::ClusterMEs::XYGlobalPositionMap_P
MonitorElement * XYGlobalPositionMap_P
Definition: Phase2OTMonitorCluster.cc:54
GeomDetEnumerators::P2PXEC
Definition: GeomDetEnumerators.h:28
TrackerGeometry
Definition: TrackerGeometry.h:14