CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
DTGeometryValidate Class Reference
Inheritance diagram for DTGeometryValidate:
edm::one::EDAnalyzer<> edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 DTGeometryValidate (const ParameterSet &)
 
 ~DTGeometryValidate () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () 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 analyze (const edm::Event &, const edm::EventSetup &) override
 
void beginJob () override
 
void clearData ()
 
void compareShape (const GeomDet *, const float *)
 
void compareTransform (const GlobalPoint &, const TGeoMatrix *)
 
void endJob () override
 
float getDiff (const float, const float)
 
float getDistance (const GlobalPoint &, const GlobalPoint &)
 
void makeHistogram (const string &, vector< float > &)
 
void makeHistograms (const char *)
 
void validateDTChamberGeometry ()
 
void validateDTLayerGeometry ()
 

Private Attributes

vector< float > bottomWidths_
 
edm::ESHandle< DTGeometrydtGeometry_
 
edm::ESGetToken< DTGeometry, MuonGeometryRecorddtGeometryToken_
 
FWGeometry fwGeometry_
 
vector< float > globalDistances_
 
string infileName_
 
vector< float > lengths_
 
TFile * outFile_
 
string outfileName_
 
vector< float > thicknesses_
 
int tolerance_
 
vector< float > topWidths_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- 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)
 

Detailed Description

Definition at line 39 of file DTGeometryValidate.cc.

Constructor & Destructor Documentation

◆ DTGeometryValidate()

DTGeometryValidate::DTGeometryValidate ( const ParameterSet iConfig)
explicit

Definition at line 83 of file DTGeometryValidate.cc.

84  : dtGeometryToken_{esConsumes<DTGeometry, MuonGeometryRecord>(edm::ESInputTag{})},
86  iConfig.getUntrackedParameter<string>("infileName", "Geometry/DTGeometryBuilder/data/cmsRecoGeom-2021.root")),
87  outfileName_(iConfig.getUntrackedParameter<string>("outfileName", "validateDTGeometry.root")),
88  tolerance_(iConfig.getUntrackedParameter<int>("tolerance", 6)) {
90  fwGeometry_.loadMap(fp.fullPath().c_str());
91  outFile_ = TFile::Open(outfileName_.c_str(), "RECREATE");
92 }

◆ ~DTGeometryValidate()

DTGeometryValidate::~DTGeometryValidate ( )
inlineoverride

Definition at line 42 of file DTGeometryValidate.cc.

42 {}

Member Function Documentation

◆ analyze()

void DTGeometryValidate::analyze ( const edm::Event event,
const edm::EventSetup eventSetup 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 94 of file DTGeometryValidate.cc.

94  {
96 
97  if (dtGeometry_.isValid()) {
98  LogVerbatim("DTGeometry") << "Validating DT chamber geometry";
100  LogVerbatim("DTGeometry") << "Validating DT layer geometry";
102  } else
103  LogVerbatim("DTGeometry") << "Invalid DT geometry";
104 }

References dtGeometry_, dtGeometryToken_, edm::EventSetup::getHandle(), edm::ESHandleBase::isValid(), validateDTChamberGeometry(), and validateDTLayerGeometry().

◆ beginJob()

void DTGeometryValidate::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 304 of file DTGeometryValidate.cc.

304 { outFile_->cd(); }

References outFile_.

◆ clearData()

void DTGeometryValidate::clearData ( )
inlineprivate

Definition at line 61 of file DTGeometryValidate.cc.

61  {
62  globalDistances_.clear();
63  topWidths_.clear();
64  bottomWidths_.clear();
65  lengths_.clear();
66  thicknesses_.clear();
67  }

Referenced by validateDTChamberGeometry(), and validateDTLayerGeometry().

◆ compareShape()

void DTGeometryValidate::compareShape ( const GeomDet det,
const float *  shape 
)
private

Definition at line 206 of file DTGeometryValidate.cc.

206  {
207  float shapeTopWidth;
208  float shapeBottomWidth;
209  float shapeLength;
210  float shapeThickness;
211 
212  if (shape[0] == 1) {
213  shapeTopWidth = shape[2];
214  shapeBottomWidth = shape[1];
215  shapeLength = shape[4];
216  shapeThickness = shape[3];
217  } else if (shape[0] == 2) {
218  shapeTopWidth = shape[1];
219  shapeBottomWidth = shape[1];
220  shapeLength = shape[2];
221  shapeThickness = shape[3];
222  } else {
223  LogVerbatim("DTGeometry") << "Failed to get box or trapezoid from shape";
224  return;
225  }
226 
227  float topWidth, bottomWidth;
228  float length, thickness;
229 
230  const Bounds* bounds = &(det->surface().bounds());
231 
232  if (const TrapezoidalPlaneBounds* tpbs = dynamic_cast<const TrapezoidalPlaneBounds*>(bounds)) {
233  array<const float, 4> const& ps = tpbs->parameters();
234 
235  assert(ps.size() == 4);
236 
237  bottomWidth = ps[0];
238  topWidth = ps[1];
239  thickness = ps[2];
240  length = ps[3];
241  } else if ((dynamic_cast<const RectangularPlaneBounds*>(bounds))) {
242  length = det->surface().bounds().length() * 0.5;
243  topWidth = det->surface().bounds().width() * 0.5;
244  bottomWidth = topWidth;
245  thickness = det->surface().bounds().thickness() * 0.5;
246  } else {
247  LogVerbatim("DTGeometry") << "Failed to get bounds";
248  return;
249  }
250  topWidths_.push_back(fabs(shapeTopWidth - topWidth));
251  bottomWidths_.push_back(fabs(shapeBottomWidth - bottomWidth));
252  lengths_.push_back(fabs(shapeLength - length));
253  thicknesses_.push_back(fabs(shapeThickness - thickness));
254 }

References cms::cuda::assert(), bottomWidths_, Surface::bounds(), Bounds::length(), lengths_, GeomDet::surface(), Bounds::thickness(), Calorimetry_cff::thickness, thicknesses_, topWidths_, and Bounds::width().

Referenced by validateDTChamberGeometry(), and validateDTLayerGeometry().

◆ compareTransform()

void DTGeometryValidate::compareTransform ( const GlobalPoint gp,
const TGeoMatrix *  matrix 
)
private

Definition at line 196 of file DTGeometryValidate.cc.

196  {
197  double local[3] = {0.0, 0.0, 0.0};
198  double global[3];
199 
200  matrix->LocalToMaster(local, global);
201 
202  float distance = getDistance(GlobalPoint(global[0], global[1], global[2]), gp);
203  globalDistances_.push_back(distance);
204 }

References HLT_FULL_cff::distance, getDistance(), globalDistances_, runTauDisplay::gp, DTRecHitClients_cfi::local, and makeMuonMisalignmentScenario::matrix.

Referenced by validateDTChamberGeometry(), and validateDTLayerGeometry().

◆ endJob()

void DTGeometryValidate::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 306 of file DTGeometryValidate.cc.

306  {
307  LogVerbatim("DTGeometry") << "Done.";
308  LogVerbatim("DTGeometry") << "Results written to " << outfileName_;
309  outFile_->Close();
310 }

References outFile_, and outfileName_.

◆ getDiff()

float DTGeometryValidate::getDiff ( const float  val1,
const float  val2 
)
private

Definition at line 261 of file DTGeometryValidate.cc.

261  {
262  if (almost_equal(val1, val2, tolerance_))
263  return 0.0f;
264  else
265  return (val1 - val2);
266 }

References almost_equal(), and tolerance_.

Referenced by validateDTLayerGeometry().

◆ getDistance()

float DTGeometryValidate::getDistance ( const GlobalPoint p1,
const GlobalPoint p2 
)
private

Definition at line 256 of file DTGeometryValidate.cc.

256  {
257  return sqrt((p1.x() - p2.x()) * (p1.x() - p2.x()) + (p1.y() - p2.y()) * (p1.y() - p2.y()) +
258  (p1.z() - p2.z()) * (p1.z() - p2.z()));
259 }

References p1, p2, and mathSSE::sqrt().

Referenced by compareTransform().

◆ makeHistogram()

void DTGeometryValidate::makeHistogram ( const string &  name,
vector< float > &  data 
)
private

Definition at line 289 of file DTGeometryValidate.cc.

289  {
290  if (data.empty())
291  return;
292 
293  const auto [minE, maxE] = minmax_element(begin(data), end(data));
294 
295  TH1D hist(name.c_str(), name.c_str(), 100, *minE * (1 + 0.10), *maxE * (1 + 0.10));
296 
297  for (auto const& it : data)
298  hist.Fill(it);
299 
300  hist.GetXaxis()->SetTitle("[cm]");
301  hist.Write();
302 }

References data, mps_fire::end, gpuVertexFinder::hist, HLT_FULL_cff::maxE, and Skims_PA_cff::name.

Referenced by makeHistograms(), and validateDTLayerGeometry().

◆ makeHistograms()

void DTGeometryValidate::makeHistograms ( const char *  detector)
private

Definition at line 268 of file DTGeometryValidate.cc.

268  {
269  outFile_->cd();
270 
271  string d(detector);
272 
273  string gdn = d + ": distance between points in global coordinates";
275 
276  string twn = d + ": absolute difference between top widths (along X)";
278 
279  string bwn = d + ": absolute difference between bottom widths (along X)";
281 
282  string ln = d + ": absolute difference between lengths (along Y)";
283  makeHistogram(ln, lengths_);
284 
285  string tn = d + ": absolute difference between thicknesses (along Z)";
287 }

References bottomWidths_, ztail::d, hgcalTestNeighbor_cfi::detector, globalDistances_, lengths_, makeHistogram(), outFile_, thicknesses_, and topWidths_.

Referenced by validateDTChamberGeometry(), and validateDTLayerGeometry().

◆ validateDTChamberGeometry()

void DTGeometryValidate::validateDTChamberGeometry ( )
private

Definition at line 106 of file DTGeometryValidate.cc.

106  {
107  clearData();
108 
109  for (auto const& it : dtGeometry_->chambers()) {
110  DTChamberId chId = it->id();
111  GlobalPoint gp = it->surface().toGlobal(LocalPoint(0.0, 0.0, 0.0));
112 
113  const TGeoMatrix* matrix = fwGeometry_.getMatrix(chId.rawId());
114 
115  if (!matrix) {
116  LogVerbatim("DTGeometry") << "Failed to get matrix of DT chamber with detid: " << chId.rawId();
117  continue;
118  }
119 
121 
122  auto const& shape = fwGeometry_.getShapePars(chId.rawId());
123 
124  if (!shape) {
125  LogVerbatim("DTGeometry") << "Failed to get shape of DT chamber with detid: " << chId.rawId();
126  continue;
127  }
128 
129  compareShape(it, shape);
130  }
131 
132  makeHistograms("DT Chamber");
133 }

References DTGeometry::chambers(), clearData(), compareShape(), compareTransform(), dtGeometry_, fwGeometry_, FWGeometry::getMatrix(), FWGeometry::getShapePars(), runTauDisplay::gp, makeHistograms(), makeMuonMisalignmentScenario::matrix, and DetId::rawId().

Referenced by analyze().

◆ validateDTLayerGeometry()

void DTGeometryValidate::validateDTLayerGeometry ( )
private

Definition at line 135 of file DTGeometryValidate.cc.

135  {
136  clearData();
137 
138  vector<float> wire_positions;
139 
140  for (auto const& it : dtGeometry_->layers()) {
141  DTLayerId layerId = it->id();
142  GlobalPoint gp = it->surface().toGlobal(LocalPoint(0.0, 0.0, 0.0));
143 
144  const TGeoMatrix* matrix = fwGeometry_.getMatrix(layerId.rawId());
145 
146  if (!matrix) {
147  LogVerbatim("DTGeometry") << "Failed to get matrix of DT layer with detid: " << layerId.rawId();
148  continue;
149  }
150 
152 
153  auto const& shape = fwGeometry_.getShapePars(layerId.rawId());
154 
155  if (!shape) {
156  LogVerbatim("DTGeometry") << "Failed to get shape of DT layer with detid: " << layerId.rawId();
157  continue;
158  }
159 
160  compareShape(it, shape);
161 
162  auto const& parameters = fwGeometry_.getParameters(layerId.rawId());
163 
164  if (parameters == nullptr) {
165  LogVerbatim("DTGeometry") << "Parameters empty for DT layer with detid: " << layerId.rawId();
166  continue;
167  }
168 
169  float width = it->surface().bounds().width();
170  assert(width == parameters[6]);
171 
172  float thickness = it->surface().bounds().thickness();
173  assert(thickness == parameters[7]);
174 
175  float length = it->surface().bounds().length();
176  assert(length == parameters[8]);
177 
178  int firstChannel = it->specificTopology().firstChannel();
179  assert(firstChannel == parameters[3]);
180 
181  int lastChannel = it->specificTopology().lastChannel();
182  int nChannels = parameters[5];
183  assert(nChannels == (lastChannel - firstChannel) + 1);
184 
185  for (int wireN = firstChannel; wireN - lastChannel <= 0; ++wireN) {
186  float localX1 = it->specificTopology().wirePosition(wireN);
187  float localX2 = (wireN - (firstChannel - 1) - 0.5f) * parameters[0] - nChannels / 2.0f * parameters[0];
188  wire_positions.emplace_back(getDiff(localX1, localX2));
189  }
190  }
191 
192  makeHistogram("DT Layer Wire localX", wire_positions);
193  makeHistograms("DT Layer");
194 }

References cms::cuda::assert(), clearData(), compareShape(), compareTransform(), dtGeometry_, f, fwGeometry_, getDiff(), FWGeometry::getMatrix(), FWGeometry::getParameters(), FWGeometry::getShapePars(), runTauDisplay::gp, DTGeometry::layers(), makeHistogram(), makeHistograms(), makeMuonMisalignmentScenario::matrix, ecaldqm::nChannels, DetId::rawId(), Calorimetry_cff::thickness, and ApeEstimator_cff::width.

Referenced by analyze().

Member Data Documentation

◆ bottomWidths_

vector<float> DTGeometryValidate::bottomWidths_
private

Definition at line 75 of file DTGeometryValidate.cc.

Referenced by compareShape(), and makeHistograms().

◆ dtGeometry_

edm::ESHandle<DTGeometry> DTGeometryValidate::dtGeometry_
private

◆ dtGeometryToken_

edm::ESGetToken<DTGeometry, MuonGeometryRecord> DTGeometryValidate::dtGeometryToken_
private

Definition at line 69 of file DTGeometryValidate.cc.

Referenced by analyze().

◆ fwGeometry_

FWGeometry DTGeometryValidate::fwGeometry_
private

Definition at line 71 of file DTGeometryValidate.cc.

Referenced by validateDTChamberGeometry(), and validateDTLayerGeometry().

◆ globalDistances_

vector<float> DTGeometryValidate::globalDistances_
private

Definition at line 73 of file DTGeometryValidate.cc.

Referenced by compareTransform(), and makeHistograms().

◆ infileName_

string DTGeometryValidate::infileName_
private

Definition at line 78 of file DTGeometryValidate.cc.

◆ lengths_

vector<float> DTGeometryValidate::lengths_
private

Definition at line 76 of file DTGeometryValidate.cc.

Referenced by compareShape(), and makeHistograms().

◆ outFile_

TFile* DTGeometryValidate::outFile_
private

Definition at line 72 of file DTGeometryValidate.cc.

Referenced by beginJob(), endJob(), and makeHistograms().

◆ outfileName_

string DTGeometryValidate::outfileName_
private

Definition at line 79 of file DTGeometryValidate.cc.

Referenced by endJob().

◆ thicknesses_

vector<float> DTGeometryValidate::thicknesses_
private

Definition at line 77 of file DTGeometryValidate.cc.

Referenced by compareShape(), and makeHistograms().

◆ tolerance_

int DTGeometryValidate::tolerance_
private

Definition at line 80 of file DTGeometryValidate.cc.

Referenced by getDiff().

◆ topWidths_

vector<float> DTGeometryValidate::topWidths_
private

Definition at line 74 of file DTGeometryValidate.cc.

Referenced by compareShape(), and makeHistograms().

ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
HLT_FULL_cff.maxE
maxE
Definition: HLT_FULL_cff.py:13669
BeamSpotPI::parameters
parameters
Definition: BeamSpotPayloadInspectorHelper.h:30
edm::ESInputTag
Definition: ESInputTag.h:87
DTGeometryValidate::makeHistogram
void makeHistogram(const string &, vector< float > &)
Definition: DTGeometryValidate.cc:289
Bounds::width
virtual float width() const =0
DTGeometryValidate::validateDTChamberGeometry
void validateDTChamberGeometry()
Definition: DTGeometryValidate.cc:106
almost_equal
enable_if<!numeric_limits< T >::is_integer, bool >::type almost_equal(T x, T y, int ulp)
Definition: DTGeometryValidate.cc:29
makeMuonMisalignmentScenario.matrix
list matrix
Definition: makeMuonMisalignmentScenario.py:141
FWGeometry::loadMap
void loadMap(const char *fileName)
Definition: FWGeometry.cc:103
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
DTGeometryValidate::clearData
void clearData()
Definition: DTGeometryValidate.cc:61
ecaldqm::nChannels
Definition: EcalDQMCommonUtils.h:113
FWGeometry::getShapePars
const float * getShapePars(unsigned int id) const
Definition: FWGeometry.cc:489
Bounds
Definition: Bounds.h:18
cms::cuda::assert
assert(be >=bs)
personalPlayback.fp
fp
Definition: personalPlayback.py:523
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
align::LocalPoint
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:30
DTGeometryValidate::validateDTLayerGeometry
void validateDTLayerGeometry()
Definition: DTGeometryValidate.cc:135
DTGeometryValidate::dtGeometry_
edm::ESHandle< DTGeometry > dtGeometry_
Definition: DTGeometryValidate.cc:70
Bounds::length
virtual float length() const =0
edm::FileInPath
Definition: FileInPath.h:64
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
DTGeometryValidate::topWidths_
vector< float > topWidths_
Definition: DTGeometryValidate.cc:74
FWGeometry::getParameters
const float * getParameters(unsigned int id) const
Definition: FWGeometry.cc:478
FWGeometry::getMatrix
const TGeoMatrix * getMatrix(unsigned int id) const
Definition: FWGeometry.cc:225
DTGeometryValidate::getDiff
float getDiff(const float, const float)
Definition: DTGeometryValidate.cc:261
Calorimetry_cff.thickness
thickness
Definition: Calorimetry_cff.py:115
DTGeometry::layers
const std::vector< const DTLayer * > & layers() const
Return a vector of all SuperLayer.
Definition: DTGeometry.cc:88
DTGeometryValidate::makeHistograms
void makeHistograms(const char *)
Definition: DTGeometryValidate.cc:268
DTGeometryValidate::lengths_
vector< float > lengths_
Definition: DTGeometryValidate.cc:76
DTGeometry::chambers
const std::vector< const DTChamber * > & chambers() const
Return a vector of all Chamber.
Definition: DTGeometry.cc:84
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
Surface::bounds
const Bounds & bounds() const
Definition: Surface.h:87
mps_fire.end
end
Definition: mps_fire.py:242
p2
double p2[4]
Definition: TauolaWrapper.h:90
GlobalPoint
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
Point3DBase< float, GlobalTag >
DTLayerId
Definition: DTLayerId.h:12
runTauDisplay.gp
gp
Definition: runTauDisplay.py:431
DTGeometryValidate::infileName_
string infileName_
Definition: DTGeometryValidate.cc:78
DTGeometryValidate::compareShape
void compareShape(const GeomDet *, const float *)
Definition: DTGeometryValidate.cc:206
Bounds::thickness
virtual float thickness() const =0
DTGeometryValidate::tolerance_
int tolerance_
Definition: DTGeometryValidate.cc:80
DTGeometryValidate::dtGeometryToken_
edm::ESGetToken< DTGeometry, MuonGeometryRecord > dtGeometryToken_
Definition: DTGeometryValidate.cc:69
gpuVertexFinder::hist
__shared__ Hist hist
Definition: gpuClusterTracksDBSCAN.h:48
DTGeometryValidate::fwGeometry_
FWGeometry fwGeometry_
Definition: DTGeometryValidate.cc:71
DTGeometryValidate::globalDistances_
vector< float > globalDistances_
Definition: DTGeometryValidate.cc:73
DTGeometryValidate::compareTransform
void compareTransform(const GlobalPoint &, const TGeoMatrix *)
Definition: DTGeometryValidate.cc:196
DTGeometryValidate::bottomWidths_
vector< float > bottomWidths_
Definition: DTGeometryValidate.cc:75
edm::EventSetup::getHandle
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
Definition: EventSetup.h:155
p1
double p1[4]
Definition: TauolaWrapper.h:89
TrapezoidalPlaneBounds
Definition: TrapezoidalPlaneBounds.h:15
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
DTGeometryValidate::thicknesses_
vector< float > thicknesses_
Definition: DTGeometryValidate.cc:77
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
hgcalTestNeighbor_cfi.detector
detector
Definition: hgcalTestNeighbor_cfi.py:6
ztail.d
d
Definition: ztail.py:151
DTRecHitClients_cfi.local
local
Definition: DTRecHitClients_cfi.py:10
DTChamberId
Definition: DTChamberId.h:14
DTGeometryValidate::outfileName_
string outfileName_
Definition: DTGeometryValidate.cc:79
HLT_FULL_cff.distance
distance
Definition: HLT_FULL_cff.py:7733
DTGeometryValidate::getDistance
float getDistance(const GlobalPoint &, const GlobalPoint &)
Definition: DTGeometryValidate.cc:256
DTGeometryValidate::outFile_
TFile * outFile_
Definition: DTGeometryValidate.cc:72