1 #ifndef RecoLuminosity_LumiProducer_HLTDummy2DB_h
2 #define RecoLuminosity_LumiProducer_HLTDummy2DB_h
3 #include "RelationalAccess/ConnectionService.h"
4 #include "RelationalAccess/ISessionProxy.h"
5 #include "RelationalAccess/ITransaction.h"
6 #include "RelationalAccess/ISchema.h"
7 #include "RelationalAccess/ITable.h"
8 #include "RelationalAccess/ITableDataEditor.h"
9 #include "RelationalAccess/IBulkOperation.h"
10 #include "CoralBase/AttributeList.h"
11 #include "CoralBase/AttributeSpecification.h"
12 #include "CoralBase/Attribute.h"
13 #include "CoralBase/Exception.h"
38 coral::ConnectionService* svc =
new coral::ConnectionService;
43 coral::ISessionProxy*
session = svc->connect(
m_dest, coral::Update);
45 unsigned int totalcmsls = 32;
46 session->transaction().start(
false);
47 coral::ISchema& schema = session->nominalSchema();
50 coral::AttributeList hltData;
51 hltData.extend<
unsigned long long>(
"HLT_ID");
52 hltData.extend<
unsigned int>(
"RUNNUM");
53 hltData.extend<
unsigned int>(
"CMSLSNUM");
55 hltData.extend<
unsigned long long>(
"INPUTCOUNT");
56 hltData.extend<
unsigned long long>(
"ACCEPTCOUNT");
57 hltData.extend<
unsigned int>(
"PRESCALE");
58 coral::IBulkOperation* hltInserter = hlttable.dataEditor().bulkInsert(hltData, totalcmsls * 260);
60 unsigned long long& hlt_id = hltData[
"HLT_ID"].data<
unsigned long long>();
61 unsigned int& hltrunnum = hltData[
"RUNNUM"].data<
unsigned int>();
62 unsigned int& cmslsnum = hltData[
"CMSLSNUM"].data<
unsigned int>();
64 unsigned long long& inputcount = hltData[
"INPUTCOUNT"].data<
unsigned long long>();
65 unsigned long long& acceptcount = hltData[
"ACCEPTCOUNT"].data<
unsigned long long>();
66 unsigned int& prescale = hltData[
"PRESCALE"].data<
unsigned int>();
68 for (
unsigned int i = 1;
i <= totalcmsls; ++
i) {
69 for (
unsigned int j = 1;
j < 165; ++
j) {
74 ::sprintf(c,
"%d",
j);
79 hltInserter->processNextIteration();
85 std::cout <<
"database problem " << er.what() << std::endl;
86 session->transaction().rollback();
92 session->transaction().commit();
const edm::EventSetup & c
HLTDummy2DB(const std::string &dest)
unsigned long long retrieveData(unsigned int) override
void setAuthentication(const std::string &authPath)
const std::string dataType() const override
static const std::string hltTableName()
const std::string sourceType() const override
unsigned long long generateNextIDForTable(const std::string &tableName, unsigned int interval=1)
#define DEFINE_EDM_PLUGIN(factory, type, name)