CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes
CTPPSBeamParametersFromLHCInfoESSource Class Reference
Inheritance diagram for CTPPSBeamParametersFromLHCInfoESSource:
edm::ESProducer edm::ESProductResolverFactoryProducer edm::eventsetup::ESProductResolverProvider

Public Member Functions

 CTPPSBeamParametersFromLHCInfoESSource (const edm::ParameterSet &)
 
std::unique_ptr< CTPPSBeamParametersproduce (const CTPPSBeamParametersRcd &)
 
 ~CTPPSBeamParametersFromLHCInfoESSource () override=default
 
- Public Member Functions inherited from edm::ESProducer
 ESProducer ()
 
 ESProducer (const ESProducer &)=delete
 
 ESProducer (ESProducer &&)=delete
 
ESResolverIndex const * getTokenIndices (unsigned int iIndex) const
 
ESRecordIndex const * getTokenRecordIndices (unsigned int iIndex) const
 
bool hasMayConsumes () const noexcept
 
size_t numberOfTokenIndices (unsigned int iIndex) const
 
ESProduceroperator= (const ESProducer &)=delete
 
ESProduceroperator= (ESProducer &&)=delete
 
SerialTaskQueueChainqueue ()
 
template<typename Record >
std::optional< std::vector< ESResolverIndex > > updateFromMayConsumes (unsigned int iIndex, const Record &iRecord) const
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices const &) final
 
 ~ESProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::ESProductResolverFactoryProducer
 ESProductResolverFactoryProducer ()
 
 ESProductResolverFactoryProducer (const ESProductResolverFactoryProducer &)=delete
 
const ESProductResolverFactoryProduceroperator= (const ESProductResolverFactoryProducer &)=delete
 
 ~ESProductResolverFactoryProducer () noexcept(false) override
 
- Public Member Functions inherited from edm::eventsetup::ESProductResolverProvider
void createKeyedResolvers (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
const ComponentDescriptiondescription () const
 
 ESProductResolverProvider ()
 
 ESProductResolverProvider (const ESProductResolverProvider &)=delete
 
void fillRecordsNotAllowingConcurrentIOVs (std::set< EventSetupRecordKey > &recordsNotAllowingConcurrentIOVs) const
 
virtual void initConcurrentIOVs (EventSetupRecordKey const &key, unsigned int nConcurrentIOVs)
 
bool isUsingRecord (const EventSetupRecordKey &key) const
 
KeyedResolverskeyedResolvers (const EventSetupRecordKey &iRecordKey, unsigned int iovIndex=0)
 
const ESProductResolverProvideroperator= (const ESProductResolverProvider &)=delete
 
void setAppendToDataLabel (const edm::ParameterSet &)
 
void setDescription (const ComponentDescription &iDescription)
 
std::set< EventSetupRecordKeyusingRecords () const
 
virtual ~ESProductResolverProvider () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &)
 
- Static Public Member Functions inherited from edm::eventsetup::ESProductResolverProvider
static void prevalidate (ConfigurationDescriptions &)
 

Private Attributes

CTPPSBeamParameters defaultParameters_
 
const edm::ESGetToken< LHCInfo, LHCInfoRcdlhcInfoToken_
 

Additional Inherited Members

- Protected Types inherited from edm::ESProductResolverFactoryProducer
using EventSetupRecordKey = eventsetup::EventSetupRecordKey
 
- Protected Types inherited from edm::eventsetup::ESProductResolverProvider
using KeyedResolversVector = std::vector< std::pair< DataKey, std::shared_ptr< ESProductResolver > >>
 
- Protected Member Functions inherited from edm::ESProducer
ESConsumesInfoconsumesInfoPushBackNew ()
 
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 &)
 
- Protected Member Functions inherited from edm::ESProductResolverFactoryProducer
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
 
- Protected Member Functions inherited from edm::eventsetup::ESProductResolverProvider
template<class T >
void usingRecord ()
 
void usingRecordWithKey (const EventSetupRecordKey &key)
 

Detailed Description

Definition at line 25 of file CTPPSBeamParametersFromLHCInfoESSource.cc.

Constructor & Destructor Documentation

◆ CTPPSBeamParametersFromLHCInfoESSource()

CTPPSBeamParametersFromLHCInfoESSource::CTPPSBeamParametersFromLHCInfoESSource ( const edm::ParameterSet iConfig)

Definition at line 41 of file CTPPSBeamParametersFromLHCInfoESSource.cc.

References defaultParameters_, edm::ParameterSet::getParameter(), CTPPSBeamParameters::setBeamDivergenceX45(), CTPPSBeamParameters::setBeamDivergenceX56(), CTPPSBeamParameters::setBeamDivergenceY45(), CTPPSBeamParameters::setBeamDivergenceY56(), CTPPSBeamParameters::setVtxOffsetX45(), CTPPSBeamParameters::setVtxOffsetX56(), CTPPSBeamParameters::setVtxOffsetY45(), CTPPSBeamParameters::setVtxOffsetY56(), CTPPSBeamParameters::setVtxOffsetZ45(), CTPPSBeamParameters::setVtxOffsetZ56(), CTPPSBeamParameters::setVtxStddevX(), CTPPSBeamParameters::setVtxStddevY(), and CTPPSBeamParameters::setVtxStddevZ().

42  : lhcInfoToken_(
43  setWhatProduced(this).consumes(edm::ESInputTag("", iConfig.getParameter<std::string>("lhcInfoLabel")))) {
44  defaultParameters_.setBeamDivergenceX45(iConfig.getParameter<double>("beamDivX45"));
45  defaultParameters_.setBeamDivergenceY45(iConfig.getParameter<double>("beamDivX56"));
46  defaultParameters_.setBeamDivergenceX56(iConfig.getParameter<double>("beamDivY45"));
47  defaultParameters_.setBeamDivergenceY56(iConfig.getParameter<double>("beamDivY56"));
48 
49  defaultParameters_.setVtxOffsetX45(iConfig.getParameter<double>("vtxOffsetX45"));
50  defaultParameters_.setVtxOffsetY45(iConfig.getParameter<double>("vtxOffsetY45"));
51  defaultParameters_.setVtxOffsetZ45(iConfig.getParameter<double>("vtxOffsetZ45"));
52  defaultParameters_.setVtxOffsetX56(iConfig.getParameter<double>("vtxOffsetX56"));
53  defaultParameters_.setVtxOffsetY56(iConfig.getParameter<double>("vtxOffsetY56"));
54  defaultParameters_.setVtxOffsetZ56(iConfig.getParameter<double>("vtxOffsetZ56"));
55 
56  defaultParameters_.setVtxStddevX(iConfig.getParameter<double>("vtxStddevX"));
57  defaultParameters_.setVtxStddevY(iConfig.getParameter<double>("vtxStddevY"));
58  defaultParameters_.setVtxStddevZ(iConfig.getParameter<double>("vtxStddevZ"));
59 }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:166
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
void setBeamDivergenceY45(double div)
void setVtxStddevX(double stddev)
void setVtxStddevZ(double stddev)
void setVtxOffsetY56(double offset)
void setBeamDivergenceX56(double div)
void setBeamDivergenceX45(double div)
void setVtxOffsetZ56(double offset)
void setVtxStddevY(double stddev)
void setVtxOffsetX45(double offset)
void setBeamDivergenceY56(double div)
const edm::ESGetToken< LHCInfo, LHCInfoRcd > lhcInfoToken_
void setVtxOffsetY45(double offset)
void setVtxOffsetZ45(double offset)
void setVtxOffsetX56(double offset)

◆ ~CTPPSBeamParametersFromLHCInfoESSource()

CTPPSBeamParametersFromLHCInfoESSource::~CTPPSBeamParametersFromLHCInfoESSource ( )
overridedefault

Member Function Documentation

◆ fillDescriptions()

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

Definition at line 91 of file CTPPSBeamParametersFromLHCInfoESSource.cc.

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

91  {
93 
94  desc.add<std::string>("lhcInfoLabel", "");
95 
96  // beam divergence (rad)
97  desc.add<double>("beamDivX45", 0.1);
98  desc.add<double>("beamDivY45", 0.1);
99  desc.add<double>("beamDivX56", 0.1);
100  desc.add<double>("beamDivY56", 0.1);
101 
102  // vertex offset (cm)
103  desc.add<double>("vtxOffsetX45", 1.e-2);
104  desc.add<double>("vtxOffsetY45", 1.e-2);
105  desc.add<double>("vtxOffsetZ45", 1.e-2);
106  desc.add<double>("vtxOffsetX56", 1.e-2);
107  desc.add<double>("vtxOffsetY56", 1.e-2);
108  desc.add<double>("vtxOffsetZ56", 1.e-2);
109 
110  // vertex sigma (cm)
111  desc.add<double>("vtxStddevX", 2.e-2);
112  desc.add<double>("vtxStddevY", 2.e-2);
113  desc.add<double>("vtxStddevZ", 2.e-2);
114 
115  descriptions.add("ctppsBeamParametersFromLHCInfoESSource", desc);
116 }
void add(std::string const &label, ParameterSetDescription const &psetDescription)

◆ produce()

std::unique_ptr< CTPPSBeamParameters > CTPPSBeamParametersFromLHCInfoESSource::produce ( const CTPPSBeamParametersRcd iRecord)

Definition at line 63 of file CTPPSBeamParametersFromLHCInfoESSource.cc.

References LHCInfo::betaStar(), simBeamSpotPI::betaStar, LHCInfo::crossingAngle(), defaultParameters_, LHCInfo::energy(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::get(), lhcInfoToken_, and profile_base_cff::xangle.

64  {
65  LHCInfo const& lhcInfo = iRecord.get(lhcInfoToken_);
66 
67  auto bp = std::make_unique<CTPPSBeamParameters>(defaultParameters_);
68 
69  const auto beamMom = lhcInfo.energy();
70  const auto betaStar = lhcInfo.betaStar() * 1E2; // conversion m --> cm
71  const auto xangle = lhcInfo.crossingAngle() * 1E-6; // conversion mu rad --> rad
72 
73  bp->setBeamMom45(beamMom);
74  bp->setBeamMom56(beamMom);
75 
76  bp->setBetaStarX45(betaStar);
77  bp->setBetaStarX56(betaStar);
78  bp->setBetaStarY45(betaStar);
79  bp->setBetaStarY56(betaStar);
80 
81  bp->setHalfXangleX45(xangle);
82  bp->setHalfXangleX56(xangle);
83  bp->setHalfXangleY45(xangle);
84  bp->setHalfXangleY56(xangle);
85 
86  return bp;
87 }
float const energy() const
Definition: LHCInfo.cc:190
float const betaStar() const
Definition: LHCInfo.cc:184
float const crossingAngle() const
Definition: LHCInfo.cc:182
const edm::ESGetToken< LHCInfo, LHCInfoRcd > lhcInfoToken_
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const

Member Data Documentation

◆ defaultParameters_

CTPPSBeamParameters CTPPSBeamParametersFromLHCInfoESSource::defaultParameters_
private

◆ lhcInfoToken_

const edm::ESGetToken<LHCInfo, LHCInfoRcd> CTPPSBeamParametersFromLHCInfoESSource::lhcInfoToken_
private

Definition at line 34 of file CTPPSBeamParametersFromLHCInfoESSource.cc.

Referenced by produce().