1 #ifndef CondTools_L1TriggerExt_L1ConfigOnlineProdBaseExt_h 2 #define CondTools_L1TriggerExt_L1ConfigOnlineProdBaseExt_h 32 template <
class TRcd,
class TData>
38 std::unique_ptr<const TData>
produce(
const TRcd& iRecord);
40 virtual std::unique_ptr<const TData>
newObject(
const std::string& objectKey,
const TRcd& iRecord) = 0;
60 template <
class TRcd,
class TData>
72 if (iConfig.
exists(
"copyFromCondDB")) {
88 template <
class TRcd,
class TData>
94 template <
class TRcd,
class TData>
96 std::unique_ptr<const TData> pData;
106 iRecord.template getRecord<L1TriggerKeyListExtRcd>();
111 keyListRcd.
get(keyList);
116 std::string payloadToken = keyList->token(recordName, dataType, key);
118 edm::LogVerbatim(
"L1-O2O") <<
"Copying payload for " << recordName <<
"@" << dataType <<
" obj key " << key
124 if (!payloadToken.empty()) {
134 if (pData == std::unique_ptr<const TData>()) {
148 template <
class TRcd,
class TData>
171 objectKey = key->get(recordName, dataType);
184 edm::LogError(
"L1-O2O") <<
"Problem getting last L1TriggerKeyListExt";
190 return keyList.
token(recordName, dataType, objectKey).empty();
T getParameter(std::string const &) const
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
bool fillLastTriggerKeyList(L1TriggerKeyListExt &output)
cond::persistency::Session m_dbSession
void start(bool readOnly=true)
bool exists(std::string const ¶meterName) const
checks if a parameter exists
std::unique_ptr< T > fetchPayload(const cond::Hash &payloadHash)
Transaction & transaction()
PRODUCT const & get(ESGetToken< PRODUCT, T > const &iToken) const
l1t::OMDSReader m_omdsReader
virtual std::unique_ptr< const TData > newObject(const std::string &objectKey, const TRcd &iRecord)=0
L1ConfigOnlineProdBaseExt(const edm::ParameterSet &)
bool getObjectKey(const TRcd &record, std::string &objectKey)
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
Session createSession(const std::string &connectionString, bool writeCapable=false)
void connect(const std::string &connectString, const std::string &authenticationPath)
~L1ConfigOnlineProdBaseExt() override
std::unique_ptr< const TData > produce(const TRcd &iRecord)
void setAuthenticationPath(const std::string &p)
std::string token(const std::string &tscKey) const