|
using | EventSetupRecordKey = eventsetup::EventSetupRecordKey |
|
using | KeyedResolversVector = std::vector< std::pair< DataKey, std::shared_ptr< ESProductResolver > >> |
|
ESConsumesInfo * | consumesInfoPushBackNew () |
|
unsigned int | consumesInfoSize () const |
|
template<typename CallbackT , typename TList , typename TRecord > |
void | registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>> iCallback, const TList *, const TRecord *iRecord, const es::Label &iLabel) |
|
template<typename CallbackT , typename TRecord > |
void | registerProducts (std::shared_ptr< std::pair< unsigned int, std::shared_ptr< CallbackT >>>, const eventsetup::produce::Null *, const TRecord *, const es::Label &) |
|
template<typename T > |
auto | setWhatProduced (T *iThis, const es::Label &iLabel={}) |
|
template<typename T > |
auto | setWhatProduced (T *iThis, const char *iLabel) |
|
template<typename T > |
auto | setWhatProduced (T *iThis, const std::string &iLabel) |
|
template<typename T , typename TDecorator > |
auto | setWhatProduced (T *iThis, const TDecorator &iDec, const es::Label &iLabel={}) |
|
template<typename T , typename TReturn , typename TRecord > |
auto | setWhatProduced (T *iThis, TReturn(T::*iMethod)(const TRecord &), const es::Label &iLabel={}) |
|
template<typename T , typename TReturn , typename TRecord , typename TDecorator > |
auto | setWhatProduced (T *iThis, TReturn(T ::*iMethod)(const TRecord &), const TDecorator &iDec, const es::Label &iLabel={}) |
|
template<typename TFunc > |
auto | setWhatProduced (TFunc &&func, const es::Label &iLabel={}) |
|
template<typename TReturn , typename TRecord , typename TFunc , typename TDecorator > |
ESConsumesCollectorT< TRecord > | setWhatProduced (TFunc &&func, TDecorator &&iDec, const es::Label &iLabel={}) |
|
void | usesResources (std::vector< std::string > const &) |
|
template<class TFactory > |
void | registerFactory (std::unique_ptr< TFactory > iFactory, const std::string &iLabel=std::string()) |
|
virtual void | registerFactoryWithKey (const EventSetupRecordKey &iRecord, std::unique_ptr< eventsetup::ESProductResolverFactoryBase > iFactory, const std::string &iLabel=std::string()) |
|
KeyedResolversVector | registerResolvers (const EventSetupRecordKey &, unsigned int iovIndex) override |
|
template<class T > |
void | usingRecord () |
|
void | usingRecordWithKey (const EventSetupRecordKey &key) |
|
Definition at line 70 of file CTPPSModifiedOpticalFunctionsESSource.cc.
References a, protons_cff::arm, CTPPSDetId::arm(), b, ztail::d, LHCOpticalFunctionsSet::eLpx, LHCOpticalFunctionsSet::eLpy, LHCOpticalFunctionsSet::eLx, LHCOpticalFunctionsSet::eLy, LHCOpticalFunctionsSet::exd, factor_, edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::get(), mps_fire::i, input, inputOpticsToken_, convertSQLitetoXML_cfg::output, CTPPSDetId::rp(), rpDecId_45_F_, rpDecId_45_N_, rpDecId_56_F_, rpDecId_56_N_, scenario_, CTPPSDetId::station(), and protons_cff::xi.
76 std::shared_ptr<LHCInterpolatedOpticalFunctionsSetCollection>
output =
77 std::make_shared<LHCInterpolatedOpticalFunctionsSetCollection>(
input);
81 unsigned int rpId_N = 0, rpId_F = 0;
84 std::map<unsigned int, ArmInfo> armInfo;
86 for (
const auto &fsp : *
output) {
88 unsigned int rpDecId = 100 * rpId.arm() + 10 * rpId.station() + rpId.rp();
91 armInfo[0].rpId_N = fsp.first;
93 armInfo[0].rpId_F = fsp.first;
95 armInfo[1].rpId_N = fsp.first;
97 armInfo[1].rpId_F = fsp.first;
101 bool applied =
false;
103 for (
const auto &ap : armInfo) {
104 const auto &
arm = ap.first;
108 auto &of_N =
output->find(ap.second.rpId_N)->second;
109 auto &of_F =
output->find(ap.second.rpId_F)->second;
111 const double z_N = of_N.getScoringPlaneZ();
112 const double z_F = of_F.getScoringPlaneZ();
113 const double de_z = (
arm == 0) ? z_N - z_F : z_F - z_N;
117 if (of_N.m_xi_values.size() != of_N.m_xi_values.size())
119 <<
"Different xi sampling of optical functions in near and far RP.";
122 for (
unsigned int i = 0;
i < of_N.m_xi_values.size(); ++
i) {
123 const double xi = of_N.m_xi_values[
i];
143 const double a = 3180.,
b = 40.;
151 const double a = 0.42,
b = 0.015;
152 const double de_Lp_x =
factor_ * (
a *
xi +
b) * Lp_x;
154 L_x_N -= de_Lp_x * de_z / 2.;
155 L_x_F += de_Lp_x * de_z / 2.;
160 const double d = 0.08;
174 const double a = 2.66,
b = 0.015;
175 const double de_Lp_y =
factor_ * (
a *
xi +
b) * Lp_y;
177 L_y_N -= de_Lp_y * de_z / 2.;
178 L_y_F += de_Lp_y * de_z / 2.;
200 of_N.initializeSplines();
201 of_F.initializeSplines();
206 edm::LogError(
"CTPPSModifiedOpticalFunctionsESSource") <<
"Could not apply scenario `" +
scenario_ +
"'.";
const edm::ESGetToken< LHCInterpolatedOpticalFunctionsSetCollection, CTPPSInterpolatedOpticsRcd > inputOpticsToken_
const std::string scenario_
const unsigned int rpDecId_56_N_
Log< level::Error, false > LogError
static std::string const input
const unsigned int rpDecId_56_F_
const unsigned int rpDecId_45_N_
Base class for CTPPS detector IDs.
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
const unsigned int rpDecId_45_F_