CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Public Attributes | Private Attributes
Phase2OTMonitorTTCluster Class Reference
Inheritance diagram for Phase2OTMonitorTTCluster:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
void dqmBeginRun (const edm::Run &iRun, const edm::EventSetup &iSetup) override
 
 Phase2OTMonitorTTCluster (const edm::ParameterSet &)
 
 ~Phase2OTMonitorTTCluster () 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 &)
 

Public Attributes

MonitorElementCluster_Barrel_XY = nullptr
 
MonitorElementCluster_Endcap_Bw_XY = nullptr
 
MonitorElementCluster_Endcap_Fw_XY = nullptr
 
MonitorElementCluster_Eta = nullptr
 
MonitorElementCluster_IMem_Barrel = nullptr
 
MonitorElementCluster_IMem_Endcap_Disc = nullptr
 
MonitorElementCluster_IMem_Endcap_Ring = nullptr
 
MonitorElementCluster_IMem_Endcap_Ring_Bw [5] = {nullptr, nullptr, nullptr, nullptr, nullptr}
 
MonitorElementCluster_IMem_Endcap_Ring_Fw [5] = {nullptr, nullptr, nullptr, nullptr, nullptr}
 
MonitorElementCluster_OMem_Barrel = nullptr
 
MonitorElementCluster_OMem_Endcap_Disc = nullptr
 
MonitorElementCluster_OMem_Endcap_Ring = nullptr
 
MonitorElementCluster_OMem_Endcap_Ring_Bw [5] = {nullptr, nullptr, nullptr, nullptr, nullptr}
 
MonitorElementCluster_OMem_Endcap_Ring_Fw [5] = {nullptr, nullptr, nullptr, nullptr, nullptr}
 
MonitorElementCluster_Phi = nullptr
 
MonitorElementCluster_R = nullptr
 
MonitorElementCluster_RZ = nullptr
 
MonitorElementCluster_W = nullptr
 

Private Attributes

edm::ParameterSet conf_
 
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecordgeomToken_
 
edm::EDGetTokenT< edmNew::DetSetVector< TTCluster< Ref_Phase2TrackerDigi_ > > > tagTTClustersToken_
 
const TrackerGeometrytkGeom_ = nullptr
 
std::string topFolderName_
 
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

Definition at line 49 of file Phase2OTMonitorTTCluster.cc.

Constructor & Destructor Documentation

◆ Phase2OTMonitorTTCluster()

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

Definition at line 91 of file Phase2OTMonitorTTCluster.cc.

References conf_, edm::ParameterSet::getParameter(), AlCaHLTBitMon_QueryRunRegistry::string, tagTTClustersToken_, and topFolderName_.

92  : conf_(iConfig),
93  geomToken_(esConsumes<TrackerGeometry, TrackerDigiGeometryRecord, edm::Transition::BeginRun>()),
94  topoToken_(esConsumes<TrackerTopology, TrackerTopologyRcd, edm::Transition::BeginRun>()) {
95  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
96  tagTTClustersToken_ = consumes<edmNew::DetSetVector<TTCluster<Ref_Phase2TrackerDigi_>>>(
97  conf_.getParameter<edm::InputTag>("TTClusters"));
98 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
edm::EDGetTokenT< edmNew::DetSetVector< TTCluster< Ref_Phase2TrackerDigi_ > > > tagTTClustersToken_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_

◆ ~Phase2OTMonitorTTCluster()

Phase2OTMonitorTTCluster::~Phase2OTMonitorTTCluster ( )
override

Definition at line 100 of file Phase2OTMonitorTTCluster.cc.

100  {
101  // do anything here that needs to be done at desctruction time
102  // (e.g. close files, deallocate resources etc.)
103 }

Member Function Documentation

◆ analyze()

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

Track Trigger Clusters

Loop over the input Clusters

Reimplemented from DQMEDAnalyzer.

Definition at line 114 of file Phase2OTMonitorTTCluster.cc.

References edmNew::DetSetVector< T >::begin(), Cluster_Barrel_XY, Cluster_Endcap_Bw_XY, Cluster_Endcap_Fw_XY, Cluster_Eta, Cluster_IMem_Barrel, Cluster_IMem_Endcap_Disc, Cluster_IMem_Endcap_Ring, Cluster_IMem_Endcap_Ring_Bw, Cluster_IMem_Endcap_Ring_Fw, Cluster_OMem_Barrel, Cluster_OMem_Endcap_Disc, Cluster_OMem_Endcap_Ring, Cluster_OMem_Endcap_Ring_Bw, Cluster_OMem_Endcap_Ring_Fw, Cluster_Phi, Cluster_R, Cluster_RZ, Cluster_W, edmNew::DetSetVector< T >::end(), PV3DBase< T, PVType, FrameType >::eta(), dqm::impl::MonitorElement::Fill(), TrackerGeometry::idToDet(), iEvent, edm::HandleBase::isValid(), TrackerTopology::layer(), Topology::localPosition(), edmNew::makeRefTo(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), alignCSCRings::r, DetId::subdetId(), GeomDet::surface(), tagTTClustersToken_, StripSubdetector::TID, TrackerTopology::tidRing(), tkGeom_, StripSubdetector::TOB, Surface::toGlobal(), GeomDet::topology(), tTopo_, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), z, and PV3DBase< T, PVType, FrameType >::z().

114  {
117  iEvent.getByToken(tagTTClustersToken_, Phase2TrackerDigiTTClusterHandle);
118 
120  typename edmNew::DetSetVector<TTCluster<Ref_Phase2TrackerDigi_>>::const_iterator inputIter;
121  typename edmNew::DetSet<TTCluster<Ref_Phase2TrackerDigi_>>::const_iterator contentIter;
122 
123  // Adding protection
124  if (!Phase2TrackerDigiTTClusterHandle.isValid())
125  return;
126 
127  for (inputIter = Phase2TrackerDigiTTClusterHandle->begin(); inputIter != Phase2TrackerDigiTTClusterHandle->end();
128  ++inputIter) {
129  for (contentIter = inputIter->begin(); contentIter != inputIter->end(); ++contentIter) {
130  // Make reference cluster
132  edmNew::makeRefTo(Phase2TrackerDigiTTClusterHandle, contentIter);
133 
134  DetId detIdClu = tkGeom_->idToDet(tempCluRef->getDetId())->geographicalId();
135  unsigned int memberClu = tempCluRef->getStackMember();
136  unsigned int widClu = tempCluRef->findWidth();
137 
138  MeasurementPoint mp = tempCluRef->findAverageLocalCoordinates();
139  const GeomDet *theGeomDet = tkGeom_->idToDet(detIdClu);
140  Global3DPoint posClu = theGeomDet->surface().toGlobal(theGeomDet->topology().localPosition(mp));
141 
142  double r = posClu.perp();
143  double z = posClu.z();
144 
145  Cluster_W->Fill(widClu, memberClu);
146  Cluster_Eta->Fill(posClu.eta());
147  Cluster_Phi->Fill(posClu.phi());
148  Cluster_R->Fill(r);
149  Cluster_RZ->Fill(z, r);
150 
151  if (detIdClu.subdetId() == static_cast<int>(StripSubdetector::TOB)) // Phase 2 Outer Tracker Barrel
152  {
153  if (memberClu == 0)
154  Cluster_IMem_Barrel->Fill(tTopo_->layer(detIdClu));
155  else
156  Cluster_OMem_Barrel->Fill(tTopo_->layer(detIdClu));
157 
158  Cluster_Barrel_XY->Fill(posClu.x(), posClu.y());
159 
160  } // end if isBarrel
161  else if (detIdClu.subdetId() == static_cast<int>(StripSubdetector::TID)) // Phase 2 Outer Tracker Endcap
162  {
163  if (memberClu == 0) {
164  Cluster_IMem_Endcap_Disc->Fill(tTopo_->layer(detIdClu)); // returns wheel
166  } else {
167  Cluster_OMem_Endcap_Disc->Fill(tTopo_->layer(detIdClu)); // returns wheel
169  }
170 
171  if (posClu.z() > 0) {
172  Cluster_Endcap_Fw_XY->Fill(posClu.x(), posClu.y());
173  if (memberClu == 0)
174  Cluster_IMem_Endcap_Ring_Fw[tTopo_->layer(detIdClu) - 1]->Fill(tTopo_->tidRing(detIdClu));
175  else
176  Cluster_OMem_Endcap_Ring_Fw[tTopo_->layer(detIdClu) - 1]->Fill(tTopo_->tidRing(detIdClu));
177  } else {
178  Cluster_Endcap_Bw_XY->Fill(posClu.x(), posClu.y());
179  if (memberClu == 0)
180  Cluster_IMem_Endcap_Ring_Bw[tTopo_->layer(detIdClu) - 1]->Fill(tTopo_->tidRing(detIdClu));
181  else
182  Cluster_OMem_Endcap_Ring_Bw[tTopo_->layer(detIdClu) - 1]->Fill(tTopo_->tidRing(detIdClu));
183  }
184 
185  } // end if isEndcap
186  } // end loop contentIter
187  } // end loop inputIter
188 } // end of method
edm::Ref< typename HandleT::element_type, typename HandleT::element_type::value_type::value_type > makeRefTo(const HandleT &iHandle, typename HandleT::element_type::value_type::const_iterator itIter)
T perp() const
Definition: PV3DBase.h:69
MonitorElement * Cluster_OMem_Endcap_Ring_Fw[5]
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
T z() const
Definition: PV3DBase.h:61
virtual const Topology & topology() const
Definition: GeomDet.cc:67
MonitorElement * Cluster_OMem_Endcap_Ring_Bw[5]
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
T eta() const
Definition: PV3DBase.h:73
const TrackerTopology * tTopo_
unsigned int layer(const DetId &id) const
const_iterator end(bool update=false) const
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
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
static constexpr auto TOB
const TrackerGeomDet * idToDet(DetId) const override
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
Definition: DetId.h:17
MonitorElement * Cluster_IMem_Endcap_Ring_Bw[5]
const_iterator begin(bool update=false) const
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
edm::EDGetTokenT< edmNew::DetSetVector< TTCluster< Ref_Phase2TrackerDigi_ > > > tagTTClustersToken_
NOTE: this is needed even if it seems not.
Definition: TTCluster.h:27
bool isValid() const
Definition: HandleBase.h:70
unsigned int tidRing(const DetId &id) const
const TrackerGeometry * tkGeom_
static constexpr auto TID
MonitorElement * Cluster_IMem_Endcap_Ring_Fw[5]

◆ bookHistograms()

void Phase2OTMonitorTTCluster::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  run,
edm::EventSetup const &  es 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 192 of file Phase2OTMonitorTTCluster.cc.

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), Cluster_Barrel_XY, Cluster_Endcap_Bw_XY, Cluster_Endcap_Fw_XY, Cluster_Eta, Cluster_IMem_Barrel, Cluster_IMem_Endcap_Disc, Cluster_IMem_Endcap_Ring, Cluster_IMem_Endcap_Ring_Bw, Cluster_IMem_Endcap_Ring_Fw, Cluster_OMem_Barrel, Cluster_OMem_Endcap_Disc, Cluster_OMem_Endcap_Ring, Cluster_OMem_Endcap_Ring_Bw, Cluster_OMem_Endcap_Ring_Fw, Cluster_Phi, Cluster_R, Cluster_RZ, Cluster_W, conf_, edm::ParameterSet::getParameter(), mps_fire::i, dqm::impl::MonitorElement::setAxisTitle(), dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, to_string(), and topFolderName_.

194  {
196  const int numDiscs = 5;
197 
198  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/NClusters");
199 
200  // NClusters
201  edm::ParameterSet psTTCluster_Barrel = conf_.getParameter<edm::ParameterSet>("TH1TTCluster_Barrel");
202  HistoName = "NClusters_IMem_Barrel";
204  HistoName,
205  psTTCluster_Barrel.getParameter<int32_t>("Nbinsx"),
206  psTTCluster_Barrel.getParameter<double>("xmin"),
207  psTTCluster_Barrel.getParameter<double>("xmax"));
208  Cluster_IMem_Barrel->setAxisTitle("Barrel Layer", 1);
209  Cluster_IMem_Barrel->setAxisTitle("# L1 Clusters", 2);
210 
211  HistoName = "NClusters_OMem_Barrel";
213  HistoName,
214  psTTCluster_Barrel.getParameter<int32_t>("Nbinsx"),
215  psTTCluster_Barrel.getParameter<double>("xmin"),
216  psTTCluster_Barrel.getParameter<double>("xmax"));
217  Cluster_OMem_Barrel->setAxisTitle("Barrel Layer", 1);
218  Cluster_OMem_Barrel->setAxisTitle("# L1 Clusters", 2);
219 
220  edm::ParameterSet psTTCluster_ECDisc = conf_.getParameter<edm::ParameterSet>("TH1TTCluster_ECDiscs");
221  HistoName = "NClusters_IMem_Endcap_Disc";
223  HistoName,
224  psTTCluster_ECDisc.getParameter<int32_t>("Nbinsx"),
225  psTTCluster_ECDisc.getParameter<double>("xmin"),
226  psTTCluster_ECDisc.getParameter<double>("xmax"));
227  Cluster_IMem_Endcap_Disc->setAxisTitle("Endcap Disc", 1);
228  Cluster_IMem_Endcap_Disc->setAxisTitle("# L1 Clusters", 2);
229 
230  HistoName = "NClusters_OMem_Endcap_Disc";
232  HistoName,
233  psTTCluster_ECDisc.getParameter<int32_t>("Nbinsx"),
234  psTTCluster_ECDisc.getParameter<double>("xmin"),
235  psTTCluster_ECDisc.getParameter<double>("xmax"));
236  Cluster_OMem_Endcap_Disc->setAxisTitle("Endcap Disc", 1);
237  Cluster_OMem_Endcap_Disc->setAxisTitle("# L1 Clusters", 2);
238 
239  edm::ParameterSet psTTCluster_ECRing = conf_.getParameter<edm::ParameterSet>("TH1TTCluster_ECRings");
240  HistoName = "NClusters_IMem_Endcap_Ring";
242  HistoName,
243  psTTCluster_ECRing.getParameter<int32_t>("Nbinsx"),
244  psTTCluster_ECRing.getParameter<double>("xmin"),
245  psTTCluster_ECRing.getParameter<double>("xmax"));
246  Cluster_IMem_Endcap_Ring->setAxisTitle("Endcap Ring", 1);
247  Cluster_IMem_Endcap_Ring->setAxisTitle("# L1 Clusters", 2);
248 
249  HistoName = "NClusters_OMem_Endcap_Ring";
251  HistoName,
252  psTTCluster_ECRing.getParameter<int32_t>("Nbinsx"),
253  psTTCluster_ECRing.getParameter<double>("xmin"),
254  psTTCluster_ECRing.getParameter<double>("xmax"));
255  Cluster_OMem_Endcap_Ring->setAxisTitle("Endcap Ring", 1);
256  Cluster_OMem_Endcap_Ring->setAxisTitle("# L1 Clusters", 2);
257 
258  for (int i = 0; i < numDiscs; i++) {
259  HistoName = "NClusters_IMem_Disc+" + std::to_string(i + 1);
261  HistoName,
262  psTTCluster_ECRing.getParameter<int32_t>("Nbinsx"),
263  psTTCluster_ECRing.getParameter<double>("xmin"),
264  psTTCluster_ECRing.getParameter<double>("xmax"));
265  Cluster_IMem_Endcap_Ring_Fw[i]->setAxisTitle("Endcap Ring", 1);
266  Cluster_IMem_Endcap_Ring_Fw[i]->setAxisTitle("# L1 Clusters ", 2);
267  }
268 
269  for (int i = 0; i < numDiscs; i++) {
270  HistoName = "NClusters_IMem_Disc-" + std::to_string(i + 1);
272  HistoName,
273  psTTCluster_ECRing.getParameter<int32_t>("Nbinsx"),
274  psTTCluster_ECRing.getParameter<double>("xmin"),
275  psTTCluster_ECRing.getParameter<double>("xmax"));
276  Cluster_IMem_Endcap_Ring_Bw[i]->setAxisTitle("Endcap Ring", 1);
277  Cluster_IMem_Endcap_Ring_Bw[i]->setAxisTitle("# L1 Clusters ", 2);
278  }
279 
280  for (int i = 0; i < numDiscs; i++) {
281  HistoName = "NClusters_OMem_Disc+" + std::to_string(i + 1);
283  HistoName,
284  psTTCluster_ECRing.getParameter<int32_t>("Nbinsx"),
285  psTTCluster_ECRing.getParameter<double>("xmin"),
286  psTTCluster_ECRing.getParameter<double>("xmax"));
287  Cluster_OMem_Endcap_Ring_Fw[i]->setAxisTitle("Endcap Ring", 1);
288  Cluster_OMem_Endcap_Ring_Fw[i]->setAxisTitle("# L1 Clusters ", 2);
289  }
290 
291  for (int i = 0; i < numDiscs; i++) {
292  HistoName = "NClusters_OMem_Disc-" + std::to_string(i + 1);
294  HistoName,
295  psTTCluster_ECRing.getParameter<int32_t>("Nbinsx"),
296  psTTCluster_ECRing.getParameter<double>("xmin"),
297  psTTCluster_ECRing.getParameter<double>("xmax"));
298  Cluster_OMem_Endcap_Ring_Bw[i]->setAxisTitle("Endcap Ring", 1);
299  Cluster_OMem_Endcap_Ring_Bw[i]->setAxisTitle("# L1 Clusters ", 2);
300  }
301 
302  iBooker.setCurrentFolder(topFolderName_ + "/Clusters");
303 
304  // Cluster Width
305  edm::ParameterSet psTTClusterWidth = conf_.getParameter<edm::ParameterSet>("TH2TTCluster_Width");
306  HistoName = "Cluster_W";
307  Cluster_W = iBooker.book2D(HistoName,
308  HistoName,
309  psTTClusterWidth.getParameter<int32_t>("Nbinsx"),
310  psTTClusterWidth.getParameter<double>("xmin"),
311  psTTClusterWidth.getParameter<double>("xmax"),
312  psTTClusterWidth.getParameter<int32_t>("Nbinsy"),
313  psTTClusterWidth.getParameter<double>("ymin"),
314  psTTClusterWidth.getParameter<double>("ymax"));
315  Cluster_W->setAxisTitle("L1 Cluster Width", 1);
316  Cluster_W->setAxisTitle("Stack Member", 2);
317 
318  // Cluster eta distribution
319  edm::ParameterSet psTTClusterEta = conf_.getParameter<edm::ParameterSet>("TH1TTCluster_Eta");
320  HistoName = "Cluster_Eta";
321  Cluster_Eta = iBooker.book1D(HistoName,
322  HistoName,
323  psTTClusterEta.getParameter<int32_t>("Nbinsx"),
324  psTTClusterEta.getParameter<double>("xmin"),
325  psTTClusterEta.getParameter<double>("xmax"));
326  Cluster_Eta->setAxisTitle("#eta", 1);
327  Cluster_Eta->setAxisTitle("# L1 Clusters ", 2);
328 
329  // Cluster phi distribution
330  edm::ParameterSet psTTClusterPhi = conf_.getParameter<edm::ParameterSet>("TH1TTCluster_Phi");
331  HistoName = "Cluster_Phi";
332  Cluster_Phi = iBooker.book1D(HistoName,
333  HistoName,
334  psTTClusterPhi.getParameter<int32_t>("Nbinsx"),
335  psTTClusterPhi.getParameter<double>("xmin"),
336  psTTClusterPhi.getParameter<double>("xmax"));
337  Cluster_Phi->setAxisTitle("#phi", 1);
338  Cluster_Phi->setAxisTitle("# L1 Clusters", 2);
339 
340  // Cluster R distribution
341  edm::ParameterSet psTTClusterR = conf_.getParameter<edm::ParameterSet>("TH1TTCluster_R");
342  HistoName = "Cluster_R";
343  Cluster_R = iBooker.book1D(HistoName,
344  HistoName,
345  psTTClusterR.getParameter<int32_t>("Nbinsx"),
346  psTTClusterR.getParameter<double>("xmin"),
347  psTTClusterR.getParameter<double>("xmax"));
348  Cluster_R->setAxisTitle("R [cm]", 1);
349  Cluster_R->setAxisTitle("# L1 Clusters", 2);
350 
351  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/Position");
352 
353  // Position plots
354  edm::ParameterSet psTTCluster_Barrel_XY = conf_.getParameter<edm::ParameterSet>("TH2TTCluster_Position");
355  HistoName = "Cluster_Barrel_XY";
357  HistoName,
358  psTTCluster_Barrel_XY.getParameter<int32_t>("Nbinsx"),
359  psTTCluster_Barrel_XY.getParameter<double>("xmin"),
360  psTTCluster_Barrel_XY.getParameter<double>("xmax"),
361  psTTCluster_Barrel_XY.getParameter<int32_t>("Nbinsy"),
362  psTTCluster_Barrel_XY.getParameter<double>("ymin"),
363  psTTCluster_Barrel_XY.getParameter<double>("ymax"));
364  Cluster_Barrel_XY->setAxisTitle("L1 Cluster Barrel position x [cm]", 1);
365  Cluster_Barrel_XY->setAxisTitle("L1 Cluster Barrel position y [cm]", 2);
366 
367  edm::ParameterSet psTTCluster_Endcap_Fw_XY = conf_.getParameter<edm::ParameterSet>("TH2TTCluster_Position");
368  HistoName = "Cluster_Endcap_Fw_XY";
370  HistoName,
371  psTTCluster_Endcap_Fw_XY.getParameter<int32_t>("Nbinsx"),
372  psTTCluster_Endcap_Fw_XY.getParameter<double>("xmin"),
373  psTTCluster_Endcap_Fw_XY.getParameter<double>("xmax"),
374  psTTCluster_Endcap_Fw_XY.getParameter<int32_t>("Nbinsy"),
375  psTTCluster_Endcap_Fw_XY.getParameter<double>("ymin"),
376  psTTCluster_Endcap_Fw_XY.getParameter<double>("ymax"));
377  Cluster_Endcap_Fw_XY->setAxisTitle("L1 Cluster Forward Endcap position x [cm]", 1);
378  Cluster_Endcap_Fw_XY->setAxisTitle("L1 Cluster Forward Endcap position y [cm]", 2);
379 
380  edm::ParameterSet psTTCluster_Endcap_Bw_XY = conf_.getParameter<edm::ParameterSet>("TH2TTCluster_Position");
381  HistoName = "Cluster_Endcap_Bw_XY";
383  HistoName,
384  psTTCluster_Endcap_Bw_XY.getParameter<int32_t>("Nbinsx"),
385  psTTCluster_Endcap_Bw_XY.getParameter<double>("xmin"),
386  psTTCluster_Endcap_Bw_XY.getParameter<double>("xmax"),
387  psTTCluster_Endcap_Bw_XY.getParameter<int32_t>("Nbinsy"),
388  psTTCluster_Endcap_Bw_XY.getParameter<double>("ymin"),
389  psTTCluster_Endcap_Bw_XY.getParameter<double>("ymax"));
390  Cluster_Endcap_Bw_XY->setAxisTitle("L1 Cluster Backward Endcap position x [cm]", 1);
391  Cluster_Endcap_Bw_XY->setAxisTitle("L1 Cluster Backward Endcap position y [cm]", 2);
392 
393  // TTCluster #rho vs. z
394  edm::ParameterSet psTTCluster_RZ = conf_.getParameter<edm::ParameterSet>("TH2TTCluster_RZ");
395  HistoName = "Cluster_RZ";
396  Cluster_RZ = iBooker.book2D(HistoName,
397  HistoName,
398  psTTCluster_RZ.getParameter<int32_t>("Nbinsx"),
399  psTTCluster_RZ.getParameter<double>("xmin"),
400  psTTCluster_RZ.getParameter<double>("xmax"),
401  psTTCluster_RZ.getParameter<int32_t>("Nbinsy"),
402  psTTCluster_RZ.getParameter<double>("ymin"),
403  psTTCluster_RZ.getParameter<double>("ymax"));
404  Cluster_RZ->setAxisTitle("L1 Cluster position z [cm]", 1);
405  Cluster_RZ->setAxisTitle("L1 Cluster position #rho [cm]", 2);
406 
407 } // end of method
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
MonitorElement * Cluster_OMem_Endcap_Ring_Fw[5]
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * Cluster_OMem_Endcap_Ring_Bw[5]
static std::string to_string(const XMLCh *ch)
MonitorElement * Cluster_IMem_Endcap_Ring_Bw[5]
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:221
std::string HistoName
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MonitorElement * Cluster_IMem_Endcap_Ring_Fw[5]
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

◆ dqmBeginRun()

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

Reimplemented from DQMEDAnalyzer.

Definition at line 108 of file Phase2OTMonitorTTCluster.cc.

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

108  {
109  tkGeom_ = &(iSetup.getData(geomToken_));
110  tTopo_ = &(iSetup.getData(topoToken_));
111 }
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 edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
const TrackerGeometry * tkGeom_

◆ fillDescriptions()

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

Definition at line 408 of file Phase2OTMonitorTTCluster.cc.

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

408  {
409  // OuterTrackerMonitorTTCluster
411  {
413  psd0.add<int>("Nbinsx", 7);
414  psd0.add<double>("xmax", 7.5);
415  psd0.add<double>("xmin", 0.5);
416  desc.add<edm::ParameterSetDescription>("TH1TTCluster_Barrel", psd0);
417  }
418  {
420  psd0.add<int>("Nbinsx", 6);
421  psd0.add<double>("xmax", 6.5);
422  psd0.add<double>("xmin", 0.5);
423  desc.add<edm::ParameterSetDescription>("TH1TTCluster_ECDiscs", psd0);
424  }
425  {
427  psd0.add<int>("Nbinsx", 16);
428  psd0.add<double>("xmin", 0.5);
429  psd0.add<double>("xmax", 16.5);
430  desc.add<edm::ParameterSetDescription>("TH1TTCluster_ECRings", psd0);
431  }
432  {
434  psd0.add<int>("Nbinsx", 45);
435  psd0.add<double>("xmax", 5.0);
436  psd0.add<double>("xmin", -5.0);
437  desc.add<edm::ParameterSetDescription>("TH1TTCluster_Eta", psd0);
438  }
439  {
441  psd0.add<int>("Nbinsx", 60);
442  psd0.add<double>("xmax", 3.5);
443  psd0.add<double>("xmin", -3.5);
444  desc.add<edm::ParameterSetDescription>("TH1TTCluster_Phi", psd0);
445  }
446  {
448  psd0.add<int>("Nbinsx", 45);
449  psd0.add<double>("xmax", 120);
450  psd0.add<double>("xmin", 0);
451  desc.add<edm::ParameterSetDescription>("TH1TTCluster_R", psd0);
452  }
453  {
455  psd0.add<int>("Nbinsx", 7);
456  psd0.add<double>("xmax", 6.5);
457  psd0.add<double>("xmin", -0.5);
458  psd0.add<int>("Nbinsy", 2);
459  psd0.add<double>("ymax", 1.5);
460  psd0.add<double>("ymin", -0.5);
461  desc.add<edm::ParameterSetDescription>("TH2TTCluster_Width", psd0);
462  }
463  {
465  psd0.add<int>("Nbinsx", 960);
466  psd0.add<double>("xmax", 120);
467  psd0.add<double>("xmin", -120);
468  psd0.add<int>("Nbinsy", 960);
469  psd0.add<double>("ymax", 120);
470  psd0.add<double>("ymin", -120);
471  desc.add<edm::ParameterSetDescription>("TH2TTCluster_Position", psd0);
472  }
473  {
475  psd0.add<int>("Nbinsx", 900);
476  psd0.add<double>("xmax", 300);
477  psd0.add<double>("xmin", -300);
478  psd0.add<int>("Nbinsy", 900);
479  psd0.add<double>("ymax", 120);
480  psd0.add<double>("ymin", 0);
481  desc.add<edm::ParameterSetDescription>("TH2TTCluster_RZ", psd0);
482  }
483  desc.add<std::string>("TopFolderName", "TrackerPhase2TTCluster");
484  desc.add<edm::InputTag>("TTClusters", edm::InputTag("TTClustersFromPhase2TrackerDigis", "ClusterInclusive"));
485  descriptions.add("Phase2OTMonitorTTCluster", desc);
486  // or use the following to generate the label from the module's C++ type
487  //descriptions.addWithDefaultLabel(desc);
488 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)

Member Data Documentation

◆ Cluster_Barrel_XY

MonitorElement* Phase2OTMonitorTTCluster::Cluster_Barrel_XY = nullptr

Definition at line 73 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_Endcap_Bw_XY

MonitorElement* Phase2OTMonitorTTCluster::Cluster_Endcap_Bw_XY = nullptr

Definition at line 75 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_Endcap_Fw_XY

MonitorElement* Phase2OTMonitorTTCluster::Cluster_Endcap_Fw_XY = nullptr

Definition at line 74 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_Eta

MonitorElement* Phase2OTMonitorTTCluster::Cluster_Eta = nullptr

Definition at line 71 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_IMem_Barrel

MonitorElement* Phase2OTMonitorTTCluster::Cluster_IMem_Barrel = nullptr

Definition at line 58 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_IMem_Endcap_Disc

MonitorElement* Phase2OTMonitorTTCluster::Cluster_IMem_Endcap_Disc = nullptr

Definition at line 59 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_IMem_Endcap_Ring

MonitorElement* Phase2OTMonitorTTCluster::Cluster_IMem_Endcap_Ring = nullptr

Definition at line 60 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_IMem_Endcap_Ring_Bw

MonitorElement* Phase2OTMonitorTTCluster::Cluster_IMem_Endcap_Ring_Bw[5] = {nullptr, nullptr, nullptr, nullptr, nullptr}

Definition at line 62 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_IMem_Endcap_Ring_Fw

MonitorElement* Phase2OTMonitorTTCluster::Cluster_IMem_Endcap_Ring_Fw[5] = {nullptr, nullptr, nullptr, nullptr, nullptr}

Definition at line 61 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_OMem_Barrel

MonitorElement* Phase2OTMonitorTTCluster::Cluster_OMem_Barrel = nullptr

Definition at line 63 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_OMem_Endcap_Disc

MonitorElement* Phase2OTMonitorTTCluster::Cluster_OMem_Endcap_Disc = nullptr

Definition at line 64 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_OMem_Endcap_Ring

MonitorElement* Phase2OTMonitorTTCluster::Cluster_OMem_Endcap_Ring = nullptr

Definition at line 65 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_OMem_Endcap_Ring_Bw

MonitorElement* Phase2OTMonitorTTCluster::Cluster_OMem_Endcap_Ring_Bw[5] = {nullptr, nullptr, nullptr, nullptr, nullptr}

Definition at line 67 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_OMem_Endcap_Ring_Fw

MonitorElement* Phase2OTMonitorTTCluster::Cluster_OMem_Endcap_Ring_Fw[5] = {nullptr, nullptr, nullptr, nullptr, nullptr}

Definition at line 66 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_Phi

MonitorElement* Phase2OTMonitorTTCluster::Cluster_Phi = nullptr

Definition at line 69 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_R

MonitorElement* Phase2OTMonitorTTCluster::Cluster_R = nullptr

Definition at line 70 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_RZ

MonitorElement* Phase2OTMonitorTTCluster::Cluster_RZ = nullptr

Definition at line 76 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ Cluster_W

MonitorElement* Phase2OTMonitorTTCluster::Cluster_W = nullptr

Definition at line 68 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and bookHistograms().

◆ conf_

edm::ParameterSet Phase2OTMonitorTTCluster::conf_
private

Definition at line 79 of file Phase2OTMonitorTTCluster.cc.

Referenced by bookHistograms(), and Phase2OTMonitorTTCluster().

◆ geomToken_

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

Definition at line 82 of file Phase2OTMonitorTTCluster.cc.

Referenced by dqmBeginRun().

◆ tagTTClustersToken_

edm::EDGetTokenT<edmNew::DetSetVector<TTCluster<Ref_Phase2TrackerDigi_> > > Phase2OTMonitorTTCluster::tagTTClustersToken_
private

Definition at line 80 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and Phase2OTMonitorTTCluster().

◆ tkGeom_

const TrackerGeometry* Phase2OTMonitorTTCluster::tkGeom_ = nullptr
private

Definition at line 84 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and dqmBeginRun().

◆ topFolderName_

std::string Phase2OTMonitorTTCluster::topFolderName_
private

Definition at line 81 of file Phase2OTMonitorTTCluster.cc.

Referenced by bookHistograms(), and Phase2OTMonitorTTCluster().

◆ topoToken_

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

Definition at line 83 of file Phase2OTMonitorTTCluster.cc.

Referenced by dqmBeginRun().

◆ tTopo_

const TrackerTopology* Phase2OTMonitorTTCluster::tTopo_ = nullptr
private

Definition at line 85 of file Phase2OTMonitorTTCluster.cc.

Referenced by analyze(), and dqmBeginRun().