CMS 3D CMS Logo

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

#include <OuterTrackerMonitorTTCluster.h>

Inheritance diagram for OuterTrackerMonitorTTCluster:
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
 
 OuterTrackerMonitorTTCluster (const edm::ParameterSet &)
 
 ~OuterTrackerMonitorTTCluster () 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

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

Private Attributes

edm::ParameterSet conf_
 
edm::EDGetTokenT< edmNew::DetSetVector< TTCluster< Ref_Phase2TrackerDigi_ > > > tagTTClustersToken_
 
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 OuterTrackerMonitorTTCluster.h.

Constructor & Destructor Documentation

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

Definition at line 42 of file OuterTrackerMonitorTTCluster.cc.

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

42  : conf_(iConfig) {
43  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
44  tagTTClustersToken_ = consumes<edmNew::DetSetVector<TTCluster<Ref_Phase2TrackerDigi_>>>(
45  conf_.getParameter<edm::InputTag>("TTClusters"));
46 }
T getParameter(std::string const &) const
edm::EDGetTokenT< edmNew::DetSetVector< TTCluster< Ref_Phase2TrackerDigi_ > > > tagTTClustersToken_
OuterTrackerMonitorTTCluster::~OuterTrackerMonitorTTCluster ( )
override

Definition at line 48 of file OuterTrackerMonitorTTCluster.cc.

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

Member Function Documentation

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

Track Trigger Clusters

Geometry

Loop over the input Clusters

Definition at line 58 of file OuterTrackerMonitorTTCluster.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(), 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(), alignCSCRings::r, DetId::subdetId(), GeomDet::surface(), tagTTClustersToken_, StripSubdetector::TID, TrackerTopology::tidRing(), StripSubdetector::TOB, Surface::toGlobal(), GeomDet::topology(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), z, and PV3DBase< T, PVType, FrameType >::z().

58  {
61  iEvent.getByToken(tagTTClustersToken_, Phase2TrackerDigiTTClusterHandle);
62 
65  const TrackerTopology *tTopo;
66  iSetup.get<TrackerTopologyRcd>().get(tTopoHandle);
67  tTopo = tTopoHandle.product();
68 
69  edm::ESHandle<TrackerGeometry> tGeometryHandle;
70  const TrackerGeometry *theTrackerGeometry;
71  iSetup.get<TrackerDigiGeometryRecord>().get(tGeometryHandle);
72  theTrackerGeometry = tGeometryHandle.product();
73 
75  typename edmNew::DetSetVector<TTCluster<Ref_Phase2TrackerDigi_>>::const_iterator inputIter;
76  typename edmNew::DetSet<TTCluster<Ref_Phase2TrackerDigi_>>::const_iterator contentIter;
77 
78  // Adding protection
79  if (!Phase2TrackerDigiTTClusterHandle.isValid())
80  return;
81 
82  for (inputIter = Phase2TrackerDigiTTClusterHandle->begin(); inputIter != Phase2TrackerDigiTTClusterHandle->end();
83  ++inputIter) {
84  for (contentIter = inputIter->begin(); contentIter != inputIter->end(); ++contentIter) {
85  // Make reference cluster
87  edmNew::makeRefTo(Phase2TrackerDigiTTClusterHandle, contentIter);
88 
89  DetId detIdClu = theTrackerGeometry->idToDet(tempCluRef->getDetId())->geographicalId();
90  unsigned int memberClu = tempCluRef->getStackMember();
91  unsigned int widClu = tempCluRef->findWidth();
92 
93  MeasurementPoint mp = tempCluRef->findAverageLocalCoordinates();
94  const GeomDet *theGeomDet = theTrackerGeometry->idToDet(detIdClu);
95  Global3DPoint posClu = theGeomDet->surface().toGlobal(theGeomDet->topology().localPosition(mp));
96 
97  double r = posClu.perp();
98  double z = posClu.z();
99 
100  Cluster_W->Fill(widClu, memberClu);
101  Cluster_Eta->Fill(posClu.eta());
102  Cluster_Phi->Fill(posClu.phi());
103  Cluster_R->Fill(r);
104  Cluster_RZ->Fill(z, r);
105 
106  if (detIdClu.subdetId() == static_cast<int>(StripSubdetector::TOB)) // Phase 2 Outer Tracker Barrel
107  {
108  if (memberClu == 0)
109  Cluster_IMem_Barrel->Fill(tTopo->layer(detIdClu));
110  else
111  Cluster_OMem_Barrel->Fill(tTopo->layer(detIdClu));
112 
113  Cluster_Barrel_XY->Fill(posClu.x(), posClu.y());
114 
115  } // end if isBarrel
116  else if (detIdClu.subdetId() == static_cast<int>(StripSubdetector::TID)) // Phase 2 Outer Tracker Endcap
117  {
118  if (memberClu == 0) {
119  Cluster_IMem_Endcap_Disc->Fill(tTopo->layer(detIdClu)); // returns wheel
120  Cluster_IMem_Endcap_Ring->Fill(tTopo->tidRing(detIdClu));
121  } else {
122  Cluster_OMem_Endcap_Disc->Fill(tTopo->layer(detIdClu)); // returns wheel
123  Cluster_OMem_Endcap_Ring->Fill(tTopo->tidRing(detIdClu));
124  }
125 
126  if (posClu.z() > 0) {
127  Cluster_Endcap_Fw_XY->Fill(posClu.x(), posClu.y());
128  if (memberClu == 0)
129  Cluster_IMem_Endcap_Ring_Fw[tTopo->layer(detIdClu) - 1]->Fill(tTopo->tidRing(detIdClu));
130  else
131  Cluster_OMem_Endcap_Ring_Fw[tTopo->layer(detIdClu) - 1]->Fill(tTopo->tidRing(detIdClu));
132  } else {
133  Cluster_Endcap_Bw_XY->Fill(posClu.x(), posClu.y());
134  if (memberClu == 0)
135  Cluster_IMem_Endcap_Ring_Bw[tTopo->layer(detIdClu) - 1]->Fill(tTopo->tidRing(detIdClu));
136  else
137  Cluster_OMem_Endcap_Ring_Bw[tTopo->layer(detIdClu) - 1]->Fill(tTopo->tidRing(detIdClu));
138  }
139 
140  } // end if isEndcap
141  } // end loop contentIter
142  } // end loop inputIter
143 } // end of method
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
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
void Fill(long long x)
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
edm::EDGetTokenT< edmNew::DetSetVector< TTCluster< Ref_Phase2TrackerDigi_ > > > tagTTClustersToken_
Definition: DetId.h:17
NOTE: this is needed even if it seems not.
Definition: TTCluster.h:27
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
unsigned int layer(const DetId &id) const
T eta() const
Definition: PV3DBase.h:73
T get() const
Definition: EventSetup.h:73
const TrackerGeomDet * idToDet(DetId) const override
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
void OuterTrackerMonitorTTCluster::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  run,
edm::EventSetup const &  es 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 147 of file OuterTrackerMonitorTTCluster.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::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_, DEFINE_FWK_MODULE, edm::ParameterSet::getParameter(), mps_fire::i, dqm::impl::MonitorElement::setAxisTitle(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, and topFolderName_.

149  {
151  const int numDiscs = 5;
152 
153  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/NClusters");
154 
155  // NClusters
156  edm::ParameterSet psTTCluster_Barrel = conf_.getParameter<edm::ParameterSet>("TH1TTCluster_Barrel");
157  HistoName = "NClusters_IMem_Barrel";
158  Cluster_IMem_Barrel = iBooker.book1D(HistoName,
159  HistoName,
160  psTTCluster_Barrel.getParameter<int32_t>("Nbinsx"),
161  psTTCluster_Barrel.getParameter<double>("xmin"),
162  psTTCluster_Barrel.getParameter<double>("xmax"));
163  Cluster_IMem_Barrel->setAxisTitle("Barrel Layer", 1);
164  Cluster_IMem_Barrel->setAxisTitle("# L1 Clusters", 2);
165 
166  HistoName = "NClusters_OMem_Barrel";
167  Cluster_OMem_Barrel = iBooker.book1D(HistoName,
168  HistoName,
169  psTTCluster_Barrel.getParameter<int32_t>("Nbinsx"),
170  psTTCluster_Barrel.getParameter<double>("xmin"),
171  psTTCluster_Barrel.getParameter<double>("xmax"));
172  Cluster_OMem_Barrel->setAxisTitle("Barrel Layer", 1);
173  Cluster_OMem_Barrel->setAxisTitle("# L1 Clusters", 2);
174 
175  edm::ParameterSet psTTCluster_ECDisc = conf_.getParameter<edm::ParameterSet>("TH1TTCluster_ECDiscs");
176  HistoName = "NClusters_IMem_Endcap_Disc";
177  Cluster_IMem_Endcap_Disc = iBooker.book1D(HistoName,
178  HistoName,
179  psTTCluster_ECDisc.getParameter<int32_t>("Nbinsx"),
180  psTTCluster_ECDisc.getParameter<double>("xmin"),
181  psTTCluster_ECDisc.getParameter<double>("xmax"));
182  Cluster_IMem_Endcap_Disc->setAxisTitle("Endcap Disc", 1);
183  Cluster_IMem_Endcap_Disc->setAxisTitle("# L1 Clusters", 2);
184 
185  HistoName = "NClusters_OMem_Endcap_Disc";
186  Cluster_OMem_Endcap_Disc = iBooker.book1D(HistoName,
187  HistoName,
188  psTTCluster_ECDisc.getParameter<int32_t>("Nbinsx"),
189  psTTCluster_ECDisc.getParameter<double>("xmin"),
190  psTTCluster_ECDisc.getParameter<double>("xmax"));
191  Cluster_OMem_Endcap_Disc->setAxisTitle("Endcap Disc", 1);
192  Cluster_OMem_Endcap_Disc->setAxisTitle("# L1 Clusters", 2);
193 
194  edm::ParameterSet psTTCluster_ECRing = conf_.getParameter<edm::ParameterSet>("TH1TTCluster_ECRings");
195  HistoName = "NClusters_IMem_Endcap_Ring";
196  Cluster_IMem_Endcap_Ring = iBooker.book1D(HistoName,
197  HistoName,
198  psTTCluster_ECRing.getParameter<int32_t>("Nbinsx"),
199  psTTCluster_ECRing.getParameter<double>("xmin"),
200  psTTCluster_ECRing.getParameter<double>("xmax"));
201  Cluster_IMem_Endcap_Ring->setAxisTitle("Endcap Ring", 1);
202  Cluster_IMem_Endcap_Ring->setAxisTitle("# L1 Clusters", 2);
203 
204  HistoName = "NClusters_OMem_Endcap_Ring";
205  Cluster_OMem_Endcap_Ring = iBooker.book1D(HistoName,
206  HistoName,
207  psTTCluster_ECRing.getParameter<int32_t>("Nbinsx"),
208  psTTCluster_ECRing.getParameter<double>("xmin"),
209  psTTCluster_ECRing.getParameter<double>("xmax"));
210  Cluster_OMem_Endcap_Ring->setAxisTitle("Endcap Ring", 1);
211  Cluster_OMem_Endcap_Ring->setAxisTitle("# L1 Clusters", 2);
212 
213  for (int i = 0; i < numDiscs; i++) {
214  HistoName = "NClusters_IMem_Disc+" + std::to_string(i + 1);
215  Cluster_IMem_Endcap_Ring_Fw[i] = iBooker.book1D(HistoName,
216  HistoName,
217  psTTCluster_ECRing.getParameter<int32_t>("Nbinsx"),
218  psTTCluster_ECRing.getParameter<double>("xmin"),
219  psTTCluster_ECRing.getParameter<double>("xmax"));
220  Cluster_IMem_Endcap_Ring_Fw[i]->setAxisTitle("Endcap Ring", 1);
221  Cluster_IMem_Endcap_Ring_Fw[i]->setAxisTitle("# L1 Clusters ", 2);
222  }
223 
224  for (int i = 0; i < numDiscs; i++) {
225  HistoName = "NClusters_IMem_Disc-" + std::to_string(i + 1);
226  Cluster_IMem_Endcap_Ring_Bw[i] = iBooker.book1D(HistoName,
227  HistoName,
228  psTTCluster_ECRing.getParameter<int32_t>("Nbinsx"),
229  psTTCluster_ECRing.getParameter<double>("xmin"),
230  psTTCluster_ECRing.getParameter<double>("xmax"));
231  Cluster_IMem_Endcap_Ring_Bw[i]->setAxisTitle("Endcap Ring", 1);
232  Cluster_IMem_Endcap_Ring_Bw[i]->setAxisTitle("# L1 Clusters ", 2);
233  }
234 
235  for (int i = 0; i < numDiscs; i++) {
236  HistoName = "NClusters_OMem_Disc+" + std::to_string(i + 1);
237  Cluster_OMem_Endcap_Ring_Fw[i] = iBooker.book1D(HistoName,
238  HistoName,
239  psTTCluster_ECRing.getParameter<int32_t>("Nbinsx"),
240  psTTCluster_ECRing.getParameter<double>("xmin"),
241  psTTCluster_ECRing.getParameter<double>("xmax"));
242  Cluster_OMem_Endcap_Ring_Fw[i]->setAxisTitle("Endcap Ring", 1);
243  Cluster_OMem_Endcap_Ring_Fw[i]->setAxisTitle("# L1 Clusters ", 2);
244  }
245 
246  for (int i = 0; i < numDiscs; i++) {
247  HistoName = "NClusters_OMem_Disc-" + std::to_string(i + 1);
248  Cluster_OMem_Endcap_Ring_Bw[i] = iBooker.book1D(HistoName,
249  HistoName,
250  psTTCluster_ECRing.getParameter<int32_t>("Nbinsx"),
251  psTTCluster_ECRing.getParameter<double>("xmin"),
252  psTTCluster_ECRing.getParameter<double>("xmax"));
253  Cluster_OMem_Endcap_Ring_Bw[i]->setAxisTitle("Endcap Ring", 1);
254  Cluster_OMem_Endcap_Ring_Bw[i]->setAxisTitle("# L1 Clusters ", 2);
255  }
256 
257  iBooker.setCurrentFolder(topFolderName_ + "/Clusters");
258 
259  // Cluster Width
260  edm::ParameterSet psTTClusterWidth = conf_.getParameter<edm::ParameterSet>("TH2TTCluster_Width");
261  HistoName = "Cluster_W";
262  Cluster_W = iBooker.book2D(HistoName,
263  HistoName,
264  psTTClusterWidth.getParameter<int32_t>("Nbinsx"),
265  psTTClusterWidth.getParameter<double>("xmin"),
266  psTTClusterWidth.getParameter<double>("xmax"),
267  psTTClusterWidth.getParameter<int32_t>("Nbinsy"),
268  psTTClusterWidth.getParameter<double>("ymin"),
269  psTTClusterWidth.getParameter<double>("ymax"));
270  Cluster_W->setAxisTitle("L1 Cluster Width", 1);
271  Cluster_W->setAxisTitle("Stack Member", 2);
272 
273  // Cluster eta distribution
274  edm::ParameterSet psTTClusterEta = conf_.getParameter<edm::ParameterSet>("TH1TTCluster_Eta");
275  HistoName = "Cluster_Eta";
276  Cluster_Eta = iBooker.book1D(HistoName,
277  HistoName,
278  psTTClusterEta.getParameter<int32_t>("Nbinsx"),
279  psTTClusterEta.getParameter<double>("xmin"),
280  psTTClusterEta.getParameter<double>("xmax"));
281  Cluster_Eta->setAxisTitle("#eta", 1);
282  Cluster_Eta->setAxisTitle("# L1 Clusters ", 2);
283 
284  // Cluster phi distribution
285  edm::ParameterSet psTTClusterPhi = conf_.getParameter<edm::ParameterSet>("TH1TTCluster_Phi");
286  HistoName = "Cluster_Phi";
287  Cluster_Phi = iBooker.book1D(HistoName,
288  HistoName,
289  psTTClusterPhi.getParameter<int32_t>("Nbinsx"),
290  psTTClusterPhi.getParameter<double>("xmin"),
291  psTTClusterPhi.getParameter<double>("xmax"));
292  Cluster_Phi->setAxisTitle("#phi", 1);
293  Cluster_Phi->setAxisTitle("# L1 Clusters", 2);
294 
295  // Cluster R distribution
296  edm::ParameterSet psTTClusterR = conf_.getParameter<edm::ParameterSet>("TH1TTCluster_R");
297  HistoName = "Cluster_R";
298  Cluster_R = iBooker.book1D(HistoName,
299  HistoName,
300  psTTClusterR.getParameter<int32_t>("Nbinsx"),
301  psTTClusterR.getParameter<double>("xmin"),
302  psTTClusterR.getParameter<double>("xmax"));
303  Cluster_R->setAxisTitle("R [cm]", 1);
304  Cluster_R->setAxisTitle("# L1 Clusters", 2);
305 
306  iBooker.setCurrentFolder(topFolderName_ + "/Clusters/Position");
307 
308  // Position plots
309  edm::ParameterSet psTTCluster_Barrel_XY = conf_.getParameter<edm::ParameterSet>("TH2TTCluster_Position");
310  HistoName = "Cluster_Barrel_XY";
311  Cluster_Barrel_XY = iBooker.book2D(HistoName,
312  HistoName,
313  psTTCluster_Barrel_XY.getParameter<int32_t>("Nbinsx"),
314  psTTCluster_Barrel_XY.getParameter<double>("xmin"),
315  psTTCluster_Barrel_XY.getParameter<double>("xmax"),
316  psTTCluster_Barrel_XY.getParameter<int32_t>("Nbinsy"),
317  psTTCluster_Barrel_XY.getParameter<double>("ymin"),
318  psTTCluster_Barrel_XY.getParameter<double>("ymax"));
319  Cluster_Barrel_XY->setAxisTitle("L1 Cluster Barrel position x [cm]", 1);
320  Cluster_Barrel_XY->setAxisTitle("L1 Cluster Barrel position y [cm]", 2);
321 
322  edm::ParameterSet psTTCluster_Endcap_Fw_XY = conf_.getParameter<edm::ParameterSet>("TH2TTCluster_Position");
323  HistoName = "Cluster_Endcap_Fw_XY";
324  Cluster_Endcap_Fw_XY = iBooker.book2D(HistoName,
325  HistoName,
326  psTTCluster_Endcap_Fw_XY.getParameter<int32_t>("Nbinsx"),
327  psTTCluster_Endcap_Fw_XY.getParameter<double>("xmin"),
328  psTTCluster_Endcap_Fw_XY.getParameter<double>("xmax"),
329  psTTCluster_Endcap_Fw_XY.getParameter<int32_t>("Nbinsy"),
330  psTTCluster_Endcap_Fw_XY.getParameter<double>("ymin"),
331  psTTCluster_Endcap_Fw_XY.getParameter<double>("ymax"));
332  Cluster_Endcap_Fw_XY->setAxisTitle("L1 Cluster Forward Endcap position x [cm]", 1);
333  Cluster_Endcap_Fw_XY->setAxisTitle("L1 Cluster Forward Endcap position y [cm]", 2);
334 
335  edm::ParameterSet psTTCluster_Endcap_Bw_XY = conf_.getParameter<edm::ParameterSet>("TH2TTCluster_Position");
336  HistoName = "Cluster_Endcap_Bw_XY";
337  Cluster_Endcap_Bw_XY = iBooker.book2D(HistoName,
338  HistoName,
339  psTTCluster_Endcap_Bw_XY.getParameter<int32_t>("Nbinsx"),
340  psTTCluster_Endcap_Bw_XY.getParameter<double>("xmin"),
341  psTTCluster_Endcap_Bw_XY.getParameter<double>("xmax"),
342  psTTCluster_Endcap_Bw_XY.getParameter<int32_t>("Nbinsy"),
343  psTTCluster_Endcap_Bw_XY.getParameter<double>("ymin"),
344  psTTCluster_Endcap_Bw_XY.getParameter<double>("ymax"));
345  Cluster_Endcap_Bw_XY->setAxisTitle("L1 Cluster Backward Endcap position x [cm]", 1);
346  Cluster_Endcap_Bw_XY->setAxisTitle("L1 Cluster Backward Endcap position y [cm]", 2);
347 
348  // TTCluster #rho vs. z
349  edm::ParameterSet psTTCluster_RZ = conf_.getParameter<edm::ParameterSet>("TH2TTCluster_RZ");
350  HistoName = "Cluster_RZ";
351  Cluster_RZ = iBooker.book2D(HistoName,
352  HistoName,
353  psTTCluster_RZ.getParameter<int32_t>("Nbinsx"),
354  psTTCluster_RZ.getParameter<double>("xmin"),
355  psTTCluster_RZ.getParameter<double>("xmax"),
356  psTTCluster_RZ.getParameter<int32_t>("Nbinsy"),
357  psTTCluster_RZ.getParameter<double>("ymin"),
358  psTTCluster_RZ.getParameter<double>("ymax"));
359  Cluster_RZ->setAxisTitle("L1 Cluster position z [cm]", 1);
360  Cluster_RZ->setAxisTitle("L1 Cluster position #rho [cm]", 2);
361 
362 } // end of method
T getParameter(std::string const &) const
std::string HistoName
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

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_Barrel_XY = 0

Definition at line 41 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_Endcap_Bw_XY = 0

Definition at line 43 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_Endcap_Fw_XY = 0

Definition at line 42 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_Eta = 0

Definition at line 39 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_IMem_Barrel = 0

Definition at line 26 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_IMem_Endcap_Disc = 0

Definition at line 27 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_IMem_Endcap_Ring = 0

Definition at line 28 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_IMem_Endcap_Ring_Bw[5] = { 0 , 0 , 0 , 0 , 0 }

Definition at line 30 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_IMem_Endcap_Ring_Fw[5] = { 0 , 0 , 0 , 0 , 0 }

Definition at line 29 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_OMem_Barrel = 0

Definition at line 31 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_OMem_Endcap_Disc = 0

Definition at line 32 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_OMem_Endcap_Ring = 0

Definition at line 33 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_OMem_Endcap_Ring_Bw[5] = { 0 , 0 , 0 , 0 , 0 }

Definition at line 35 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_OMem_Endcap_Ring_Fw[5] = { 0 , 0 , 0 , 0 , 0 }

Definition at line 34 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_Phi = 0

Definition at line 37 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_R = 0

Definition at line 38 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_RZ = 0

Definition at line 44 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTCluster::Cluster_W = 0

Definition at line 36 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and bookHistograms().

edm::ParameterSet OuterTrackerMonitorTTCluster::conf_
private

Definition at line 47 of file OuterTrackerMonitorTTCluster.h.

Referenced by bookHistograms(), and OuterTrackerMonitorTTCluster().

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

Definition at line 48 of file OuterTrackerMonitorTTCluster.h.

Referenced by analyze(), and OuterTrackerMonitorTTCluster().

std::string OuterTrackerMonitorTTCluster::topFolderName_
private

Definition at line 49 of file OuterTrackerMonitorTTCluster.h.

Referenced by bookHistograms(), and OuterTrackerMonitorTTCluster().