49 : m_tscKey( iConfig.getParameter<std::string> (
"tscKey") ),
50 m_ignoreTriggerKey( iConfig.getParameter<bool> (
"ignoreTriggerKey") ),
51 m_logKeys( iConfig.getParameter<bool>(
"logKeys" ) ),
52 m_logTransactions( iConfig.getParameter<bool>(
"logTransactions" ) )
55 typedef std::vector<edm::ParameterSet> ToSave;
57 for (ToSave::const_iterator it = toSave.begin (); it != toSave.end (); it++)
59 std::string
record = it->getParameter<std::string> (
"record");
60 std::string
type = it->getParameter<std::string> (
"type");
88 if( !dataWriter.fillLastTriggerKeyList( keyList ) )
91 <<
"Problem getting last L1TriggerKeyList" ;
94 unsigned long long run = iEvent.
id().
run() ;
98 bool triggerKeyIOVUpdated =
true ;
101 std::stringstream ss ;
103 std::string
log =
"KEYLOG runNumber=" + ss.str() ;
104 bool logRecords =
true ;
111 <<
"Object key for L1TriggerKey@L1TriggerKeyRcd: "
116 std::string keyToken = keyList.token(
m_tscKey ) ;
119 triggerKeyIOVUpdated =
131 replace( tmpKey.begin(), tmpKey.end(),
' ',
'?' ) ;
132 log +=
" tscKey=" + tmpKey ;
144 recordTypeToKeyMap = esKey->recordToKeyMap() ;
149 std::vector<std::string >::const_iterator
151 std::vector<std::string >::const_iterator
154 for( ; recordTypeItr != recordTypeEnd ; ++recordTypeItr )
156 recordTypeToKeyMap.insert(
157 std::make_pair( *recordTypeItr,
m_tscKey ) ) ;
165 if( triggerKeyIOVUpdated )
168 L1TriggerKey::RecordToKey::const_iterator itr =
169 recordTypeToKeyMap.begin() ;
170 L1TriggerKey::RecordToKey::const_iterator
end =
171 recordTypeToKeyMap.end() ;
173 for( ; itr !=
end ; ++itr )
175 std::string recordType = itr->first ;
176 std::string objectKey = itr->second ;
179 0, recordType.find_first_of(
"@") ) ;
185 std::string tmpKey = objectKey ;
186 replace( tmpKey.begin(), tmpKey.end(),
' ',
'?' ) ;
194 <<
"L1CondDBIOVWriter: null object key for "
195 << recordType <<
"; skipping this record." ;
202 << recordType <<
": " << objectKey ;
204 std::string payloadToken = keyList.token( recordType,
206 if( payloadToken.empty() )
209 <<
"L1CondDBIOVWriter: empty payload token for " +
210 recordType +
", key " + objectKey ;
T getParameter(std::string const &) const
std::map< std::string, std::string > RecordToKey
std::vector< std::string > m_recordTypes
virtual void analyze(const edm::Event &, const edm::EventSetup &)
const RecordToKey & recordToKeyMap() const
L1CondDBIOVWriter(const edm::ParameterSet &)
void readObject(const std::string &payloadToken, T &outputObject)
Log< T >::type log(const T &t)
void throwException(std::string const &message, std::string const &methodName)
static std::string kNullKey
bool updateIOV(const std::string &esRecordName, const std::string &payloadToken, edm::RunNumber_t sinceRun, bool logTransactions=false)