CMS 3D CMS Logo

SiteLocalConfigService.cc
Go to the documentation of this file.
1 //
3 // data catalogs are filled in "parse"
4 //
6 
7 //<<<<<< INCLUDES >>>>>>
8 
14 #include "tinyxml2.h"
15 #include <sstream>
16 #include <memory>
17 #include <boost/algorithm/string.hpp>
18 
19 //<<<<<< PRIVATE DEFINES >>>>>>
20 //<<<<<< PRIVATE CONSTANTS >>>>>>
21 //<<<<<< PRIVATE TYPES >>>>>>
22 //<<<<<< PRIVATE VARIABLE DEFINITIONS >>>>>>
23 //<<<<<< PUBLIC VARIABLE DEFINITIONS >>>>>>
24 //<<<<<< CLASS STRUCTURE INITIALIZATION >>>>>>
25 //<<<<<< PRIVATE FUNCTION DEFINITIONS >>>>>>
26 //<<<<<< PUBLIC FUNCTION DEFINITIONS >>>>>>
27 //<<<<<< MEMBER FUNCTION DEFINITIONS >>>>>>
28 
29 namespace {
30 
31  // concatenate all the XML node attribute/value pairs into a
32  // paren-separated string (for use by CORAL and frontier_client)
33  inline std::string _toParenString(tinyxml2::XMLElement const &nodeToConvert) {
34  std::ostringstream oss;
35 
36  for (auto child = nodeToConvert.FirstChildElement(); child != nullptr; child = child->NextSiblingElement()) {
37  for (auto attribute = child->FirstAttribute(); attribute != nullptr; attribute = attribute->Next()) {
38  oss << "(" << child->Name() << attribute->Name() << "=" << attribute->Value() << ")";
39  }
40  }
41  return oss.str();
42  }
43 
44  template <typename T>
45  static void overrideFromPSet(char const *iName, edm::ParameterSet const &iPSet, T &iHolder, T const *&iPointer) {
46  if (iPSet.exists(iName)) {
47  iHolder = iPSet.getUntrackedParameter<T>(iName);
48  iPointer = &iHolder;
49  }
50  }
51 
52  constexpr char const *const kEmptyString = "";
53  const char *safe(const char *iCheck) {
54  if (iCheck == nullptr) {
55  return kEmptyString;
56  }
57  return iCheck;
58  }
59 
60  std::string defaultURL() {
61  std::string returnValue;
62  const char *tmp = std::getenv("CMS_PATH");
63  if (tmp) {
64  returnValue = tmp;
65  }
66  returnValue += "/SITECONF/local/JobConfig/site-local-config.xml";
67  return returnValue;
68  }
69 
70 } // namespace
71 
72 namespace edm {
73  namespace service {
74 
76 
78  : m_url(pset.getUntrackedParameter<std::string>("siteLocalConfigFileUrl", defaultURL())),
79  m_dataCatalogs(),
80  m_frontierConnect(),
81  m_rfioType("castor"),
82  m_connected(false),
83  m_cacheTempDir(),
84  m_cacheTempDirPtr(nullptr),
85  m_cacheMinFree(),
86  m_cacheMinFreePtr(nullptr),
87  m_cacheHint(),
88  m_cacheHintPtr(nullptr),
89  m_cloneCacheHint(),
90  m_cloneCacheHintPtr(nullptr),
91  m_readHint(),
92  m_readHintPtr(nullptr),
93  m_ttreeCacheSize(0U),
94  m_ttreeCacheSizePtr(nullptr),
95  m_timeout(0U),
96  m_timeoutPtr(nullptr),
97  m_debugLevel(0U),
98  m_enablePrefetching(false),
99  m_enablePrefetchingPtr(nullptr),
100  m_nativeProtocols(),
101  m_nativeProtocolsPtr(nullptr),
102  m_statisticsDestination(),
103  m_statisticsAddrInfo(nullptr),
104  m_statisticsInfoAvail(false),
105  m_siteName() {
106  this->parse(m_url);
107 
108  //apply overrides
109  overrideFromPSet("overrideSourceCacheTempDir", pset, m_cacheTempDir, m_cacheTempDirPtr);
110  overrideFromPSet("overrideSourceCacheMinFree", pset, m_cacheMinFree, m_cacheMinFreePtr);
111  overrideFromPSet("overrideSourceCacheHintDir", pset, m_cacheHint, m_cacheHintPtr);
112  overrideFromPSet("overrideSourceCloneCacheHintDir", pset, m_cloneCacheHint, m_cloneCacheHintPtr);
113  overrideFromPSet("overrideSourceReadHint", pset, m_readHint, m_readHintPtr);
114  overrideFromPSet("overrideSourceNativeProtocols", pset, m_nativeProtocols, m_nativeProtocolsPtr);
115  overrideFromPSet("overrideSourceTTreeCacheSize", pset, m_ttreeCacheSize, m_ttreeCacheSizePtr);
116  overrideFromPSet("overrideSourceTimeout", pset, m_timeout, m_timeoutPtr);
117  overrideFromPSet("overridePrefetching", pset, m_enablePrefetching, m_enablePrefetchingPtr);
118  const std::string *tmpStringPtr = nullptr;
119  overrideFromPSet("overrideStatisticsDestination", pset, m_statisticsDestination, tmpStringPtr);
121  std::vector<std::string> tmpStatisticsInfo;
122  std::vector<std::string> const *tmpStatisticsInfoPtr = nullptr;
123  overrideFromPSet("overrideStatisticsInfo", pset, tmpStatisticsInfo, tmpStatisticsInfoPtr);
124  if (tmpStatisticsInfoPtr) {
125  m_statisticsInfoAvail = true;
126  m_statisticsInfo.clear();
127  for (auto &entry : tmpStatisticsInfo) {
129  }
130  }
131 
132  if (pset.exists("debugLevel")) {
133  m_debugLevel = pset.getUntrackedParameter<unsigned int>("debugLevel");
134  }
135  }
136 
138  if (m_statisticsAddrInfo) {
139  freeaddrinfo(m_statisticsAddrInfo);
140  m_statisticsAddrInfo = nullptr;
141  }
142  }
143 
144  std::vector<std::string> const &SiteLocalConfigService::dataCatalogs(void) const {
145  if (!m_connected) {
146  //throw cms::Exception("Incomplete configuration")
147  // << "Valid site-local-config not found at " << m_url;
148  // Return PoolFileCatalog.xml for now
149  static std::vector<std::string> const tmp{"file:PoolFileCatalog.xml"};
150  return tmp;
151  }
152 
153  if (m_dataCatalogs.empty()) {
154  throw cms::Exception("Incomplete configuration") << "Did not find catalogs in event-data section in " << m_url;
155  }
156 
157  return m_dataCatalogs;
158  }
159 
161  if (!m_connected) {
162  throw cms::Exception("Incomplete configuration") << "Valid site-local-config not found at " << m_url;
163  }
164 
165  if (m_frontierConnect.empty()) {
166  throw cms::Exception("Incomplete configuration")
167  << "Did not find frontier-connect in calib-data section in " << m_url;
168  }
169 
170  if (servlet.empty()) {
171  return m_frontierConnect;
172  }
173 
174  // Replace the last component of every "serverurl=" piece (up to the
175  // next close-paren) with the servlet
176  std::string::size_type nextparen = 0;
177  std::string::size_type serverurl, lastslash;
178  std::string complexstr = "";
179  while ((serverurl = m_frontierConnect.find("(serverurl=", nextparen)) != std::string::npos) {
180  complexstr.append(m_frontierConnect, nextparen, serverurl - nextparen);
181  nextparen = m_frontierConnect.find(')', serverurl);
182  lastslash = m_frontierConnect.rfind('/', nextparen);
183  complexstr.append(m_frontierConnect, serverurl, lastslash - serverurl + 1);
184  complexstr.append(servlet);
185  }
186  complexstr.append(m_frontierConnect, nextparen, m_frontierConnect.length() - nextparen);
187 
188  return complexstr;
189  }
190 
192  static std::string const proto = "frontier://";
193 
194  if (input.substr(0, proto.length()) == proto) {
195  // Replace the part after the frontier:// and before either an open-
196  // parentheses (which indicates user-supplied options) or the last
197  // slash (which indicates start of the schema) with the complex
198  // parenthesized string returned from frontierConnect() (which
199  // contains all the information needed to connect to frontier),
200  // if that part is a simple servlet name (non-empty and not
201  // containing special characters)
202  // Example connect strings where servlet is replaced:
203  // frontier://cms_conditions_data/CMS_COND_ECAL
204  // frontier://FrontierInt/CMS_COND_ECAL
205  // frontier://FrontierInt(retrieve-ziplevel=0)/CMS_COND_ECAL
206  // Example connect strings left untouched:
207  // frontier://cmsfrontier.cern.ch:8000/FrontierInt/CMS_COND_ECAL
208  // frontier://(serverurl=cmsfrontier.cern.ch:8000/FrontierInt)/CMS_COND_ECAL
209  std::string::size_type startservlet = proto.length();
210  // if user supplied extra parenthesized options, stop servlet there
211  std::string::size_type endservlet = input.find("(", startservlet);
212  if (endservlet == std::string::npos) {
213  endservlet = input.rfind('/', input.length());
214  }
215  std::string servlet = input.substr(startservlet, endservlet - startservlet);
216  if ((!servlet.empty()) && (servlet.find_first_of(":/)[]") == std::string::npos)) {
217  if (servlet == "cms_conditions_data") {
218  // use the default servlet from site-local-config.xml
219  servlet = "";
220  }
221  return proto + frontierConnect(servlet) + input.substr(endservlet);
222  }
223  }
224  return input;
225  }
226 
228 
230 
232 
234 
236 
238 
240 
241  unsigned int const *SiteLocalConfigService::sourceTimeout() const { return m_timeoutPtr; }
242 
245  }
246 
247  unsigned int SiteLocalConfigService::debugLevel() const { return m_debugLevel; }
248 
249  std::vector<std::string> const *SiteLocalConfigService::sourceNativeProtocols() const {
250  return m_nativeProtocolsPtr;
251  }
252 
254  return m_statisticsAddrInfo;
255  }
256 
257  std::set<std::string> const *SiteLocalConfigService::statisticsInfo() const {
258  return m_statisticsInfoAvail ? &m_statisticsInfo : nullptr;
259  }
260 
262 
264  tinyxml2::XMLDocument doc;
265  auto loadErr = doc.LoadFile(url.c_str());
266  if (loadErr != tinyxml2::XML_SUCCESS) {
267  return;
268  }
269 
270  // The Site Config has the following format
271  // <site-local-config>
272  // <site name="FNAL">
273  // <event-data>
274  // <catalog url="trivialcatalog_file:/x/y/z.xml"/>
275  // <rfiotype value="castor"/>
276  // </event-data>
277  // <calib-data>
278  // <catalog url="trivialcatalog_file:/x/y/z.xml"/>
279  // <frontier-connect>
280  // ... frontier-interpreted server/proxy xml ...
281  // </frontier-connect>
282  // </calib-data>
283  // <source-config>
284  // <cache-temp-dir name="/a/b/c"/>
285  // <cache-hint value="..."/>
286  // <read-hint value="..."/>
287  // <ttree-cache-size value="0"/>
288  // <native-protocols>
289  // <protocol prefix="dcache"/>
290  // <protocol prefix="file"/>
291  // </native-protocols>
292  // </source-config>
293  // </site>
294  // </site-local-config>
295  auto rootElement = doc.RootElement();
296 
297  for (auto site = rootElement->FirstChildElement("site"); site != nullptr;
298  site = site->NextSiblingElement("site")) {
299  // Parse the site name
300  m_siteName = safe(site->Attribute("name"));
301 
302  // Parsing of the event data section
303  {
304  auto eventData = site->FirstChildElement("event-data");
305  if (eventData) {
306  auto catalog = eventData->FirstChildElement("catalog");
307  if (catalog) {
308  m_dataCatalogs.push_back(safe(catalog->Attribute("url")));
309  catalog = catalog->NextSiblingElement("catalog");
310  while (catalog) {
311  m_dataCatalogs.push_back(safe(catalog->Attribute("url")));
312  catalog = catalog->NextSiblingElement("catalog");
313  }
314  }
315  auto rfiotype = eventData->FirstChildElement("rfiotype");
316  if (rfiotype) {
317  m_rfioType = safe(rfiotype->Attribute("value"));
318  }
319  }
320  }
321 
322  // Parsing of the calib-data section
323  {
324  auto calibData = site->FirstChildElement("calib-data");
325 
326  if (calibData) {
327  auto frontierConnect = calibData->FirstChildElement("frontier-connect");
328 
329  if (frontierConnect) {
330  m_frontierConnect = _toParenString(*frontierConnect);
331  }
332  }
333  }
334  // Parsing of the source config section
335  {
336  auto sourceConfig = site->FirstChildElement("source-config");
337 
338  if (sourceConfig) {
339  auto cacheTempDir = sourceConfig->FirstChildElement("cache-temp-dir");
340 
341  if (cacheTempDir) {
342  m_cacheTempDir = safe(cacheTempDir->Attribute("name"));
344  }
345 
346  auto cacheMinFree = sourceConfig->FirstChildElement("cache-min-free");
347 
348  if (cacheMinFree) {
349  //TODO what did xerces do if it couldn't convert?
350  m_cacheMinFree = cacheMinFree->DoubleAttribute("value");
352  }
353 
354  auto cacheHint = sourceConfig->FirstChildElement("cache-hint");
355 
356  if (cacheHint) {
357  m_cacheHint = safe(cacheHint->Attribute("value"));
359  }
360 
361  auto cloneCacheHint = sourceConfig->FirstChildElement("clone-cache-hint");
362 
363  if (cloneCacheHint) {
364  m_cloneCacheHint = safe(cloneCacheHint->Attribute("value"));
366  }
367 
368  auto readHint = sourceConfig->FirstChildElement("read-hint");
369 
370  if (readHint) {
371  m_readHint = safe(readHint->Attribute("value"));
373  }
374 
375  auto ttreeCacheSize = sourceConfig->FirstChildElement("ttree-cache-size");
376 
377  if (ttreeCacheSize) {
378  m_ttreeCacheSize = ttreeCacheSize->UnsignedAttribute("value");
380  }
381 
382  auto timeout = sourceConfig->FirstChildElement("timeout-in-seconds");
383 
384  if (timeout) {
385  m_timeout = timeout->UnsignedAttribute("value");
387  }
388 
389  auto statsDest = sourceConfig->FirstChildElement("statistics-destination");
390 
391  if (statsDest) {
392  m_statisticsDestination = safe(statsDest->Attribute("endpoint"));
393  if (m_statisticsDestination.empty()) {
394  m_statisticsDestination = safe(statsDest->Attribute("name"));
395  }
396  std::string tmpStatisticsInfo = safe(statsDest->Attribute("info"));
397  boost::split(m_statisticsInfo, tmpStatisticsInfo, boost::is_any_of("\t ,"));
398  m_statisticsInfoAvail = !tmpStatisticsInfo.empty();
399  }
400 
401  auto prefetching = sourceConfig->FirstChildElement("prefetching");
402 
403  if (prefetching) {
404  m_enablePrefetching = prefetching->BoolAttribute("value");
406  }
407 
408  auto nativeProtocol = sourceConfig->FirstChildElement("native-protocols");
409 
410  if (nativeProtocol) {
411  for (auto child = nativeProtocol->FirstChildElement(); child != nullptr;
412  child = child->NextSiblingElement()) {
413  m_nativeProtocols.push_back(safe(child->Attribute("prefix")));
414  }
416  }
417  }
418  }
419  }
420  m_connected = true;
421  }
422 
424  std::vector<std::string> inputStrings;
425  boost::split(inputStrings, m_statisticsDestination, boost::is_any_of(":"));
426  const std::string &host = inputStrings[0];
427  const std::string &port = (inputStrings.size() > 1) ? inputStrings[1] : m_statisticsDefaultPort;
428  struct addrinfo *res;
429  struct addrinfo hints;
430  memset(&hints, '\0', sizeof(hints));
431  hints.ai_socktype = SOCK_DGRAM;
432  hints.ai_flags = AI_ADDRCONFIG;
433  hints.ai_family = AF_UNSPEC;
434  int e = getaddrinfo(host.c_str(), port.c_str(), &hints, &res);
435  if (e != 0) {
436  // Silent failure - there's no way to report non-fatal failures from here.
437  return;
438  }
440  }
441 
444  desc.setComment("Service to translate logical file names to physical file names.");
445 
446  desc.addOptionalUntracked<std::string>("siteLocalConfigFileUrl", std::string())
447  ->setComment(
448  "Specify the file containing the site local config. Empty string will load from default directory.");
449  desc.addOptionalUntracked<std::string>("overrideSourceCacheTempDir");
450  desc.addOptionalUntracked<double>("overrideSourceCacheMinFree");
451  desc.addOptionalUntracked<std::string>("overrideSourceCacheHintDir");
452  desc.addOptionalUntracked<std::string>("overrideSourceCloneCacheHintDir")
453  ->setComment("Provide an alternate cache hint for fast cloning.");
454  desc.addOptionalUntracked<std::string>("overrideSourceReadHint");
455  desc.addOptionalUntracked<std::vector<std::string> >("overrideSourceNativeProtocols");
456  desc.addOptionalUntracked<unsigned int>("overrideSourceTTreeCacheSize");
457  desc.addOptionalUntracked<unsigned int>("overrideSourceTimeout");
458  desc.addOptionalUntracked<unsigned int>("debugLevel");
459  desc.addOptionalUntracked<bool>("overridePrefetching")
460  ->setComment("Request ROOT to asynchronously prefetch I/O during computation.");
461  desc.addOptionalUntracked<std::string>("overrideStatisticsDestination")
462  ->setComment(
463  "Provide an alternate network destination for I/O statistics (must be in the form of host:port).");
464  desc.addOptionalUntracked<std::vector<std::string> >("overrideStatisticsInfo")
465  ->setComment(
466  "Provide an alternate listing of statistics to send (comma separated list; current options are 'dn' or "
467  "'nodn'). If left blank, all information is snet (including DNs).");
468 
469  descriptions.add("SiteLocalConfigService", desc);
470  }
471  } // namespace service
472 } // namespace edm
ConfigurationDescriptions.h
service
Definition: service.py:1
edm::service::SiteLocalConfigService::m_nativeProtocols
std::vector< std::string > m_nativeProtocols
Definition: SiteLocalConfigService.h:83
common_cff.doc
doc
Definition: common_cff.py:54
relmon_authenticated_wget.url
url
Definition: relmon_authenticated_wget.py:22
input
static const std::string input
Definition: EdmProvDump.cc:48
funct::false
false
Definition: Factorize.h:34
edm::service::SiteLocalConfigService::m_cacheHintPtr
std::string const * m_cacheHintPtr
Definition: SiteLocalConfigService.h:71
getEcalConditions_orcoffint2r_cff.catalog
catalog
Definition: getEcalConditions_orcoffint2r_cff.py:40
edm::service::SiteLocalConfigService::m_statisticsInfo
std::set< std::string > m_statisticsInfo
Definition: SiteLocalConfigService.h:88
edm::service::SiteLocalConfigService::computeStatisticsDestination
void computeStatisticsDestination()
Definition: SiteLocalConfigService.cc:423
edm
HLT enums.
Definition: AlignableModifier.h:19
mps_splice.entry
entry
Definition: mps_splice.py:68
edm::service::SiteLocalConfigService::m_rfioType
std::string m_rfioType
Definition: SiteLocalConfigService.h:64
edm::service::SiteLocalConfigService::m_ttreeCacheSizePtr
unsigned int const * m_ttreeCacheSizePtr
Definition: SiteLocalConfigService.h:77
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
edm::service::SiteLocalConfigService::debugLevel
unsigned int debugLevel() const override
Definition: SiteLocalConfigService.cc:247
fwlite::kEmptyString
static const char kEmptyString[1]
Definition: DataGetterHelper.cc:47
edm::service::SiteLocalConfigService::m_readHintPtr
std::string const * m_readHintPtr
Definition: SiteLocalConfigService.h:75
edm::service::SiteLocalConfigService::siteName
std::string const & siteName() const override
Definition: SiteLocalConfigService.cc:261
edm::service::SiteLocalConfigService::m_cacheHint
std::string m_cacheHint
Definition: SiteLocalConfigService.h:70
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::service::SiteLocalConfigService::dataCatalogs
std::vector< std::string > const & dataCatalogs(void) const override
Definition: SiteLocalConfigService.cc:144
cms::dd::split
std::vector< std::string_view > split(std::string_view, const char *)
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
edm::service::SiteLocalConfigService::SiteLocalConfigService
SiteLocalConfigService(ParameterSet const &pset)
Definition: SiteLocalConfigService.cc:77
watchdog.const
const
Definition: watchdog.py:83
edm::service::SiteLocalConfigService::statisticsInfo
std::set< std::string > const * statisticsInfo() const override
Definition: SiteLocalConfigService.cc:257
edm::service::SiteLocalConfigService::m_timeout
unsigned int m_timeout
Definition: SiteLocalConfigService.h:78
edm::service::SiteLocalConfigService::sourceTTreeCacheSize
unsigned int const * sourceTTreeCacheSize() const override
Definition: SiteLocalConfigService.cc:239
edm::ParameterSetDescription::addOptionalUntracked
ParameterDescriptionBase * addOptionalUntracked(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:110
edm::service::SiteLocalConfigService::frontierConnect
const std::string frontierConnect(std::string const &servlet) const
Definition: SiteLocalConfigService.cc:160
edm::service::SiteLocalConfigService::m_enablePrefetching
bool m_enablePrefetching
Definition: SiteLocalConfigService.h:81
edm::service::SiteLocalConfigService::m_connected
bool m_connected
Definition: SiteLocalConfigService.h:65
query.host
host
Definition: query.py:115
edm::service::SiteLocalConfigService::m_url
std::string m_url
Definition: SiteLocalConfigService.h:61
trigger::size_type
uint16_t size_type
Definition: TriggerTypeDefs.h:18
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
edm::service::SiteLocalConfigService::enablePrefetching
bool enablePrefetching() const override
Definition: SiteLocalConfigService.cc:243
edm::service::SiteLocalConfigService::m_cacheMinFree
double m_cacheMinFree
Definition: SiteLocalConfigService.h:68
edm::service::SiteLocalConfigService::sourceCacheHint
std::string const * sourceCacheHint() const override
Definition: SiteLocalConfigService.cc:233
edm::service::SiteLocalConfigService::sourceCacheTempDir
std::string const * sourceCacheTempDir() const override
Definition: SiteLocalConfigService.cc:229
edm::service::SiteLocalConfigService::m_statisticsInfoAvail
bool m_statisticsInfoAvail
Definition: SiteLocalConfigService.h:89
ParameterSetDescription.h
edm::service::SiteLocalConfigService::m_timeoutPtr
unsigned int const * m_timeoutPtr
Definition: SiteLocalConfigService.h:79
edm::service::SiteLocalConfigService::m_cacheTempDirPtr
std::string const * m_cacheTempDirPtr
Definition: SiteLocalConfigService.h:67
edm::service::SiteLocalConfigService::~SiteLocalConfigService
~SiteLocalConfigService() override
Definition: SiteLocalConfigService.cc:137
edm::service::SiteLocalConfigService::m_frontierConnect
std::string m_frontierConnect
Definition: SiteLocalConfigService.h:63
mitigatedMETSequence_cff.U
U
Definition: mitigatedMETSequence_cff.py:36
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
edm::service::SiteLocalConfigService::parse
void parse(std::string const &url)
Definition: SiteLocalConfigService.cc:263
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::service::SiteLocalConfigService::m_readHint
std::string m_readHint
Definition: SiteLocalConfigService.h:74
edm::ParameterSet::exists
bool exists(std::string const &parameterName) const
checks if a parameter exists
Definition: ParameterSet.cc:674
edm::service::SiteLocalConfigService::sourceCloneCacheHint
std::string const * sourceCloneCacheHint() const override
Definition: SiteLocalConfigService.cc:235
edm::ParameterSet
Definition: ParameterSet.h:36
edm::ParameterSetDescription::setComment
void setComment(std::string const &value)
Definition: ParameterSetDescription.cc:33
edm::service::SiteLocalConfigService::m_cacheMinFreePtr
double const * m_cacheMinFreePtr
Definition: SiteLocalConfigService.h:69
edm::service::SiteLocalConfigService::sourceCacheMinFree
double const * sourceCacheMinFree() const override
Definition: SiteLocalConfigService.cc:231
edm::service::SiteLocalConfigService::fillDescriptions
static void fillDescriptions(ConfigurationDescriptions &descriptions)
Definition: SiteLocalConfigService.cc:442
edm::service::SiteLocalConfigService::m_siteName
std::string m_siteName
Definition: SiteLocalConfigService.h:90
edm::service::SiteLocalConfigService::statisticsDestination
struct addrinfo const * statisticsDestination() const override
Definition: SiteLocalConfigService.cc:253
edm::service::SiteLocalConfigService::m_statisticsDefaultPort
static const std::string m_statisticsDefaultPort
Definition: SiteLocalConfigService.h:87
timeout
Definition: timeout.py:1
edm::service::SiteLocalConfigService::m_cloneCacheHintPtr
std::string const * m_cloneCacheHintPtr
Definition: SiteLocalConfigService.h:73
res
Definition: Electron.h:6
edm::service::SiteLocalConfigService::sourceTimeout
unsigned int const * sourceTimeout() const override
Definition: SiteLocalConfigService.cc:241
edm::service::SiteLocalConfigService::m_cacheTempDir
std::string m_cacheTempDir
Definition: SiteLocalConfigService.h:66
eostools.move
def move(src, dest)
Definition: eostools.py:511
std
Definition: JetResolutionObject.h:76
query.port
port
Definition: query.py:116
edm::service::SiteLocalConfigService::m_nativeProtocolsPtr
std::vector< std::string > const * m_nativeProtocolsPtr
Definition: SiteLocalConfigService.h:84
T
long double T
Definition: Basic3DVectorLD.h:48
edm::service::SiteLocalConfigService::m_ttreeCacheSize
unsigned int m_ttreeCacheSize
Definition: SiteLocalConfigService.h:76
edm::service::SiteLocalConfigService::m_cloneCacheHint
std::string m_cloneCacheHint
Definition: SiteLocalConfigService.h:72
Exception
Definition: hltDiff.cc:246
edm::service::SiteLocalConfigService::m_dataCatalogs
std::vector< std::string > m_dataCatalogs
Definition: SiteLocalConfigService.h:62
Exception.h
edm::service::SiteLocalConfigService::m_statisticsDestination
std::string m_statisticsDestination
Definition: SiteLocalConfigService.h:85
edm::service::SiteLocalConfigService::lookupCalibConnect
const std::string lookupCalibConnect(std::string const &input) const override
Definition: SiteLocalConfigService.cc:191
edm::service::SiteLocalConfigService::sourceReadHint
std::string const * sourceReadHint() const override
Definition: SiteLocalConfigService.cc:237
ParameterSet.h
edm::service::SiteLocalConfigService::m_enablePrefetchingPtr
bool const * m_enablePrefetchingPtr
Definition: SiteLocalConfigService.h:82
edm::service::SiteLocalConfigService::sourceNativeProtocols
std::vector< std::string > const * sourceNativeProtocols() const override
Definition: SiteLocalConfigService.cc:249
child
Definition: simpleInheritance.h:11
edm::service::SiteLocalConfigService::m_debugLevel
unsigned int m_debugLevel
Definition: SiteLocalConfigService.h:80
edm::service::SiteLocalConfigService::rfioType
const std::string rfioType(void) const override
Definition: SiteLocalConfigService.cc:227
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
edm::service::SiteLocalConfigService::m_statisticsAddrInfo
edm::propagate_const< struct addrinfo * > m_statisticsAddrInfo
Definition: SiteLocalConfigService.h:86
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
SiteLocalConfigService.h