CMS 3D CMS Logo

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

#include <DTResolutionAnalysisTask.h>

Inheritance diagram for DTResolutionAnalysisTask:
DQMOneEDAnalyzer<> edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::Accumulator, Args... > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void analyze (const edm::Event &event, const edm::EventSetup &setup) override
 To reset the MEs. More...
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 BookHistograms. More...
 
void dqmBeginRun (const edm::Run &, const edm::EventSetup &) override
 BeginRun. More...
 
 DTResolutionAnalysisTask (const edm::ParameterSet &pset)
 Constructor. More...
 
 ~DTResolutionAnalysisTask () override
 Destructor. More...
 
- Public Member Functions inherited from DQMOneEDAnalyzer<>
void accumulate (edm::Event const &event, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
 DQMOneEDAnalyzer ()
 
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::Accumulator, Args... >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () 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
 
std::vector< bool > const & recordProvenanceList () 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)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~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 &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (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::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
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)
 

Private Member Functions

void bookHistos (DQMStore::IBooker &ibooker, DTSuperLayerId slId)
 
void fillHistos (DTSuperLayerId slId, float distExtr, float residual)
 

Private Attributes

edm::ESHandle< DTGeometrydtGeom
 
std::map< DTSuperLayerId, std::vector< MonitorElement * > > histosPerSL
 
int prescaleFactor
 
edm::EDGetTokenT< DTRecSegment4DCollectionrecHits4DToken_
 
int resetCycle
 
u_int32_t thePhiHitsCut
 
u_int32_t theZHitsCut
 
std::string topHistoFolder
 

Additional Inherited Members

- Public Types inherited from DQMOneEDAnalyzer<>
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 DQMOneEDAnalyzer<>
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
- Protected Attributes inherited from DQMOneEDAnalyzer<>
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 32 of file DTResolutionAnalysisTask.h.

Constructor & Destructor Documentation

◆ DTResolutionAnalysisTask()

DTResolutionAnalysisTask::DTResolutionAnalysisTask ( const edm::ParameterSet pset)

Constructor.

Definition at line 33 of file DTResolutionAnalysisTask.cc.

33  {
34  edm::LogVerbatim("DTDQM|DTMonitorModule|DTResolutionAnalysisTask")
35  << "[DTResolutionAnalysisTask] Constructor called!" << endl;
36 
37  // the name of the 4D rec hits collection
38  recHits4DToken_ = consumes<DTRecSegment4DCollection>(edm::InputTag(pset.getParameter<string>("recHits4DLabel")));
39 
40  prescaleFactor = pset.getUntrackedParameter<int>("diagnosticPrescale", 1);
41  resetCycle = pset.getUntrackedParameter<int>("ResetCycle", -1);
42  // top folder for the histograms in DQMStore
43  topHistoFolder = pset.getUntrackedParameter<string>("topHistoFolder", "DT/02-Segments");
44 
45  thePhiHitsCut = pset.getUntrackedParameter<u_int32_t>("phiHitsCut", 8);
46  theZHitsCut = pset.getUntrackedParameter<u_int32_t>("zHitsCut", 4);
47 }

References Skims_PDWG_cff::prescaleFactor, muonDTDigis_cfi::pset, and ALCARECODTCalibSynchCosmicsDQMClient_cff::topHistoFolder.

◆ ~DTResolutionAnalysisTask()

DTResolutionAnalysisTask::~DTResolutionAnalysisTask ( )
override

Destructor.

Definition at line 49 of file DTResolutionAnalysisTask.cc.

49  {
50  edm::LogVerbatim("DTDQM|DTMonitorModule|DTResolutionAnalysisTask")
51  << "[DTResolutionAnalysisTask] Destructor called!" << endl;
52 }

Member Function Documentation

◆ analyze()

void DTResolutionAnalysisTask::analyze ( const edm::Event event,
const edm::EventSetup setup 
)
overridevirtual

To reset the MEs.

Reimplemented from DQMOneEDAnalyzer<>.

Definition at line 92 of file DTResolutionAnalysisTask.cc.

92  {
93  edm::LogVerbatim("DTDQM|DTMonitorModule|DTResolutionAnalysisTask")
94  << "[DTResolutionAnalysisTask] Analyze #Run: " << event.id().run() << " #Event: " << event.id().event() << endl;
95 
96  // Get the 4D segment collection from the event
98  event.getByToken(recHits4DToken_, all4DSegments);
99 
100  // check the validity of the collection
101  if (!all4DSegments.isValid())
102  return;
103 
104  // Loop over all chambers containing a segment
106  for (chamberId = all4DSegments->id_begin(); chamberId != all4DSegments->id_end(); ++chamberId) {
107  // Get the range for the corresponding ChamerId
108  DTRecSegment4DCollection::range range = all4DSegments->get(*chamberId);
109 
110  // Get the chamber
111  const DTChamber* chamber = dtGeom->chamber(*chamberId);
112 
113  // Loop over the rechits of this ChamerId
114  for (DTRecSegment4DCollection::const_iterator segment4D = range.first; segment4D != range.second; ++segment4D) {
115  // If Statio != 4 skip RecHits with dimension != 4
116  // For the Station 4 consider 2D RecHits
117  if ((*chamberId).station() != 4 && (*segment4D).dimension() != 4) {
118  edm::LogVerbatim("DTDQM|DTMonitorModule|DTResolutionAnalysisTask")
119  << "[DTResolutionAnalysisTask]***Warning: RecSegment dimension is not 4 but " << (*segment4D).dimension()
120  << "!" << endl;
121  continue;
122  } else if ((*chamberId).station() == 4 && (*segment4D).dimension() != 2) {
123  edm::LogVerbatim("DTDQM|DTMonitorModule|DTResolutionAnalysisTask")
124  << "[DTResolutionAnalysisTask]***Warning: RecSegment dimension is not 2 but " << (*segment4D).dimension()
125  << "!" << endl;
126  continue;
127  }
128 
129  // Get all 1D RecHits at step 3 within the 4D segment
130  vector<DTRecHit1D> recHits1D_S3;
131 
132  // Get 1D RecHits at Step 3 and select only events with
133  // 8 hits in phi and 4 hits in theta (if any)
134 
135  if ((*segment4D).hasPhi()) { // has phi component
136  const DTChamberRecSegment2D* phiSeg = (*segment4D).phiSegment();
137  vector<DTRecHit1D> phiRecHits = phiSeg->specificRecHits();
138 
139  if (phiRecHits.size() < thePhiHitsCut) {
140  continue;
141  }
142  copy(phiRecHits.begin(), phiRecHits.end(), back_inserter(recHits1D_S3));
143  } else {
144  }
145 
146  if ((*segment4D).hasZed()) {
147  const DTSLRecSegment2D* zSeg = (*segment4D).zSegment();
148  vector<DTRecHit1D> zRecHits = zSeg->specificRecHits();
149  if (zRecHits.size() < theZHitsCut) {
150  continue;
151  }
152  copy(zRecHits.begin(), zRecHits.end(), back_inserter(recHits1D_S3));
153  }
154 
155  // Loop over 1D RecHit inside 4D segment
156  for (vector<DTRecHit1D>::const_iterator recHit1D = recHits1D_S3.begin(); recHit1D != recHits1D_S3.end();
157  recHit1D++) {
158  const DTWireId wireId = (*recHit1D).wireId();
159 
160  // Get the layer and the wire position
161  const DTLayer* layer = chamber->superLayer(wireId.superlayerId())->layer(wireId.layerId());
162  float wireX = layer->specificTopology().wirePosition(wireId.wire());
163 
164  // Distance of the 1D rechit from the wire
165  float distRecHitToWire = fabs(wireX - (*recHit1D).localPosition().x());
166 
167  // Extrapolate the segment to the z of the wire
168 
169  // Get wire position in chamber RF
170  LocalPoint wirePosInLay(wireX, (*recHit1D).localPosition().y(), (*recHit1D).localPosition().z());
171  GlobalPoint wirePosGlob = layer->toGlobal(wirePosInLay);
172  LocalPoint wirePosInChamber = chamber->toLocal(wirePosGlob);
173 
174  // Segment position at Wire z in chamber local frame
175  LocalPoint segPosAtZWire = (*segment4D).localPosition() + (*segment4D).localDirection() * wirePosInChamber.z() /
176  cos((*segment4D).localDirection().theta());
177 
178  // Compute the distance of the segment from the wire
179  int sl = wireId.superlayer();
180 
181  double distSegmToWire = -1;
182  if (sl == 1 || sl == 3) {
183  // RPhi SL
184  distSegmToWire = fabs(wirePosInChamber.x() - segPosAtZWire.x());
185  } else if (sl == 2) {
186  // RZ SL
187  distSegmToWire = fabs(wirePosInChamber.y() - segPosAtZWire.y());
188  }
189 
190  if (distSegmToWire > 2.1)
191  edm::LogVerbatim("DTDQM|DTMonitorModule|DTResolutionAnalysisTask")
192  << " Warning: dist segment-wire: " << distSegmToWire << endl;
193 
194  double residual = distRecHitToWire - distSegmToWire;
195  // FIXME: Fill the histos
196  fillHistos(wireId.superlayerId(), distSegmToWire, residual);
197 
198  } // End of loop over 1D RecHit inside 4D segment
199  } // End of loop over the rechits of this ChamerId
200  }
201  // -----------------------------------------------------------------------------
202 }

References relativeConstraints::chamber, filterCSVwithJSON::copy, funct::cos(), edm::HandleBase::isValid(), phase1PixelTopology::layer, DTWireId::layerId(), FastTimerService_cff::range, DTRecSegment2D::specificRecHits(), DTSuperLayerId::superlayer(), DTLayerId::superlayerId(), DTWireId::wire(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

◆ bookHistograms()

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

BookHistograms.

Implements DQMOneEDAnalyzer<>.

Definition at line 59 of file DTResolutionAnalysisTask.cc.

61  {
62  // Book the histograms
63  vector<const DTChamber*> chambers = dtGeom->chambers();
64  for (vector<const DTChamber*>::const_iterator chamber = chambers.begin(); chamber != chambers.end();
65  ++chamber) { // Loop over all chambers
66  DTChamberId dtChId = (*chamber)->id();
67  for (int sl = 1; sl <= 3; ++sl) { // Loop over SLs
68  if (dtChId.station() == 4 && sl == 2)
69  continue;
70  const DTSuperLayerId dtSLId(dtChId, sl);
71  bookHistos(ibooker, dtSLId);
72  }
73  }
74 }

References bookHistos(), relativeConstraints::chamber, chambers, and DTChamberId::station().

◆ bookHistos()

void DTResolutionAnalysisTask::bookHistos ( DQMStore::IBooker ibooker,
DTSuperLayerId  slId 
)
private

Definition at line 205 of file DTResolutionAnalysisTask.cc.

205  {
206  edm::LogVerbatim("DTDQM|DTMonitorModule|DTResolutionAnalysisTask") << " Booking histos for SL: " << slId << endl;
207 
208  // Compose the chamber name
209  stringstream wheel;
210  wheel << slId.wheel();
211  stringstream station;
212  station << slId.station();
213  stringstream sector;
214  sector << slId.sector();
215  stringstream superLayer;
216  superLayer << slId.superlayer();
217 
218  string slHistoName = "_W" + wheel.str() + "_St" + station.str() + "_Sec" + sector.str() + "_SL" + superLayer.str();
219 
220  ibooker.setCurrentFolder(topHistoFolder + "/Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" +
221  station.str());
222  // Create the monitor elements
223  vector<MonitorElement*> histos;
224  // Note the order matters
225  histos.push_back(ibooker.book1D(
226  "hResDist" + slHistoName, "Residuals on the distance from wire (rec_hit - segm_extr) (cm)", 200, -0.4, 0.4));
227  histosPerSL[slId] = histos;
228 }

References dqm::implementation::IBooker::book1D(), combine::histos, DTChamberId::sector(), dqm::implementation::NavigatorBase::setCurrentFolder(), DTChamberId::station(), relativeConstraints::station, DTSuperLayerId::superlayer(), ALCARECODTCalibSynchCosmicsDQMClient_cff::topHistoFolder, DTChamberId::wheel(), and makeMuonMisalignmentScenario::wheel.

◆ dqmBeginRun()

void DTResolutionAnalysisTask::dqmBeginRun ( const edm::Run run,
const edm::EventSetup setup 
)
overridevirtual

BeginRun.

Reimplemented from DQMOneEDAnalyzer<>.

Definition at line 54 of file DTResolutionAnalysisTask.cc.

54  {
55  // Get the DT Geometry
57 }

References edm::get(), and singleTopDQM_cfi::setup.

◆ fillHistos()

void DTResolutionAnalysisTask::fillHistos ( DTSuperLayerId  slId,
float  distExtr,
float  residual 
)
private

Definition at line 231 of file DTResolutionAnalysisTask.cc.

231  {
232  vector<MonitorElement*> histos = histosPerSL[slId];
233  histos[0]->Fill(residual);
234 }

References combine::histos.

Member Data Documentation

◆ dtGeom

edm::ESHandle<DTGeometry> DTResolutionAnalysisTask::dtGeom
private

Definition at line 55 of file DTResolutionAnalysisTask.h.

◆ histosPerSL

std::map<DTSuperLayerId, std::vector<MonitorElement*> > DTResolutionAnalysisTask::histosPerSL
private

Definition at line 71 of file DTResolutionAnalysisTask.h.

◆ prescaleFactor

int DTResolutionAnalysisTask::prescaleFactor
private

Definition at line 57 of file DTResolutionAnalysisTask.h.

◆ recHits4DToken_

edm::EDGetTokenT<DTRecSegment4DCollection> DTResolutionAnalysisTask::recHits4DToken_
private

Definition at line 64 of file DTResolutionAnalysisTask.h.

◆ resetCycle

int DTResolutionAnalysisTask::resetCycle
private

Definition at line 58 of file DTResolutionAnalysisTask.h.

◆ thePhiHitsCut

u_int32_t DTResolutionAnalysisTask::thePhiHitsCut
private

Definition at line 60 of file DTResolutionAnalysisTask.h.

◆ theZHitsCut

u_int32_t DTResolutionAnalysisTask::theZHitsCut
private

Definition at line 61 of file DTResolutionAnalysisTask.h.

◆ topHistoFolder

std::string DTResolutionAnalysisTask::topHistoFolder
private

Definition at line 74 of file DTResolutionAnalysisTask.h.

DTSLRecSegment2D
Definition: DTSLRecSegment2D.h:15
DTSuperLayerId
Definition: DTSuperLayerId.h:12
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
DTWireId::wire
int wire() const
Return the wire number.
Definition: DTWireId.h:42
filterCSVwithJSON.copy
copy
Definition: filterCSVwithJSON.py:36
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
relativeConstraints.station
station
Definition: relativeConstraints.py:67
DTChamber
Definition: DTChamber.h:24
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
DTSuperLayerId::superlayer
int superlayer() const
Return the superlayer number (deprecated method name)
Definition: DTSuperLayerId.h:42
edm::Handle< DTRecSegment4DCollection >
edm::RangeMap::id_iterator
identifier iterator
Definition: RangeMap.h:130
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
DTGeometry::chamber
const DTChamber * chamber(const DTChamberId &id) const
Return a DTChamber given its id.
Definition: DTGeometry.cc:90
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
DTResolutionAnalysisTask::theZHitsCut
u_int32_t theZHitsCut
Definition: DTResolutionAnalysisTask.h:61
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
DTWireId
Definition: DTWireId.h:12
DTGeometry::chambers
const std::vector< const DTChamber * > & chambers() const
Return a vector of all Chamber.
Definition: DTGeometry.cc:84
DTResolutionAnalysisTask::histosPerSL
std::map< DTSuperLayerId, std::vector< MonitorElement * > > histosPerSL
Definition: DTResolutionAnalysisTask.h:71
Point3DBase< float, LocalTag >
phase1PixelTopology::layer
constexpr std::array< uint8_t, layerIndexSize > layer
Definition: phase1PixelTopology.h:99
DTResolutionAnalysisTask::recHits4DToken_
edm::EDGetTokenT< DTRecSegment4DCollection > recHits4DToken_
Definition: DTResolutionAnalysisTask.h:64
DTResolutionAnalysisTask::prescaleFactor
int prescaleFactor
Definition: DTResolutionAnalysisTask.h:57
edm::RangeMap::const_iterator
C::const_iterator const_iterator
constant access iterator type
Definition: RangeMap.h:43
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
DTChamberRecSegment2D
Definition: DTChamberRecSegment2D.h:31
chambers
static char chambers[264][20]
Definition: ReadPGInfo.cc:243
get
#define get
DTLayer
Definition: DTLayer.h:25
DTResolutionAnalysisTask::dtGeom
edm::ESHandle< DTGeometry > dtGeom
Definition: DTResolutionAnalysisTask.h:55
combine.histos
histos
Definition: combine.py:4
DTChamberId::sector
int sector() const
Definition: DTChamberId.h:49
edm::RangeMap::range
std::pair< const_iterator, const_iterator > range
iterator range
Definition: RangeMap.h:50
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
DTLayerId::superlayerId
DTSuperLayerId superlayerId() const
Return the corresponding SuperLayerId.
Definition: DTLayerId.h:45
DTRecSegment2D::specificRecHits
std::vector< DTRecHit1D > specificRecHits() const
Access to specific components.
Definition: DTRecSegment2D.cc:104
relativeConstraints.chamber
chamber
Definition: relativeConstraints.py:53
DTResolutionAnalysisTask::thePhiHitsCut
u_int32_t thePhiHitsCut
Definition: DTResolutionAnalysisTask.h:60
DTWireId::layerId
DTLayerId layerId() const
Return the corresponding LayerId.
Definition: DTWireId.h:45
DTResolutionAnalysisTask::bookHistos
void bookHistos(DQMStore::IBooker &ibooker, DTSuperLayerId slId)
Definition: DTResolutionAnalysisTask.cc:205
DTChamberId
Definition: DTChamberId.h:14
DTResolutionAnalysisTask::fillHistos
void fillHistos(DTSuperLayerId slId, float distExtr, float residual)
Definition: DTResolutionAnalysisTask.cc:231
DTResolutionAnalysisTask::topHistoFolder
std::string topHistoFolder
Definition: DTResolutionAnalysisTask.h:74
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
MuonGeometryRecord
Definition: MuonGeometryRecord.h:34
DTResolutionAnalysisTask::resetCycle
int resetCycle
Definition: DTResolutionAnalysisTask.h:58
DTChamberId::wheel
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:39
edm::InputTag
Definition: InputTag.h:15
DTChamberId::station
int station() const
Return the station number.
Definition: DTChamberId.h:42
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98