CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
StorageFactory Class Reference

#include <StorageFactory.h>

Public Types

enum  CacheHint { CACHE_HINT_APPLICATION, CACHE_HINT_STORAGE, CACHE_HINT_LAZY_DOWNLOAD, CACHE_HINT_AUTO_DETECT }
 
enum  ReadHint { READ_HINT_UNBUFFERED, READ_HINT_READAHEAD, READ_HINT_AUTO }
 

Public Member Functions

bool accounting (void) const
 
CacheHint cacheHint (void) const
 
bool check (const std::string &url, IOOffset *size=nullptr) const
 
unsigned int debugLevel (void) const
 
bool enableAccounting (bool enabled)
 
std::unique_ptr< Storageopen (const std::string &url, int mode=IOFlags::OpenRead) const
 
ReadHint readHint (void) const
 
void setCacheHint (CacheHint value)
 
void setDebugLevel (unsigned int level)
 
void setReadHint (ReadHint value)
 
void setTempDir (const std::string &s, double minFreeSpace)
 
void setTimeout (unsigned int timeout)
 
void stagein (const std::string &url) const
 
std::string tempDir (void) const
 
double tempMinFree (void) const
 
std::string tempPath (void) const
 
unsigned int timeout (void) const
 
std::unique_ptr< StoragewrapNonLocalFile (std::unique_ptr< Storage > s, const std::string &proto, const std::string &path, int mode) const
 
 ~StorageFactory (void)
 

Static Public Member Functions

static const StorageFactoryget (void)
 
static StorageFactorygetToModify (void)
 

Private Types

typedef tbb::concurrent_unordered_map< std::string, std::shared_ptr< StorageMaker > > MakerTable
 

Private Member Functions

StorageMakergetMaker (const std::string &proto) const
 
StorageMakergetMaker (const std::string &url, std::string &protocol, std::string &rest) const
 
 StorageFactory (void)
 

Private Attributes

bool m_accounting
 
CacheHint m_cacheHint
 
unsigned int m_debugLevel
 
LocalFileSystem m_lfs
 
MakerTable m_makers
 
ReadHint m_readHint
 
std::string m_tempdir
 
double m_tempfree
 
std::string m_temppath
 
unsigned int m_timeout
 
std::string m_unusableDirWarnings
 

Static Private Attributes

static StorageFactory s_instance
 

Detailed Description

Definition at line 13 of file StorageFactory.h.

Member Typedef Documentation

◆ MakerTable

typedef tbb::concurrent_unordered_map<std::string, std::shared_ptr<StorageMaker> > StorageFactory::MakerTable
private

Definition at line 57 of file StorageFactory.h.

Member Enumeration Documentation

◆ CacheHint

Enumerator
CACHE_HINT_APPLICATION 
CACHE_HINT_STORAGE 
CACHE_HINT_LAZY_DOWNLOAD 
CACHE_HINT_AUTO_DETECT 

Definition at line 15 of file StorageFactory.h.

◆ ReadHint

Enumerator
READ_HINT_UNBUFFERED 
READ_HINT_READAHEAD 
READ_HINT_AUTO 

Definition at line 17 of file StorageFactory.h.

Constructor & Destructor Documentation

◆ ~StorageFactory()

StorageFactory::~StorageFactory ( void  )

Definition at line 26 of file StorageFactory.cc.

26 {}

◆ StorageFactory()

StorageFactory::StorageFactory ( void  )
private

Definition at line 15 of file StorageFactory.cc.

18  m_accounting(false),
19  m_tempfree(4.), // GB
20  m_temppath(".:$TMPDIR"),
21  m_timeout(0U),
22  m_debugLevel(0U) {
24 }

References m_tempfree, m_temppath, and setTempDir().

Member Function Documentation

◆ accounting()

bool StorageFactory::accounting ( void  ) const

Definition at line 38 of file StorageFactory.cc.

38 { return m_accounting; }

References m_accounting.

Referenced by wrapNonLocalFile().

◆ cacheHint()

StorageFactory::CacheHint StorageFactory::cacheHint ( void  ) const

Definition at line 42 of file StorageFactory.cc.

42 { return m_cacheHint; }

References m_cacheHint.

Referenced by wrapNonLocalFile().

◆ check()

bool StorageFactory::check ( const std::string &  url,
IOOffset size = nullptr 
) const

Definition at line 181 of file StorageFactory.cc.

181  {
182  std::string protocol;
184 
185  bool ret = false;
186  std::unique_ptr<StorageAccount::Stamp> stats;
187  if (StorageMaker *maker = getMaker(url, protocol, rest)) {
188  if (m_accounting) {
190  stats = std::make_unique<StorageAccount::Stamp>(StorageAccount::counter(token, StorageAccount::Operation::check));
191  }
192  try {
193  ret = maker->check(
195  if (stats)
196  stats->tick();
197  } catch (cms::Exception &err) {
198  edm::LogWarning("StorageFactory::check()")
199  << "Existence or size check for the file '" << url << "' failed because:\n"
200  << err.explainSelf();
201  }
202  }
203 
204  return ret;
205 }

References StorageAccount::check, StorageAccount::counter(), submitPVResolutionJobs::err, getMaker(), m_accounting, m_debugLevel, m_timeout, mergeAndRegister::rest, runTheMatrix::ret, StorageMaker::AuxSettings::setDebugLevel(), StorageMaker::AuxSettings::setTimeout(), findQualityFiles::size, dqmMemoryStats::stats, AlCaHLTBitMon_QueryRunRegistry::string, unpackBuffers-CaloStage2::token, StorageAccount::tokenForStorageClassName(), and relmon_authenticated_wget::url.

Referenced by TStorageFactorySystem::AccessPathName(), and PixelSLinkDataInputSource::PixelSLinkDataInputSource().

◆ debugLevel()

unsigned int StorageFactory::debugLevel ( void  ) const

Definition at line 54 of file StorageFactory.cc.

54 { return m_debugLevel; }

References m_debugLevel.

◆ enableAccounting()

bool StorageFactory::enableAccounting ( bool  enabled)

Definition at line 32 of file StorageFactory.cc.

32  {
33  bool old = m_accounting;
35  return old;
36 }

References pixel_dqm_sourceclient-live_cfg::enabled, and m_accounting.

Referenced by PixelSLinkDataInputSource::PixelSLinkDataInputSource().

◆ get()

const StorageFactory * StorageFactory::get ( void  )
static

◆ getMaker() [1/2]

StorageMaker * StorageFactory::getMaker ( const std::string &  proto) const
private

Definition at line 96 of file StorageFactory.cc.

96  {
97  auto itFound = m_makers.find(proto);
98  if (itFound != m_makers.end()) {
99  return itFound->second.get();
100  }
103  }
104  std::shared_ptr<StorageMaker> instance{StorageMakerFactory::get()->tryToCreate(proto)};
105  auto insertResult = m_makers.insert(MakerTable::value_type(proto, instance));
106  //Can't use instance since it is possible that another thread beat
107  // us to the insertion so the map contains a different instance.
108  return insertResult.first->second.get();
109 }

References edmplugin::standard::config(), edmplugin::PluginManager::configure(), get, instance, edmplugin::PluginManager::isAvailable(), and m_makers.

Referenced by check(), getMaker(), open(), and stagein().

◆ getMaker() [2/2]

StorageMaker * StorageFactory::getMaker ( const std::string &  url,
std::string &  protocol,
std::string &  rest 
) const
private

Definition at line 111 of file StorageFactory.cc.

111  {
112  size_t p = url.find(':');
113  if (p != std::string::npos) {
114  protocol = url.substr(0, p);
115  rest = url.substr(p + 1);
116  } else {
117  protocol = "file";
118  rest = url;
119  }
120 
121  return getMaker(protocol);
122 }

References getMaker(), AlCaHLTBitMon_ParallelJobs::p, mergeAndRegister::rest, and relmon_authenticated_wget::url.

◆ getToModify()

StorageFactory * StorageFactory::getToModify ( void  )
static

Definition at line 30 of file StorageFactory.cc.

30 { return &s_instance; }

References s_instance.

Referenced by PixelSLinkDataInputSource::PixelSLinkDataInputSource(), and TFileAdaptor::TFileAdaptor().

◆ open()

std::unique_ptr< Storage > StorageFactory::open ( const std::string &  url,
int  mode = IOFlags::OpenRead 
) const

Definition at line 124 of file StorageFactory.cc.

124  {
125  std::string protocol;
127  std::unique_ptr<Storage> ret;
128  std::unique_ptr<StorageAccount::Stamp> stats;
129  if (StorageMaker *maker = getMaker(url, protocol, rest)) {
130  if (m_accounting) {
132  stats = std::make_unique<StorageAccount::Stamp>(StorageAccount::counter(token, StorageAccount::Operation::open));
133  }
134  try {
135  if (auto storage = maker->open(
137  if (dynamic_cast<LocalCacheFile *>(storage.get()))
138  protocol = "local-cache";
139 
140  if (m_accounting)
141  ret = std::make_unique<StorageAccountProxy>(protocol, std::move(storage));
142  else
143  ret = std::move(storage);
144 
145  if (stats)
146  stats->tick();
147  }
148  } catch (cms::Exception &err) {
149  err.addContext("Calling StorageFactory::open()");
150  err.addAdditionalInfo(err.message());
151  err.clearMessage();
152  err << "Failed to open the file '" << url << "'";
153  throw;
154  }
155  }
156  return ret;
157 }

References StorageAccount::counter(), submitPVResolutionJobs::err, getMaker(), m_accounting, m_debugLevel, m_timeout, ALCARECOPromptCalibProdSiPixelAli0T_cff::mode, eostools::move(), StorageAccount::open, mergeAndRegister::rest, runTheMatrix::ret, StorageMaker::AuxSettings::setDebugLevel(), StorageMaker::AuxSettings::setTimeout(), dqmMemoryStats::stats, AlCaHLTBitMon_QueryRunRegistry::string, unpackBuffers-CaloStage2::token, StorageAccount::tokenForStorageClassName(), and relmon_authenticated_wget::url.

Referenced by lhef::LHEReader::FileSource::FileSource(), edm::StreamerInputFile::openStreamerFile(), and PixelSLinkDataInputSource::PixelSLinkDataInputSource().

◆ readHint()

StorageFactory::ReadHint StorageFactory::readHint ( void  ) const

Definition at line 46 of file StorageFactory.cc.

46 { return m_readHint; }

References m_readHint.

◆ setCacheHint()

void StorageFactory::setCacheHint ( CacheHint  value)

Definition at line 40 of file StorageFactory.cc.

40 { m_cacheHint = value; }

References m_cacheHint, and relativeConstraints::value.

◆ setDebugLevel()

void StorageFactory::setDebugLevel ( unsigned int  level)

Definition at line 52 of file StorageFactory.cc.

52 { m_debugLevel = level; }

References personalPlayback::level, and m_debugLevel.

◆ setReadHint()

void StorageFactory::setReadHint ( ReadHint  value)

Definition at line 44 of file StorageFactory.cc.

44 { m_readHint = value; }

References m_readHint, and relativeConstraints::value.

◆ setTempDir()

void StorageFactory::setTempDir ( const std::string &  s,
double  minFreeSpace 
)

Definition at line 56 of file StorageFactory.cc.

56  {
57 #if 0
58  std::cerr /* edm::LogInfo("StorageFactory") */
59  << "Considering path '" << s
60  << "', min free space " << minFreeSpace
61  << "GB for temp dir" << std::endl;
62 #endif
63 
64  size_t begin = 0;
65  std::vector<std::string> dirs;
66  dirs.reserve(std::count(s.begin(), s.end(), ':') + 1);
67 
68  while (true) {
69  size_t end = s.find(':', begin);
70  if (end == std::string::npos) {
71  dirs.push_back(s.substr(begin, end));
72  break;
73  } else {
74  dirs.push_back(s.substr(begin, end - begin));
75  begin = end + 1;
76  }
77  }
78 
79  m_temppath = s;
80  m_tempfree = minFreeSpace;
81  std::tie(m_tempdir, m_unusableDirWarnings) = m_lfs.findCachePath(dirs, minFreeSpace);
82 
83 #if 0
84  std::cerr /* edm::LogInfo("StorageFactory") */
85  << "Using '" << m_tempdir << "' for temp dir"
86  << std::endl;
87 #endif
88 }

References EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0::cerr, submitPVResolutionJobs::count, heppy_check::dirs, mps_fire::end, LocalFileSystem::findCachePath(), m_lfs, m_tempdir, m_tempfree, m_temppath, m_unusableDirWarnings, and alignCSCRings::s.

Referenced by StorageFactory().

◆ setTimeout()

void StorageFactory::setTimeout ( unsigned int  timeout)

Definition at line 48 of file StorageFactory.cc.

48 { m_timeout = timeout; }

References m_timeout, and timeout().

◆ stagein()

void StorageFactory::stagein ( const std::string &  url) const

Definition at line 159 of file StorageFactory.cc.

159  {
160  std::string protocol;
162 
163  std::unique_ptr<StorageAccount::Stamp> stats;
164  if (StorageMaker *maker = getMaker(url, protocol, rest)) {
165  if (m_accounting) {
167  stats =
168  std::make_unique<StorageAccount::Stamp>(StorageAccount::counter(token, StorageAccount::Operation::stagein));
169  }
170  try {
172  if (stats)
173  stats->tick();
174  } catch (cms::Exception &err) {
175  edm::LogWarning("StorageFactory::stagein()") << "Failed to stage in file '" << url << "' because:\n"
176  << err.explainSelf();
177  }
178  }
179 }

References StorageAccount::counter(), submitPVResolutionJobs::err, getMaker(), m_accounting, m_debugLevel, m_timeout, mergeAndRegister::rest, StorageMaker::AuxSettings::setDebugLevel(), StorageMaker::AuxSettings::setTimeout(), StorageAccount::stagein, dqmMemoryStats::stats, AlCaHLTBitMon_QueryRunRegistry::string, unpackBuffers-CaloStage2::token, StorageAccount::tokenForStorageClassName(), and relmon_authenticated_wget::url.

Referenced by edm::RootPrimaryFileSequence::RootPrimaryFileSequence(), and edm::RootSecondaryFileSequence::RootSecondaryFileSequence().

◆ tempDir()

std::string StorageFactory::tempDir ( void  ) const

Definition at line 90 of file StorageFactory.cc.

90 { return m_tempdir; }

References m_tempdir.

◆ tempMinFree()

double StorageFactory::tempMinFree ( void  ) const

Definition at line 94 of file StorageFactory.cc.

94 { return m_tempfree; }

References m_tempfree.

◆ tempPath()

std::string StorageFactory::tempPath ( void  ) const

Definition at line 92 of file StorageFactory.cc.

92 { return m_temppath; }

References m_temppath.

◆ timeout()

unsigned int StorageFactory::timeout ( void  ) const

Definition at line 50 of file StorageFactory.cc.

50 { return m_timeout; }

References m_timeout.

Referenced by setTimeout().

◆ wrapNonLocalFile()

std::unique_ptr< Storage > StorageFactory::wrapNonLocalFile ( std::unique_ptr< Storage s,
const std::string &  proto,
const std::string &  path,
int  mode 
) const

Definition at line 207 of file StorageFactory.cc.

210  {
213  if (mode & IOFlags::OpenWrite) {
214  // For now, issue no warning - otherwise, we'd always warn on output files.
215  } else if (m_tempdir.empty()) {
216  edm::LogWarning("StorageFactory") << m_unusableDirWarnings;
217  } else if ((not path.empty()) and m_lfs.isLocalPath(path)) {
218  // For now, issue no warning - otherwise, we'd always warn on local input files.
219  } else {
220  if (accounting()) {
221  s = std::make_unique<StorageAccountProxy>(proto, std::move(s));
222  }
223  s = std::make_unique<LocalCacheFile>(std::move(s), m_tempdir);
224  }
225  }
226 
227  return s;
228 }

References accounting(), CACHE_HINT_LAZY_DOWNLOAD, cacheHint(), LocalFileSystem::isLocalPath(), m_lfs, m_tempdir, m_unusableDirWarnings, ALCARECOPromptCalibProdSiPixelAli0T_cff::mode, eostools::move(), IOFlags::OpenWrap, IOFlags::OpenWrite, castor_dqm_sourceclient_file_cfg::path, and alignCSCRings::s.

Member Data Documentation

◆ m_accounting

bool StorageFactory::m_accounting
private

Definition at line 66 of file StorageFactory.h.

Referenced by accounting(), check(), enableAccounting(), open(), and stagein().

◆ m_cacheHint

CacheHint StorageFactory::m_cacheHint
private

Definition at line 64 of file StorageFactory.h.

Referenced by cacheHint(), and setCacheHint().

◆ m_debugLevel

unsigned int StorageFactory::m_debugLevel
private

Definition at line 72 of file StorageFactory.h.

Referenced by check(), debugLevel(), open(), setDebugLevel(), and stagein().

◆ m_lfs

LocalFileSystem StorageFactory::m_lfs
private

Definition at line 73 of file StorageFactory.h.

Referenced by setTempDir(), and wrapNonLocalFile().

◆ m_makers

MakerTable StorageFactory::m_makers
mutableprivate

Definition at line 63 of file StorageFactory.h.

Referenced by getMaker().

◆ m_readHint

ReadHint StorageFactory::m_readHint
private

Definition at line 65 of file StorageFactory.h.

Referenced by readHint(), and setReadHint().

◆ m_tempdir

std::string StorageFactory::m_tempdir
private

Definition at line 69 of file StorageFactory.h.

Referenced by setTempDir(), tempDir(), and wrapNonLocalFile().

◆ m_tempfree

double StorageFactory::m_tempfree
private

Definition at line 67 of file StorageFactory.h.

Referenced by setTempDir(), StorageFactory(), and tempMinFree().

◆ m_temppath

std::string StorageFactory::m_temppath
private

Definition at line 68 of file StorageFactory.h.

Referenced by setTempDir(), StorageFactory(), and tempPath().

◆ m_timeout

unsigned int StorageFactory::m_timeout
private

Definition at line 71 of file StorageFactory.h.

Referenced by check(), open(), setTimeout(), stagein(), and timeout().

◆ m_unusableDirWarnings

std::string StorageFactory::m_unusableDirWarnings
private

Definition at line 70 of file StorageFactory.h.

Referenced by setTempDir(), and wrapNonLocalFile().

◆ s_instance

StorageFactory StorageFactory::s_instance
staticprivate

Definition at line 74 of file StorageFactory.h.

Referenced by get(), and getToModify().

personalPlayback.level
level
Definition: personalPlayback.py:22
runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:373
relmon_authenticated_wget.url
url
Definition: relmon_authenticated_wget.py:22
StorageFactory::m_lfs
LocalFileSystem m_lfs
Definition: StorageFactory.h:73
StorageFactory::CacheHint
CacheHint
Definition: StorageFactory.h:15
heppy_check.dirs
dirs
Definition: heppy_check.py:26
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
StorageFactory::READ_HINT_UNBUFFERED
Definition: StorageFactory.h:17
ALCARECOPromptCalibProdSiPixelAli0T_cff.mode
mode
Definition: ALCARECOPromptCalibProdSiPixelAli0T_cff.py:96
StorageMaker
Definition: StorageMaker.h:9
StorageMaker::AuxSettings::setTimeout
AuxSettings & setTimeout(unsigned int iTime)
Definition: StorageMaker.h:20
IOFlags::OpenWrap
Definition: IOFlags.h:35
IOFlags::OpenWrite
Definition: IOFlags.h:8
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
StorageFactory::READ_HINT_READAHEAD
Definition: StorageFactory.h:17
StorageFactory::accounting
bool accounting(void) const
Definition: StorageFactory.cc:38
alignCSCRings.s
s
Definition: alignCSCRings.py:92
LocalFileSystem::findCachePath
std::pair< std::string, std::string > findCachePath(const std::vector< std::string > &paths, double minFreeSpace) const
Definition: LocalFileSystem.cc:426
StorageFactory::m_tempdir
std::string m_tempdir
Definition: StorageFactory.h:69
StorageFactory::CACHE_HINT_LAZY_DOWNLOAD
Definition: StorageFactory.h:15
mps_fire.end
end
Definition: mps_fire.py:242
StorageAccount::Operation::check
submitPVResolutionJobs.count
count
Definition: submitPVResolutionJobs.py:352
StorageFactory::READ_HINT_AUTO
Definition: StorageFactory.h:17
StorageFactory::m_debugLevel
unsigned int m_debugLevel
Definition: StorageFactory.h:72
mitigatedMETSequence_cff.U
U
Definition: mitigatedMETSequence_cff.py:36
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
StorageFactory::s_instance
static StorageFactory s_instance
Definition: StorageFactory.h:74
edmplugin::PluginManager::configure
static PluginManager & configure(const Config &)
Definition: PluginManager.cc:315
StorageFactory::m_accounting
bool m_accounting
Definition: StorageFactory.h:66
StorageAccount::Operation::open
StorageAccount::tokenForStorageClassName
static StorageClassToken tokenForStorageClassName(std::string const &iName)
Definition: StorageAccount.cc:38
StorageFactory::CACHE_HINT_AUTO_DETECT
Definition: StorageFactory.h:15
StorageFactory::m_cacheHint
CacheHint m_cacheHint
Definition: StorageFactory.h:64
StorageMaker::AuxSettings::setDebugLevel
AuxSettings & setDebugLevel(unsigned int iLevel)
Definition: StorageMaker.h:15
dqmMemoryStats.stats
stats
Definition: dqmMemoryStats.py:134
edmplugin::standard::config
PluginManager::Config config()
Definition: standard.cc:21
reco::JetExtendedAssociation::value_type
Container::value_type value_type
Definition: JetExtendedAssociation.h:30
submitPVResolutionJobs.err
err
Definition: submitPVResolutionJobs.py:85
get
#define get
StorageAccount::Operation::stagein
instance
static PFTauRenderPlugin instance
Definition: PFTauRenderPlugin.cc:70
StorageFactory::m_timeout
unsigned int m_timeout
Definition: StorageFactory.h:71
eostools.move
def move(src, dest)
Definition: eostools.py:511
StorageFactory::getMaker
StorageMaker * getMaker(const std::string &proto) const
Definition: StorageFactory.cc:96
mergeAndRegister.rest
rest
Definition: mergeAndRegister.py:121
StorageFactory::cacheHint
CacheHint cacheHint(void) const
Definition: StorageFactory.cc:42
StorageFactory::CACHE_HINT_APPLICATION
Definition: StorageFactory.h:15
relativeConstraints.value
value
Definition: relativeConstraints.py:53
StorageAccount::counter
static Counter & counter(StorageClassToken token, Operation operation)
Definition: StorageAccount.cc:97
StorageFactory::m_tempfree
double m_tempfree
Definition: StorageFactory.h:67
StorageFactory::CACHE_HINT_STORAGE
Definition: StorageFactory.h:15
cms::Exception
Definition: Exception.h:70
castor_dqm_sourceclient_file_cfg.path
path
Definition: castor_dqm_sourceclient_file_cfg.py:37
StorageFactory::m_readHint
ReadHint m_readHint
Definition: StorageFactory.h:65
StorageFactory::m_makers
MakerTable m_makers
Definition: StorageFactory.h:63
StorageFactory::m_temppath
std::string m_temppath
Definition: StorageFactory.h:68
StorageMaker::AuxSettings
Definition: StorageMaker.h:11
LocalFileSystem::isLocalPath
bool isLocalPath(const std::string &path) const
Definition: LocalFileSystem.cc:377
EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0.cerr
cerr
Definition: EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0.py:8
StorageFactory::timeout
unsigned int timeout(void) const
Definition: StorageFactory.cc:50
edmplugin::PluginManager::isAvailable
static bool isAvailable()
Definition: PluginManager.cc:346
StorageFactory::setTempDir
void setTempDir(const std::string &s, double minFreeSpace)
Definition: StorageFactory.cc:56
StorageFactory::m_unusableDirWarnings
std::string m_unusableDirWarnings
Definition: StorageFactory.h:70
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
pixel_dqm_sourceclient-live_cfg.enabled
enabled
Definition: pixel_dqm_sourceclient-live_cfg.py:136
unpackBuffers-CaloStage2.token
token
Definition: unpackBuffers-CaloStage2.py:318