CMS 3D CMS Logo

RPCUXCSH.cc
Go to the documentation of this file.
1 /*
2  * See headers for a description
3  *
4  * \author D. Pagano - Dip. Fis. Nucl. e Teo. & INFN Pavia
5  */
6 
11 
12 #include <iostream>
13 
15  : m_name(pset.getUntrackedParameter<std::string>("name", "RpcData")),
16  host(pset.getUntrackedParameter<std::string>("host", "source db host")),
17  user(pset.getUntrackedParameter<std::string>("user", "source username")),
18  passw(pset.getUntrackedParameter<std::string>("passw", "source password")),
19  m_since(pset.getUntrackedParameter<unsigned long long>("since", 5)),
20  m_till(pset.getUntrackedParameter<unsigned long long>("till", 0)) {}
21 
23 
25  std::cout << "------- " << m_name << " - > getNewObjects\n"
26  << "got offlineInfo" << tagInfo().name << ", size " << tagInfo().size << ", last object valid since "
27  << tagInfo().lastInterval.since << " token " << tagInfo().lastInterval.payloadId << std::endl;
28 
29  std::cout << " ------ last entry info regarding the payload (if existing): " << logDBEntry().usertext
30  << "last record with the correct tag has been written in the db: " << logDBEntry().destinationDB
31  << std::endl;
32 
33  // snc = tagInfo().lastInterval.first;
34 
35  std::cout << std::endl << "=============================================" << std::endl;
36  std::cout << std::endl << "=================== UXC ==================" << std::endl;
37  std::cout << std::endl << "=============================================" << std::endl << std::endl;
38  snc = m_since;
39  std::cout << ">> Range mode [" << snc << ", " << m_till << "]" << std::endl;
40  std::cout << std::endl << "=============================================" << std::endl << std::endl;
41 
42  RPCFw caen(host, user, passw);
43  std::vector<RPCObUXC::Item> UXCcheck;
44  UXCcheck = caen.createUXC(snc, m_till);
45  UXCdata = new RPCObUXC();
46  RPCObUXC::Item UXCfill;
47  std::vector<RPCObUXC::Item>::iterator UXCit;
48  for (UXCit = UXCcheck.begin(); UXCit != UXCcheck.end(); UXCit++) {
49  UXCfill = *(UXCit);
50  UXCdata->ObUXC_rpc.push_back(UXCfill);
51  }
52  std::cout << " >> Final object size: " << UXCdata->ObUXC_rpc.size() << std::endl;
53 
54  if (!UXCdata->ObUXC_rpc.empty()) {
55  niov = snc;
56  } else {
57  niov = snc;
58  std::cout << "NO DATA TO BE STORED" << std::endl;
59  }
60 
61  ::timeval tv;
62  tv.tv_sec = niov;
63  tv.tv_usec = 0;
64  edm::Timestamp tmstamp((unsigned long long)tv.tv_sec * 1000000 + (unsigned long long)tv.tv_usec);
65  std::cout << "UNIX time = " << tmstamp.value() << std::endl;
66 
67  edm::TimeValue_t daqtime = 0LL;
68  daqtime = tv.tv_sec;
69  daqtime = (daqtime << 32) + tv.tv_usec;
70  edm::Timestamp daqstamp(daqtime);
71  edm::TimeValue_t dtime = daqstamp.value();
72  std::cout << "DAQ time = " << dtime << std::endl;
73 
74  niov = dtime;
75 
76  std::cout << "===> New IOV: since is = " << niov << std::endl;
77  m_to_transfer.push_back(std::make_pair((RPCObUXC*)UXCdata, niov));
78 }
string host
Definition: query.py:115
~RpcDataUXC() override
Definition: RPCUXCSH.cc:22
Definition: RPCFw.h:29
std::vector< RPCObUXC::Item > createUXC(long long since, long long till)
Definition: RPCFw.cc:1487
unsigned long long TimeValue_t
Definition: Timestamp.h:21
void getNewObjects() override
Definition: RPCUXCSH.cc:24
TimeValue_t value() const
Definition: Timestamp.h:38
RpcDataUXC(const edm::ParameterSet &pset)
Definition: RPCUXCSH.cc:14
double dtime()