00001 #include "CondTools/RunInfo/interface/L1TriggerScalerHandler.h"
00002 #include "CondTools/RunInfo/interface/L1TriggerScalerRead.h"
00003
00004
00005 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00006 #include "FWCore/ParameterSet/interface/ParameterSetfwd.h"
00007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00008 #include "CondTools/RunInfo/interface/TestBase.h"
00009
00010
00011 #include<iostream>
00012 #include<sstream>
00013 #include<vector>
00014
00015
00016
00017 namespace {
00018
00019
00020
00021 L1TriggerScalerHandler::L1TriggerScalerHandler(const edm::ParameterSet& pset) :
00022 m_name(pset.getUntrackedParameter<std::string>("name","L1TriggerScalerHandler")),
00023
00024
00025
00026
00027
00028 m_user(pset.getUntrackedParameter<std::string>("OnlineDBUser","CMS_RUNINFO")),
00029 m_pass(pset.getUntrackedParameter<std::string>("OnlineDBPass","XXXXXXX"))
00030
00031 {
00032 m_connectionString= "oracle://cms_omds_lb/CMS_RUNINFO";
00033
00034 }
00035
00036 L1TriggerScalerHandler::~L1TriggerScalerHandler()
00037 {
00038
00039 }
00040
00041 void L1TriggerScalerHandler::getNewObjects() {
00042 edm::LogInfo ("L1TriggerScalerHandler") << "------- " << m_name
00043 << " - > getNewObjects\n" <<
00044
00045 "got offlineInfo"<<
00046 tagInfo().name << ", size " << tagInfo().size
00047 << ", last object valid since "
00048 << tagInfo().lastInterval.first << " token "
00049 << tagInfo().lastPayloadToken << std::endl;
00050
00051
00052 if (tagInfo().size>0) {
00053 Ref payload = lastPayload();
00054 edm::LogInfo ("L1TriggerScalerHandler")<<"size of last payload "<<
00055 payload->m_run.size()<<std::endl;
00056 }
00057
00058 int snc;
00059
00060 std::cerr << "Source implementation test ::getNewObjects : enter runnumber as a first since ! \n";
00061 std::cin >> snc;
00062
00063
00064
00065
00066 std::cout<<"runnumber/first since = "<< snc <<std::endl;
00067
00068
00070
00071 L1TriggerScaler * r = new L1TriggerScaler();
00072
00073
00074
00075
00076 L1TriggerScalerRead rn( m_connectionString, m_user, m_pass);
00077 std::vector<L1TriggerScaler::Lumi> l1lumiscaler_array;
00078
00079
00080
00081 l1lumiscaler_array = rn.readData((int)snc );
00082
00083 L1TriggerScaler::Lumi rnfill;
00084 std::vector<L1TriggerScaler::Lumi>::iterator Iit;
00085 for(Iit = l1lumiscaler_array.begin() ; Iit != l1lumiscaler_array.end(); Iit++)
00086 {
00087 rnfill = *(Iit);
00088 r->m_run.push_back(rnfill);
00089 }
00090
00091 m_to_transfer.push_back(std::make_pair((L1TriggerScaler*)r,snc));
00092 std::ostringstream ss;
00093 ss << "since =" << snc;
00094
00095
00096
00097 m_userTextLog = ss.str()+";";
00098
00099
00100 edm::LogInfo ("L1TriggerScalerHandler") << "------- " << m_name << " - > getNewObjects" << std::endl;
00101
00102
00103 }
00104 }
00105
00106
00107
00108