33 edm::LogInfo(
"EcalTPGPhysicsConstHandler") <<
"Started GetNewObjects!!!";
38 std::cout <<
"got offlineInfo = " << std::endl;
42 std::cout <<
" First object for this tag " << std::endl;
45 unsigned int max_since = 0;
47 edm::LogInfo(
"EcalTPGPhysicsConstHandler") <<
"max_since : " << max_since;
50 edm::LogInfo(
"EcalTPGPhysicsConstHandler") <<
"retrieved last payload ";
53 edm::LogInfo(
"EcalTPGPhysicsConstHandler") <<
"Retrieving run list from ONLINE DB ... ";
55 edm::LogInfo(
"EcalTPGPhysicsConstHandler") <<
"Making connection...";
89 if (min_run < max_since) {
90 min_run = max_since + 1;
94 edm::LogInfo(
"EcalTPGPhysicsConstHandler") <<
"min_run= " << min_run <<
"max_run= " << max_run;
100 std::vector<RunIOV> run_vec = my_list.
getRuns();
101 size_t num_runs = run_vec.size();
103 std::cout <<
"number of runs is : " << num_runs << std::endl;
107 for (
size_t kr = 0; kr < run_vec.size(); kr++) {
108 irun =
static_cast<unsigned int>(run_vec[kr].getRunNumber());
110 std::cout <<
" **************** " << std::endl;
111 std::cout <<
" **************** " << std::endl;
112 std::cout <<
" run= " << irun << std::endl;
115 std::map<EcalLogicID, RunTPGConfigDat>
dataset;
119 int the_config_version = 0;
121 std::map<EcalLogicID, RunTPGConfigDat>::const_iterator it;
134 std::cout <<
" run= " << irun <<
" tag " << the_config_tag <<
" version=" << the_config_version << std::endl;
139 std::cout <<
"the tag is different from last transferred run ... retrieving last config set from DB" 147 std::cout <<
" before fetch config set" << std::endl;
149 std::cout <<
" after fetch config set" << std::endl;
152 int linId = fe_main_info.
getLinId();
153 int fgrId = fe_main_info.
getFgrId();
154 int lutId = fe_main_info.
getLUTId();
157 std::cout <<
"one of the parameters: linId, LutId or fgrId is different from" << std::endl;
158 std::cout <<
"last transferred run ..." << std::endl;
163 fe_physLin_info.
setId(linId);
164 fe_physFgr_info.
setId(fgrId);
165 fe_physLut_info.
setId(lutId);
170 std::map<EcalLogicID, FEConfigLinParamDat> dataset_TpgPhysicsLin;
171 std::map<EcalLogicID, FEConfigLUTParamDat> dataset_TpgPhysicsLut;
172 std::map<EcalLogicID, FEConfigFgrParamDat> dataset_TpgPhysicsFgr;
179 typedef std::map<EcalLogicID, FEConfigLinParamDat>::const_iterator CIfeLin;
180 typedef std::map<EcalLogicID, FEConfigLUTParamDat>::const_iterator CIfeLUT;
181 typedef std::map<EcalLogicID, FEConfigFgrParamDat>::const_iterator CIfeFgr;
190 std::map<int, float> EtSatLinEB;
191 std::map<int, float> EtSatLinEE;
192 typedef std::map<int, float>::const_iterator itEtSat;
194 std::map<int, EcalTPGPhysicsConst::Item> temporaryMapEB;
195 std::map<int, EcalTPGPhysicsConst::Item> temporaryMapEE;
196 typedef std::map<int, EcalTPGPhysicsConst::Item>::iterator iterEB;
197 typedef std::map<int, EcalTPGPhysicsConst::Item>::iterator iterEE;
199 for (CIfeLin p0 = dataset_TpgPhysicsLin.begin(); p0 != dataset_TpgPhysicsLin.end(); p0++) {
200 ecidLin_xt = p0->first;
201 rd_physLin = p0->second;
205 if (ecid_nameLin ==
"EB") {
207 EtSatLinEB.insert(std::make_pair(eb.rawId(), rd_physLin.
getETSat()));
208 }
else if (ecid_nameLin ==
"EE") {
210 EtSatLinEE.insert(std::make_pair(ee.rawId(), rd_physLin.
getETSat()));
214 for (CIfeLUT
p1 = dataset_TpgPhysicsLut.begin();
p1 != dataset_TpgPhysicsLut.end();
p1++) {
215 ecidLut_xt =
p1->first;
216 rd_physLut =
p1->second;
221 if (ecid_nameLut ==
"EB") {
224 for (itEtSat it1 = EtSatLinEB.begin(); it1 != EtSatLinEB.end(); it1++) {
225 if (it1->first == (
int)eb.rawId()) {
226 float ETSatLin = it1->second;
228 if (rd_physLut.
getETSat() == ETSatLin) {
233 item.FG_lowThreshold = 0;
234 item.FG_highThreshold = 0;
235 item.FG_lowRatio = 0;
236 item.FG_highRatio = 0;
237 temporaryMapEB.insert(std::make_pair(eb.rawId(),
item));
239 throw cms::Exception(
"The values of the ETSatLin and ETSatLut are different.");
243 }
else if (ecid_nameLut ==
"EE") {
248 for (itEtSat it2 = EtSatLinEE.begin(); it2 != EtSatLinEE.end(); it2++) {
249 if (it2->first == (
int)ee.rawId()) {
250 float ETSatLin = it2->second;
252 if (rd_physLut.
getETSat() == ETSatLin) {
257 item.FG_lowThreshold = 0;
258 item.FG_highThreshold = 0;
259 item.FG_lowRatio = 0;
260 item.FG_highRatio = 0;
261 temporaryMapEE.insert(std::make_pair(ee.rawId(),
item));
263 throw cms::Exception(
"The values of the ETSatLin and ETSatLut are different.");
269 for (CIfeFgr
p2 = dataset_TpgPhysicsFgr.begin();
p2 != dataset_TpgPhysicsFgr.end();
p2++) {
270 ecidFgr_xt =
p2->first;
271 rd_physFgr =
p2->second;
276 if (ecid_nameFgr ==
"EB") {
279 for (iterEB itt = temporaryMapEB.begin(); itt != temporaryMapEB.end(); itt++) {
280 if (itt->first == (
int)eb.rawId()) {
286 physC->
setValue(eb.rawId(), itt->second);
290 }
else if (ecid_nameFgr ==
"EE") {
295 for (iterEE itEE = temporaryMapEE.begin(); itEE != temporaryMapEE.end(); itEE++) {
296 if (itEE->first == (
int)ee.rawId()) {
303 physC->
setValue(ee.rawId(), itEE->second);
320 writeFile(
"last_tpg_physC_settings.txt");
327 writeFile(
"last_tpg_physC_settings.txt");
329 std::cout <<
" even if the tag/version is not the same, the physics constants id is the same -> no " 337 std::cout <<
"ERROR: THIS CONFIG DOES NOT EXIST: tag=" << the_config_tag <<
" version=" << the_config_version
342 std::cout <<
" **************** " << std::endl;
344 }
else if (
nr == 0) {
346 std::cout <<
" no tag saved to RUN_TPGCONFIG_DAT by EcalSupervisor -> no transfer needed " << std::endl;
347 std::cout <<
" **************** " << std::endl;
352 std::cout <<
" the tag/version is the same -> no transfer needed " << std::endl;
353 std::cout <<
" **************** " << std::endl;
354 writeFile(
"last_tpg_physC_settings.txt");
360 edm::LogInfo(
"EcalTPGPhysicsConstHandler") <<
"Ecal - > end of getNewObjects -----------";
void setValue(const uint32_t &id, const Item &value)
void setRunTypeDef(const RunTypeDef &runTypeDef)
std::vector< RunIOV > getRuns()
float getTTThreshlow() const
RunList fetchGlobalRunListByLocation(const RunTag &tag, int min_run, int max_run, const LocationDef &locDef) noexcept(false)
std::string getName() const
float getTTThreshhigh() const
void fetchConfigSet(ICONF *iconf) noexcept(false)
void fetchDataSet(std::map< EcalLogicID, DATT > *fillMap, IOVT *iov) noexcept(false)
cond::TagInfo_t const & tagInfo() const
float getFGhighratio() const
unsigned int m_i_run_number
std::vector< std::pair< EcalTPGPhysicsConst *, Time_t > > m_to_transfer
void writeFile(const char *inputFile)
void setLocationDef(const LocationDef &locDef)
Log< level::Info, false > LogInfo
void readFromFile(const char *inputFile)
std::string getConfigTag() const
std::unique_ptr< EcalTPGPhysicsConst > Ref
void setConfigTag(std::string x)
EcalCondDBInterface * econn
float getFGlowthresh() const
void setGeneralTag(std::string tag)
float getFGlowratio() const
float getFGhighthresh() const