CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
MCMisalignmentScaler Class Reference

#include <Alignment/TrackerAlignment/plugins/MCMisalignmentScaler.cc>

Inheritance diagram for MCMisalignmentScaler:
edm::one::EDAnalyzer<> edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 MCMisalignmentScaler (const edm::ParameterSet &)
 
 ~MCMisalignmentScaler () override=default
 
- Public Member Functions inherited from edm::one::EDAnalyzer<>
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &)
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Types

using ScalerMap = std::unordered_map< unsigned int, std::unordered_map< int, double > >
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
ScalerMap decodeSubDetectors (const edm::VParameterSet &)
 

Private Attributes

const edm::ESGetToken< Alignments, TrackerAlignmentRcdaliToken_
 
bool firstEvent_ {true}
 
const edm::ESGetToken< GeometricDet, IdealGeometryRecordgeomDetToken_
 
const double outlierPullToIdealCut_
 
const edm::ESGetToken< SiPixelQuality, SiPixelQualityRcdpixelQualityToken_
 
const edm::ESGetToken< PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcdptitpToken_
 
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcdptpToken_
 
const bool pullBadModulesToIdeal_
 
const ScalerMap scalers_
 
const edm::ESGetToken< SiStripQuality, SiStripQualityRcdstripQualityToken_
 
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcdtopoToken_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- 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

Description: Plugin to rescale misalignment wrt. ideal geometry

Implementation:

The plugin takes the ideal geometry and the alignment object and rescales the position difference by the scaling factor provided by the user.

Definition at line 62 of file MCMisalignmentScaler.cc.

Member Typedef Documentation

◆ ScalerMap

using MCMisalignmentScaler::ScalerMap = std::unordered_map<unsigned int, std::unordered_map<int, double> >
private

Definition at line 77 of file MCMisalignmentScaler.cc.

Constructor & Destructor Documentation

◆ MCMisalignmentScaler()

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

Definition at line 92 of file MCMisalignmentScaler.cc.

101  pullBadModulesToIdeal_{iConfig.getUntrackedParameter<bool>("pullBadModulesToIdeal")},
102  outlierPullToIdealCut_{iConfig.getUntrackedParameter<double>("outlierPullToIdealCut")} {}

References decodeSubDetectors(), and edm::ParameterSet::getParameter().

◆ ~MCMisalignmentScaler()

MCMisalignmentScaler::~MCMisalignmentScaler ( )
overridedefault

Member Function Documentation

◆ analyze()

void MCMisalignmentScaler::analyze ( const edm::Event ,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 109 of file MCMisalignmentScaler.cc.

109  {
110  if (!firstEvent_)
111  return;
112  firstEvent_ = false;
113 
114  // get handle on bad modules
115  const SiPixelQuality* pixelModules = &iSetup.getData(pixelQualityToken_);
116  const SiStripQuality* stripModules = &iSetup.getData(stripQualityToken_);
117 
118  // get the tracker geometry
119  const GeometricDet* geometricDet = &iSetup.getData(geomDetToken_);
120  const PTrackerParameters& ptp = iSetup.getData(ptpToken_);
122  const TrackerTopology* topology = &iSetup.getData(topoToken_);
123 
124  TrackerGeomBuilderFromGeometricDet trackerBuilder;
125  auto tracker = std::unique_ptr<TrackerGeometry>{trackerBuilder.build(geometricDet, ptitp, ptp, topology)};
126 
127  auto dets = tracker->dets();
128  std::sort(dets.begin(), dets.end(), [](const auto& a, const auto& b) {
129  return a->geographicalId().rawId() < b->geographicalId().rawId();
130  });
131 
132  // get the input alignment
133  const Alignments* alignments = &iSetup.getData(aliToken_);
134 
135  if (dets.size() != alignments->m_align.size()) {
136  throw cms::Exception("GeometryMismatch") << "Size mismatch between alignments (size=" << alignments->m_align.size()
137  << ") and ideal geometry (size=" << dets.size() << ")";
138  }
139 
140  Alignments rescaledAlignments{};
141  {
142  auto outlierCounter{0};
143  auto ideal = dets.cbegin();
144  const auto& ideal_end = dets.cend();
145  auto misaligned = alignments->m_align.cbegin();
146  for (; ideal != ideal_end; ++ideal, ++misaligned) {
147  if ((*ideal)->geographicalId().rawId() != misaligned->rawId()) {
148  throw cms::Exception("GeometryMismatch") << "Order differs between Dets in alignments ideal geometry.";
149  }
150 
151  // determine scale factor
152  const auto& subDetId = (*ideal)->geographicalId().subdetId();
153  auto side = topology->side((*ideal)->geographicalId());
154  if (side == 0) {
155  switch (subDetId) {
157  side = 1; // both sides are treated identical -> pick one of them
158  break;
160  side = topology->tibSide((*ideal)->geographicalId());
161  break;
163  side = topology->tobSide((*ideal)->geographicalId());
164  break;
165  default:
166  break;
167  }
168  }
169  auto scaleFactor = scalers_.find(subDetId)->second.find(side)->second;
170 
172  (pixelModules->IsModuleBad(misaligned->rawId()) || stripModules->IsModuleBad(misaligned->rawId()))) {
173  scaleFactor = 0.0;
174  }
175 
176  auto x_diff = misaligned->translation().x() - (*ideal)->position().x();
177  auto y_diff = misaligned->translation().y() - (*ideal)->position().y();
178  auto z_diff = misaligned->translation().z() - (*ideal)->position().z();
179 
180  auto xx_diff = misaligned->rotation().xx() - (*ideal)->rotation().xx();
181  auto xy_diff = misaligned->rotation().xy() - (*ideal)->rotation().xy();
182  auto xz_diff = misaligned->rotation().xz() - (*ideal)->rotation().xz();
183  auto yx_diff = misaligned->rotation().yx() - (*ideal)->rotation().yx();
184  auto yy_diff = misaligned->rotation().yy() - (*ideal)->rotation().yy();
185  auto yz_diff = misaligned->rotation().yz() - (*ideal)->rotation().yz();
186  auto zx_diff = misaligned->rotation().zx() - (*ideal)->rotation().zx();
187  auto zy_diff = misaligned->rotation().zy() - (*ideal)->rotation().zy();
188  auto zz_diff = misaligned->rotation().zz() - (*ideal)->rotation().zz();
189 
190  if (outlierPullToIdealCut_ > 0.0 &&
191  (x_diff * x_diff + y_diff * y_diff + z_diff * z_diff) > outlierPullToIdealCut_ * outlierPullToIdealCut_) {
192  ++outlierCounter;
193  edm::LogInfo("Alignment") << outlierCounter << ") Outlier found in subdetector " << subDetId
194  << ": delta x: " << x_diff << ", delta y: " << y_diff << ", delta z: " << z_diff
195  << ", delta xx: " << xx_diff << ", delta xy: " << xy_diff
196  << ", delta xz: " << xz_diff << ", delta yx: " << yx_diff
197  << ", delta yx: " << yy_diff << ", delta yy: " << yz_diff
198  << ", delta zz: " << zx_diff << ", delta zy: " << zy_diff
199  << ", delta zz: " << zz_diff << "\n";
200  scaleFactor = 0.0;
201  }
202 
203  const AlignTransform::Translation rescaledTranslation{(*ideal)->position().x() + scaleFactor * x_diff,
204  (*ideal)->position().y() + scaleFactor * y_diff,
205  (*ideal)->position().z() + scaleFactor * z_diff};
206 
207  const AlignTransform::Rotation rescaledRotation{
208  CLHEP::HepRep3x3{(*ideal)->rotation().xx() + scaleFactor * xx_diff,
209  (*ideal)->rotation().xy() + scaleFactor * xy_diff,
210  (*ideal)->rotation().xz() + scaleFactor * xz_diff,
211  (*ideal)->rotation().yx() + scaleFactor * yx_diff,
212  (*ideal)->rotation().yy() + scaleFactor * yy_diff,
213  (*ideal)->rotation().yz() + scaleFactor * yz_diff,
214  (*ideal)->rotation().zx() + scaleFactor * zx_diff,
215  (*ideal)->rotation().zy() + scaleFactor * zy_diff,
216  (*ideal)->rotation().zz() + scaleFactor * zz_diff}};
217 
218  const AlignTransform rescaledTransform{rescaledTranslation, rescaledRotation, misaligned->rawId()};
219  rescaledAlignments.m_align.emplace_back(rescaledTransform);
220  }
221  }
222 
224  if (!poolDb.isAvailable()) {
225  throw cms::Exception("NotAvailable") << "PoolDBOutputService not available";
226  }
227  edm::LogInfo("Alignment") << "Writing rescaled tracker-alignment record.";
229  poolDb->writeOne(&rescaledAlignments, since, "TrackerAlignmentRcd");
230 }

References a, aliToken_, b, cond::TimeTypeSpecs::beginValue, TrackerGeomBuilderFromGeometricDet::build(), Exception, firstEvent_, geomDetToken_, edm::EventSetup::getData(), edm::Service< T >::isAvailable(), SiStripQuality::IsModuleBad(), SiPixelQuality::IsModuleBad(), Alignments::m_align, outlierPullToIdealCut_, PixelSubdetector::PixelBarrel, pixelQualityToken_, ptitpToken_, ptpToken_, pullBadModulesToIdeal_, AlignTransform::rawId(), cond::runnumber, multiplicitycorr_cfi::scaleFactor, scalers_, TrackerTopology::side(), writeEcalDQMStatus::since, jetUpdater_cfi::sort, stripQualityToken_, GeomDetEnumerators::subDetId, StripSubdetector::TIB, TrackerTopology::tibSide(), cond::timeTypeSpecs, StripSubdetector::TOB, TrackerTopology::tobSide(), topoToken_, PbPb_ZMuSkimMuonDPG_cff::tracker, and cond::service::PoolDBOutputService::writeOne().

◆ decodeSubDetectors()

MCMisalignmentScaler::ScalerMap MCMisalignmentScaler::decodeSubDetectors ( const edm::VParameterSet psets)
private

Definition at line 232 of file MCMisalignmentScaler.cc.

232  {
233  // initialize scaler map
234  ScalerMap subDetMap;
235  for (unsigned int subDetId = 1; subDetId <= 6; ++subDetId) {
236  subDetMap[subDetId][1] = 1.0;
237  subDetMap[subDetId][2] = 1.0;
238  }
239 
240  // apply scale factors from configuration
241  for (const auto& pset : psets) {
242  const auto& name = pset.getUntrackedParameter<std::string>("subDetector");
243  const auto& factor = pset.getUntrackedParameter<double>("factor");
244 
245  std::vector<int> sides;
246  if (name.find('-') != std::string::npos)
247  sides.push_back(1);
248  if (name.find('+') != std::string::npos)
249  sides.push_back(2);
250  if (sides.empty()) { // -> use both sides
251  sides.push_back(1);
252  sides.push_back(2);
253  }
254 
255  if (name.find("Tracker") != std::string::npos) {
256  for (unsigned int subDetId = 1; subDetId <= 6; ++subDetId) {
257  for (const auto& side : sides)
258  subDetMap[subDetId][side] *= factor;
259  }
260  if (sides.size() == 1) {
261  // if only one side to be scaled
262  // -> scale also the other side for PXB (subdetid = 1)
263  subDetMap[PixelSubdetector::PixelBarrel][std::abs(sides[0] - 2) + 1] *= factor;
264  }
265  } else if (name.find("PXB") != std::string::npos) {
266  // ignore sides for PXB
267  subDetMap[PixelSubdetector::PixelBarrel][1] *= factor;
268  subDetMap[PixelSubdetector::PixelBarrel][2] *= factor;
269  } else if (name.find("PXF") != std::string::npos) {
270  for (const auto& side : sides)
271  subDetMap[PixelSubdetector::PixelEndcap][side] *= factor;
272  } else if (name.find("TIB") != std::string::npos) {
273  for (const auto& side : sides)
274  subDetMap[StripSubdetector::TIB][side] *= factor;
275  } else if (name.find("TOB") != std::string::npos) {
276  for (const auto& side : sides)
277  subDetMap[StripSubdetector::TOB][side] *= factor;
278  } else if (name.find("TID") != std::string::npos) {
279  for (const auto& side : sides)
280  subDetMap[StripSubdetector::TID][side] *= factor;
281  } else if (name.find("TEC") != std::string::npos) {
282  for (const auto& side : sides)
283  subDetMap[StripSubdetector::TEC][side] *= factor;
284  } else {
285  throw cms::Exception("BadConfig") << "@SUB=MCMisalignmentScaler::decodeSubDetectors\n"
286  << "Unknown tracker subdetector: " << name
287  << "\nSupported options: Tracker, PXB, PXF, TIB, TOB, TID, TEC "
288  << "(possibly decorated with '+' or '-')";
289  }
290  }
291 
292  std::stringstream logInfo;
293  logInfo << "MC misalignment scale factors:\n";
294  for (const auto& subdet : subDetMap) {
295  logInfo << " Subdet " << subdet.first << "\n";
296  for (const auto& side : subdet.second) {
297  logInfo << " side " << side.first << ": " << side.second << "\n";
298  }
299  logInfo << "\n";
300  }
301  edm::LogInfo("Alignment") << logInfo.str();
302 
303  return subDetMap;
304 }

References funct::abs(), Exception, DQMScaleToClient_cfi::factor, Skims_PA_cff::name, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, muonDTDigis_cfi::pset, AlCaHLTBitMon_QueryRunRegistry::string, GeomDetEnumerators::subDetId, StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, and StripSubdetector::TOB.

Referenced by MCMisalignmentScaler().

◆ fillDescriptions()

void MCMisalignmentScaler::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 307 of file MCMisalignmentScaler.cc.

307  {
309  desc.setComment(
310  "Creates rescaled MC misalignment scenario. "
311  "PoolDBOutputService must be set up for 'TrackerAlignmentRcd'.");
312  edm::ParameterSetDescription descScaler;
313  descScaler.setComment(
314  "ParameterSet specifying the tracker part to be scaled "
315  "by a given factor.");
316  descScaler.addUntracked<std::string>("subDetector", "Tracker");
317  descScaler.addUntracked<double>("factor", 1.0);
318  desc.addVPSet("scalers", descScaler, std::vector<edm::ParameterSet>(1));
319  desc.addUntracked<bool>("pullBadModulesToIdeal", false);
320  desc.addUntracked<double>("outlierPullToIdealCut", -1.0);
321  descriptions.add("mcMisalignmentScaler", desc);
322 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addUntracked(), submitPVResolutionJobs::desc, edm::ParameterSetDescription::setComment(), and AlCaHLTBitMon_QueryRunRegistry::string.

Member Data Documentation

◆ aliToken_

const edm::ESGetToken<Alignments, TrackerAlignmentRcd> MCMisalignmentScaler::aliToken_
private

Definition at line 76 of file MCMisalignmentScaler.cc.

Referenced by analyze().

◆ firstEvent_

bool MCMisalignmentScaler::firstEvent_ {true}
private

Definition at line 86 of file MCMisalignmentScaler.cc.

Referenced by analyze().

◆ geomDetToken_

const edm::ESGetToken<GeometricDet, IdealGeometryRecord> MCMisalignmentScaler::geomDetToken_
private

Definition at line 72 of file MCMisalignmentScaler.cc.

Referenced by analyze().

◆ outlierPullToIdealCut_

const double MCMisalignmentScaler::outlierPullToIdealCut_
private

Definition at line 85 of file MCMisalignmentScaler.cc.

Referenced by analyze().

◆ pixelQualityToken_

const edm::ESGetToken<SiPixelQuality, SiPixelQualityRcd> MCMisalignmentScaler::pixelQualityToken_
private

Definition at line 70 of file MCMisalignmentScaler.cc.

Referenced by analyze().

◆ ptitpToken_

Definition at line 74 of file MCMisalignmentScaler.cc.

Referenced by analyze().

◆ ptpToken_

const edm::ESGetToken<PTrackerParameters, PTrackerParametersRcd> MCMisalignmentScaler::ptpToken_
private

Definition at line 73 of file MCMisalignmentScaler.cc.

Referenced by analyze().

◆ pullBadModulesToIdeal_

const bool MCMisalignmentScaler::pullBadModulesToIdeal_
private

Definition at line 84 of file MCMisalignmentScaler.cc.

Referenced by analyze().

◆ scalers_

const ScalerMap MCMisalignmentScaler::scalers_
private

Definition at line 83 of file MCMisalignmentScaler.cc.

Referenced by analyze().

◆ stripQualityToken_

const edm::ESGetToken<SiStripQuality, SiStripQualityRcd> MCMisalignmentScaler::stripQualityToken_
private

Definition at line 71 of file MCMisalignmentScaler.cc.

Referenced by analyze().

◆ topoToken_

const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> MCMisalignmentScaler::topoToken_
private

Definition at line 75 of file MCMisalignmentScaler.cc.

Referenced by analyze().

SiPixelQuality::IsModuleBad
bool IsModuleBad(const uint32_t &detid) const
Definition: SiPixelQuality.cc:93
TrackerTopology::side
unsigned int side(const DetId &id) const
Definition: TrackerTopology.cc:28
cond::TimeTypeSpecs::beginValue
Time_t beginValue
Definition: Time.h:41
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
PTrackerParameters
Definition: PTrackerParameters.h:6
TrackerGeomBuilderFromGeometricDet::build
TrackerGeometry * build(const GeometricDet *gd, const PTrackerAdditionalParametersPerDet *ptitp, const PTrackerParameters &ptp, const TrackerTopology *tTopo)
Definition: TrackerGeomBuilderFromGeometricDet.cc:44
TrackerTopology
Definition: TrackerTopology.h:16
SiStripQuality::IsModuleBad
bool IsModuleBad(const uint32_t &detid) const
Definition: SiStripQuality.cc:558
MCMisalignmentScaler::topoToken_
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
Definition: MCMisalignmentScaler.cc:75
AlignTransform::rawId
align::ID rawId() const
Do not expose Euler angles since we may change its type later.
Definition: AlignTransform.h:36
AlignTransform::Rotation
CLHEP::HepRotation Rotation
Definition: AlignTransform.h:19
PTrackerAdditionalParametersPerDet
Definition: PTrackerAdditionalParametersPerDet.h:9
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
AlignTransform::Translation
CLHEP::Hep3Vector Translation
Definition: AlignTransform.h:18
edm::VParameterSet
std::vector< ParameterSet > VParameterSet
Definition: ParameterSet.h:34
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
MCMisalignmentScaler::decodeSubDetectors
ScalerMap decodeSubDetectors(const edm::VParameterSet &)
Definition: MCMisalignmentScaler.cc:232
MCMisalignmentScaler::outlierPullToIdealCut_
const double outlierPullToIdealCut_
Definition: MCMisalignmentScaler.cc:85
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
MCMisalignmentScaler::ptitpToken_
const edm::ESGetToken< PTrackerAdditionalParametersPerDet, PTrackerAdditionalParametersPerDetRcd > ptitpToken_
Definition: MCMisalignmentScaler.cc:74
edm::Service::isAvailable
bool isAvailable() const
Definition: Service.h:40
MCMisalignmentScaler::pixelQualityToken_
const edm::ESGetToken< SiPixelQuality, SiPixelQualityRcd > pixelQualityToken_
Definition: MCMisalignmentScaler.cc:70
TrackerTopology::tibSide
unsigned int tibSide(const DetId &id) const
Definition: TrackerTopology.h:186
cond::timeTypeSpecs
const TimeTypeSpecs timeTypeSpecs[]
Definition: Time.cc:16
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
GeometricDet
Definition: GeometricDet.h:31
MCMisalignmentScaler::ScalerMap
std::unordered_map< unsigned int, std::unordered_map< int, double > > ScalerMap
Definition: MCMisalignmentScaler.cc:77
writeEcalDQMStatus.since
since
Definition: writeEcalDQMStatus.py:53
DQMScaleToClient_cfi.factor
factor
Definition: DQMScaleToClient_cfi.py:8
StripSubdetector::TIB
static constexpr auto TIB
Definition: StripSubdetector.h:16
b
double b
Definition: hdecay.h:118
AlignTransform
Definition: AlignTransform.h:15
PbPb_ZMuSkimMuonDPG_cff.tracker
tracker
Definition: PbPb_ZMuSkimMuonDPG_cff.py:60
MCMisalignmentScaler::ptpToken_
const edm::ESGetToken< PTrackerParameters, PTrackerParametersRcd > ptpToken_
Definition: MCMisalignmentScaler.cc:73
edm::ParameterSetDescription::addUntracked
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:100
SiPixelQuality
Definition: SiPixelQuality.h:27
edm::ParameterSetDescription::setComment
void setComment(std::string const &value)
Definition: ParameterSetDescription.cc:33
a
double a
Definition: hdecay.h:119
MCMisalignmentScaler::pullBadModulesToIdeal_
const bool pullBadModulesToIdeal_
Definition: MCMisalignmentScaler.cc:84
jetUpdater_cfi.sort
sort
Definition: jetUpdater_cfi.py:29
cond::runnumber
Definition: Time.h:19
edm::Service< cond::service::PoolDBOutputService >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::EventSetup::getData
bool getData(T &iHolder) const
Definition: EventSetup.h:127
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
MCMisalignmentScaler::geomDetToken_
const edm::ESGetToken< GeometricDet, IdealGeometryRecord > geomDetToken_
Definition: MCMisalignmentScaler.cc:72
StripSubdetector::TEC
static constexpr auto TEC
Definition: StripSubdetector.h:19
MCMisalignmentScaler::firstEvent_
bool firstEvent_
Definition: MCMisalignmentScaler.cc:86
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
multiplicitycorr_cfi.scaleFactor
scaleFactor
Definition: multiplicitycorr_cfi.py:7
GeomDetEnumerators::subDetId
constexpr unsigned int subDetId[21]
Definition: GeomDetEnumerators.h:34
StripSubdetector::TOB
static constexpr auto TOB
Definition: StripSubdetector.h:18
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
edm::EDConsumerBase::esConsumes
auto esConsumes()
Definition: EDConsumerBase.h:206
Alignments::m_align
std::vector< AlignTransform > m_align
Definition: Alignments.h:19
TrackerGeomBuilderFromGeometricDet
Definition: TrackerGeomBuilderFromGeometricDet.h:18
MCMisalignmentScaler::stripQualityToken_
const edm::ESGetToken< SiStripQuality, SiStripQualityRcd > stripQualityToken_
Definition: MCMisalignmentScaler.cc:71
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
MCMisalignmentScaler::scalers_
const ScalerMap scalers_
Definition: MCMisalignmentScaler.cc:83
MCMisalignmentScaler::aliToken_
const edm::ESGetToken< Alignments, TrackerAlignmentRcd > aliToken_
Definition: MCMisalignmentScaler.cc:76
Alignments
Definition: Alignments.h:10
StripSubdetector::TID
static constexpr auto TID
Definition: StripSubdetector.h:17
TrackerTopology::tobSide
unsigned int tobSide(const DetId &id) const
Definition: TrackerTopology.h:180
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
SiStripQuality
Definition: SiStripQuality.h:32