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:307
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, hcalRecHitTable_cff::detId, 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 
106  if (!itPixelClusterHandle.isValid()) {
107  edm::LogWarning("Phase2ITMonitorCluster") << "No SiPixelCluster Collection found in the event. Skipping!";
108  return;
109  }
110 
111  // Number of clusters
112  std::map<std::string, unsigned int> nClsmap;
113  unsigned int nclusGlobal = 0;
114  for (const auto& DSVItr : *itPixelClusterHandle) {
115  uint32_t rawid(DSVItr.detId());
116  DetId detId(rawid);
117  const GeomDet* geomDet = tkGeom_->idToDet(detId);
118  if (!geomDet)
119  continue;
120  const GeomDetUnit* geomDetUnit(tkGeom_->idToDetUnit(detId));
121  if (!geomDetUnit)
122  continue;
123  nclusGlobal += DSVItr.size();
125  // initialize the nhit counters if they don't exist for this layer
126  auto counterDet = nClsmap.find(folderkey);
127  if (counterDet == nClsmap.end()) {
128  nClsmap.emplace(folderkey, DSVItr.size());
129  } else
130  counterDet->second += DSVItr.size();
131  for (const auto& clusterItr : DSVItr) {
132  MeasurementPoint mpCluster(clusterItr.x(), clusterItr.y());
133  Local3DPoint localPosCluster = geomDetUnit->topology().localPosition(mpCluster);
134  Global3DPoint globalPosCluster = geomDetUnit->surface().toGlobal(localPosCluster);
135  double gx = globalPosCluster.x() * 10.;
136  double gy = globalPosCluster.y() * 10.;
137  double gz = globalPosCluster.z() * 10.;
138  double gr = globalPosCluster.perp() * 10.;
139 
140  // cluster size
141  if (geomDetUnit->subDetector() == GeomDetEnumerators::SubDetector::P2PXB) {
142  globalXY_barrel_->Fill(gx, gy);
143  globalRZ_barrel_->Fill(gz, gr);
144  } else if (geomDetUnit->subDetector() == GeomDetEnumerators::SubDetector::P2PXEC) {
145  globalXY_endcap_->Fill(gx, gy);
146  globalRZ_endcap_->Fill(gz, gr);
147  }
148  auto local_mesIT = layerMEs_.find(folderkey);
149  if (local_mesIT == layerMEs_.end())
150  continue;
151  ClusterMEs& local_mes = local_mesIT->second;
152  if (local_mes.XYGlobalPositionMapPixel) //make this optional
153  local_mes.XYGlobalPositionMapPixel->Fill(globalPosCluster.z(), globalPosCluster.perp());
154  local_mes.XYLocalPositionMapPixel->Fill(localPosCluster.x(), localPosCluster.y());
155  local_mes.ClusterSize->Fill(clusterItr.size());
156  local_mes.ClusterSizeX->Fill(clusterItr.sizeX());
157  local_mes.ClusterSizeY->Fill(clusterItr.sizeY());
158  local_mes.ClusterCharge->Fill(clusterItr.charge());
159  }
160  }
161 
162  for (const auto& it : nClsmap) {
163  if (layerMEs_.find(it.first) == layerMEs_.end())
164  continue;
165  layerMEs_[it.first].nClusters->Fill(it.second);
166  }
167  numberClusters_->Fill(nclusGlobal); //global histo of #clusters
168 }
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_
Log< level::Warning, false > LogWarning

◆ bookHistograms()

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

Implements DQMEDAnalyzer.

Definition at line 173 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_.

175  {
176  std::string top_folder = config_.getParameter<std::string>("TopFolderName");
177  std::stringstream folder_name;
178 
179  ibooker.cd();
180  folder_name << top_folder << "/";
181  ibooker.setCurrentFolder(folder_name.str());
182 
183  edm::LogInfo("Phase2ITMonitorCluster") << " Booking Histograms in: " << folder_name.str();
184 
186 
188  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionXY_PXB"), ibooker);
189 
191  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionRZ_PXB"), ibooker);
192 
194  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionXY_PXEC"), ibooker);
195 
197  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionRZ_PXEC"), ibooker);
198 
199  //Now book layer wise histos
200  edm::ESWatcher<TrackerDigiGeometryRecord> theTkDigiGeomWatcher;
201  if (theTkDigiGeomWatcher.check(iSetup)) {
202  for (auto const& det_u : tkGeom_->detUnits()) {
203  //Always check TrackerNumberingBuilder before changing this part
204  if (!(det_u->subDetector() == GeomDetEnumerators::SubDetector::P2PXB ||
205  det_u->subDetector() == GeomDetEnumerators::SubDetector::P2PXEC))
206  continue;
207  unsigned int detId_raw = det_u->geographicalId().rawId();
208  edm::LogInfo("Phase2ITMonitorRecHit") << "Detid:" << detId_raw << "\tsubdet=" << det_u->subDetector()
209  << "\t key=" << phase2tkutil::getITHistoId(detId_raw, tTopo_) << std::endl;
210  bookLayerHistos(ibooker, detId_raw, top_folder);
211  }
212  }
213 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
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 216 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().

216  {
218  if (folderName.empty())
219  return;
220 
221  std::map<std::string, ClusterMEs>::iterator pos = layerMEs_.find(folderName);
222 
223  if (pos == layerMEs_.end()) {
224  ibooker.cd();
225  ibooker.setCurrentFolder(subdir + "/" + folderName);
226 
227  edm::LogInfo("Phase2ITMonitorCluster") << " Booking Histograms in: " << subdir + "/" + folderName;
228 
229  ClusterMEs local_mes;
230 
231  local_mes.nClusters =
233 
234  local_mes.ClusterSize =
236 
237  local_mes.ClusterSizeX =
239 
240  local_mes.ClusterSizeY =
242 
243  local_mes.ClusterCharge =
245 
246  local_mes.XYLocalPositionMapPixel =
248 
249  local_mes.XYGlobalPositionMapPixel =
250  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionXY_perlayer"), ibooker);
251 
252  layerMEs_.emplace(folderName, local_mes);
253  }
254 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
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_
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
const TrackerTopology * tTopo_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
const TrackerGeometry * tkGeom_

◆ fillDescriptions()

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

Definition at line 256 of file Phase2ITMonitorCluster.cc.

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

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