Description: Put the values of the Lorentz angle for Phase-2 Outer Tracker detId in as database file
Implementation: [Notes on implementation]
Definition at line 46 of file SiPhase2OuterTrackerLorentzAngleWriter.cc.
Implements edm::one::EDAnalyzerBase.
Definition at line 84 of file SiPhase2OuterTrackerLorentzAngleWriter.cc.
References cms::cuda::assert(), cond::service::PoolDBOutputService::currentTime(), DetId::det(), TrackerGeometry::detUnits(), geomToken_, edm::EventSetup::getData(), iEvent, edm::Service< T >::isAvailable(), TrackerTopology::layer(), LogDebug, m_record, m_value, DetId::rawId(), AlCaHLTBitMon_QueryRunRegistry::string, DetId::subdetId(), makeGlobalPositionRcd_cfg::tag, cond::service::PoolDBOutputService::tag(), StripSubdetector::TID, StripSubdetector::TOB, topoToken_, align::Tracker, and cond::service::PoolDBOutputService::writeOneIOV().
88 <<
"SiPhase2OuterTrackerLorentzAngleWriter::analyze " << std::endl;
93 edm::LogWarning(
"SiPhase2OuterTrackerLorentzAngleWriter") <<
"Service is unavailable" << std::endl;
98 unsigned int irun =
iEvent.id().run();
99 edm::LogVerbatim(
"SiPhase2OuterTrackerLorentzAngleWriter") <<
"Writing on tag : " <<
tag << std::endl;
100 edm::LogVerbatim(
"SiPhase2OuterTrackerLorentzAngleWriter") <<
"Usinng as IOV run : " << irun << std::endl;
103 std::unordered_map<unsigned int, float> detsLAtoDB;
111 <<
" There are " << pDD->
detUnits().size() <<
" modules in this geometry." << std::endl;
113 for (
auto const& det_u : pDD->
detUnits()) {
114 const DetId detid = det_u->geographicalId();
115 uint32_t rawId = detid.
rawId();
120 LogDebug(
"SiPhase2OuterTrackerLorentzAngleWriter") << rawId <<
" is a " << subid <<
" det" << std::endl;
122 LogDebug(
"SiPhase2OuterTrackerLorentzAngleWriter")
123 <<
"subdetector ID:" << subid <<
" layer:" << tTopo->
layer(detid) << std::endl;
130 <<
" There are " << detsLAtoDB.size() <<
" OT Lorentz Angle values assigned" << std::endl;
133 auto lorentzAngle = std::make_unique<SiPhase2OuterTrackerLorentzAngle>();
134 lorentzAngle->putLorentzAngles(detsLAtoDB);
135 edm::LogInfo(
"SiPhase2OuterTrackerLorentzAngleWriter") <<
"currentTime " << mydbservice->
currentTime() << std::endl;
Log< level::Info, true > LogVerbatim
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > topoToken_
const edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > geomToken_
const DetContainer & detUnits() const override
Returm a vector of all GeomDet.
constexpr Detector det() const
get the detector field from this detid
unsigned int layer(const DetId &id) const
std::string tag(const std::string &recordName)
cond::Time_t currentTime() const
Hash writeOneIOV(const T &payload, Time_t time, const std::string &recordName)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
bool getData(T &iHolder) const
static constexpr auto TOB
Log< level::Info, false > LogInfo
constexpr uint32_t rawId() const
get the raw id
Log< level::Warning, false > LogWarning
static constexpr auto TID