CMS 3D CMS Logo

CreateTrackerAlignmentRcds.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Alignment/TrackerAlignment
4 // Class: CreateIdealTkAlRecords
5 //
22 //
23 // Original Author: Gregor Mittag
24 // Created: Tue, 26 Apr 2016 09:45:13 GMT
25 //
26 //
27 
28 // system include files
29 #include <memory>
30 #include <iostream>
31 
32 // user include files
41 
43 
54 
56 
62 
63 #include "CLHEP/Vector/RotationInterfaces.h"
64 
65 //
66 // class declaration
67 //
68 
70 public:
72  ~CreateIdealTkAlRecords() override;
73 
74  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
77  static std::vector<GeomDetEnumerators::SubDetector> toSubDetectors(const std::vector<std::string>& subs);
78 
79 private:
80  void analyze(const edm::Event&, const edm::EventSetup&) override;
81  void clearAlignmentInfos();
82  std::unique_ptr<TrackerGeometry> retrieveGeometry(const edm::EventSetup&);
83  void addAlignmentInfo(const GeomDet&);
84  void alignToGT(const edm::EventSetup&);
85  void writeToDB();
86 
87  // ----------member data ---------------------------
88 
95  const std::vector<GeomDetEnumerators::SubDetector> skipSubDetectors_;
96  const bool alignToGlobalTag_;
97  const bool createReferenceRcd_;
102  std::vector<uint32_t> rawIDs_;
103  std::vector<GeomDetEnumerators::SubDetector> subDets_;
104 };
105 
106 //
107 // constructors and destructor
108 //
110  : geomDetToken_(esConsumes()),
111  ptpToken_(esConsumes()),
112  topoToken_(esConsumes()),
113  aliToken_(esConsumes()),
114  aliErrorToken_(esConsumes()),
115  aliSurfaceToken_(esConsumes()),
116  skipSubDetectors_(toSubDetectors(iConfig.getUntrackedParameter<std::vector<std::string> >("skipSubDetectors"))),
117  alignToGlobalTag_(iConfig.getUntrackedParameter<bool>("alignToGlobalTag")),
118  createReferenceRcd_(iConfig.getUntrackedParameter<bool>("createReferenceRcd")),
119  firstEvent_(true) {}
120 
122 
123 //
124 // member functions
125 //
126 
127 // ------------ method called for each event ------------
129  if (firstEvent_) {
131  const auto tracker = retrieveGeometry(iSetup);
132 
133  auto dets = tracker->dets();
134  std::sort(dets.begin(), dets.end(), [](const auto& a, const auto& b) {
135  return a->geographicalId().rawId() < b->geographicalId().rawId();
136  });
137 
138  for (const auto& det : dets)
139  addAlignmentInfo(*det);
141  alignToGT(iSetup);
142  writeToDB();
143  firstEvent_ = false;
144  }
145 }
146 
148  switch (sub) {
150  return "PixelBarrel";
152  return "PixelEndcap";
154  return "TIB";
156  return "TOB";
158  return "TID";
160  return "TEC";
162  return "CSC";
164  return "DT";
166  return "RPCBarrel";
168  return "RPCEndcap";
170  return "GEM";
172  return "ME0";
174  return "P2OTB";
176  return "P2OTEC";
178  return "P1PXB";
180  return "P1PXEC";
182  return "P2PXB";
184  return "P2PXEC";
186  return "invalidDet";
187  default:
188  throw cms::Exception("UnknownSubdetector");
189  }
190 }
191 
193  if (sub == "PixelBarrel")
195  else if (sub == "PixelEndcap")
197  else if (sub == "TIB")
199  else if (sub == "TOB")
201  else if (sub == "TID")
203  else if (sub == "TEC")
205  else if (sub == "CSC")
207  else if (sub == "DT")
208  return GeomDetEnumerators::DT;
209  else if (sub == "RPCBarrel")
211  else if (sub == "RPCEndcap")
213  else if (sub == "GEM")
215  else if (sub == "ME0")
217  else if (sub == "P2OTB")
219  else if (sub == "P2OTEC")
221  else if (sub == "P1PXB")
223  else if (sub == "P1PXEC")
225  else if (sub == "P2PXB")
227  else if (sub == "P2PXEC")
229  else if (sub == "invalidDet")
231  else
232  throw cms::Exception("UnknownSubdetector") << sub;
233 }
234 
235 std::vector<GeomDetEnumerators::SubDetector> CreateIdealTkAlRecords::toSubDetectors(
236  const std::vector<std::string>& subs) {
237  std::vector<GeomDetEnumerators::SubDetector> result;
238  result.reserve(subs.size());
239  for (const auto& sub : subs)
240  result.emplace_back(toSubDetector(sub));
241  return result;
242 }
243 
245  alignments_.clear();
248  rawIDs_.clear();
249 }
250 
251 std::unique_ptr<TrackerGeometry> CreateIdealTkAlRecords::retrieveGeometry(const edm::EventSetup& iSetup) {
252  const GeometricDet* geometricDet = &iSetup.getData(geomDetToken_);
253  const PTrackerParameters& ptp = iSetup.getData(ptpToken_);
254  const TrackerTopology* tTopo = &iSetup.getData(topoToken_);
255 
256  TrackerGeomBuilderFromGeometricDet trackerBuilder;
257 
258  return std::unique_ptr<TrackerGeometry>{trackerBuilder.build(geometricDet, ptp, tTopo)};
259 }
260 
262  const auto subDetector = toString(det.subDetector());
263  const auto& detId = det.geographicalId().rawId();
264  const auto& pos = det.position();
265  const auto& rot = det.rotation();
266  rawIDs_.push_back(detId);
267  subDets_.push_back(det.subDetector());
268 
269  // TrackerAlignmentRcd entry
270  if (createReferenceRcd_) {
272  } else {
273  const AlignTransform::Translation translation(pos.x(), pos.y(), pos.z());
275  CLHEP::HepRep3x3(rot.xx(), rot.xy(), rot.xz(), rot.yx(), rot.yy(), rot.yz(), rot.zx(), rot.zy(), rot.zz()));
276  const auto& eulerAngles = rotation.eulerAngles();
277  LogDebug("Alignment") << "============================================================\n"
278  << "subdetector: " << subDetector << "\n"
279  << "detId: " << detId << "\n"
280  << "------------------------------------------------------------\n"
281  << " x: " << pos.x() << "\n"
282  << " y: " << pos.y() << "\n"
283  << " z: " << pos.z() << "\n"
284  << " phi: " << eulerAngles.phi() << "\n"
285  << " theta: " << eulerAngles.theta() << "\n"
286  << " psi: " << eulerAngles.psi() << "\n"
287  << "============================================================\n";
288  alignments_.m_align.emplace_back(AlignTransform(translation, rotation, detId));
289  }
290 
291  // TrackerAlignmentErrorExtendedRcd entry
292  const AlignTransformError::SymMatrix zeroAPEs(6, 0);
293  alignmentErrors_.m_alignError.emplace_back(AlignTransformErrorExtended(zeroAPEs, detId));
294 }
295 
297  LogDebug("Alignment") << "Aligning to global tag\n";
298 
299  const Alignments* alignments = &iSetup.getData(aliToken_);
300  const AlignmentErrorsExtended* alignmentErrors = &iSetup.getData(aliErrorToken_);
301  const AlignmentSurfaceDeformations* surfaceDeformations = &iSetup.getData(aliSurfaceToken_);
302 
303  if (alignments->m_align.size() != alignmentErrors->m_alignError.size())
304  throw cms::Exception("GeometryMismatch")
305  << "Size mismatch between alignments (size=" << alignments->m_align.size()
306  << ") and alignment errors (size=" << alignmentErrors->m_alignError.size() << ")";
307 
308  std::vector<uint32_t> commonIDs;
309  auto itAlignErr = alignmentErrors->m_alignError.cbegin();
310  for (auto itAlign = alignments->m_align.cbegin(); itAlign != alignments->m_align.cend(); ++itAlign, ++itAlignErr) {
311  const auto id = itAlign->rawId();
312  auto found = std::find(rawIDs_.cbegin(), rawIDs_.cend(), id);
313  if (found != rawIDs_.cend()) {
314  if (id != itAlignErr->rawId())
315  throw cms::Exception("GeometryMismatch") << "DetId mismatch between alignments (rawId=" << id
316  << ") and alignment errors (rawId=" << itAlignErr->rawId() << ")";
317 
318  const auto index = std::distance(rawIDs_.cbegin(), found);
320  continue;
321 
322  if (alignments_.m_align[index].rawId() != alignmentErrors_.m_alignError[index].rawId())
323  throw cms::Exception("GeometryMismatch")
324  << "DetId mismatch between alignments (rawId=" << alignments_.m_align[index].rawId()
325  << ") and alignment errors (rawId=" << alignmentErrors_.m_alignError[index].rawId() << ")";
326 
327  LogDebug("Alignment") << "============================================================\n"
328  << "\nGeometry content (" << toString(subDets_[index]) << ", "
329  << alignments_.m_align[index].rawId() << "):\n"
330  << "\tx: " << alignments_.m_align[index].translation().x()
331  << "\ty: " << alignments_.m_align[index].translation().y()
332  << "\tz: " << alignments_.m_align[index].translation().z()
333  << "\tphi: " << alignments_.m_align[index].rotation().phi()
334  << "\ttheta: " << alignments_.m_align[index].rotation().theta()
335  << "\tpsi: " << alignments_.m_align[index].rotation().psi()
336  << "============================================================\n";
337  alignments_.m_align[index] = *itAlign;
338  alignmentErrors_.m_alignError[index] = *itAlignErr;
339  commonIDs.push_back(id);
340  LogDebug("Alignment") << "============================================================\n"
341  << "Global tag content (" << toString(subDets_[index]) << ", "
342  << alignments_.m_align[index].rawId() << "):\n"
343  << "\tx: " << alignments_.m_align[index].translation().x()
344  << "\ty: " << alignments_.m_align[index].translation().y()
345  << "\tz: " << alignments_.m_align[index].translation().z()
346  << "\tphi: " << alignments_.m_align[index].rotation().phi()
347  << "\ttheta: " << alignments_.m_align[index].rotation().theta()
348  << "\tpsi: " << alignments_.m_align[index].rotation().psi()
349  << "============================================================\n";
350  }
351  }
352 
353  // - surface deformations are stored differently
354  // -> different treatment
355  // - the above payloads contain also entries for ideal modules
356  // - no entry is created for ideal surfaces
357  // -> size of surface deformation payload does not necessarily match the
358  // size of the other tracker alignment payload
359  for (const auto& id : commonIDs) {
360  // search for common raw ID in surface deformation items
361  auto item = std::find_if(surfaceDeformations->items().cbegin(),
362  surfaceDeformations->items().cend(),
363  [&id](const auto& i) { return i.m_rawId == id; });
364  if (item == surfaceDeformations->items().cend())
365  continue; // not found
366 
367  // copy surface deformation item
368  const auto index = std::distance(surfaceDeformations->items().cbegin(), item);
369  const auto beginEndPair = surfaceDeformations->parameters(index);
370  std::vector<align::Scalar> params(beginEndPair.first, beginEndPair.second);
371  alignmentSurfaceDeformations_.add(item->m_rawId, item->m_parametrizationType, params);
372  }
373 }
374 
377 
379  if (!poolDb.isAvailable()) {
380  throw cms::Exception("NotAvailable") << "PoolDBOutputService not available";
381  }
382 
383  edm::LogInfo("Alignment") << "Writing ideal tracker-alignment records.";
384  poolDb->writeOne(&alignments_, since, "TrackerAlignmentRcd");
385  poolDb->writeOne(&alignmentErrors_, since, "TrackerAlignmentErrorExtendedRcd");
386  poolDb->writeOne(&alignmentSurfaceDeformations_, since, "TrackerSurfaceDeformationRcd");
387 }
388 
389 // ------------ method fills 'descriptions' with the allowed parameters for the module ------------
392  desc.setComment(
393  "Creates ideal TrackerAlignmentRcd and TrackerAlignmentErrorExtendedRcd "
394  "from the loaded tracker geometry. "
395  "PoolDBOutputService must be set up for these records.");
396  desc.addUntracked<bool>("alignToGlobalTag", false);
397  desc.addUntracked<std::vector<std::string> >("skipSubDetectors", std::vector<std::string>{});
398  desc.addUntracked<bool>("createReferenceRcd", false);
399  descriptions.add("createIdealTkAlRecords", desc);
400 }
401 
402 //define this as a plug-in
CreateIdealTkAlRecords
Definition: CreateTrackerAlignmentRcds.cc:69
GeomDet::position
const Surface::PositionType & position() const
The position (origin of the R.F.)
Definition: GeomDet.h:43
AlignmentErrorsExtended.h
GeomDetEnumerators::SubDetector
SubDetector
Definition: GeomDetEnumerators.h:10
AlignmentErrorsExtended::clear
void clear()
Clear vector without having to look into internals:
Definition: AlignmentErrorsExtended.h:17
electrons_cff.bool
bool
Definition: electrons_cff.py:366
EDAnalyzer.h
mps_fire.i
i
Definition: mps_fire.py:428
cond::TimeTypeSpecs::beginValue
Time_t beginValue
Definition: Time.h:41
GeomDetEnumerators::RPCEndcap
Definition: GeomDetEnumerators.h:20
TrackerGeometry.h
GeomDet
Definition: GeomDet.h:27
CreateIdealTkAlRecords::~CreateIdealTkAlRecords
~CreateIdealTkAlRecords() override
Definition: CreateTrackerAlignmentRcds.cc:121
GeomDetEnumerators::TID
Definition: GeomDetEnumerators.h:15
PTrackerParameters
Definition: PTrackerParameters.h:6
ESHandle.h
GeomDetEnumerators::invalidDet
Definition: GeomDetEnumerators.h:31
CalibrationSummaryClient_cfi.params
params
Definition: CalibrationSummaryClient_cfi.py:14
CreateIdealTkAlRecords::toSubDetector
static GeomDetEnumerators::SubDetector toSubDetector(const std::string &sub)
Definition: CreateTrackerAlignmentRcds.cc:192
TrackerTopology
Definition: TrackerTopology.h:16
AlignTransform::Rotation
CLHEP::HepRotation Rotation
Definition: AlignTransform.h:19
pos
Definition: PixelAliasList.h:18
GeomDetEnumerators::TIB
Definition: GeomDetEnumerators.h:13
CreateIdealTkAlRecords::aliErrorToken_
const edm::ESGetToken< AlignmentErrorsExtended, TrackerAlignmentErrorExtendedRcd > aliErrorToken_
Definition: CreateTrackerAlignmentRcds.cc:93
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
Alignments.h
GeomDetEnumerators::P2OTB
Definition: GeomDetEnumerators.h:23
AlignTransform::Translation
CLHEP::Hep3Vector Translation
Definition: AlignTransform.h:18
CreateIdealTkAlRecords::clearAlignmentInfos
void clearAlignmentInfos()
Definition: CreateTrackerAlignmentRcds.cc:244
TrackerGeomBuilderFromGeometricDet::build
TrackerGeometry * build(const GeometricDet *gd, const PTrackerParameters &ptp, const TrackerTopology *tTopo)
Definition: TrackerGeomBuilderFromGeometricDet.cc:43
GeomDetEnumerators::TOB
Definition: GeomDetEnumerators.h:14
AlignTransform.h
PTrackerParameters.h
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
edm::one::EDAnalyzer
Definition: EDAnalyzer.h:30
spr::find
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
newFWLiteAna.found
found
Definition: newFWLiteAna.py:118
CreateIdealTkAlRecords::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: CreateTrackerAlignmentRcds.cc:390
edm::Service::isAvailable
bool isAvailable() const
Definition: Service.h:40
TrackerSurfaceDeformationRcd.h
CreateIdealTkAlRecords::aliSurfaceToken_
const edm::ESGetToken< AlignmentSurfaceDeformations, TrackerSurfaceDeformationRcd > aliSurfaceToken_
Definition: CreateTrackerAlignmentRcds.cc:94
CreateIdealTkAlRecords::alignToGlobalTag_
const bool alignToGlobalTag_
Definition: CreateTrackerAlignmentRcds.cc:96
TrackerAlignmentErrorExtendedRcd.h
GeomDetEnumerators::PixelBarrel
Definition: GeomDetEnumerators.h:11
MakerMacros.h
TrackerTopology.h
PoolDBOutputService.h
cond::timeTypeSpecs
const TimeTypeSpecs timeTypeSpecs[]
Definition: Time.cc:16
TrackerTopologyRcd.h
DEFINE_FWK_MODULE
#define DEFINE_FWK_MODULE(type)
Definition: MakerMacros.h:16
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
AlignTransformError.h
GeomDetEnumerators::P1PXEC
Definition: GeomDetEnumerators.h:26
Service.h
GeometricDet
Definition: GeometricDet.h:31
writeEcalDQMStatus.since
since
Definition: writeEcalDQMStatus.py:53
GeomDetEnumerators::P2OTEC
Definition: GeomDetEnumerators.h:24
CreateIdealTkAlRecords::rawIDs_
std::vector< uint32_t > rawIDs_
Definition: CreateTrackerAlignmentRcds.cc:102
CreateIdealTkAlRecords::ptpToken_
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcd > ptpToken_
Definition: CreateTrackerAlignmentRcds.cc:90
b
double b
Definition: hdecay.h:118
GeomDetEnumerators::CSC
Definition: GeomDetEnumerators.h:17
AlignTransform
Definition: AlignTransform.h:15
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
funct::true
true
Definition: Factorize.h:173
GeomDetEnumerators::P1PXB
Definition: GeomDetEnumerators.h:25
CreateIdealTkAlRecords::toString
static std::string toString(const GeomDetEnumerators::SubDetector &)
Definition: CreateTrackerAlignmentRcds.cc:147
GeomDetEnumerators::DT
Definition: GeomDetEnumerators.h:18
GeomDet::geographicalId
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
edm::ParameterSet
Definition: ParameterSet.h:47
CreateIdealTkAlRecords::geomDetToken_
const edm::ESGetToken< GeometricDet, IdealGeometryRecord > geomDetToken_
Definition: CreateTrackerAlignmentRcds.cc:89
idealTransformation.rotation
dictionary rotation
Definition: idealTransformation.py:1
a
double a
Definition: hdecay.h:119
CreateIdealTkAlRecords::retrieveGeometry
std::unique_ptr< TrackerGeometry > retrieveGeometry(const edm::EventSetup &)
Definition: CreateTrackerAlignmentRcds.cc:251
Event.h
AlignTransformErrorExtended.h
CreateIdealTkAlRecords::alignmentErrors_
AlignmentErrorsExtended alignmentErrors_
Definition: CreateTrackerAlignmentRcds.cc:100
GeomDetEnumerators::TEC
Definition: GeomDetEnumerators.h:16
CreateIdealTkAlRecords::firstEvent_
bool firstEvent_
Definition: CreateTrackerAlignmentRcds.cc:98
CreateIdealTkAlRecords::subDets_
std::vector< GeomDetEnumerators::SubDetector > subDets_
Definition: CreateTrackerAlignmentRcds.cc:103
CreateIdealTkAlRecords::alignmentSurfaceDeformations_
AlignmentSurfaceDeformations alignmentSurfaceDeformations_
Definition: CreateTrackerAlignmentRcds.cc:101
jetUpdater_cfi.sort
sort
Definition: jetUpdater_cfi.py:29
cond::runnumber
Definition: Time.h:19
PTrackerParametersRcd.h
CreateIdealTkAlRecords::addAlignmentInfo
void addAlignmentInfo(const GeomDet &)
Definition: CreateTrackerAlignmentRcds.cc:261
AlignmentSurfaceDeformations::add
bool add(align::ID rawId, int type, const std::vector< align::Scalar > &parameters)
Add a new item.
Definition: AlignmentSurfaceDeformations.h:41
edm::Service< cond::service::PoolDBOutputService >
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
AlignmentSurfaceDeformations
Definition: AlignmentSurfaceDeformations.h:20
IdealGeometryRecord.h
TrackerAlignmentRcd.h
B2GTnPMonitor_cfi.item
item
Definition: B2GTnPMonitor_cfi.py:147
edm::EventSetup
Definition: EventSetup.h:58
CreateIdealTkAlRecords::analyze
void analyze(const edm::Event &, const edm::EventSetup &) override
Definition: CreateTrackerAlignmentRcds.cc:128
AlignmentErrorsExtended
Definition: AlignmentErrorsExtended.h:10
CreateIdealTkAlRecords::createReferenceRcd_
const bool createReferenceRcd_
Definition: CreateTrackerAlignmentRcds.cc:97
edm::ESGetToken< GeometricDet, IdealGeometryRecord >
CreateIdealTkAlRecords::alignments_
Alignments alignments_
Definition: CreateTrackerAlignmentRcds.cc:99
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
std
Definition: JetResolutionObject.h:76
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
CreateIdealTkAlRecords::writeToDB
void writeToDB()
Definition: CreateTrackerAlignmentRcds.cc:375
Alignments::clear
void clear()
Clear vector without having to look into internals:
Definition: Alignments.h:17
Frameworkfwd.h
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:29
AlignmentSurfaceDeformations.h
CreateIdealTkAlRecords::CreateIdealTkAlRecords
CreateIdealTkAlRecords(const edm::ParameterSet &)
Definition: CreateTrackerAlignmentRcds.cc:109
CreateIdealTkAlRecords::topoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Definition: CreateTrackerAlignmentRcds.cc:91
Exception
Definition: hltDiff.cc:245
cond::service::PoolDBOutputService::writeOne
Hash writeOne(const T *payload, Time_t time, const std::string &recordName)
Definition: PoolDBOutputService.h:63
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
CreateIdealTkAlRecords::toSubDetectors
static std::vector< GeomDetEnumerators::SubDetector > toSubDetectors(const std::vector< std::string > &subs)
Definition: CreateTrackerAlignmentRcds.cc:235
AlignTransformErrorExtended
Definition: AlignTransformErrorExtended.h:13
GeomDetEnumerators::GEM
Definition: GeomDetEnumerators.h:21
CreateIdealTkAlRecords::alignToGT
void alignToGT(const edm::EventSetup &)
Definition: CreateTrackerAlignmentRcds.cc:296
EventSetup.h
AlignmentSurfaceDeformations::parameters
ParametersConstIteratorPair parameters(size_t index) const
Definition: AlignmentSurfaceDeformations.h:59
GeomDetEnumerators::PixelEndcap
Definition: GeomDetEnumerators.h:12
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
AlignTransformError::SymMatrix
CLHEP::HepSymMatrix SymMatrix
Definition: AlignTransformError.h:15
TrackerGeomBuilderFromGeometricDet.h
Alignments::m_align
std::vector< AlignTransform > m_align
Definition: Alignments.h:19
TrackerGeomBuilderFromGeometricDet
Definition: TrackerGeomBuilderFromGeometricDet.h:17
AlignmentErrorsExtended::m_alignError
std::vector< AlignTransformErrorExtended > m_alignError
Definition: AlignmentErrorsExtended.h:19
GeomDetEnumerators::RPCBarrel
Definition: GeomDetEnumerators.h:19
mps_fire.result
result
Definition: mps_fire.py:311
GeomDetEnumerators::P2PXB
Definition: GeomDetEnumerators.h:27
CreateIdealTkAlRecords::skipSubDetectors_
const std::vector< GeomDetEnumerators::SubDetector > skipSubDetectors_
Definition: CreateTrackerAlignmentRcds.cc:95
cms::Exception
Definition: Exception.h:70
ParameterSet.h
GeomDetEnumerators::ME0
Definition: GeomDetEnumerators.h:22
DeDxTools::esConsumes
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
edm::Event
Definition: Event.h:73
HLT_FULL_cff.distance
distance
Definition: HLT_FULL_cff.py:7733
Alignments
Definition: Alignments.h:10
CreateIdealTkAlRecords::aliToken_
const edm::ESGetToken< Alignments, TrackerAlignmentRcd > aliToken_
Definition: CreateTrackerAlignmentRcds.cc:92
AlignmentSurfaceDeformations::items
const ItemVector & items() const
Get vector of all items.
Definition: AlignmentSurfaceDeformations.h:55
GeomDet::rotation
const Surface::RotationType & rotation() const
The rotation defining the local R.F.
Definition: GeomDet.h:46
GeomDet::subDetector
virtual SubDetector subDetector() const
Which subdetector.
Definition: GeomDet.cc:38
GeomDetEnumerators::P2PXEC
Definition: GeomDetEnumerators.h:28