ATLAS Offline Software
Functions
egammaLayerRecalibTool.cxx File Reference
#include <iostream>
#include <exception>
#include <cassert>
#include <string>
#include <map>
#include <sstream>
#include <algorithm>
#include <cmath>
#include <limits>
#include <TFile.h>
#include <TObjString.h>
#include "PathResolver/PathResolver.h"
#include "egammaLayerRecalibTool/egammaLayerRecalibTool.h"

Go to the source code of this file.

Functions

std::map< std::string, std::string > parse (const std::string &list)
 

Function Documentation

◆ parse()

std::map<std::string, std::string> parse ( const std::string &  list)

Definition at line 990 of file egammaLayerRecalibTool.cxx.

991 {
992  std::cout << "list: '" << list << "'" << std::endl;
993  std::map<std::string, std::string> result;
994  TIter next(TString(list).Tokenize(","));
995  while (TObjString* sObj = (TObjString*) next())
996  {
997  const TString& item(sObj->GetString());
998  std::cout << "item: '" << item << "'" << std::endl;
999  TObjArray* item_list = TString(item).Tokenize(":");
1000  std::string key;
1001  std::string value;
1002  if (item_list->GetEntries() == 1) {
1003  key = "amount";
1004  value = static_cast<TObjString*>(item_list->At(0))->GetString().Data();
1005  }
1006  else if (item_list->GetEntries() == 2) {
1007  key = static_cast<TObjString*>(item_list->At(0))->GetString().Data();
1008  value = static_cast<TObjString*>(item_list->At(1))->GetString().Data();
1009  }
1010  else {
1011  std::cerr << "invalid string " << item << std::endl;
1012  }
1013  if (result.find(key) != result.end()) {
1014  std::cerr << "trying to insert two times key " << key << std::endl;
1015  assert(false);
1016  }
1017  result.insert(std::make_pair(key, value));
1018  }
1019  return result;
1020 }
get_generator_info.result
result
Definition: get_generator_info.py:21
athena.value
value
Definition: athena.py:122
PyPoolBrowser.item
item
Definition: PyPoolBrowser.py:129
fillPileUpNoiseLumi.next
next
Definition: fillPileUpNoiseLumi.py:53
pool::Tokenize
void Tokenize(const std::string &str, std::vector< std::string > &tokens, const std::string &delimiters=" ")
item
Definition: ItemListSvc.h:43
python.KeyStore.list
def list(self, key=None)
Definition: KeyStore.py:318
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37