CMS 3D CMS Logo

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

#include <Phase2OTMonitorRecHit.cc>

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

Classes

struct  RecHitME
 

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
 
 Phase2OTMonitorRecHit (const edm::ParameterSet &)
 
 ~Phase2OTMonitorRecHit () 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, unsigned int det_id, std::string &subdir)
 

Private Attributes

edm::ParameterSet config_
 
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordgeomToken_
 
MonitorElementglobalRZ_P_ = nullptr
 
MonitorElementglobalRZ_S_ = nullptr
 
MonitorElementglobalXY_P_ = nullptr
 
MonitorElementglobalXY_S_ = nullptr
 
std::map< std::string, RecHitMElayerMEs_
 
MonitorElementnumberRecHits_ = nullptr
 
const TrackerGeometrytkGeom_ = nullptr
 
const edm::EDGetTokenT< Phase2TrackerRecHit1DCollectionNewtokenRecHitsOT_
 
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: Standalone Plugin for Phase2 RecHit validation

Definition at line 53 of file Phase2OTMonitorRecHit.cc.

Constructor & Destructor Documentation

◆ Phase2OTMonitorRecHit()

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

Definition at line 97 of file Phase2OTMonitorRecHit.cc.

98  : config_(iConfig),
99  tokenRecHitsOT_(consumes<Phase2TrackerRecHit1DCollectionNew>(config_.getParameter<edm::InputTag>("rechitsSrc"))),
100  geomToken_(esConsumes<TrackerGeometry, TrackerDigiGeometryRecord, edm::Transition::BeginRun>()),
101  topoToken_(esConsumes<TrackerTopology, TrackerTopologyRcd, edm::Transition::BeginRun>()) {
102  edm::LogInfo("Phase2OTMonitorRecHit") << ">>> Construct Phase2OTMonitorRecHit ";
103 }
const edm::EDGetTokenT< Phase2TrackerRecHit1DCollectionNew > tokenRecHitsOT_
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

◆ ~Phase2OTMonitorRecHit()

Phase2OTMonitorRecHit::~Phase2OTMonitorRecHit ( )
override

Definition at line 108 of file Phase2OTMonitorRecHit.cc.

108  {
109  // do anything here that needs to be done at desctruction time
110  // (e.g. close files, deallocate resources etc.)
111  edm::LogInfo("Phase2OTMonitorRecHit") << ">>> Destroy Phase2OTMonitorRecHit ";
112 }
Log< level::Info, false > LogInfo

Member Function Documentation

◆ analyze()

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

Reimplemented from DQMEDAnalyzer.

Definition at line 124 of file Phase2OTMonitorRecHit.cc.

References edmNew::DetSet< T >::begin(), hcalRecHitTable_cff::detId, edmNew::DetSet< T >::end(), dqm::impl::MonitorElement::Fill(), TrackerGeometry::getDetectorType(), phase2tkutil::getOTHistoId(), globalRZ_P_, globalRZ_S_, globalXY_P_, globalXY_S_, TrackerGeometry::idToDetUnit(), iEvent, submitPVResolutionJobs::key, layerMEs_, numberRecHits_, PV3DBase< T, PVType, FrameType >::perp(), TrackerGeometry::Ph2PSP, TrackerGeometry::Ph2PSS, TrackerGeometry::Ph2SS, edmNew::DetSet< T >::size(), AlCaHLTBitMon_QueryRunRegistry::string, tkGeom_, tokenRecHitsOT_, tTopo_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

124  {
125  // Get the RecHits Phase2TrackerRecHit1DCollectionNew
126  const auto& rechits = iEvent.getHandle(tokenRecHitsOT_);
127  if (!rechits.isValid())
128  return;
129  std::map<std::string, unsigned int> nrechitLayerMapP;
130  std::map<std::string, unsigned int> nrechitLayerMapS;
131  unsigned long int nTotrechitsinevt = 0;
132  // Loop over modules
134  for (DSViter = rechits->begin(); DSViter != rechits->end(); ++DSViter) {
135  // Get the detector unit's id
136  unsigned int rawid(DSViter->detId());
137  DetId detId(rawid);
138  // Get the geomdet
139  const GeomDetUnit* geomDetunit(tkGeom_->idToDetUnit(detId));
140  if (!geomDetunit)
141  continue;
142  // determine the detector we are in
145  nTotrechitsinevt += DSViter->size();
147  if (nrechitLayerMapP.find(key) == nrechitLayerMapP.end()) {
148  nrechitLayerMapP.insert(std::make_pair(key, DSViter->size()));
149  } else {
150  nrechitLayerMapP[key] += DSViter->size();
151  }
153  if (nrechitLayerMapS.find(key) == nrechitLayerMapS.end()) {
154  nrechitLayerMapS.insert(std::make_pair(key, DSViter->size()));
155  } else {
156  nrechitLayerMapS[key] += DSViter->size();
157  }
158  }
160  //loop over rechits for a single detId
161  for (rechitIt = DSViter->begin(); rechitIt != DSViter->end(); ++rechitIt) {
162  LocalPoint lp = rechitIt->localPosition();
163  Global3DPoint globalPos = geomDetunit->surface().toGlobal(lp);
164  //in mm
165  double gx = globalPos.x() * 10.;
166  double gy = globalPos.y() * 10.;
167  double gz = globalPos.z() * 10.;
168  double gr = globalPos.perp() * 10.;
169  //Fill positions
171  globalXY_P_->Fill(gx, gy);
172  globalRZ_P_->Fill(gz, gr);
173  //layer wise histo
174  layerMEs_[key].clusterSize_P->Fill(rechitIt->cluster()->size());
175  //layerMEs_[key].globalPosXY_P->Fill(gx, gy);
176  layerMEs_[key].localPosXY_P->Fill(lp.x(), lp.y());
178  globalXY_S_->Fill(gx, gy);
179  globalRZ_S_->Fill(gz, gr);
180  //layer wise histo
181  layerMEs_[key].clusterSize_S->Fill(rechitIt->cluster()->size());
182  //layerMEs_[key].globalPosXY_S->Fill(gx, gy);
183  layerMEs_[key].localPosXY_S->Fill(lp.x(), lp.y());
184  }
185  } //end loop over rechits of a detId
186  } //End loop over DetSetVector
187 
188  //fill nRecHits per event
189  numberRecHits_->Fill(nTotrechitsinevt);
190  //fill nRecHit counter per layer
191  for (auto& lme : nrechitLayerMapP) {
192  layerMEs_[lme.first].numberRecHits_P->Fill(lme.second);
193  }
194  for (auto& lme : nrechitLayerMapS) {
195  layerMEs_[lme.first].numberRecHits_S->Fill(lme.second);
196  }
197 }
const edm::EDGetTokenT< Phase2TrackerRecHit1DCollectionNew > tokenRecHitsOT_
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_
std::map< std::string, RecHitME > layerMEs_
MonitorElement * numberRecHits_
T z() const
Definition: PV3DBase.h:61
data_type const * const_iterator
Definition: DetSetNew.h:31
const TrackerGeometry * tkGeom_
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
std::string getOTHistoId(uint32_t det_id, const TrackerTopology *tTopo)
ModuleType getDetectorType(DetId) const
key
prepare the HTCondor submission files and eventually submit them
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
Definition: DetId.h:17
size_type size() const
Definition: DetSetNew.h:65
iterator end()
Definition: DetSetNew.h:53

◆ bookHistograms()

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

Implements DQMEDAnalyzer.

Definition at line 201 of file Phase2OTMonitorRecHit.cc.

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

203  {
204  std::string top_folder = config_.getParameter<std::string>("TopFolderName");
205  //std::stringstream folder_name;
206 
207  ibooker.cd();
208  edm::LogInfo("Phase2OTMonitorRecHit") << " Booking Histograms in : " << top_folder;
209  ibooker.setCurrentFolder(top_folder);
210 
211  //Global histos for OT
213 
215 
217 
219 
221 
222  //Now book layer wise histos
223  edm::ESWatcher<TrackerDigiGeometryRecord> theTkDigiGeomWatcher;
224  if (theTkDigiGeomWatcher.check(iSetup)) {
225  for (auto const& det_u : tkGeom_->detUnits()) {
226  //Always check TrackerNumberingBuilder before changing this part
227  if (det_u->subDetector() == GeomDetEnumerators::SubDetector::P2PXB ||
228  det_u->subDetector() == GeomDetEnumerators::SubDetector::P2PXEC)
229  continue;
230  unsigned int detId_raw = det_u->geographicalId().rawId();
231  bookLayerHistos(ibooker, detId_raw, top_folder);
232  }
233  }
234 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
MonitorElement * book2DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
MonitorElement * numberRecHits_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
const TrackerGeometry * tkGeom_
void bookLayerHistos(DQMStore::IBooker &ibooker, unsigned int det_id, std::string &subdir)
MonitorElement * book1DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
Log< level::Info, false > LogInfo
bool check(const edm::EventSetup &iSetup)
Definition: ESWatcher.h:57

◆ bookLayerHistos()

void Phase2OTMonitorRecHit::bookLayerHistos ( DQMStore::IBooker ibooker,
unsigned int  det_id,
std::string &  subdir 
)
private

Definition at line 239 of file Phase2OTMonitorRecHit.cc.

References phase2tkutil::book1DFromPSet(), phase2tkutil::book2DFromPSet(), dqm::implementation::NavigatorBase::cd(), Phase2OTMonitorRecHit::RecHitME::clusterSize_P, Phase2OTMonitorRecHit::RecHitME::clusterSize_S, config_, TrackerGeometry::getDetectorType(), phase2tkutil::getOTHistoId(), edm::ParameterSet::getParameter(), Phase2OTMonitorRecHit::RecHitME::globalPosXY_P, submitPVResolutionJobs::key, layerMEs_, Phase2OTMonitorRecHit::RecHitME::localPosXY_P, Phase2OTMonitorRecHit::RecHitME::localPosXY_S, Phase2OTMonitorRecHit::RecHitME::numberRecHits_P, Phase2OTMonitorRecHit::RecHitME::numberRecHits_S, TrackerGeometry::Ph2PSP, dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, mkLumiAveragedPlots::subdir, tkGeom_, and tTopo_.

Referenced by bookHistograms().

239  {
241  if (layerMEs_.find(key) == layerMEs_.end()) {
242  ibooker.cd();
243  RecHitME local_histos;
244  ibooker.setCurrentFolder(subdir + "/" + key);
245  edm::LogInfo("Phase2OTMonitorRecHit") << " Booking Histograms in : " << key;
246 
248  local_histos.numberRecHits_P =
250 
251  local_histos.clusterSize_P =
253 
254  local_histos.globalPosXY_P =
255  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("GlobalPositionXY_perlayer_P"), ibooker);
256 
257  local_histos.localPosXY_P =
258  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("LocalPositionXY_P"), ibooker);
259 
260  } //if block for P
261 
262  ibooker.setCurrentFolder(subdir + "/" + key);
263  local_histos.numberRecHits_S =
265  local_histos.clusterSize_S =
267  local_histos.localPosXY_S =
268  phase2tkutil::book2DFromPSet(config_.getParameter<edm::ParameterSet>("LocalPositionXY_S"), ibooker);
269 
270  layerMEs_.insert(std::make_pair(key, local_histos));
271  }
272 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
MonitorElement * book2DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
const TrackerTopology * tTopo_
std::map< std::string, RecHitME > layerMEs_
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
const TrackerGeometry * tkGeom_
std::string getOTHistoId(uint32_t det_id, const TrackerTopology *tTopo)
ModuleType getDetectorType(DetId) const
key
prepare the HTCondor submission files and eventually submit them
MonitorElement * book1DFromPSet(const edm::ParameterSet &hpars, DQMStore::IBooker &ibooker)
Log< level::Info, false > LogInfo

◆ dqmBeginRun()

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

Reimplemented from DQMEDAnalyzer.

Definition at line 115 of file Phase2OTMonitorRecHit.cc.

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

115  {
116  tkGeom_ = &iSetup.getData(geomToken_);
117  tTopo_ = &iSetup.getData(topoToken_);
118  ;
119 }
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
Definition: EventSetup.h:119
const TrackerTopology * tTopo_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
const TrackerGeometry * tkGeom_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_

◆ fillDescriptions()

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

Definition at line 276 of file Phase2OTMonitorRecHit.cc.

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

276  {
277  // rechitMonitorOT
279  {
281  psd0.add<std::string>("name", "NumberOfRecHits");
282  psd0.add<std::string>("title", ";Number of rechits per event;");
283  psd0.add<double>("xmin", 0.0);
284  psd0.add<bool>("switch", true);
285  psd0.add<double>("xmax", 000.0);
286  psd0.add<int>("NxBins", 150);
287  desc.add<edm::ParameterSetDescription>("GlobalNRecHits", psd0);
288  }
289  {
291  psd0.add<std::string>("name", "Global_RecHitPosition_XY_P");
292  psd0.add<std::string>("title", "Global_RecHitPosition_XY_P;x [mm];y [mm];");
293  psd0.add<int>("NxBins", 1250);
294  psd0.add<double>("xmin", -1250.0);
295  psd0.add<double>("xmax", 1250.0);
296  psd0.add<int>("NyBins", 1250);
297  psd0.add<double>("ymin", -1250.0);
298  psd0.add<double>("ymax", 1250.0);
299  psd0.add<bool>("switch", true);
300  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_P", psd0);
301  }
302  {
304  psd0.add<std::string>("name", "Global_RecHitPosition_XY_S");
305  psd0.add<std::string>("title", "Global_RecHitPosition_XY_S;x [mm];y [mm];");
306  psd0.add<int>("NxBins", 1250);
307  psd0.add<double>("xmin", -1250.0);
308  psd0.add<double>("xmax", 1250.0);
309  psd0.add<int>("NyBins", 1250);
310  psd0.add<double>("ymin", -1250.0);
311  psd0.add<double>("ymax", 1250.0);
312  psd0.add<bool>("switch", true);
313  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_S", psd0);
314  }
315 
316  {
318  psd0.add<std::string>("name", "Global_RecHitPosition_RZ_P");
319  psd0.add<std::string>("title", "Global_RecHitPosition_RZ_P;z [mm];r [mm]");
320  psd0.add<int>("NxBins", 1500);
321  psd0.add<double>("xmin", -3000.0);
322  psd0.add<double>("xmax", 3000.0);
323  psd0.add<int>("NyBins", 1250);
324  psd0.add<double>("ymin", 0.0);
325  psd0.add<double>("ymax", 1250.0);
326  psd0.add<bool>("switch", true);
327  desc.add<edm::ParameterSetDescription>("GlobalPositionRZ_P", psd0);
328  }
329  {
331  psd0.add<std::string>("name", "Global_RecHitPosition_RZ_S");
332  psd0.add<std::string>("title", "Global_RecHitPosition_RZ_S;z [mm];r [mm]");
333 
334  psd0.add<int>("NxBins", 1500);
335  psd0.add<double>("xmin", -3000.0);
336  psd0.add<double>("xmax", 3000.0);
337  psd0.add<int>("NyBins", 1250);
338  psd0.add<double>("ymin", 0.0);
339  psd0.add<double>("ymax", 1250.0);
340  psd0.add<bool>("switch", true);
341  desc.add<edm::ParameterSetDescription>("GlobalPositionRZ_S", psd0);
342  }
343  //Layer wise parameter
344  {
346  psd0.add<std::string>("name", "NumberOfRecHitsLayerP");
347  psd0.add<std::string>("title", ";Number of clusters per event(macro pixel sensor);");
348  psd0.add<double>("xmin", 0.0);
349  psd0.add<double>("xmax", 28000.0);
350  psd0.add<int>("NxBins", 150);
351  psd0.add<bool>("switch", true);
352  desc.add<edm::ParameterSetDescription>("NRecHitsLayer_P", psd0);
353  }
354 
355  {
357  psd0.add<std::string>("name", "NumberOfRecHitsLayerS");
358  psd0.add<std::string>("title", ";Number of clusters per event(strip sensor);");
359  psd0.add<double>("xmin", 0.0);
360  psd0.add<double>("xmax", 28000.0);
361  psd0.add<int>("NxBins", 150);
362  psd0.add<bool>("switch", true);
363  desc.add<edm::ParameterSetDescription>("NRecHitsLayer_S", psd0);
364  }
365 
366  {
368  psd0.add<std::string>("name", "ClusterSize_P");
369  psd0.add<std::string>("title", ";cluster size(macro pixel 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_P", psd0);
375  }
376  {
378  psd0.add<std::string>("name", "ClusterSize_S");
379  psd0.add<std::string>("title", ";cluster size(strip sensor);");
380  psd0.add<double>("xmin", -0.5);
381  psd0.add<double>("xmax", 30.5);
382  psd0.add<int>("NxBins", 31);
383  psd0.add<bool>("switch", true);
384  desc.add<edm::ParameterSetDescription>("ClusterSize_S", psd0);
385  }
386  {
388  psd0.add<std::string>("name", "GlobalPositionXY_perlayer_P");
389  psd0.add<std::string>("title", "GlobalRecHitPositionXY_perlayer_P;x[mm];y[mm];");
390  psd0.add<int>("NxBins", 1250);
391  psd0.add<double>("xmin", -1250.0);
392  psd0.add<double>("xmax", 1250.0);
393  psd0.add<int>("NyBins", 1250);
394  psd0.add<double>("ymin", -1250.0);
395  psd0.add<double>("ymax", 1250.0);
396  psd0.add<bool>("switch", true);
397  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_perlayer_P", psd0);
398  }
399  {
401  psd0.add<std::string>("name", "GlobalPositionXY_perlayer_S");
402  psd0.add<std::string>("title", "GlobalRecHitPositionXY_perlayer_S;x[mm];y[mm];");
403  psd0.add<int>("NxBins", 1250);
404  psd0.add<double>("xmin", -1250.0);
405  psd0.add<double>("xmax", 1250.0);
406  psd0.add<int>("NyBins", 1250);
407  psd0.add<double>("ymin", -1250.0);
408  psd0.add<double>("ymax", 1250.0);
409  psd0.add<bool>("switch", true);
410  desc.add<edm::ParameterSetDescription>("GlobalPositionXY_perlayer_S", psd0);
411  }
412  {
414  psd0.add<std::string>("name", "LocalPositionXY_P");
415  psd0.add<std::string>("title", "LocalPositionXY_P;x ;y ;");
416  psd0.add<int>("NxBins", 50);
417  psd0.add<double>("xmin", -10.0);
418  psd0.add<double>("xmax", 10.0);
419  psd0.add<int>("NyBins", 50);
420  psd0.add<double>("ymin", -10.0);
421  psd0.add<double>("ymax", 10.0);
422  psd0.add<bool>("switch", true);
423  desc.add<edm::ParameterSetDescription>("LocalPositionXY_P", psd0);
424  }
425  {
427  psd0.add<std::string>("name", "LocalPositionXY_S");
428  psd0.add<std::string>("title", "LocalPositionXY_S;x ;y ;");
429  psd0.add<int>("NxBins", 50);
430  psd0.add<double>("xmin", -10.0);
431  psd0.add<double>("xmax", 10.0);
432  psd0.add<int>("NyBins", 50);
433  psd0.add<double>("ymin", -10.0);
434  psd0.add<double>("ymax", 10.0);
435  psd0.add<bool>("switch", true);
436  desc.add<edm::ParameterSetDescription>("LocalPositionXY_S", psd0);
437  }
438  desc.add<std::string>("TopFolderName", "TrackerPhase2OTRecHit");
439  desc.add<bool>("Verbosity", false);
440  desc.add<edm::InputTag>("rechitsSrc", edm::InputTag("siPhase2RecHits"));
441  descriptions.add("Phase2OTMonitorRecHit", desc);
442  // or use the following to generate the label from the module's C++ type
443  //descriptions.addWithDefaultLabel(desc);
444 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)

Member Data Documentation

◆ config_

edm::ParameterSet Phase2OTMonitorRecHit::config_
private

Definition at line 65 of file Phase2OTMonitorRecHit.cc.

Referenced by bookHistograms(), and bookLayerHistos().

◆ geomToken_

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

Definition at line 68 of file Phase2OTMonitorRecHit.cc.

Referenced by dqmBeginRun().

◆ globalRZ_P_

MonitorElement* Phase2OTMonitorRecHit::globalRZ_P_ = nullptr
private

Definition at line 75 of file Phase2OTMonitorRecHit.cc.

Referenced by analyze(), and bookHistograms().

◆ globalRZ_S_

MonitorElement* Phase2OTMonitorRecHit::globalRZ_S_ = nullptr
private

Definition at line 77 of file Phase2OTMonitorRecHit.cc.

Referenced by analyze(), and bookHistograms().

◆ globalXY_P_

MonitorElement* Phase2OTMonitorRecHit::globalXY_P_ = nullptr
private

Definition at line 74 of file Phase2OTMonitorRecHit.cc.

Referenced by analyze(), and bookHistograms().

◆ globalXY_S_

MonitorElement* Phase2OTMonitorRecHit::globalXY_S_ = nullptr
private

Definition at line 76 of file Phase2OTMonitorRecHit.cc.

Referenced by analyze(), and bookHistograms().

◆ layerMEs_

std::map<std::string, RecHitME> Phase2OTMonitorRecHit::layerMEs_
private

Definition at line 91 of file Phase2OTMonitorRecHit.cc.

Referenced by analyze(), and bookLayerHistos().

◆ numberRecHits_

MonitorElement* Phase2OTMonitorRecHit::numberRecHits_ = nullptr
private

Definition at line 73 of file Phase2OTMonitorRecHit.cc.

Referenced by analyze(), and bookHistograms().

◆ tkGeom_

const TrackerGeometry* Phase2OTMonitorRecHit::tkGeom_ = nullptr
private

Definition at line 70 of file Phase2OTMonitorRecHit.cc.

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

◆ tokenRecHitsOT_

const edm::EDGetTokenT<Phase2TrackerRecHit1DCollectionNew> Phase2OTMonitorRecHit::tokenRecHitsOT_
private

Definition at line 66 of file Phase2OTMonitorRecHit.cc.

Referenced by analyze().

◆ topoToken_

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

Definition at line 69 of file Phase2OTMonitorRecHit.cc.

Referenced by dqmBeginRun().

◆ tTopo_

const TrackerTopology* Phase2OTMonitorRecHit::tTopo_ = nullptr
private

Definition at line 71 of file Phase2OTMonitorRecHit.cc.

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