CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes | Private Attributes
OuterTrackerMonitorTTStub Class Reference

#include <OuterTrackerMonitorTTStub.h>

Inheritance diagram for OuterTrackerMonitorTTStub:
DQMEDAnalyzer edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 OuterTrackerMonitorTTStub (const edm::ParameterSet &)
 
 ~OuterTrackerMonitorTTStub () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Public Attributes

MonitorElementStub_Barrel = 0
 
MonitorElementStub_Barrel_O = 0
 
MonitorElementStub_Barrel_W = 0
 
MonitorElementStub_Barrel_XY = 0
 
MonitorElementStub_Endcap_Bw_XY = 0
 
MonitorElementStub_Endcap_Disc = 0
 
MonitorElementStub_Endcap_Disc_Bw = 0
 
MonitorElementStub_Endcap_Disc_Fw = 0
 
MonitorElementStub_Endcap_Disc_O = 0
 
MonitorElementStub_Endcap_Disc_W = 0
 
MonitorElementStub_Endcap_Fw_XY = 0
 
MonitorElementStub_Endcap_Ring = 0
 
MonitorElementStub_Endcap_Ring_Bw [5] = { 0 , 0 , 0 , 0 , 0 }
 
MonitorElementStub_Endcap_Ring_Fw [5] = { 0 , 0 , 0 , 0 , 0 }
 
MonitorElementStub_Endcap_Ring_O = 0
 
MonitorElementStub_Endcap_Ring_O_Bw [5] = { 0 , 0 , 0 , 0 , 0 }
 
MonitorElementStub_Endcap_Ring_O_Fw [5] = { 0 , 0 , 0 , 0 , 0 }
 
MonitorElementStub_Endcap_Ring_W = 0
 
MonitorElementStub_Endcap_Ring_W_Bw [5]
 
MonitorElementStub_Endcap_Ring_W_Fw [5]
 
MonitorElementStub_Eta = 0
 
MonitorElementStub_Phi = 0
 
MonitorElementStub_R = 0
 
MonitorElementStub_RZ = 0
 

Private Attributes

edm::ParameterSet conf_
 
edm::EDGetTokenT< edmNew::DetSetVector< TTStub< Ref_Phase2TrackerDigi_ > > > tagTTStubsToken_
 
std::string topFolderName_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 18 of file OuterTrackerMonitorTTStub.h.

Constructor & Destructor Documentation

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

Definition at line 40 of file OuterTrackerMonitorTTStub.cc.

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

40  : conf_(iConfig) {
41  // now do what ever initialization is needed
42  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
44  consumes<edmNew::DetSetVector<TTStub<Ref_Phase2TrackerDigi_>>>(conf_.getParameter<edm::InputTag>("TTStubs"));
45 }
edm::EDGetTokenT< edmNew::DetSetVector< TTStub< Ref_Phase2TrackerDigi_ > > > tagTTStubsToken_
T getParameter(std::string const &) const
OuterTrackerMonitorTTStub::~OuterTrackerMonitorTTStub ( )
override

Definition at line 47 of file OuterTrackerMonitorTTStub.cc.

47  {
48  // do anything here that needs to be done at desctruction time
49  // (e.g. close files, deallocate resources etc.)
50 }

Member Function Documentation

void OuterTrackerMonitorTTStub::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Track Trigger Stubs

Geometry

Loop over input Stubs

Make reference stub

Get det ID (place of the stub)

Get trigger displacement/offset

Define position stub by position inner cluster

Definition at line 55 of file OuterTrackerMonitorTTStub.cc.

References edmNew::DetSetVector< T >::begin(), TtSemiLepEvtBuilder_cfi::disc, edmNew::DetSetVector< T >::end(), PV3DBase< T, PVType, FrameType >::eta(), dqm::impl::MonitorElement::Fill(), edm::EventSetup::get(), edm::Event::getByToken(), TrackerGeometry::idToDet(), edm::HandleBase::isValid(), TrackerTopology::layer(), Topology::localPosition(), edmNew::makeRefTo(), PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), edm::ESHandle< T >::product(), relativeConstraints::ring, Stub_Barrel, Stub_Barrel_O, Stub_Barrel_W, Stub_Barrel_XY, Stub_Endcap_Bw_XY, Stub_Endcap_Disc, Stub_Endcap_Disc_Bw, Stub_Endcap_Disc_Fw, Stub_Endcap_Disc_O, Stub_Endcap_Disc_W, Stub_Endcap_Fw_XY, Stub_Endcap_Ring, Stub_Endcap_Ring_Bw, Stub_Endcap_Ring_Fw, Stub_Endcap_Ring_O, Stub_Endcap_Ring_O_Bw, Stub_Endcap_Ring_O_Fw, Stub_Endcap_Ring_W, Stub_Endcap_Ring_W_Bw, Stub_Endcap_Ring_W_Fw, Stub_Eta, Stub_Phi, Stub_R, Stub_RZ, DetId::subdetId(), GeomDet::surface(), tagTTStubsToken_, StripSubdetector::TID, TrackerTopology::tidRing(), StripSubdetector::TOB, Surface::toGlobal(), GeomDet::topology(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

55  {
58  iEvent.getByToken(tagTTStubsToken_, Phase2TrackerDigiTTStubHandle);
59 
62  const TrackerTopology *tTopo;
63  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
64  tTopo = tTopoHandle.product();
65 
66  edm::ESHandle<TrackerGeometry> tGeometryHandle;
67  const TrackerGeometry *theTrackerGeometry;
68  iSetup.get<TrackerDigiGeometryRecord>().get(tGeometryHandle);
69  theTrackerGeometry = tGeometryHandle.product();
70 
72  typename edmNew::DetSetVector<TTStub<Ref_Phase2TrackerDigi_>>::const_iterator inputIter;
73  typename edmNew::DetSet<TTStub<Ref_Phase2TrackerDigi_>>::const_iterator contentIter;
74  // Adding protection
75  if (!Phase2TrackerDigiTTStubHandle.isValid())
76  return;
77 
78  for (inputIter = Phase2TrackerDigiTTStubHandle->begin(); inputIter != Phase2TrackerDigiTTStubHandle->end();
79  ++inputIter) {
80  for (contentIter = inputIter->begin(); contentIter != inputIter->end(); ++contentIter) {
83  edmNew::makeRefTo(Phase2TrackerDigiTTStubHandle, contentIter);
84 
86  // tempStubRef->getDetId() gives the stackDetId, not rawId
87  DetId detIdStub = theTrackerGeometry->idToDet((tempStubRef->clusterRef(0))->getDetId())->geographicalId();
88 
90  double displStub = tempStubRef->rawBend();
91  double offsetStub = tempStubRef->bendOffset();
92 
94  MeasurementPoint mp = (tempStubRef->clusterRef(0))->findAverageLocalCoordinates();
95  const GeomDet *theGeomDet = theTrackerGeometry->idToDet(detIdStub);
96  Global3DPoint posStub = theGeomDet->surface().toGlobal(theGeomDet->topology().localPosition(mp));
97 
98  Stub_Eta->Fill(posStub.eta());
99  Stub_Phi->Fill(posStub.phi());
100  Stub_R->Fill(posStub.perp());
101  Stub_RZ->Fill(posStub.z(), posStub.perp());
102 
103  if (detIdStub.subdetId() == static_cast<int>(StripSubdetector::TOB)) { // Phase 2 Outer Tracker Barrel
104  Stub_Barrel->Fill(tTopo->layer(detIdStub));
105  Stub_Barrel_XY->Fill(posStub.x(), posStub.y());
106  Stub_Barrel_W->Fill(tTopo->layer(detIdStub), displStub - offsetStub);
107  Stub_Barrel_O->Fill(tTopo->layer(detIdStub), offsetStub);
108  } else if (detIdStub.subdetId() == static_cast<int>(StripSubdetector::TID)) { // Phase 2 Outer Tracker Endcap
109  int disc = tTopo->layer(detIdStub); // returns wheel
110  int ring = tTopo->tidRing(detIdStub);
111  Stub_Endcap_Disc->Fill(disc);
112  Stub_Endcap_Ring->Fill(ring);
113  Stub_Endcap_Disc_W->Fill(disc, displStub - offsetStub);
114  Stub_Endcap_Ring_W->Fill(ring, displStub - offsetStub);
115  Stub_Endcap_Disc_O->Fill(disc, offsetStub);
116  Stub_Endcap_Ring_O->Fill(ring, offsetStub);
117 
118  if (posStub.z() > 0) {
119  Stub_Endcap_Fw_XY->Fill(posStub.x(), posStub.y());
120  Stub_Endcap_Disc_Fw->Fill(disc);
121  Stub_Endcap_Ring_Fw[disc - 1]->Fill(ring);
122  Stub_Endcap_Ring_W_Fw[disc - 1]->Fill(ring, displStub - offsetStub);
123  Stub_Endcap_Ring_O_Fw[disc - 1]->Fill(ring, offsetStub);
124  } else {
125  Stub_Endcap_Bw_XY->Fill(posStub.x(), posStub.y());
126  Stub_Endcap_Disc_Bw->Fill(disc);
127  Stub_Endcap_Ring_Bw[disc - 1]->Fill(ring);
128  Stub_Endcap_Ring_W_Bw[disc - 1]->Fill(ring, displStub - offsetStub);
129  Stub_Endcap_Ring_O_Bw[disc - 1]->Fill(ring, offsetStub);
130  }
131  }
132  }
133  }
134 } // end of method
edm::EDGetTokenT< edmNew::DetSetVector< TTStub< Ref_Phase2TrackerDigi_ > > > tagTTStubsToken_
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:81
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)
const_iterator end(bool update=false) const
T perp() const
Definition: PV3DBase.h:69
unsigned int tidRing(const DetId &id) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
virtual const Topology & topology() const
Definition: GeomDet.cc:67
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
T y() const
Definition: PV3DBase.h:60
MonitorElement * Stub_Endcap_Ring_O_Fw[5]
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
void Fill(long long x)
MonitorElement * Stub_Endcap_Ring_Bw[5]
MonitorElement * Stub_Endcap_Ring_O_Bw[5]
T z() const
Definition: PV3DBase.h:61
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
bool isValid() const
Definition: HandleBase.h:70
Class to store the L1 Track Trigger stubs.
Definition: TTStub.h:22
Definition: DetId.h:17
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
unsigned int layer(const DetId &id) const
T eta() const
Definition: PV3DBase.h:73
MonitorElement * Stub_Endcap_Ring_Fw[5]
T get() const
Definition: EventSetup.h:73
const TrackerGeomDet * idToDet(DetId) const override
MonitorElement * Stub_Endcap_Ring_W_Bw[5]
T x() const
Definition: PV3DBase.h:59
static constexpr auto TID
T const * product() const
Definition: ESHandle.h:86
const_iterator begin(bool update=false) const
MonitorElement * Stub_Endcap_Ring_W_Fw[5]
void OuterTrackerMonitorTTStub::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  run,
edm::EventSetup const &  es 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 137 of file OuterTrackerMonitorTTStub.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), conf_, DEFINE_FWK_MODULE, edm::ParameterSet::getParameter(), mps_fire::i, dqm::impl::MonitorElement::setAxisTitle(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, Stub_Barrel, Stub_Barrel_O, Stub_Barrel_W, Stub_Barrel_XY, Stub_Endcap_Bw_XY, Stub_Endcap_Disc, Stub_Endcap_Disc_Bw, Stub_Endcap_Disc_Fw, Stub_Endcap_Disc_O, Stub_Endcap_Disc_W, Stub_Endcap_Fw_XY, Stub_Endcap_Ring, Stub_Endcap_Ring_Bw, Stub_Endcap_Ring_Fw, Stub_Endcap_Ring_O, Stub_Endcap_Ring_O_Bw, Stub_Endcap_Ring_O_Fw, Stub_Endcap_Ring_W, Stub_Endcap_Ring_W_Bw, Stub_Endcap_Ring_W_Fw, Stub_Eta, Stub_Phi, Stub_R, Stub_RZ, and topFolderName_.

139  {
141  const int numDiscs = 5;
142  iBooker.setCurrentFolder(topFolderName_ + "/Stubs/Position");
143 
144  edm::ParameterSet psTTStub_Barrel_XY = conf_.getParameter<edm::ParameterSet>("TH2TTStub_Position");
145  HistoName = "Stub_Barrel_XY";
146  Stub_Barrel_XY = iBooker.book2D(HistoName,
147  HistoName,
148  psTTStub_Barrel_XY.getParameter<int32_t>("Nbinsx"),
149  psTTStub_Barrel_XY.getParameter<double>("xmin"),
150  psTTStub_Barrel_XY.getParameter<double>("xmax"),
151  psTTStub_Barrel_XY.getParameter<int32_t>("Nbinsy"),
152  psTTStub_Barrel_XY.getParameter<double>("ymin"),
153  psTTStub_Barrel_XY.getParameter<double>("ymax"));
154  Stub_Barrel_XY->setAxisTitle("L1 Stub Barrel position x [cm]", 1);
155  Stub_Barrel_XY->setAxisTitle("L1 Stub Barrel position y [cm]", 2);
156 
157  edm::ParameterSet psTTStub_Endcap_Fw_XY = conf_.getParameter<edm::ParameterSet>("TH2TTStub_Position");
158  HistoName = "Stub_Endcap_Fw_XY";
159  Stub_Endcap_Fw_XY = iBooker.book2D(HistoName,
160  HistoName,
161  psTTStub_Endcap_Fw_XY.getParameter<int32_t>("Nbinsx"),
162  psTTStub_Endcap_Fw_XY.getParameter<double>("xmin"),
163  psTTStub_Endcap_Fw_XY.getParameter<double>("xmax"),
164  psTTStub_Endcap_Fw_XY.getParameter<int32_t>("Nbinsy"),
165  psTTStub_Endcap_Fw_XY.getParameter<double>("ymin"),
166  psTTStub_Endcap_Fw_XY.getParameter<double>("ymax"));
167  Stub_Endcap_Fw_XY->setAxisTitle("L1 Stub Endcap position x [cm]", 1);
168  Stub_Endcap_Fw_XY->setAxisTitle("L1 Stub Endcap position y [cm]", 2);
169 
170  edm::ParameterSet psTTStub_Endcap_Bw_XY = conf_.getParameter<edm::ParameterSet>("TH2TTStub_Position");
171  HistoName = "Stub_Endcap_Bw_XY";
172  Stub_Endcap_Bw_XY = iBooker.book2D(HistoName,
173  HistoName,
174  psTTStub_Endcap_Bw_XY.getParameter<int32_t>("Nbinsx"),
175  psTTStub_Endcap_Bw_XY.getParameter<double>("xmin"),
176  psTTStub_Endcap_Bw_XY.getParameter<double>("xmax"),
177  psTTStub_Endcap_Bw_XY.getParameter<int32_t>("Nbinsy"),
178  psTTStub_Endcap_Bw_XY.getParameter<double>("ymin"),
179  psTTStub_Endcap_Bw_XY.getParameter<double>("ymax"));
180  Stub_Endcap_Bw_XY->setAxisTitle("L1 Stub Endcap position x [cm]", 1);
181  Stub_Endcap_Bw_XY->setAxisTitle("L1 Stub Endcap position y [cm]", 2);
182 
183  // TTStub #rho vs. z
184  edm::ParameterSet psTTStub_RZ = conf_.getParameter<edm::ParameterSet>("TH2TTStub_RZ");
185  HistoName = "Stub_RZ";
186  Stub_RZ = iBooker.book2D(HistoName,
187  HistoName,
188  psTTStub_RZ.getParameter<int32_t>("Nbinsx"),
189  psTTStub_RZ.getParameter<double>("xmin"),
190  psTTStub_RZ.getParameter<double>("xmax"),
191  psTTStub_RZ.getParameter<int32_t>("Nbinsy"),
192  psTTStub_RZ.getParameter<double>("ymin"),
193  psTTStub_RZ.getParameter<double>("ymax"));
194  Stub_RZ->setAxisTitle("L1 Stub position z [cm]", 1);
195  Stub_RZ->setAxisTitle("L1 Stub position #rho [cm]", 2);
196 
197  iBooker.setCurrentFolder(topFolderName_ + "/Stubs");
198  // TTStub eta
199  edm::ParameterSet psTTStub_Eta = conf_.getParameter<edm::ParameterSet>("TH1TTStub_Eta");
200  HistoName = "Stub_Eta";
201  Stub_Eta = iBooker.book1D(HistoName,
202  HistoName,
203  psTTStub_Eta.getParameter<int32_t>("Nbinsx"),
204  psTTStub_Eta.getParameter<double>("xmin"),
205  psTTStub_Eta.getParameter<double>("xmax"));
206  Stub_Eta->setAxisTitle("#eta", 1);
207  Stub_Eta->setAxisTitle("# L1 Stubs ", 2);
208 
209  // TTStub phi
210  edm::ParameterSet psTTStub_Phi = conf_.getParameter<edm::ParameterSet>("TH1TTStub_Phi");
211  HistoName = "Stub_Phi";
212  Stub_Phi = iBooker.book1D(HistoName,
213  HistoName,
214  psTTStub_Phi.getParameter<int32_t>("Nbinsx"),
215  psTTStub_Phi.getParameter<double>("xmin"),
216  psTTStub_Phi.getParameter<double>("xmax"));
217  Stub_Phi->setAxisTitle("#phi", 1);
218  Stub_Phi->setAxisTitle("# L1 Stubs ", 2);
219 
220  // TTStub R
221  edm::ParameterSet psTTStub_R = conf_.getParameter<edm::ParameterSet>("TH1TTStub_R");
222  HistoName = "Stub_R";
223  Stub_R = iBooker.book1D(HistoName,
224  HistoName,
225  psTTStub_R.getParameter<int32_t>("Nbinsx"),
226  psTTStub_R.getParameter<double>("xmin"),
227  psTTStub_R.getParameter<double>("xmax"));
228  Stub_R->setAxisTitle("R", 1);
229  Stub_R->setAxisTitle("# L1 Stubs ", 2);
230 
231  iBooker.setCurrentFolder(topFolderName_ + "/Stubs/NStubs");
232  // TTStub barrel stack
233  edm::ParameterSet psTTStub_Barrel = conf_.getParameter<edm::ParameterSet>("TH1TTStub_Layers");
234  HistoName = "NStubs_Barrel";
235  Stub_Barrel = iBooker.book1D(HistoName,
236  HistoName,
237  psTTStub_Barrel.getParameter<int32_t>("Nbinsx"),
238  psTTStub_Barrel.getParameter<double>("xmin"),
239  psTTStub_Barrel.getParameter<double>("xmax"));
240  Stub_Barrel->setAxisTitle("Barrel Layer", 1);
241  Stub_Barrel->setAxisTitle("# L1 Stubs ", 2);
242 
243  // TTStub Endcap stack
244  edm::ParameterSet psTTStub_ECDisc = conf_.getParameter<edm::ParameterSet>("TH1TTStub_Discs");
245  HistoName = "NStubs_Endcap_Disc";
246  Stub_Endcap_Disc = iBooker.book1D(HistoName,
247  HistoName,
248  psTTStub_ECDisc.getParameter<int32_t>("Nbinsx"),
249  psTTStub_ECDisc.getParameter<double>("xmin"),
250  psTTStub_ECDisc.getParameter<double>("xmax"));
251  Stub_Endcap_Disc->setAxisTitle("Endcap Disc", 1);
252  Stub_Endcap_Disc->setAxisTitle("# L1 Stubs ", 2);
253 
254  // TTStub Endcap stack
255  HistoName = "NStubs_Endcap_Disc_Fw";
256  Stub_Endcap_Disc_Fw = iBooker.book1D(HistoName,
257  HistoName,
258  psTTStub_ECDisc.getParameter<int32_t>("Nbinsx"),
259  psTTStub_ECDisc.getParameter<double>("xmin"),
260  psTTStub_ECDisc.getParameter<double>("xmax"));
261  Stub_Endcap_Disc_Fw->setAxisTitle("Forward Endcap Disc", 1);
262  Stub_Endcap_Disc_Fw->setAxisTitle("# L1 Stubs ", 2);
263 
264  // TTStub Endcap stack
265  HistoName = "NStubs_Endcap_Disc_Bw";
266  Stub_Endcap_Disc_Bw = iBooker.book1D(HistoName,
267  HistoName,
268  psTTStub_ECDisc.getParameter<int32_t>("Nbinsx"),
269  psTTStub_ECDisc.getParameter<double>("xmin"),
270  psTTStub_ECDisc.getParameter<double>("xmax"));
271  Stub_Endcap_Disc_Bw->setAxisTitle("Backward Endcap Disc", 1);
272  Stub_Endcap_Disc_Bw->setAxisTitle("# L1 Stubs ", 2);
273 
274  edm::ParameterSet psTTStub_ECRing = conf_.getParameter<edm::ParameterSet>("TH1TTStub_Rings");
275  HistoName = "NStubs_Endcap_Ring";
276  Stub_Endcap_Ring = iBooker.book1D(HistoName,
277  HistoName,
278  psTTStub_ECRing.getParameter<int32_t>("Nbinsx"),
279  psTTStub_ECRing.getParameter<double>("xmin"),
280  psTTStub_ECRing.getParameter<double>("xmax"));
281  Stub_Endcap_Ring->setAxisTitle("Endcap Ring", 1);
282  Stub_Endcap_Ring->setAxisTitle("# L1 Stubs ", 2);
283 
284  for (int i = 0; i < numDiscs; i++) {
285  HistoName = "NStubs_Disc+" + std::to_string(i + 1);
286  // TTStub Endcap stack
287  Stub_Endcap_Ring_Fw[i] = iBooker.book1D(HistoName,
288  HistoName,
289  psTTStub_ECRing.getParameter<int32_t>("Nbinsx"),
290  psTTStub_ECRing.getParameter<double>("xmin"),
291  psTTStub_ECRing.getParameter<double>("xmax"));
292  Stub_Endcap_Ring_Fw[i]->setAxisTitle("Endcap Ring", 1);
293  Stub_Endcap_Ring_Fw[i]->setAxisTitle("# L1 Stubs ", 2);
294  }
295 
296  for (int i = 0; i < numDiscs; i++) {
297  HistoName = "NStubs_Disc-" + std::to_string(i + 1);
298  // TTStub Endcap stack
299  Stub_Endcap_Ring_Bw[i] = iBooker.book1D(HistoName,
300  HistoName,
301  psTTStub_ECRing.getParameter<int32_t>("Nbinsx"),
302  psTTStub_ECRing.getParameter<double>("xmin"),
303  psTTStub_ECRing.getParameter<double>("xmax"));
304  Stub_Endcap_Ring_Bw[i]->setAxisTitle("Endcap Ring", 1);
305  Stub_Endcap_Ring_Bw[i]->setAxisTitle("# L1 Stubs ", 2);
306  }
307 
308  // TTStub displ/offset
309  edm::ParameterSet psTTStub_Barrel_2D = conf_.getParameter<edm::ParameterSet>("TH2TTStub_DisOf_Layer");
310  edm::ParameterSet psTTStub_ECDisc_2D = conf_.getParameter<edm::ParameterSet>("TH2TTStub_DisOf_Disc");
311  edm::ParameterSet psTTStub_ECRing_2D = conf_.getParameter<edm::ParameterSet>("TH2TTStub_DisOf_Ring");
312 
313  iBooker.setCurrentFolder(topFolderName_ + "/Stubs/Width");
314  HistoName = "Stub_Width_Barrel";
315  Stub_Barrel_W = iBooker.book2D(HistoName,
316  HistoName,
317  psTTStub_Barrel_2D.getParameter<int32_t>("Nbinsx"),
318  psTTStub_Barrel_2D.getParameter<double>("xmin"),
319  psTTStub_Barrel_2D.getParameter<double>("xmax"),
320  psTTStub_Barrel_2D.getParameter<int32_t>("Nbinsy"),
321  psTTStub_Barrel_2D.getParameter<double>("ymin"),
322  psTTStub_Barrel_2D.getParameter<double>("ymax"));
323  Stub_Barrel_W->setAxisTitle("Barrel Layer", 1);
324  Stub_Barrel_W->setAxisTitle("Displacement - Offset", 2);
325 
326  HistoName = "Stub_Width_Endcap_Disc";
327  Stub_Endcap_Disc_W = iBooker.book2D(HistoName,
328  HistoName,
329  psTTStub_ECDisc_2D.getParameter<int32_t>("Nbinsx"),
330  psTTStub_ECDisc_2D.getParameter<double>("xmin"),
331  psTTStub_ECDisc_2D.getParameter<double>("xmax"),
332  psTTStub_ECDisc_2D.getParameter<int32_t>("Nbinsy"),
333  psTTStub_ECDisc_2D.getParameter<double>("ymin"),
334  psTTStub_ECDisc_2D.getParameter<double>("ymax"));
335  Stub_Endcap_Disc_W->setAxisTitle("Endcap Disc", 1);
336  Stub_Endcap_Disc_W->setAxisTitle("Displacement - Offset", 2);
337 
338  HistoName = "Stub_Width_Endcap_Ring";
339  Stub_Endcap_Ring_W = iBooker.book2D(HistoName,
340  HistoName,
341  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsx"),
342  psTTStub_ECRing_2D.getParameter<double>("xmin"),
343  psTTStub_ECRing_2D.getParameter<double>("xmax"),
344  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsy"),
345  psTTStub_ECRing_2D.getParameter<double>("ymin"),
346  psTTStub_ECRing_2D.getParameter<double>("ymax"));
347  Stub_Endcap_Ring_W->setAxisTitle("Endcap Ring", 1);
348  Stub_Endcap_Ring_W->setAxisTitle("Trigger Offset", 2);
349 
350  for (int i = 0; i < numDiscs; i++) {
351  HistoName = "Stub_Width_Disc+" + std::to_string(i + 1);
352  Stub_Endcap_Ring_W_Fw[i] = iBooker.book2D(HistoName,
353  HistoName,
354  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsx"),
355  psTTStub_ECRing_2D.getParameter<double>("xmin"),
356  psTTStub_ECRing_2D.getParameter<double>("xmax"),
357  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsy"),
358  psTTStub_ECRing_2D.getParameter<double>("ymin"),
359  psTTStub_ECRing_2D.getParameter<double>("ymax"));
360  Stub_Endcap_Ring_W_Fw[i]->setAxisTitle("Endcap Ring", 1);
361  Stub_Endcap_Ring_W_Fw[i]->setAxisTitle("Displacement - Offset", 2);
362  }
363 
364  for (int i = 0; i < numDiscs; i++) {
365  HistoName = "Stub_Width_Disc-" + std::to_string(i + 1);
366  Stub_Endcap_Ring_W_Bw[i] = iBooker.book2D(HistoName,
367  HistoName,
368  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsx"),
369  psTTStub_ECRing_2D.getParameter<double>("xmin"),
370  psTTStub_ECRing_2D.getParameter<double>("xmax"),
371  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsy"),
372  psTTStub_ECRing_2D.getParameter<double>("ymin"),
373  psTTStub_ECRing_2D.getParameter<double>("ymax"));
374  Stub_Endcap_Ring_W_Bw[i]->setAxisTitle("Endcap Ring", 1);
375  Stub_Endcap_Ring_W_Bw[i]->setAxisTitle("Displacement - Offset", 2);
376  }
377 
378  iBooker.setCurrentFolder(topFolderName_ + "/Stubs/Offset");
379  HistoName = "Stub_Offset_Barrel";
380  Stub_Barrel_O = iBooker.book2D(HistoName,
381  HistoName,
382  psTTStub_Barrel_2D.getParameter<int32_t>("Nbinsx"),
383  psTTStub_Barrel_2D.getParameter<double>("xmin"),
384  psTTStub_Barrel_2D.getParameter<double>("xmax"),
385  psTTStub_Barrel_2D.getParameter<int32_t>("Nbinsy"),
386  psTTStub_Barrel_2D.getParameter<double>("ymin"),
387  psTTStub_Barrel_2D.getParameter<double>("ymax"));
388  Stub_Barrel_O->setAxisTitle("Barrel Layer", 1);
389  Stub_Barrel_O->setAxisTitle("Trigger Offset", 2);
390 
391  HistoName = "Stub_Offset_Endcap_Disc";
392  Stub_Endcap_Disc_O = iBooker.book2D(HistoName,
393  HistoName,
394  psTTStub_ECDisc_2D.getParameter<int32_t>("Nbinsx"),
395  psTTStub_ECDisc_2D.getParameter<double>("xmin"),
396  psTTStub_ECDisc_2D.getParameter<double>("xmax"),
397  psTTStub_ECDisc_2D.getParameter<int32_t>("Nbinsy"),
398  psTTStub_ECDisc_2D.getParameter<double>("ymin"),
399  psTTStub_ECDisc_2D.getParameter<double>("ymax"));
400  Stub_Endcap_Disc_O->setAxisTitle("Endcap Disc", 1);
401  Stub_Endcap_Disc_O->setAxisTitle("Trigger Offset", 2);
402 
403  HistoName = "Stub_Offset_Endcap_Ring";
404  Stub_Endcap_Ring_O = iBooker.book2D(HistoName,
405  HistoName,
406  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsx"),
407  psTTStub_ECRing_2D.getParameter<double>("xmin"),
408  psTTStub_ECRing_2D.getParameter<double>("xmax"),
409  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsy"),
410  psTTStub_ECRing_2D.getParameter<double>("ymin"),
411  psTTStub_ECRing_2D.getParameter<double>("ymax"));
412  Stub_Endcap_Ring_O->setAxisTitle("Endcap Ring", 1);
413  Stub_Endcap_Ring_O->setAxisTitle("Trigger Offset", 2);
414 
415  for (int i = 0; i < numDiscs; i++) {
416  HistoName = "Stub_Offset_Disc+" + std::to_string(i + 1);
417  Stub_Endcap_Ring_O_Fw[i] = iBooker.book2D(HistoName,
418  HistoName,
419  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsx"),
420  psTTStub_ECRing_2D.getParameter<double>("xmin"),
421  psTTStub_ECRing_2D.getParameter<double>("xmax"),
422  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsy"),
423  psTTStub_ECRing_2D.getParameter<double>("ymin"),
424  psTTStub_ECRing_2D.getParameter<double>("ymax"));
425  Stub_Endcap_Ring_O_Fw[i]->setAxisTitle("Endcap Ring", 1);
426  Stub_Endcap_Ring_O_Fw[i]->setAxisTitle("Trigger Offset", 2);
427  }
428 
429  for (int i = 0; i < numDiscs; i++) {
430  HistoName = "Stub_Offset_Disc-" + std::to_string(i + 1);
431  Stub_Endcap_Ring_O_Bw[i] = iBooker.book2D(HistoName,
432  HistoName,
433  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsx"),
434  psTTStub_ECRing_2D.getParameter<double>("xmin"),
435  psTTStub_ECRing_2D.getParameter<double>("xmax"),
436  psTTStub_ECRing_2D.getParameter<int32_t>("Nbinsy"),
437  psTTStub_ECRing_2D.getParameter<double>("ymin"),
438  psTTStub_ECRing_2D.getParameter<double>("ymax"));
439  Stub_Endcap_Ring_O_Bw[i]->setAxisTitle("Endcap Ring", 1);
440  Stub_Endcap_Ring_O_Bw[i]->setAxisTitle("Trigger Offset", 2);
441  }
442 }
T getParameter(std::string const &) const
MonitorElement * Stub_Endcap_Ring_O_Fw[5]
MonitorElement * Stub_Endcap_Ring_Bw[5]
MonitorElement * Stub_Endcap_Ring_O_Bw[5]
std::string HistoName
MonitorElement * Stub_Endcap_Ring_Fw[5]
MonitorElement * Stub_Endcap_Ring_W_Bw[5]
MonitorElement * Stub_Endcap_Ring_W_Fw[5]
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

Member Data Documentation

edm::ParameterSet OuterTrackerMonitorTTStub::conf_
private

Definition at line 61 of file OuterTrackerMonitorTTStub.h.

Referenced by bookHistograms(), and OuterTrackerMonitorTTStub().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Barrel = 0

Definition at line 33 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Barrel_O = 0

Definition at line 48 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Barrel_W = 0

Definition at line 47 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Barrel_XY = 0

Definition at line 27 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Bw_XY = 0

Definition at line 29 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Disc = 0

Definition at line 34 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Disc_Bw = 0

Definition at line 36 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Disc_Fw = 0

Definition at line 35 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Disc_O = 0

Definition at line 50 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Disc_W = 0

Definition at line 49 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Fw_XY = 0

Definition at line 28 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Ring = 0

Definition at line 37 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Ring_Bw[5] = { 0 , 0 , 0 , 0 , 0 }

Definition at line 39 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Ring_Fw[5] = { 0 , 0 , 0 , 0 , 0 }

Definition at line 38 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Ring_O = 0

Definition at line 52 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Ring_O_Bw[5] = { 0 , 0 , 0 , 0 , 0 }

Definition at line 58 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Ring_O_Fw[5] = { 0 , 0 , 0 , 0 , 0 }

Definition at line 55 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Ring_W = 0

Definition at line 51 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Ring_W_Bw[5]
Initial value:
= {
0 , 0 , 0 , 0 , 0 }

Definition at line 56 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Ring_W_Fw[5]
Initial value:
= {
0 , 0 , 0 , 0 , 0 }

Definition at line 53 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Eta = 0

Definition at line 42 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Phi = 0

Definition at line 43 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_R = 0

Definition at line 44 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_RZ = 0

Definition at line 30 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<edmNew::DetSetVector<TTStub<Ref_Phase2TrackerDigi_> > > OuterTrackerMonitorTTStub::tagTTStubsToken_
private

Definition at line 62 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and OuterTrackerMonitorTTStub().

std::string OuterTrackerMonitorTTStub::topFolderName_
private

Definition at line 63 of file OuterTrackerMonitorTTStub.h.

Referenced by bookHistograms(), and OuterTrackerMonitorTTStub().