CMS 3D CMS Logo

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

Public Member Functions

 CSCGeometryValidate (const ParameterSet &)
 
 ~CSCGeometryValidate () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () 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
 
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
 
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 clearData2 ()
 
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 makeHistograms2 (const char *)
 
void validateCSCChamberGeometry ()
 
void validateCSCLayerGeometry ()
 

Private Attributes

vector< float > angularWidth_
 
vector< float > bottomWidths_
 
vector< float > centreToIntersection_
 
edm::ESHandle< CSCGeometrycscGeometry_
 
FWGeometry fwGeometry_
 
vector< float > globalDistances_
 
string infileName_
 
vector< float > lengths_
 
TFile * outFile_
 
string outfileName_
 
vector< float > phiOfOneEdge_
 
vector< float > sOffset_
 
vector< float > thicknesses_
 
int tolerance_
 
vector< float > topWidths_
 
vector< float > wireAngle_
 
vector< float > wireSpacing_
 
vector< float > yAxisOrientation_
 
vector< float > yCentreOfStripPlane_
 

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>
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)
 
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 53 of file CSCGeometryValidate.cc.

Constructor & Destructor Documentation

◆ CSCGeometryValidate()

CSCGeometryValidate::CSCGeometryValidate ( const ParameterSet iConfig)
explicit

Definition at line 120 of file CSCGeometryValidate.cc.

121  : infileName_(iConfig.getUntrackedParameter<string>("infileName", "cmsGeom10.root")),
122  outfileName_(iConfig.getUntrackedParameter<string>("outfileName", "validateCSCGeometry.root")),
123  tolerance_(iConfig.getUntrackedParameter<int>("tolerance", 6)) {
125  outFile_ = TFile::Open(outfileName_.c_str(), "RECREATE");
126 }

References fwGeometry_, infileName_, FWGeometry::loadMap(), outFile_, and outfileName_.

◆ ~CSCGeometryValidate()

CSCGeometryValidate::~CSCGeometryValidate ( )
inlineoverride

Definition at line 56 of file CSCGeometryValidate.cc.

56 {}

Member Function Documentation

◆ analyze()

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

Implements edm::one::EDAnalyzerBase.

Definition at line 128 of file CSCGeometryValidate.cc.

128  {
130  if (cscGeometry_.isValid()) {
131  LogVerbatim("CSCGeometry") << "Validating CSC chamber geometry";
134  } else
135  LogVerbatim("CSCGeometry") << "Invalid CSC geometry";
136 }

References cscGeometry_, options_cfi::eventSetup, get, edm::ESHandleBase::isValid(), validateCSCChamberGeometry(), and validateCSCLayerGeometry().

◆ beginJob()

void CSCGeometryValidate::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 350 of file CSCGeometryValidate.cc.

350 { outFile_->cd(); }

References outFile_.

◆ clearData()

void CSCGeometryValidate::clearData ( )
inlineprivate

Definition at line 76 of file CSCGeometryValidate.cc.

76  {
77  globalDistances_.clear();
78  topWidths_.clear();
79  bottomWidths_.clear();
80  lengths_.clear();
81  thicknesses_.clear();
82  }

Referenced by validateCSCChamberGeometry().

◆ clearData2()

void CSCGeometryValidate::clearData2 ( )
inlineprivate

Definition at line 84 of file CSCGeometryValidate.cc.

84  {
85  yAxisOrientation_.clear();
86  sOffset_.clear();
87  yCentreOfStripPlane_.clear();
88  angularWidth_.clear();
89  centreToIntersection_.clear();
90  phiOfOneEdge_.clear();
91  wireSpacing_.clear();
92  wireAngle_.clear();
93  }

Referenced by validateCSCLayerGeometry().

◆ compareShape()

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

Definition at line 221 of file CSCGeometryValidate.cc.

221  {
222  float shapeTopWidth;
223  float shapeBottomWidth;
224  float shapeLength;
225  float shapeThickness;
226 
227  if (shape[0] == 1) {
228  shapeTopWidth = shape[2];
229  shapeBottomWidth = shape[1];
230  shapeLength = shape[4];
231  shapeThickness = shape[3];
232  } else if (shape[0] == 2) {
233  shapeTopWidth = shape[1];
234  shapeBottomWidth = shape[1];
235  shapeLength = shape[2];
236  shapeThickness = shape[3];
237  } else {
238  LogVerbatim("CSCGeometry") << "Failed to get box or trapezoid from shape";
239 
240  return;
241  }
242 
243  float topWidth, bottomWidth;
244  float length, thickness;
245 
246  const Bounds* bounds = &(det->surface().bounds());
247  if (const TrapezoidalPlaneBounds* tpbs = dynamic_cast<const TrapezoidalPlaneBounds*>(bounds)) {
248  array<const float, 4> const& ps = tpbs->parameters();
249 
250  assert(ps.size() == 4);
251 
252  bottomWidth = ps[0];
253  topWidth = ps[1];
254  thickness = ps[2];
255  length = ps[3];
256  } else if ((dynamic_cast<const RectangularPlaneBounds*>(bounds))) {
257  length = det->surface().bounds().length() * 0.5;
258  topWidth = det->surface().bounds().width() * 0.5;
259  bottomWidth = topWidth;
260  thickness = det->surface().bounds().thickness() * 0.5;
261  } else {
262  LogVerbatim("CSCGeometry") << "Failed to get bounds";
263 
264  return;
265  }
266  topWidths_.push_back(fabs(shapeTopWidth - topWidth));
267  bottomWidths_.push_back(fabs(shapeBottomWidth - bottomWidth));
268  lengths_.push_back(fabs(shapeLength - length));
269  thicknesses_.push_back(fabs(shapeThickness - thickness));
270 }

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

Referenced by validateCSCChamberGeometry().

◆ compareTransform()

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

Definition at line 209 of file CSCGeometryValidate.cc.

209  {
210  double local[3] = {0.0, 0.0, 0.0};
211  double global[3];
212 
213  matrix->LocalToMaster(local, global);
214 
215  float distance = getDistance(GlobalPoint(global[0], global[1], global[2]), gp);
216  if ((distance >= 0.0) && (distance < 1.0e-7))
217  distance = 0.0; // set a tollerance for the distance inside Histos
218  globalDistances_.push_back(distance);
219 }

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

Referenced by validateCSCChamberGeometry().

◆ endJob()

void CSCGeometryValidate::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 352 of file CSCGeometryValidate.cc.

352  {
353  LogVerbatim("CSCGeometry") << "Done.";
354  LogVerbatim("CSCGeometry") << "Results written to " << outfileName_;
355  outFile_->Close();
356 }

References outFile_, and outfileName_.

◆ getDiff()

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

Definition at line 277 of file CSCGeometryValidate.cc.

277  {
278  if (almost_equal(val1, val2, tolerance_))
279  return 0.0f;
280  else
281  return (val1 - val2);
282 }

References almost_equal(), and tolerance_.

◆ getDistance()

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

Definition at line 272 of file CSCGeometryValidate.cc.

272  {
273  return sqrt((p1.x() - p2.x()) * (p1.x() - p2.x()) + (p1.y() - p2.y()) * (p1.y() - p2.y()) +
274  (p1.z() - p2.z()) * (p1.z() - p2.z()));
275 }

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

Referenced by compareTransform().

◆ makeHistogram()

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

Definition at line 335 of file CSCGeometryValidate.cc.

335  {
336  if (data.empty())
337  return;
338 
339  const auto [minE, maxE] = minmax_element(begin(data), end(data));
340 
341  TH1D hist(name.c_str(), name.c_str(), 100, *minE * (1 + 0.10), *maxE * (1 + 0.10));
342 
343  for (auto const& it : data)
344  hist.Fill(it);
345 
346  hist.GetXaxis()->SetTitle("[cm]");
347  hist.Write();
348 }

References begin, data, end, compare::hist, HLT_2018_cff::maxE, and Skims_PA_cff::name.

Referenced by makeHistograms(), and makeHistograms2().

◆ makeHistograms()

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

Definition at line 284 of file CSCGeometryValidate.cc.

284  {
285  outFile_->cd();
286 
287  string d(detector);
288 
289  string gdn = d + ": distance between points in global coordinates";
291 
292  string twn = d + ": absolute difference between top widths (along X)";
294 
295  string bwn = d + ": absolute difference between bottom widths (along X)";
297 
298  string ln = d + ": absolute difference between lengths (along Y)";
299  makeHistogram(ln, lengths_);
300 
301  string tn = d + ": absolute difference between thicknesses (along Z)";
303 }

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

Referenced by validateCSCChamberGeometry().

◆ makeHistograms2()

void CSCGeometryValidate::makeHistograms2 ( const char *  detector)
private

Definition at line 305 of file CSCGeometryValidate.cc.

305  {
306  outFile_->cd();
307 
308  string d(detector);
309 
310  string ns = d + ": absolute difference between Y Axis Orientation of the Strips";
312 
313  string pi = d + ": absolute difference between Strips Offset";
315 
316  string pl = d + ": absolute difference between 'Y centre' of the Strips Planes";
318 
319  string aw = d + ": absolute difference between 'angular width' of the Strips ";
321 
322  string ci = d + ": absolute difference between 'centre to intersection' of the Strips ";
324 
325  string po = d + ": absolute difference between 'phi of one edge' of the Strips ";
327 
328  string ws = d + ": absolute difference between 'wire spacing' of the Wires ";
330 
331  string wa = d + ": absolute difference between 'wire angle' of the Wires ";
333 }

References angularWidth_, centreToIntersection_, ztail::d, hgcalTestNeighbor_cfi::detector, makeHistogram(), outFile_, phiOfOneEdge_, pi, sOffset_, wireAngle_, wireSpacing_, yAxisOrientation_, and yCentreOfStripPlane_.

Referenced by validateCSCLayerGeometry().

◆ validateCSCChamberGeometry()

void CSCGeometryValidate::validateCSCChamberGeometry ( )
private

Definition at line 138 of file CSCGeometryValidate.cc.

138  {
139  clearData();
140 
141  for (auto const& it : cscGeometry_->chambers()) {
142  CSCDetId chId = it->id();
143  GlobalPoint gp = it->surface().toGlobal(LocalPoint(0.0, 0.0, 0.0));
144 
145  const TGeoMatrix* matrix = fwGeometry_.getMatrix(chId.rawId());
146 
147  if (!matrix) {
148  LogVerbatim("CSCGeometry") << "Failed to get matrix of CSC chamber with detid: " << chId.rawId();
149  continue;
150  }
152 
153  auto const& shape = fwGeometry_.getShapePars(chId.rawId());
154 
155  if (!shape) {
156  LogVerbatim("CSCGeometry") << "Failed to get shape of CSC chamber with detid: " << chId.rawId();
157  continue;
158  }
159  compareShape(it, shape);
160  }
161  makeHistograms("CSC Chamber");
162 }

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

Referenced by analyze().

◆ validateCSCLayerGeometry()

void CSCGeometryValidate::validateCSCLayerGeometry ( )
private

Definition at line 164 of file CSCGeometryValidate.cc.

164  {
165  clearData2();
166 
167  for (auto const& it : cscGeometry_->layers()) {
168  CSCDetId chId = it->id();
169  const CSCLayerGeometry* laygeo = it->geometry();
170  const int n_strips = laygeo->numberOfStrips();
171  const int n_wire = laygeo->numberOfWires();
172  const float strips_offset = laygeo->stripOffset();
173  const CSCStripTopology* stopo = laygeo->topology();
174  const float ycentre_of_strip_plane = stopo->yCentreOfStripPlane();
175  const float angular_width = stopo->angularWidth();
176  const float y_axis_orientation = stopo->yAxisOrientation();
177  const float centre_to_intersection = stopo->centreToIntersection();
178  const float phi_of_one_edge = stopo->phiOfOneEdge();
179  const float* parameters = fwGeometry_.getParameters(chId.rawId());
180  const CSCWireTopology* wiretopo = laygeo->wireTopology();
181  const double wire_spacing = wiretopo->wireSpacing();
182  const float wire_angle = wiretopo->wireAngle();
183 
184  if (n_strips) {
185  for (int istrips = 1; istrips <= n_strips; istrips++) {
186  yAxisOrientation_.push_back(fabs(y_axis_orientation - parameters[0]));
187  sOffset_.push_back(fabs(strips_offset - parameters[4]));
188  yCentreOfStripPlane_.push_back(fabs(ycentre_of_strip_plane - parameters[2]));
189  angularWidth_.push_back(fabs(angular_width - parameters[5]));
190  centreToIntersection_.push_back(fabs(centre_to_intersection - parameters[1]));
191  phiOfOneEdge_.push_back(fabs(phi_of_one_edge - parameters[3]));
192  }
193  } else {
194  LogVerbatim("CSCGeometry") << "ATTENTION! nStrips == 0";
195  }
196 
197  if (n_wire) {
198  for (int iwires = 1; iwires <= n_wire; iwires++) {
199  wireSpacing_.push_back(fabs(wire_spacing - parameters[6]));
200  wireAngle_.push_back(fabs(wire_angle - parameters[7]));
201  }
202  } else {
203  LogVerbatim("CSCGeometry") << "ATTENTION! nWires == 0";
204  }
205  }
206  makeHistograms2("CSC Layer");
207 }

References CSCRadialStripTopology::angularWidth(), angularWidth_, CSCRadialStripTopology::centreToIntersection(), centreToIntersection_, clearData2(), cscGeometry_, fwGeometry_, FWGeometry::getParameters(), CSCGeometry::layers(), makeHistograms2(), CSCLayerGeometry::numberOfStrips(), CSCLayerGeometry::numberOfWires(), CSCRadialStripTopology::phiOfOneEdge(), phiOfOneEdge_, DetId::rawId(), sOffset_, CSCLayerGeometry::stripOffset(), CSCLayerGeometry::topology(), CSCWireTopology::wireAngle(), wireAngle_, CSCWireTopology::wireSpacing(), wireSpacing_, CSCLayerGeometry::wireTopology(), CSCRadialStripTopology::yAxisOrientation(), yAxisOrientation_, CSCRadialStripTopology::yCentreOfStripPlane(), and yCentreOfStripPlane_.

Referenced by analyze().

Member Data Documentation

◆ angularWidth_

vector<float> CSCGeometryValidate::angularWidth_
private

Definition at line 108 of file CSCGeometryValidate.cc.

Referenced by makeHistograms2(), and validateCSCLayerGeometry().

◆ bottomWidths_

vector<float> CSCGeometryValidate::bottomWidths_
private

Definition at line 101 of file CSCGeometryValidate.cc.

Referenced by compareShape(), and makeHistograms().

◆ centreToIntersection_

vector<float> CSCGeometryValidate::centreToIntersection_
private

Definition at line 109 of file CSCGeometryValidate.cc.

Referenced by makeHistograms2(), and validateCSCLayerGeometry().

◆ cscGeometry_

edm::ESHandle<CSCGeometry> CSCGeometryValidate::cscGeometry_
private

◆ fwGeometry_

FWGeometry CSCGeometryValidate::fwGeometry_
private

◆ globalDistances_

vector<float> CSCGeometryValidate::globalDistances_
private

Definition at line 99 of file CSCGeometryValidate.cc.

Referenced by compareTransform(), and makeHistograms().

◆ infileName_

string CSCGeometryValidate::infileName_
private

Definition at line 115 of file CSCGeometryValidate.cc.

Referenced by CSCGeometryValidate().

◆ lengths_

vector<float> CSCGeometryValidate::lengths_
private

Definition at line 102 of file CSCGeometryValidate.cc.

Referenced by compareShape(), and makeHistograms().

◆ outFile_

TFile* CSCGeometryValidate::outFile_
private

◆ outfileName_

string CSCGeometryValidate::outfileName_
private

Definition at line 116 of file CSCGeometryValidate.cc.

Referenced by CSCGeometryValidate(), and endJob().

◆ phiOfOneEdge_

vector<float> CSCGeometryValidate::phiOfOneEdge_
private

Definition at line 110 of file CSCGeometryValidate.cc.

Referenced by makeHistograms2(), and validateCSCLayerGeometry().

◆ sOffset_

vector<float> CSCGeometryValidate::sOffset_
private

Definition at line 106 of file CSCGeometryValidate.cc.

Referenced by makeHistograms2(), and validateCSCLayerGeometry().

◆ thicknesses_

vector<float> CSCGeometryValidate::thicknesses_
private

Definition at line 103 of file CSCGeometryValidate.cc.

Referenced by compareShape(), and makeHistograms().

◆ tolerance_

int CSCGeometryValidate::tolerance_
private

Definition at line 117 of file CSCGeometryValidate.cc.

Referenced by getDiff().

◆ topWidths_

vector<float> CSCGeometryValidate::topWidths_
private

Definition at line 100 of file CSCGeometryValidate.cc.

Referenced by compareShape(), and makeHistograms().

◆ wireAngle_

vector<float> CSCGeometryValidate::wireAngle_
private

Definition at line 113 of file CSCGeometryValidate.cc.

Referenced by makeHistograms2(), and validateCSCLayerGeometry().

◆ wireSpacing_

vector<float> CSCGeometryValidate::wireSpacing_
private

Definition at line 112 of file CSCGeometryValidate.cc.

Referenced by makeHistograms2(), and validateCSCLayerGeometry().

◆ yAxisOrientation_

vector<float> CSCGeometryValidate::yAxisOrientation_
private

Definition at line 105 of file CSCGeometryValidate.cc.

Referenced by makeHistograms2(), and validateCSCLayerGeometry().

◆ yCentreOfStripPlane_

vector<float> CSCGeometryValidate::yCentreOfStripPlane_
private

Definition at line 107 of file CSCGeometryValidate.cc.

Referenced by makeHistograms2(), and validateCSCLayerGeometry().

CSCGeometryValidate::yAxisOrientation_
vector< float > yAxisOrientation_
Definition: CSCGeometryValidate.cc:105
CSCGeometryValidate::wireSpacing_
vector< float > wireSpacing_
Definition: CSCGeometryValidate.cc:112
CSCGeometryValidate::phiOfOneEdge_
vector< float > phiOfOneEdge_
Definition: CSCGeometryValidate.cc:110
CSCGeometryValidate::globalDistances_
vector< float > globalDistances_
Definition: CSCGeometryValidate.cc:99
Bounds::width
virtual float width() const =0
makeMuonMisalignmentScenario.matrix
list matrix
Definition: makeMuonMisalignmentScenario.py:141
CSCWireTopology::wireAngle
float wireAngle() const override
Definition: CSCWireTopology.h:70
FWGeometry::loadMap
void loadMap(const char *fileName)
Definition: FWGeometry.cc:100
CSCLayerGeometry::numberOfWires
int numberOfWires() const
Definition: CSCLayerGeometry.h:71
CSCGeometryValidate::infileName_
string infileName_
Definition: CSCGeometryValidate.cc:115
CSCRadialStripTopology::angularWidth
float angularWidth() const override
Definition: CSCRadialStripTopology.h:159
FWGeometry::getShapePars
const float * getShapePars(unsigned int id) const
Definition: FWGeometry.cc:486
CSCGeometryValidate::validateCSCLayerGeometry
void validateCSCLayerGeometry()
Definition: CSCGeometryValidate.cc:164
Bounds
Definition: Bounds.h:18
cms::cuda::assert
assert(be >=bs)
HLT_2018_cff.distance
distance
Definition: HLT_2018_cff.py:6417
CSCGeometryValidate::makeHistograms2
void makeHistograms2(const char *)
Definition: CSCGeometryValidate.cc:305
CSCGeometryValidate::compareTransform
void compareTransform(const GlobalPoint &, const TGeoMatrix *)
Definition: CSCGeometryValidate.cc:209
CSCGeometryValidate::bottomWidths_
vector< float > bottomWidths_
Definition: CSCGeometryValidate.cc:101
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
align::LocalPoint
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:30
CSCGeometryValidate::fwGeometry_
FWGeometry fwGeometry_
Definition: CSCGeometryValidate.cc:96
CSCGeometryValidate::outfileName_
string outfileName_
Definition: CSCGeometryValidate.cc:116
CSCGeometryValidate::thicknesses_
vector< float > thicknesses_
Definition: CSCGeometryValidate.cc:103
CSCRadialStripTopology::centreToIntersection
float centreToIntersection() const override
Definition: CSCRadialStripTopology.h:181
end
#define end
Definition: vmac.h:39
CSCGeometryValidate::outFile_
TFile * outFile_
Definition: CSCGeometryValidate.cc:97
Bounds::length
virtual float length() const =0
parameters
parameters
Definition: BeamSpot_PayloadInspector.cc:14
CSCRadialStripTopology::yCentreOfStripPlane
float yCentreOfStripPlane() const override
Definition: CSCRadialStripTopology.h:223
CSCGeometryValidate::compareShape
void compareShape(const GeomDet *, const float *)
Definition: CSCGeometryValidate.cc:221
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
FWGeometry::getParameters
const float * getParameters(unsigned int id) const
Definition: FWGeometry.cc:475
CSCGeometryValidate::lengths_
vector< float > lengths_
Definition: CSCGeometryValidate.cc:102
CSCGeometryValidate::centreToIntersection_
vector< float > centreToIntersection_
Definition: CSCGeometryValidate.cc:109
FWGeometry::getMatrix
const TGeoMatrix * getMatrix(unsigned int id) const
Definition: FWGeometry.cc:222
compare.hist
hist
Definition: compare.py:376
CSCGeometryValidate::topWidths_
vector< float > topWidths_
Definition: CSCGeometryValidate.cc:100
Calorimetry_cff.thickness
thickness
Definition: Calorimetry_cff.py:114
CSCLayerGeometry
Definition: CSCLayerGeometry.h:25
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
CSCGeometryValidate::tolerance_
int tolerance_
Definition: CSCGeometryValidate.cc:117
Surface::bounds
const Bounds & bounds() const
Definition: Surface.h:87
CSCLayerGeometry::topology
const CSCStripTopology * topology() const
Definition: CSCLayerGeometry.h:272
CSCGeometryValidate::clearData2
void clearData2()
Definition: CSCGeometryValidate.cc:84
p2
double p2[4]
Definition: TauolaWrapper.h:90
CSCGeometryValidate::yCentreOfStripPlane_
vector< float > yCentreOfStripPlane_
Definition: CSCGeometryValidate.cc:107
GlobalPoint
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
Point3DBase< float, GlobalTag >
runTauDisplay.gp
gp
Definition: runTauDisplay.py:431
Bounds::thickness
virtual float thickness() const =0
almost_equal
enable_if<!numeric_limits< T >::is_integer, bool >::type almost_equal(T x, T y, int ulp)
Definition: CSCGeometryValidate.cc:43
CSCGeometryValidate::angularWidth_
vector< float > angularWidth_
Definition: CSCGeometryValidate.cc:108
CSCDetId
Definition: CSCDetId.h:26
CSCGeometryValidate::clearData
void clearData()
Definition: CSCGeometryValidate.cc:76
CSCRadialStripTopology::yAxisOrientation
float yAxisOrientation() const override
Definition: CSCRadialStripTopology.h:218
edm::LogVerbatim
Definition: MessageLogger.h:297
p1
double p1[4]
Definition: TauolaWrapper.h:89
CSCGeometryValidate::makeHistograms
void makeHistograms(const char *)
Definition: CSCGeometryValidate.cc:284
HLT_2018_cff.maxE
maxE
Definition: HLT_2018_cff.py:12256
TrapezoidalPlaneBounds
Definition: TrapezoidalPlaneBounds.h:15
get
#define get
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
CSCGeometryValidate::getDistance
float getDistance(const GlobalPoint &, const GlobalPoint &)
Definition: CSCGeometryValidate.cc:272
CSCGeometryValidate::validateCSCChamberGeometry
void validateCSCChamberGeometry()
Definition: CSCGeometryValidate.cc:138
CSCGeometryValidate::sOffset_
vector< float > sOffset_
Definition: CSCGeometryValidate.cc:106
CSCStripTopology
Definition: CSCStripTopology.h:28
CSCGeometryValidate::makeHistogram
void makeHistogram(const string &, vector< float > &)
Definition: CSCGeometryValidate.cc:335
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
CSCLayerGeometry::wireTopology
const CSCWireTopology * wireTopology() const
Definition: CSCLayerGeometry.h:282
CSCLayerGeometry::stripOffset
float stripOffset(void) const
Definition: CSCLayerGeometry.h:118
CSCWireTopology
Definition: CSCWireTopology.h:18
options_cfi.eventSetup
eventSetup
Definition: options_cfi.py:12
CSCGeometry::layers
const LayerContainer & layers() const
Return a vector of all layers.
Definition: CSCGeometry.cc:98
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
CSCRadialStripTopology::phiOfOneEdge
float phiOfOneEdge() const override
Definition: CSCRadialStripTopology.h:202
CSCGeometry::chambers
const ChamberContainer & chambers() const
Return a vector of all chambers.
Definition: CSCGeometry.cc:96
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
CSCGeometryValidate::wireAngle_
vector< float > wireAngle_
Definition: CSCGeometryValidate.cc:113
pi
const Double_t pi
Definition: trackSplitPlot.h:36
DTRecHitClients_cfi.local
local
Definition: DTRecHitClients_cfi.py:10
CSCGeometryValidate::cscGeometry_
edm::ESHandle< CSCGeometry > cscGeometry_
Definition: CSCGeometryValidate.cc:95
CSCLayerGeometry::numberOfStrips
int numberOfStrips() const
Definition: CSCLayerGeometry.h:66
MuonGeometryRecord
Definition: MuonGeometryRecord.h:34
CSCWireTopology::wireSpacing
double wireSpacing() const
Definition: CSCWireTopology.h:59
begin
#define begin
Definition: vmac.h:32
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37