CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
Phase2OTMonitorCluster Class Reference

#include <Phase2OTMonitorCluster.cc>

Inheritance diagram for Phase2OTMonitorCluster:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Classes

struct  ClusterMEs
 

Public Member Functions

void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup) override
 
void bookHistograms (DQMStore::IBooker &ibooker, edm::Run const &iRun, edm::EventSetup const &iSetup) override
 
void dqmBeginRun (const edm::Run &iRun, const edm::EventSetup &iSetup) override
 
 Phase2OTMonitorCluster (const edm::ParameterSet &)
 
 ~Phase2OTMonitorCluster () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 

Private Member Functions

void bookLayerHistos (DQMStore::IBooker &ibooker, uint32_t det_it, std::string &subdir)
 
void fillOTHistos (const edm::Event &iEvent)
 

Private Attributes

edm::EDGetTokenT< Phase2TrackerCluster1DCollectionNewclustersToken_
 
edm::ParameterSet config_
 
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordgeomToken_
 
MonitorElementglobalRZ_P_
 
MonitorElementglobalRZ_S_
 
MonitorElementglobalXY_P_
 
MonitorElementglobalXY_S_
 
std::map< std::string, ClusterMEslayerMEs_
 
MonitorElementnumberClusters_
 
const TrackerGeometrytkGeom_ = nullptr
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtopoToken_
 
const TrackerTopologytTopo_ = nullptr
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Description: Validation plots tracker clusters.

Definition at line 41 of file Phase2OTMonitorCluster.cc.

Constructor & Destructor Documentation

◆ Phase2OTMonitorCluster()

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

Definition at line 85 of file Phase2OTMonitorCluster.cc.

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 }

◆ ~Phase2OTMonitorCluster()

Phase2OTMonitorCluster::~Phase2OTMonitorCluster ( )
override

Definition at line 93 of file Phase2OTMonitorCluster.cc.

93  {
94  edm::LogInfo("Phase2OTMonitorCluster") << ">>> Destroy Phase2OTMonitorCluster ";
95 }

Member Function Documentation

◆ analyze()

void Phase2OTMonitorCluster::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 107 of file Phase2OTMonitorCluster.cc.

107  {
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 }

References Phase2OTMonitorCluster::ClusterMEs::ClusterSize_P, Phase2OTMonitorCluster::ClusterMEs::ClusterSize_S, clustersToken_, dqm::impl::MonitorElement::Fill(), TrackerGeometry::getDetectorType(), phase2tkutil::getOTHistoId(), globalRZ_P_, globalRZ_S_, globalXY_P_, globalXY_S_, TrackerGeometry::idToDetUnit(), iEvent, layerMEs_, numberClusters_, PV3DBase< T, PVType, FrameType >::perp(), TrackerGeometry::Ph2PSP, TrackerGeometry::Ph2PSS, TrackerGeometry::Ph2SS, AlCaHLTBitMon_QueryRunRegistry::string, tkGeom_, tTopo_, PV3DBase< T, PVType, FrameType >::x(), Phase2OTMonitorCluster::ClusterMEs::XYGlobalPositionMap_P, Phase2OTMonitorCluster::ClusterMEs::XYGlobalPositionMap_S, Phase2OTMonitorCluster::ClusterMEs::XYLocalPositionMap_P, Phase2OTMonitorCluster::ClusterMEs::XYLocalPositionMap_S, PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

◆ bookHistograms()

void Phase2OTMonitorCluster::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &  iSetup 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 193 of file Phase2OTMonitorCluster.cc.

195  {
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)) {
214  edm::ESHandle<TrackerGeometry> geomHandle = iSetup.getHandle(geomToken_);
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 }

References phase2tkutil::book1DFromPSet(), phase2tkutil::book2DFromPSet(), bookLayerHistos(), dqm::implementation::NavigatorBase::cd(), edm::ESWatcher< T >::check(), config_, TrackerGeometry::detUnits(), geomToken_, edm::EventSetup::getHandle(), phase2tkutil::getITHistoId(), edm::ParameterSet::getParameter(), globalRZ_P_, globalRZ_S_, globalXY_P_, globalXY_S_, numberClusters_, GeomDetEnumerators::P2PXB, GeomDetEnumerators::P2PXEC, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, tkGeom_, and tTopo_.

◆ bookLayerHistos()

void Phase2OTMonitorCluster::bookLayerHistos ( DQMStore::IBooker ibooker,
uint32_t  det_it,
std::string &  subdir 
)
private

Definition at line 230 of file Phase2OTMonitorCluster.cc.

230  {
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 }

References phase2tkutil::book1DFromPSet(), phase2tkutil::book2DFromPSet(), dqm::implementation::NavigatorBase::cd(), Phase2OTMonitorCluster::ClusterMEs::ClusterSize_P, Phase2OTMonitorCluster::ClusterMEs::ClusterSize_S, config_, ALCARECODTCalibSynchCosmicsDQM_cff::folderName, TrackerGeometry::getDetectorType(), phase2tkutil::getOTHistoId(), edm::ParameterSet::getParameter(), layerMEs_, Phase2OTMonitorCluster::ClusterMEs::nClusters_P, Phase2OTMonitorCluster::ClusterMEs::nClusters_S, TrackerGeometry::Ph2PSP, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, tkGeom_, tTopo_, Phase2OTMonitorCluster::ClusterMEs::XYGlobalPositionMap_P, Phase2OTMonitorCluster::ClusterMEs::XYGlobalPositionMap_S, Phase2OTMonitorCluster::ClusterMEs::XYLocalPositionMap_P, and Phase2OTMonitorCluster::ClusterMEs::XYLocalPositionMap_S.

Referenced by bookHistograms().

◆ dqmBeginRun()

void Phase2OTMonitorCluster::dqmBeginRun ( const edm::Run iRun,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 98 of file Phase2OTMonitorCluster.cc.

98  {
100  tkGeom_ = &(*geomHandle);
102  tTopo_ = tTopoHandle.product();
103 }

References geomToken_, edm::EventSetup::getHandle(), edm::ESHandle< T >::product(), tkGeom_, topoToken_, and tTopo_.

◆ fillDescriptions()

void Phase2OTMonitorCluster::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 269 of file Phase2OTMonitorCluster.cc.

269  {
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 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ fillOTHistos()

void Phase2OTMonitorCluster::fillOTHistos ( const edm::Event iEvent)
private

Member Data Documentation

◆ clustersToken_

edm::EDGetTokenT<Phase2TrackerCluster1DCollectionNew> Phase2OTMonitorCluster::clustersToken_
private

Definition at line 75 of file Phase2OTMonitorCluster.cc.

Referenced by analyze().

◆ config_

edm::ParameterSet Phase2OTMonitorCluster::config_
private

Definition at line 74 of file Phase2OTMonitorCluster.cc.

Referenced by bookHistograms(), and bookLayerHistos().

◆ geomToken_

const edm::ESGetToken<TrackerGeometry, TrackerDigiGeometryRecord> Phase2OTMonitorCluster::geomToken_
private

Definition at line 76 of file Phase2OTMonitorCluster.cc.

Referenced by bookHistograms(), and dqmBeginRun().

◆ globalRZ_P_

MonitorElement* Phase2OTMonitorCluster::globalRZ_P_
private

Definition at line 64 of file Phase2OTMonitorCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ globalRZ_S_

MonitorElement* Phase2OTMonitorCluster::globalRZ_S_
private

Definition at line 66 of file Phase2OTMonitorCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ globalXY_P_

MonitorElement* Phase2OTMonitorCluster::globalXY_P_
private

Definition at line 63 of file Phase2OTMonitorCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ globalXY_S_

MonitorElement* Phase2OTMonitorCluster::globalXY_S_
private

Definition at line 65 of file Phase2OTMonitorCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ layerMEs_

std::map<std::string, ClusterMEs> Phase2OTMonitorCluster::layerMEs_
private

Definition at line 72 of file Phase2OTMonitorCluster.cc.

Referenced by analyze(), and bookLayerHistos().

◆ numberClusters_

MonitorElement* Phase2OTMonitorCluster::numberClusters_
private

Definition at line 62 of file Phase2OTMonitorCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ tkGeom_

const TrackerGeometry* Phase2OTMonitorCluster::tkGeom_ = nullptr
private

Definition at line 78 of file Phase2OTMonitorCluster.cc.

Referenced by analyze(), bookHistograms(), bookLayerHistos(), and dqmBeginRun().

◆ topoToken_

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> Phase2OTMonitorCluster::topoToken_
private

Definition at line 77 of file Phase2OTMonitorCluster.cc.

Referenced by dqmBeginRun().

◆ tTopo_

const TrackerTopology* Phase2OTMonitorCluster::tTopo_ = nullptr
private

Definition at line 79 of file Phase2OTMonitorCluster.cc.

Referenced by analyze(), bookHistograms(), bookLayerHistos(), and dqmBeginRun().

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
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
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
GeomDet
Definition: GeomDet.h:27
edm::ESWatcher< TrackerDigiGeometryRecord >
TrackerGeometry::ModuleType::Ph2SS
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
Phase2OTMonitorCluster::config_
edm::ParameterSet config_
Definition: Phase2OTMonitorCluster.cc:74
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89353
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
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
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
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
DetId
Definition: DetId.h:17
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
TrackerGeometry::ModuleType
ModuleType
Definition: TrackerGeometry.h:29
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
edm::ESHandle< TrackerGeometry >
Phase2OTMonitorCluster::numberClusters_
MonitorElement * numberClusters_
Definition: Phase2OTMonitorCluster.cc:62
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
Phase2OTMonitorCluster::tTopo_
const TrackerTopology * tTopo_
Definition: Phase2OTMonitorCluster.cc:79
Point3DBase< float, LocalTag >
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
phase2tkutil::book2DFromPSet
MonitorElement * book2DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
Definition: TrackerPhase2DQMUtil.cc:62
edm::ParameterSet
Definition: ParameterSet.h:47
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
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:148
TrackerGeometry::ModuleType::Ph2PSS
ALCARECODTCalibSynchCosmicsDQM_cff.folderName
folderName
Definition: ALCARECODTCalibSynchCosmicsDQM_cff.py:9
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
Phase2OTMonitorCluster::globalXY_P_
MonitorElement * globalXY_P_
Definition: Phase2OTMonitorCluster.cc:63
Phase2OTMonitorCluster::layerMEs_
std::map< std::string, ClusterMEs > layerMEs_
Definition: Phase2OTMonitorCluster.cc:72
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
GeomDetEnumerators::P2PXB
Definition: GeomDetEnumerators.h:27
Phase2OTMonitorCluster::topoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Definition: Phase2OTMonitorCluster.cc:77
Phase2OTMonitorCluster::tkGeom_
const TrackerGeometry * tkGeom_
Definition: Phase2OTMonitorCluster.cc:78
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
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
GeomDetEnumerators::P2PXEC
Definition: GeomDetEnumerators.h:28