17 : alignmentsLabel_(p.getParameter<
std::
string>(
"alignmentsLabel")),
18 myLabel_(p.getParameter<
std::
string>(
"appendToDataLabel")) {
40 if (useGangedStripsInME1a)
41 useOnlyWiresInME1a =
false;
62 if (applyAlignment_) {
70 <<
"Label '" <<
myLabel_ <<
"' " << (applyAlignment_ ?
"looking for" :
"IGNORING")
92 if (alignments.empty() && alignmentErrors.empty() && globalPosition.empty()) {
93 edm::LogInfo(
"Config") <<
"@SUB=CSCGeometryRecord::produce" 95 <<
"') empty: Geometry producer (label " 96 <<
"'" <<
myLabel_ <<
"') assumes fake and does not apply.";
116 bool recreateGeometry =
false;
119 [&recreateGeometry](
auto const& rec) { recreateGeometry =
true; });
122 [&recreateGeometry](
auto const& rec) { recreateGeometry =
true; });
124 if (recreateGeometry) {
129 cscgb.
build(*host, rig, rdp);
T getParameter(std::string const &) const
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
T getUntrackedParameter(std::string const &, T const &) const
edm::ESGetToken< Alignments, CSCAlignmentRcd > alignmentsToken_
edm::ESProductHost< CSCGeometry, MuonNumberingRecord, CSCRecoGeometryRcd, CSCRecoDigiParametersRcd > HostType
CSCGeometryESModule(const edm::ParameterSet &p)
Constructor.
const std::string alignmentsLabel_
Class to update a given geometry with a set of alignments.
const std::string myLabel_
ESTransientHandle< ProductT > getTransientHandle(ESGetToken< ProductT, DepRecordT > const &iToken) const
Compact representation of the geometrical detector hierarchy.
void build(CSCGeometry &theGeometry, const RecoIdealGeometry &rig, const CSCRecoDigiParameters &cscpars)
Build the geometry.
PRODUCT const & get(ESGetToken< PRODUCT, T > const &iToken) const
edm::ESGetToken< CSCRecoDigiParameters, CSCRecoDigiParametersRcd > rdpToken_
void initCSCGeometry_(const MuonGeometryRecord &, std::shared_ptr< HostType > &host)
edm::ESGetToken< Alignments, GlobalPositionRcd > globalPositionToken_
~CSCGeometryESModule() override
Destructor.
bool useGangedStripsInME1a
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
void build(CSCGeometry &geom, const DDCompactView *fv, const MuonDDDConstants &muonConstants)
Build the geometry.
std::shared_ptr< T > makeOrGet(F iFunc)
If there isn't an object already available, creates a new one using iFunc.
std::shared_ptr< CSCGeometry > produce(const MuonGeometryRecord &record)
Produce CSCGeometry.
edm::ESGetToken< AlignmentErrorsExtended, CSCAlignmentErrorExtendedRcd > alignmentErrorsToken_
edm::ESGetToken< DDCompactView, IdealGeometryRecord > cpvToken_
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
void applyAlignments(C *geometry, const Alignments *alignments, const AlignmentErrorsExtended *alignmentErrors, const AlignTransform &globalCoordinates)
T const * product() const
const AlignTransform & DetectorGlobalPosition(const Alignments &allGlobals, const DetId &id)
edm::ESGetToken< MuonDDDConstants, MuonNumberingRecord > mdcToken_
edm::ReusableObjectHolder< HostType > holder_
edm::ESGetToken< RecoIdealGeometry, CSCRecoGeometryRcd > rigToken_