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::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > 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 &ev, edm::EventSetup const &es) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () 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
 
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)
 
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] = { 0 , 0 , 0 , 0 , 0 }
 
MonitorElementStub_Endcap_Ring_W_Fw [5] = { 0 , 0 , 0 , 0 , 0 }
 
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 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::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 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 21 of file OuterTrackerMonitorTTStub.h.

Constructor & Destructor Documentation

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

Definition at line 39 of file OuterTrackerMonitorTTStub.cc.

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

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

Definition at line 48 of file OuterTrackerMonitorTTStub.cc.

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

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 58 of file OuterTrackerMonitorTTStub.cc.

References edmNew::DetSetVector< T >::begin(), TtSemiLepEvtBuilder_cfi::disc, edmNew::DetSetVector< T >::end(), PV3DBase< T, PVType, FrameType >::eta(), 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().

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

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), conf_, DEFINE_FWK_MODULE, edm::ParameterSet::getParameter(), mps_fire::i, MonitorElement::setAxisTitle(), 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_.

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

Member Data Documentation

edm::ParameterSet OuterTrackerMonitorTTStub::conf_
private

Definition at line 63 of file OuterTrackerMonitorTTStub.h.

Referenced by bookHistograms(), and OuterTrackerMonitorTTStub().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Barrel = 0

Definition at line 37 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Barrel_O = 0

Definition at line 52 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Barrel_W = 0

Definition at line 51 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Barrel_XY = 0

Definition at line 31 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Bw_XY = 0

Definition at line 33 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Disc = 0

Definition at line 38 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Disc_Bw = 0

Definition at line 40 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Disc_Fw = 0

Definition at line 39 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Disc_O = 0

Definition at line 54 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Disc_W = 0

Definition at line 53 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Fw_XY = 0

Definition at line 32 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Ring = 0

Definition at line 41 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

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

Definition at line 43 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

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

Definition at line 42 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Ring_O = 0

Definition at line 56 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 60 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 58 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Endcap_Ring_W = 0

Definition at line 55 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

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

Definition at line 59 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

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

Definition at line 57 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Eta = 0

Definition at line 46 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_Phi = 0

Definition at line 47 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_R = 0

Definition at line 48 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTStub::Stub_RZ = 0

Definition at line 34 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and bookHistograms().

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

Definition at line 64 of file OuterTrackerMonitorTTStub.h.

Referenced by analyze(), and OuterTrackerMonitorTTStub().

std::string OuterTrackerMonitorTTStub::topFolderName_
private

Definition at line 65 of file OuterTrackerMonitorTTStub.h.

Referenced by bookHistograms(), and OuterTrackerMonitorTTStub().