CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RPCImonSH.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 }
22 
24 {
25 }
26 
28 
29  std::cout << "------- " << m_name << " - > getNewObjects\n"
30  << "got offlineInfo "<< tagInfo().name
31  << ", size " << tagInfo().size << ", last object valid since "
32  << tagInfo().lastInterval.first << " token "
33  << tagInfo().lastPayloadToken << std::endl;
34 
35  std::cout << " ------ last entry info regarding the payload (if existing): "
36  << logDBEntry().usertext << "last record with the correct tag has been written in the db: "
37  << logDBEntry().destinationDB << std::endl;
38 
39 // snc = tagInfo().lastInterval.first;
40 
41  std::cout << std::endl << "=============================================" << std::endl;
42  std::cout << std::endl << "=================== IMON ==================" << std::endl;
43  std::cout << std::endl << "=============================================" << std::endl << std::endl;
44  snc = m_since;
45  std::cout << ">> Range mode [" << snc << ", " << m_till << "]" << std::endl;
46  std::cout << std::endl << "=============================================" << std::endl << std::endl;
47 
48 
49  RPCFw caen ( host, user, passw );
50  std::vector<RPCObImon::I_Item> Icheck;
51 
52 
53  Icheck = caen.createIMON(snc, m_till);
54  Idata = new RPCObImon();
55  RPCObImon::I_Item Ifill;
56  std::vector<RPCObImon::I_Item>::iterator Iit;
57  for(Iit = Icheck.begin(); Iit != Icheck.end(); Iit++)
58  {
59  Ifill = *(Iit);
60  Idata->ObImon_rpc.push_back(Ifill);
61  }
62  std::cout << ">> Final object size: " << Idata->ObImon_rpc.size() << std::endl;
63 
64  if (Idata->ObImon_rpc.size() > 0) {
65  niov = snc;
66  } else {
67  niov = snc;
68  std::cout << "NO DATA TO BE STORED" << std::endl;
69  }
70 
71 
72  ::timeval tv;
73  tv.tv_sec = niov;
74  tv.tv_usec = 0;
75  edm::Timestamp tmstamp((unsigned long long)tv.tv_sec*1000000+(unsigned long long)tv.tv_usec);
76  std::cout << "UNIX time = " << tmstamp.value() << std::endl;
77 
78  edm::TimeValue_t daqtime=0LL;
79  daqtime=tv.tv_sec;
80  daqtime=(daqtime<<32)+tv.tv_usec;
81  edm::Timestamp daqstamp(daqtime);
82  edm::TimeValue_t dtime = daqstamp.value();
83  std::cout<<"DAQ time = " << dtime <<std::endl;
84 
85  niov = dtime;
86 
87  std::cout << "===> New IOV: since is = " << niov << std::endl;
88  m_to_transfer.push_back(std::make_pair((RPCObImon*)Idata,niov));
89 }
90 
RpcDataI(const edm::ParameterSet &pset)
Definition: RPCImonSH.cc:14
Definition: RPCFw.h:32
void getNewObjects()
Definition: RPCImonSH.cc:27
unsigned long long TimeValue_t
Definition: Timestamp.h:27
TimeValue_t value() const
Definition: Timestamp.cc:72
string host
Definition: query.py:114
tuple cout
Definition: gather_cfg.py:121
std::vector< RPCObImon::I_Item > createIMON(long long since, long long till)
Definition: RPCFw.cc:50