CMS 3D CMS Logo

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

#include <Phase2ITMonitorCluster.cc>

Inheritance diagram for Phase2ITMonitorCluster:
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
 
 Phase2ITMonitorCluster (const edm::ParameterSet &)
 
 ~Phase2ITMonitorCluster () 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
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

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)
 

Private Attributes

edm::ParameterSet config_
 
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordgeomToken_
 
MonitorElementglobalRZ_barrel_
 
MonitorElementglobalRZ_endcap_
 
MonitorElementglobalXY_barrel_
 
MonitorElementglobalXY_endcap_
 
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > itPixelClusterToken_
 
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 >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::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: DQM plots tracker clusters.

Definition at line 40 of file Phase2ITMonitorCluster.cc.

Constructor & Destructor Documentation

◆ Phase2ITMonitorCluster()

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

Definition at line 80 of file Phase2ITMonitorCluster.cc.

81  : config_(iConfig),
83  config_.getParameter<edm::InputTag>("InnerPixelClusterSource"))),
84  geomToken_(esConsumes<TrackerGeometry, TrackerDigiGeometryRecord, edm::Transition::BeginRun>()),
85  topoToken_(esConsumes<TrackerTopology, TrackerTopologyRcd, edm::Transition::BeginRun>()) {
86  edm::LogInfo("Phase2ITMonitorCluster") << ">>> Construct Phase2ITMonitorCluster ";
87 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Log< level::Info, false > LogInfo
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > itPixelClusterToken_

◆ ~Phase2ITMonitorCluster()

Phase2ITMonitorCluster::~Phase2ITMonitorCluster ( )
override

Definition at line 89 of file Phase2ITMonitorCluster.cc.

89  {
90  edm::LogInfo("Phase2ITMonitorCluster") << ">>> Destroy Phase2ITMonitorCluster ";
91 }
Log< level::Info, false > LogInfo

Member Function Documentation

◆ analyze()

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

Reimplemented from DQMEDAnalyzer.

Definition at line 102 of file Phase2ITMonitorCluster.cc.

References Phase2ITMonitorCluster::ClusterMEs::ClusterCharge, Phase2ITMonitorCluster::ClusterMEs::ClusterSize, Phase2ITMonitorCluster::ClusterMEs::ClusterSizeX, Phase2ITMonitorCluster::ClusterMEs::ClusterSizeY, dqm::impl::MonitorElement::Fill(), phase2tkutil::getITHistoId(), globalRZ_barrel_, globalRZ_endcap_, globalXY_barrel_, globalXY_endcap_, TrackerGeometry::idToDet(), TrackerGeometry::idToDetUnit(), iEvent, itPixelClusterToken_, layerMEs_, numberClusters_, GeomDetEnumerators::P2PXB, GeomDetEnumerators::P2PXEC, PV3DBase< T, PVType, FrameType >::perp(), AlCaHLTBitMon_QueryRunRegistry::string, tkGeom_, tTopo_, PV3DBase< T, PVType, FrameType >::x(), Phase2ITMonitorCluster::ClusterMEs::XYGlobalPositionMapPixel, Phase2ITMonitorCluster::ClusterMEs::XYLocalPositionMapPixel, PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

102  {
103  // Getting the clusters
104  const auto& itPixelClusterHandle = iEvent.getHandle(itPixelClusterToken_);
105  // Number of clusters
106  std::map<std::string, unsigned int> nClsmap;
107  unsigned int nclusGlobal = 0;
108  for (const auto& DSVItr : *itPixelClusterHandle) {
109  uint32_t rawid(DSVItr.detId());
110  DetId detId(rawid);
111  const GeomDet* geomDet = tkGeom_->idToDet(detId);
112  if (!geomDet)
113  continue;
114  const GeomDetUnit* geomDetUnit(tkGeom_->idToDetUnit(detId));
115  if (!geomDetUnit)
116  continue;
117  nclusGlobal += DSVItr.size();
118  std::string folderkey = phase2tkutil::getITHistoId(detId, tTopo_);
119  // initialize the nhit counters if they don't exist for this layer
120  auto counterDet = nClsmap.find(folderkey);
121  if (counterDet == nClsmap.end()) {
122  nClsmap.emplace(folderkey, DSVItr.size());
123  } else
124  counterDet->second += DSVItr.size();
125  for (const auto& clusterItr : DSVItr) {
126  MeasurementPoint mpCluster(clusterItr.x(), clusterItr.y());
127  Local3DPoint localPosCluster = geomDetUnit->topology().localPosition(mpCluster);
128  Global3DPoint globalPosCluster = geomDetUnit->surface().toGlobal(localPosCluster);
129  double gx = globalPosCluster.x() * 10.;
130  double gy = globalPosCluster.y() * 10.;
131  double gz = globalPosCluster.z() * 10.;
132  double gr = globalPosCluster.perp() * 10.;
133 
134  // cluster size
135  if (geomDetUnit->subDetector() == GeomDetEnumerators::SubDetector::P2PXB) {
136  globalXY_barrel_->Fill(gx, gy);
137  globalRZ_barrel_->Fill(gz, gr);
138  } else if (geomDetUnit->subDetector() == GeomDetEnumerators::SubDetector::P2PXEC) {
139  globalXY_endcap_->Fill(gx, gy);
140  globalRZ_endcap_->Fill(gz, gr);
141  }
142  auto local_mesIT = layerMEs_.find(folderkey);
143  if (local_mesIT == layerMEs_.end())
144  continue;
145  ClusterMEs& local_mes = local_mesIT->second;
146  if (local_mes.XYGlobalPositionMapPixel) //make this optional
147  local_mes.XYGlobalPositionMapPixel->Fill(globalPosCluster.z(), globalPosCluster.perp());
148  local_mes.XYLocalPositionMapPixel->Fill(localPosCluster.x(), localPosCluster.y());
149  local_mes.ClusterSize->Fill(clusterItr.size());
150  local_mes.ClusterSizeX->Fill(clusterItr.sizeX());
151  local_mes.ClusterSizeY->Fill(clusterItr.sizeY());
152  local_mes.ClusterCharge->Fill(clusterItr.charge());
153  }
154  }
155 
156  for (const auto& it : nClsmap) {
157  if (layerMEs_.find(it.first) == layerMEs_.end())
158  continue;
159  layerMEs_[it.first].nClusters->Fill(it.second);
160  }
161  numberClusters_->Fill(nclusGlobal); //global histo of #clusters
162 }
T perp() const
Definition: PV3DBase.h:69
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
const TrackerTopology * tTopo_
T z() const
Definition: PV3DBase.h:61
std::string getITHistoId(uint32_t det_id, const TrackerTopology *tTopo)
void Fill(long long x)
T x() const
Definition: PV3DBase.h:59
T y() const
Definition: PV3DBase.h:60
int iEvent
Definition: GenABIO.cc:224
const TrackerGeomDet * idToDet(DetId) const override
std::map< std::string, ClusterMEs > layerMEs_
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > itPixelClusterToken_
Definition: DetId.h:17
const TrackerGeometry * tkGeom_

◆ bookHistograms()

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

Implements DQMEDAnalyzer.

Definition at line 167 of file Phase2ITMonitorCluster.cc.

References phase2tkutil::book1DFromPSet(), phase2tkutil::book2DFromPSet(), bookLayerHistos(), dqm::implementation::NavigatorBase::cd(), edm::ESWatcher< T >::check(), config_, TrackerGeometry::detUnits(), fed_dqm_sourceclient-live_cfg::folder_name, phase2tkutil::getITHistoId(), edm::ParameterSet::getParameter(), globalRZ_barrel_, globalRZ_endcap_, globalXY_barrel_, globalXY_endcap_, numberClusters_, GeomDetEnumerators::P2PXB, GeomDetEnumerators::P2PXEC, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, tkGeom_, and tTopo_.

169  {
170  std::string top_folder = config_.getParameter<std::string>("TopFolderName");
171  std::stringstream folder_name;
172 
173  ibooker.cd();
174  folder_name << top_folder << "/";
175  ibooker.setCurrentFolder(folder_name.str());
176 
177  edm::LogInfo("Phase2ITMonitorCluster") << " Booking Histograms in: " << folder_name.str();
178 
180 
182  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionXY_PXB"), ibooker);
183 
185  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionRZ_PXB"), ibooker);
186 
188  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionXY_PXEC"), ibooker);
189 
191  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionRZ_PXEC"), ibooker);
192 
193  //Now book layer wise histos
194  edm::ESWatcher<TrackerDigiGeometryRecord> theTkDigiGeomWatcher;
195  if (theTkDigiGeomWatcher.check(iSetup)) {
196  for (auto const& det_u : tkGeom_->detUnits()) {
197  //Always check TrackerNumberingBuilder before changing this part
198  if (!(det_u->subDetector() == GeomDetEnumerators::SubDetector::P2PXB ||
199  det_u->subDetector() == GeomDetEnumerators::SubDetector::P2PXEC))
200  continue;
201  unsigned int detId_raw = det_u->geographicalId().rawId();
202  edm::LogInfo("Phase2ITMonitorRecHit") << "Detid:" << detId_raw << "\tsubdet=" << det_u->subDetector()
203  << "\t key=" << phase2tkutil::getITHistoId(detId_raw, tTopo_) << std::endl;
204  bookLayerHistos(ibooker, detId_raw, top_folder);
205  }
206  }
207 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
MonitorElement * book2DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
const TrackerTopology * tTopo_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
std::string getITHistoId(uint32_t det_id, const TrackerTopology *tTopo)
MonitorElement * book1DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
Log< level::Info, false > LogInfo
const TrackerGeometry * tkGeom_
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:57
void bookLayerHistos(DQMStore::IBooker &ibooker, uint32_t det_it, std::string &subdir)

◆ bookLayerHistos()

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

Definition at line 210 of file Phase2ITMonitorCluster.cc.

References phase2tkutil::book1DFromPSet(), phase2tkutil::book2DFromPSet(), dqm::implementation::NavigatorBase::cd(), Phase2ITMonitorCluster::ClusterMEs::ClusterCharge, Phase2ITMonitorCluster::ClusterMEs::ClusterSize, Phase2ITMonitorCluster::ClusterMEs::ClusterSizeX, Phase2ITMonitorCluster::ClusterMEs::ClusterSizeY, config_, ALCARECODTCalibSynchCosmicsDQM_cff::folderName, phase2tkutil::getITHistoId(), edm::ParameterSet::getParameter(), layerMEs_, Phase2ITMonitorCluster::ClusterMEs::nClusters, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, mkLumiAveragedPlots::subdir, tTopo_, Phase2ITMonitorCluster::ClusterMEs::XYGlobalPositionMapPixel, and Phase2ITMonitorCluster::ClusterMEs::XYLocalPositionMapPixel.

Referenced by bookHistograms().

210  {
212  if (folderName.empty())
213  return;
214 
215  std::map<std::string, ClusterMEs>::iterator pos = layerMEs_.find(folderName);
216 
217  if (pos == layerMEs_.end()) {
218  ibooker.cd();
219  ibooker.setCurrentFolder(subdir + "/" + folderName);
220 
221  edm::LogInfo("Phase2ITMonitorCluster") << " Booking Histograms in: " << subdir + "/" + folderName;
222 
223  ClusterMEs local_mes;
224 
225  local_mes.nClusters =
227 
228  local_mes.ClusterSize =
230 
231  local_mes.ClusterSizeX =
233 
234  local_mes.ClusterSizeY =
236 
237  local_mes.ClusterCharge =
239 
240  local_mes.XYLocalPositionMapPixel =
242 
243  local_mes.XYGlobalPositionMapPixel =
244  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionXY_perlayer"), ibooker);
245 
246  layerMEs_.emplace(folderName, local_mes);
247  }
248 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
MonitorElement * book2DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
const TrackerTopology * tTopo_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
std::string getITHistoId(uint32_t det_id, const TrackerTopology *tTopo)
MonitorElement * book1DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
std::map< std::string, ClusterMEs > layerMEs_
Log< level::Info, false > LogInfo

◆ dqmBeginRun()

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

Reimplemented from DQMEDAnalyzer.

Definition at line 94 of file Phase2ITMonitorCluster.cc.

References geomToken_, edm::EventSetup::getData(), tkGeom_, topoToken_, and tTopo_.

94  {
95  tkGeom_ = &iSetup.getData(geomToken_);
96  tTopo_ = &iSetup.getData(topoToken_);
97 }
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
const TrackerTopology * tTopo_
bool getData(T &iHolder) const
Definition: EventSetup.h:122
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
const TrackerGeometry * tkGeom_

◆ fillDescriptions()

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

Definition at line 250 of file Phase2ITMonitorCluster.cc.

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

250  {
251  // clusterITMonitor
253  //Global Histos
254  {
256  psd0.add<std::string>("name", "NumberOfClusters");
257  psd0.add<std::string>("title", "NumberClusters;Number of Clusters;");
258  psd0.add<double>("xmin", 0.0);
259  psd0.add<bool>("switch", true);
260  psd0.add<double>("xmax", 300000.0);
261  psd0.add<int>("NxBins", 150);
262  desc.add<edm::ParameterSetDescription>("GlobalNClusters", psd0);
263  }
264  {
266  psd0.add<std::string>("name", "Global_Position_RZ_IT_barrel");
267  psd0.add<std::string>("title", "Global_Position_RZ_IT_barrel;z [mm];r [mm]");
268  psd0.add<double>("ymax", 300.0);
269  psd0.add<int>("NxBins", 1500);
270  psd0.add<int>("NyBins", 300);
271  psd0.add<bool>("switch", true);
272  psd0.add<double>("xmax", 3000.0);
273  psd0.add<double>("xmin", -3000.0);
274  psd0.add<double>("ymin", 0.0);
275  desc.add<edm::ParameterSetDescription>("GlobalPositionRZ_PXB", psd0);
276  }
277  {
279  psd0.add<std::string>("name", "Global_Position_XY_IT_barrel");
280  psd0.add<std::string>("title", "Global_Position_XY_IT_barrel;x [mm];y [mm];");
281  psd0.add<double>("ymax", 300.0);
282  psd0.add<int>("NxBins", 600);
283  psd0.add<int>("NyBins", 600);
284  psd0.add<bool>("switch", true);
285  psd0.add<double>("xmax", 300.0);
286  psd0.add<double>("xmin", -300.0);
287  psd0.add<double>("ymin", -300.0);
288  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_PXB", psd0);
289  }
290  {
292  psd0.add<std::string>("name", "Global_Position_RZ_IT_endcap");
293  psd0.add<std::string>("title", "Global_Position_RZ_IT_endcap;z [mm];r [mm]");
294  psd0.add<double>("ymax", 300.0);
295  psd0.add<int>("NxBins", 1500);
296  psd0.add<int>("NyBins", 300);
297  psd0.add<bool>("switch", true);
298  psd0.add<double>("xmax", 3000.0);
299  psd0.add<double>("xmin", -3000.0);
300  psd0.add<double>("ymin", 0.0);
301  desc.add<edm::ParameterSetDescription>("GlobalPositionRZ_PXEC", psd0);
302  }
303  {
305  psd0.add<std::string>("name", "Global_Position_XY_IT_endcap");
306  psd0.add<std::string>("title", "Global_Position_XY_IT_endcap; x [mm]; y [mm]");
307  psd0.add<double>("ymax", 300.0);
308  psd0.add<int>("NxBins", 600);
309  psd0.add<int>("NyBins", 600);
310  psd0.add<bool>("switch", true);
311  psd0.add<double>("xmax", 300.0);
312  psd0.add<double>("xmin", -300.0);
313  psd0.add<double>("ymin", -300.0);
314  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_PXEC", psd0);
315  }
316  //Local histos
317  //Per layer/ring histos
318  {
320  psd0.add<std::string>("name", "NumberOfClustersLayer");
321  psd0.add<std::string>("title", "NumberOfClutsers;Number of Clusters;");
322  psd0.add<double>("xmin", 0.0);
323  psd0.add<bool>("switch", true);
324  psd0.add<double>("xmax", 20000.0);
325  psd0.add<int>("NxBins", 150);
326  desc.add<edm::ParameterSetDescription>("NClustersLayer", psd0);
327  }
328  {
330  psd0.add<std::string>("name", "ClusterCharge");
331  psd0.add<std::string>("title", ";Cluster charge;");
332  psd0.add<double>("xmin", 0.);
333  psd0.add<bool>("switch", true);
334  psd0.add<double>("xmax", 100000.);
335  psd0.add<int>("NxBins", 100);
336  desc.add<edm::ParameterSetDescription>("ClusterCharge", psd0);
337  }
338  {
340  psd0.add<std::string>("name", "ClusterSize");
341  psd0.add<std::string>("title", ";Cluster size;");
342  psd0.add<double>("xmin", -0.5);
343  psd0.add<double>("xmax", 30.5);
344  psd0.add<int>("NxBins", 31);
345  psd0.add<bool>("switch", true);
346  desc.add<edm::ParameterSetDescription>("ClusterSize", psd0);
347  }
348  {
350  psd0.add<std::string>("name", "ClusterSizeY");
351  psd0.add<std::string>("title", ";Cluster sizeY;");
352  psd0.add<double>("xmin", -0.5);
353  psd0.add<bool>("switch", true);
354  psd0.add<double>("xmax", 30.5);
355  psd0.add<int>("NxBins", 31);
356  desc.add<edm::ParameterSetDescription>("ClusterSizeY", psd0);
357  }
358  {
360  psd0.add<std::string>("name", "ClusterSizeX");
361  psd0.add<std::string>("title", ";Cluster sizeX;");
362  psd0.add<double>("xmin", -0.5);
363  psd0.add<bool>("switch", true);
364  psd0.add<double>("xmax", 30.5);
365  psd0.add<int>("NxBins", 31);
366  desc.add<edm::ParameterSetDescription>("ClusterSizeX", psd0);
367  }
368  {
370  psd0.add<std::string>("name", "Local_ClusterPosition_XY");
371  psd0.add<std::string>("title", "Local_ClusterPosition_XY; x; y");
372  psd0.add<double>("ymax", 0.0);
373  psd0.add<int>("NxBins", 500);
374  psd0.add<int>("NyBins", 500);
375  psd0.add<bool>("switch", true);
376  psd0.add<double>("xmax", 0.0);
377  psd0.add<double>("xmin", 0.0);
378  psd0.add<double>("ymin", 0.0);
379  desc.add<edm::ParameterSetDescription>("LocalPositionXY", psd0);
380  }
381  {
383  psd0.add<std::string>("name", "GlobalPositionXY_perlayer");
384  psd0.add<std::string>("title", "GlobalClusterPositionXY_perlayer;x [mm];y [mm];");
385  psd0.add<double>("ymax", 300.0);
386  psd0.add<int>("NxBins", 600);
387  psd0.add<int>("NyBins", 600);
388  psd0.add<bool>("switch", false);
389  psd0.add<double>("xmax", 300.0);
390  psd0.add<double>("xmin", -300.0);
391  psd0.add<double>("ymin", -300.0);
392  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_perlayer", psd0);
393  }
394 
395  desc.add<std::string>("TopFolderName", "TrackerPhase2ITCluster");
396  desc.add<edm::InputTag>("InnerPixelClusterSource", edm::InputTag("siPixelClusters"));
397  descriptions.add("Phase2ITMonitorCluster", desc);
398 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)

Member Data Documentation

◆ config_

edm::ParameterSet Phase2ITMonitorCluster::config_
private

Definition at line 69 of file Phase2ITMonitorCluster.cc.

Referenced by bookHistograms(), and bookLayerHistos().

◆ geomToken_

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

Definition at line 71 of file Phase2ITMonitorCluster.cc.

Referenced by dqmBeginRun().

◆ globalRZ_barrel_

MonitorElement* Phase2ITMonitorCluster::globalRZ_barrel_
private

Definition at line 63 of file Phase2ITMonitorCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ globalRZ_endcap_

MonitorElement* Phase2ITMonitorCluster::globalRZ_endcap_
private

Definition at line 64 of file Phase2ITMonitorCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ globalXY_barrel_

MonitorElement* Phase2ITMonitorCluster::globalXY_barrel_
private

Definition at line 61 of file Phase2ITMonitorCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ globalXY_endcap_

MonitorElement* Phase2ITMonitorCluster::globalXY_endcap_
private

Definition at line 62 of file Phase2ITMonitorCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ itPixelClusterToken_

edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > Phase2ITMonitorCluster::itPixelClusterToken_
private

Definition at line 70 of file Phase2ITMonitorCluster.cc.

Referenced by analyze().

◆ layerMEs_

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

Definition at line 68 of file Phase2ITMonitorCluster.cc.

Referenced by analyze(), and bookLayerHistos().

◆ numberClusters_

MonitorElement* Phase2ITMonitorCluster::numberClusters_
private

Definition at line 60 of file Phase2ITMonitorCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ tkGeom_

const TrackerGeometry* Phase2ITMonitorCluster::tkGeom_ = nullptr
private

Definition at line 73 of file Phase2ITMonitorCluster.cc.

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

◆ topoToken_

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

Definition at line 72 of file Phase2ITMonitorCluster.cc.

Referenced by dqmBeginRun().

◆ tTopo_

const TrackerTopology* Phase2ITMonitorCluster::tTopo_ = nullptr
private

Definition at line 74 of file Phase2ITMonitorCluster.cc.

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