CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
JsonOutputProducer::JsonConfigurationBlock Struct Reference

Public Member Functions

void extractFileBase ()
 
 JsonConfigurationBlock ()
 
std::string serialise (size_t _indent=0) const
 

Public Attributes

std::string file_base
 
std::vector< std::string > files
 
std::string process
 
std::vector< std::string > skipped_triggers
 

Detailed Description

Definition at line 545 of file hltDiff.cc.

Constructor & Destructor Documentation

JsonOutputProducer::JsonConfigurationBlock::JsonConfigurationBlock ( )
inline

Definition at line 587 of file hltDiff.cc.

Member Function Documentation

void JsonOutputProducer::JsonConfigurationBlock::extractFileBase ( )
inline

Definition at line 565 of file hltDiff.cc.

References FrontierConditions_GlobalTag_cff::file, mps_fire::i, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by HltDiff::compare().

565  {
566  std::string file0 = files.at(0);
567  // determining the last position at which all filenames have the same character
568  for (size_t i = 0; i < file0.length(); ++i) {
569  bool identicalInAll = true;
570  char character = file0.at(i);
571  for (std::string file : files) {
572  if (file.at(i) == character) continue;
573  identicalInAll = false;
574  break;
575  }
576  if (!identicalInAll) break;
577  file_base.push_back(character);
578  }
579  const unsigned int file_base_len = file_base.length();
580  if (file_base_len < 1) return;
581  // removing the file_base from each filename
582  for (std::string &file : files) {
583  file.erase(0, file_base_len);
584  }
585  }
std::vector< std::string > files
Definition: hltDiff.cc:547
std::string JsonOutputProducer::JsonConfigurationBlock::serialise ( size_t  _indent = 0) const
inline

Definition at line 551 of file hltDiff.cc.

References summarizeEdmComparisonLogfiles::indent, edmPickEvents::json, and crabWrapper::key.

Referenced by JsonOutputProducer::JsonConfiguration::serialise().

551  {
552  std::ostringstream json;
553  json << indent(_indent); // line
554  json << key_string("file_base", file_base) << ',';
555  json << indent(_indent); // line
556  json << key("files") << list_string(files) << ',';
557  json << indent(_indent); // line
558  json << key_string("process", process) << ',';
559  json << indent(_indent); // line
560  json << key("skipped_triggers") << list_string(skipped_triggers);
561 
562  return json.str();
563  }
static std::string indent(size_t _nTabs)
Definition: hltDiff.cc:480
std::vector< std::string > skipped_triggers
Definition: hltDiff.cc:549
static std::string list_string(const std::vector< std::string > &_values, const std::string &_delim="")
Definition: hltDiff.cc:525
std::vector< std::string > files
Definition: hltDiff.cc:547
static std::string key(const std::string &_key, const std::string &_delim="")
Definition: hltDiff.cc:494
static std::string key_string(const std::string &_key, const std::string &_string, const std::string &_delim="")
Definition: hltDiff.cc:502

Member Data Documentation

std::string JsonOutputProducer::JsonConfigurationBlock::file_base

Definition at line 546 of file hltDiff.cc.

std::vector<std::string> JsonOutputProducer::JsonConfigurationBlock::files
std::string JsonOutputProducer::JsonConfigurationBlock::process
std::vector<std::string> JsonOutputProducer::JsonConfigurationBlock::skipped_triggers

Definition at line 549 of file hltDiff.cc.

Referenced by HltDiff::compare().