ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
CoralCrestManager Class Reference

#include <CoralCrestManager.h>

Collaboration diagram for CoralCrestManager:

Public Member Functions

 CoralCrestManager (const std::string &crest_path, const std::string &crestTag)
 
void loadTagInfo ()
 
std::string getFolderDescription ()
 
Crest::TagDto & getTagDto ()
 
std::string getPayloadSpec ()
 
IOVDbNamespace::FolderType determineFolderType ()
 
std::pair< std::vector< cool::ChannelId >, std::vector< std::string > > getChannelList ()
 
Crest::TagInfoDto getTagInfoDto ()
 
bool isVectorPayload ()
 
coral::AttributeListSpecification * getAttributeListSpec ()
 
std::vector< std::pair< cool::ValidityKey, std::string > > getIovsForTag (uint64_t since, uint64_t until)
 
std::vector< uint64_t > loadPayloadForHash (uint64_t since, const std::string &hash)
 
std::vector< coral::AttributeList > getVectorPayload (coral::AttributeListSpecification *pSpec, const std::string &chId)
 
std::string dumpPayload (cool::ValidityKey since)
 
coral::AttributeList getPayload (coral::AttributeListSpecification *pSpec, const std::string &chId)
 
void selectIov (cool::ValidityKey since)
 
std::vector< std::string > channelIds (cool::ValidityKey since)
 

Static Public Member Functions

static std::map< std::string, std::string > getGlobalTagMap (const std::string &crest_path, const std::string &globaltag)
 

Static Public Attributes

static const std::string prefix1 {"http://"}
 
static const std::string prefix2 {"https://"}
 

Private Member Functions

std::string parseTypeName (const std::string &description)
 
coral::AttributeList createAttributeList (coral::AttributeListSpecification *pSpec, nlohmann::json &j, const std::vector< std::pair< std::string, Crest::TypeId >> &tSpec)
 
std::pair< uint64_t, uint64_t > getIovInterval (const std::string &tag, const uint64_t since, const uint64_t until)
 
std::pair< uint64_t, uint64_t > getSinceUntilPair (std::vector< uint64_t > &v, const uint64_t since, const uint64_t until)
 
void initCrestContainer ()
 

Private Attributes

std::unique_ptr< Crest::CrestApiBase > m_crestCl
 
const std::string m_crestTag
 
std::optional< Crest::TagMetaDto > m_TagMeta
 
std::optional< Crest::TagDto > m_Tag
 
std::optional< bool > m_isVectorPayload
 
std::optional< Crest::CrestContainerm_crest_cont
 

Detailed Description

Definition at line 29 of file CoralCrestManager.h.

Constructor & Destructor Documentation

◆ CoralCrestManager()

CoralCrestManager::CoralCrestManager ( const std::string &  crest_path,
const std::string &  crestTag 
)

Definition at line 45 of file CoralCrestManager.cxx.

45  :m_crestTag(crestTag){ //AthMessaging("CoralCrestManager")
46  if(crest_path.length()==0)
47  return;
48  if (crest_path.starts_with(CoralCrestManager::prefix1) || crest_path.starts_with(CoralCrestManager::prefix2)){
49  m_crestCl = std::make_unique<Crest::CrestApi>(Crest::CrestApi(crest_path));
50  }
51  else{
52  m_crestCl = std::make_unique<Crest::CrestApiFs>(Crest::CrestApiFs(true,crest_path));
53  }
54 
55  }

Member Function Documentation

◆ channelIds()

std::vector< std::string > CoralCrestManager::channelIds ( cool::ValidityKey  since)

Definition at line 364 of file CoralCrestManager.cxx.

364  {
365  selectIov(since);
366  return m_crest_cont.value().channelIds();
367  }

◆ createAttributeList()

coral::AttributeList CoralCrestManager::createAttributeList ( coral::AttributeListSpecification *  pSpec,
nlohmann::json j,
const std::vector< std::pair< std::string, Crest::TypeId >> &  tSpec 
)
private

Definition at line 369 of file CoralCrestManager.cxx.

369  {
370  coral::AttributeList attr(*pSpec,true);
371  unsigned int s=attr.size();
372 
373  json::const_iterator it = j.begin();
374  for (unsigned int i(0);i!=s;++i){
375  // cool::Record does not provide non-const access to AttributeList.
376  // But this is safe because we are filling a local instance.
377  auto & att = const_cast<coral::Attribute&>(attr[i]);
378  if (it == j.end()){
379  continue;
380  }
381  const auto thisVal = it.value();
382  ++it;
383 
384  try{
385  if (thisVal.is_null()){
386  att.setNull();
387  continue;
388  }
389  cool::StorageType::TypeId typespec=cool::StorageType::Bool;
390  for(auto &p : tSpec){
391  if(p.first.compare(att.specification().name())==0){
392  auto pElement = Crest::s_typeToString.find(p.second);
393  if (pElement == Crest::s_typeToString.end()){
394  throw std::runtime_error("CoralCrestManager::createAttributeList: name not found.");
395  }
396  std::string str_spec = pElement ->second;
397  auto pTypespec = typeCorrespondance.find(str_spec);
398  if (pTypespec == typeCorrespondance.end()){
399  throw std::runtime_error("CoralCrestManager::createAttributeList: typespec not found.");
400  }
401  typespec=pTypespec->second;
402  break;
403  }
404  }
405  std::string strVal = to_string(thisVal);
406  if(strVal.size()>2&& strVal[0]=='"'&& strVal[strVal.size()-1]=='"')
407  strVal=strVal.substr(1,strVal.size()-2);
408 
409  if((strVal.compare("NULL")==0||strVal.compare("null")==0)&&
410  (typespec==cool::StorageType::Bool || typespec==cool::StorageType::Int16 || typespec==cool::StorageType::UInt16
411  || typespec==cool::StorageType::Int32 || typespec==cool::StorageType::UInt32
412  || typespec==cool::StorageType::Int64 || typespec==cool::StorageType::UInt63
413  || typespec==cool::StorageType::Float || typespec==cool::StorageType::Double)){
414  att.setNull();
415  continue;
416  }
417  switch (typespec) {
418  case cool::StorageType::Bool:
419  {
420  const bool newVal=(strVal == "true");
421  att.setValue<bool>(newVal);
422  break;
423  }
424  case cool::StorageType::UChar:
425  {
426  const unsigned char newVal=std::stoul(strVal);
427  att.setValue<unsigned char>(newVal);
428  break;
429  }
430  case cool::StorageType::Int16:
431  {
432  const short newVal=std::stol(strVal);
433  att.setValue<short>(newVal);
434  break;
435  }
436  case cool::StorageType::UInt16:
437  {
438  const unsigned short newVal=std::stoul(strVal);
439  att.setValue<unsigned short>(newVal);
440  break;
441  }
442  case cool::StorageType::Int32:
443  {
444  const int newVal=std::stoi(strVal);
445  att.setValue<int>(newVal);
446  break;
447  }
448  case cool::StorageType::UInt32:
449  {
450  const unsigned int newVal=std::stoull(strVal);
451  att.setValue<unsigned int>(newVal);
452  break;
453  }
454  case cool::StorageType::UInt63:
455  {
456  const unsigned long long newVal=std::stoull(strVal);
457  att.setValue<unsigned long long>(newVal);
458  break;
459  }
460  case cool::StorageType::Int64:
461  {
462  const long long newVal=std::stoll(strVal);
463  att.setValue< long long>(newVal);
464  break;
465  }
466  case cool::StorageType::Float:
467  {
468  const float newVal=std::stof(strVal);
469  att.setValue<float>(newVal);
470  break;
471  }
472  case cool::StorageType::Double:
473  {
474  const double newVal=std::stod(strVal);
475  att.setValue<double>(newVal);
476  break;
477  }
478  case cool::StorageType::String255:
479  case cool::StorageType::String4k:
480  case cool::StorageType::String64k:
481  case cool::StorageType::String16M:
482  case cool::StorageType::String128M:
483  {
484  att.setValue<std::string>(thisVal.get<std::string>());
485  break;
486  }
487  case cool::StorageType::Blob128M:
488  case cool::StorageType::Blob16M:
489  case cool::StorageType::Blob64k:
490  {
491  const auto &charVec = CxxUtils::base64_decode(strVal);
492  coral::Blob blob(charVec.size());
493  memcpy(blob.startingAddress(), charVec.data(), charVec.size());
494  att.setValue<coral::Blob>(blob);
495  break;
496  }
497  default:
498  {
499  std::string errorMessage("UNTREATED TYPE! " + std::to_string(typespec));
500  MsgStream gLog(Athena::getMessageSvc(), "CoralCrestManager");
501  gLog << MSG::ERROR << "LoadPayloadForHash:" <<errorMessage<<endmsg;
502  throw std::runtime_error(errorMessage);
503  }
504  }
505  }
506  catch (json::exception& e){
507  MsgStream gLog(Athena::getMessageSvc(), "CoralCrestManager");
508  gLog << MSG::ERROR << "Error CoralCrestManager::createAttributeList: "<<e.what()<<endmsg;
509  throw std::runtime_error(e.what());
510  }
511  }
512  return attr;
513  }

◆ determineFolderType()

IOVDbNamespace::FolderType CoralCrestManager::determineFolderType ( )

Definition at line 90 of file CoralCrestManager.cxx.

90  {
91  Crest::TagInfoDto info = getTagInfoDto();
92  std::string folderDescription = info.getFolderDescription();
93  if (folderDescription.find("<coracool>") != std::string::npos) return IOVDbNamespace::CoraCool;
94  const std::string typeName = parseTypeName(folderDescription);
95  if (typeName=="CondAttrListVec"){
96  m_isVectorPayload = true;
98  }
99  m_isVectorPayload = false;
100  std::vector< std::pair<std::string,std::string> > spec= info.getPayloadSpec().getColumns();
101  std::vector< std::pair<std::string,std::string> > chs = info.getChannels().getChannels();
102  for (auto &p : spec){
103  if(p.first=="PoolRef" && p.second=="String4k"){
104  int id=std::stoll(chs[0].first);
105  if(chs.size()==1 && id==0)
107  else
109  }
110  }
111  if (typeName == "CondAttrListCollection") return IOVDbNamespace::AttrListColl;
113  }

◆ dumpPayload()

std::string CoralCrestManager::dumpPayload ( cool::ValidityKey  since)

Definition at line 287 of file CoralCrestManager.cxx.

287  {
288  m_crest_cont.value().selectIov(since);
290  std::stringstream res;
291  res<<"[";
292  std::vector<std::string> chIds = m_crest_cont.value().channelIds();
293  auto* pspec=getAttributeListSpec();
294  std::string sep="";
295  for (auto &ch : chIds){
296  res<<sep;
297  res<<IOVDbNamespace::s_openJson<<"\""<<ch<<"\" : ";
298  switch (ftype){
300  {
301  std::vector<coral::AttributeList> attr=getVectorPayload(pspec,ch);
302  res<<"[";
303  std::string sep2="";
304  for (const auto & vitr:attr){
306  if (sep2.empty()) sep2 =IOVDbNamespace::s_delimiterJson;
307  }
308  res<<"]";
309  break;
310  }
314  {
315  coral::AttributeList attr=getPayload(pspec,ch);
317  break;
318  }
320  {
321  coral::AttributeList attr=getPayload(pspec,ch);
322  std::ostringstream os;
323  attr[0].toOutputStream(os);
324  auto str=os.str();
325  const std::string del(" : ");
326  const auto separatorPosition = str.find(del);
327  const std::string payloadOnly=str.substr(separatorPosition+3);
328  res<<"\""<<payloadOnly<<"\"";
329  break;
330  }
332  res<< " CoraCool";
333  break;
334  default:
335  res<<" a_data_value";
336  }
337  if (sep.empty()) sep=",";
338  res<<IOVDbNamespace::s_closeJson;
339  }
340  res<<"]";
341  pspec->release();
342  return res.str();
343  }

◆ getAttributeListSpec()

coral::AttributeListSpecification * CoralCrestManager::getAttributeListSpec ( )

Definition at line 171 of file CoralCrestManager.cxx.

171  {
172  Crest::TagInfoDto info = getTagInfoDto();
173  std::vector< std::pair<std::string,std::string> > spec_vec= info.getPayloadSpec().getColumns();
174  auto * spec = new coral::AttributeListSpecification();
175  for (auto &p : spec_vec){
176  spec->extend(p.first,cool::StorageType::storageType(typeCorrespondance.find(p.second)->second).cppType());
177  }
178  return spec;
179  }

◆ getChannelList()

std::pair< std::vector< cool::ChannelId >, std::vector< std::string > > CoralCrestManager::getChannelList ( )

Definition at line 157 of file CoralCrestManager.cxx.

157  {
158  if(!m_TagMeta.has_value())
159  loadTagInfo();
160  Crest::TagInfoDto info = getTagInfoDto();
161  std::vector<cool::ChannelId> list;
162  std::vector<std::string> names;
163  std::vector< std::pair<std::string,std::string> > res = info.getChannels().getChannels();
164  for (auto &p : res){
165  list.push_back(std::stoll(p.first));
166  names.push_back(p.second);
167  }
168  return std::make_pair(std::move(list), std::move(names));
169  }

◆ getFolderDescription()

std::string CoralCrestManager::getFolderDescription ( )

Definition at line 152 of file CoralCrestManager.cxx.

152  {
153  Crest::TagInfoDto info = getTagInfoDto();
154  return info.getFolderDescription();
155  }

◆ getGlobalTagMap()

std::map< std::string, std::string > CoralCrestManager::getGlobalTagMap ( const std::string &  crest_path,
const std::string &  globaltag 
)
static

Definition at line 57 of file CoralCrestManager.cxx.

57  {
58  Crest::CrestApiBase* crestCl=NULL;
59  if (crest_path.starts_with(CoralCrestManager::prefix1) || crest_path.starts_with(CoralCrestManager::prefix2)){
60  crestCl = new Crest::CrestApi(crest_path);
61  }
62  else{
63  crestCl = new Crest::CrestApiFs(true,crest_path);
64  }
65  std::map<std::string, std::string> tagmap;
66  try{
67  Crest::GlobalTagMapSetDto dto = crestCl->findGlobalTagMap(globaltag,"Trace");
68  for (const auto &tagMapDto : dto.getResources()){
69  tagmap[tagMapDto.getLabel()]=tagMapDto.getTagName();
70  }
71  } catch (std::exception & e){
72  MsgStream gLog(Athena::getMessageSvc(), "CoralCrestManager");
73  gLog << MSG::ERROR << __FILE__<<":"<<__LINE__<< ": " << e.what() << " Cannot get a global tag map for " << globaltag<<endmsg;
74  }
75  if(crestCl!=NULL){
76  delete crestCl;
77  crestCl=NULL;
78  }
79  return tagmap;
80  }

◆ getIovInterval()

std::pair< uint64_t, uint64_t > CoralCrestManager::getIovInterval ( const std::string &  tag,
const uint64_t  since,
const uint64_t  until 
)
private

Definition at line 230 of file CoralCrestManager.cxx.

230  {
231  Crest::IovSetDto dto = m_crestCl->selectGroups(tag, 0, 10000, 0, "id.since:ASC");
232  std::vector<uint64_t> v = dto.getListSince();
233  v.push_back(cool::ValidityKeyMax); // added "infinity" as the last item 9223372036854775807
234  return getSinceUntilPair(v, since, until);
235  }

◆ getIovsForTag()

std::vector< std::pair< cool::ValidityKey, std::string > > CoralCrestManager::getIovsForTag ( uint64_t  since,
uint64_t  until 
)

Definition at line 237 of file CoralCrestManager.cxx.

237  {
239  int iovNumber = m_crestCl->getSize(m_crestTag);
240  std::vector<std::pair<cool::ValidityKey,std::string>> res;
241  Crest::IovSetDto dto;
242  if(iovNumber <=1000){
243  dto = m_crestCl->selectIovs(m_crestTag, 0, -1, 0, 10000, 0, "id.since:ASC");
244  }
245  else{
246  std::pair<uint64_t,uint64_t> ppt = getIovInterval(m_crestTag, since, until);
247  uint64_t s_time = ppt.first;
248  uint64_t u_time = ppt.second;
249 
250  if (s_time == 0 && u_time == 0){ // data out of range
251  return res;
252  }
253  else {
254  dto = m_crestCl->selectIovs(m_crestTag, s_time, u_time, 0, 10000, 0, "id.since:ASC");
255  }
256  }
257  for (auto &p : dto.getResources()){
258  res.push_back(std::make_pair((cool::ValidityKey)p.getSince(),p.getPayloadHash()));
259  }
260  return res;
261  }

◆ getPayload()

coral::AttributeList CoralCrestManager::getPayload ( coral::AttributeListSpecification *  pSpec,
const std::string &  chId 
)

Definition at line 345 of file CoralCrestManager.cxx.

345  {
346  nlohmann::json j=m_crest_cont.value().getPayloadChannel(chId.c_str());
347  return createAttributeList(pSpec,j,m_crest_cont.value().getMPayloadSpec());
348  }

◆ getPayloadSpec()

std::string CoralCrestManager::getPayloadSpec ( )

Definition at line 148 of file CoralCrestManager.cxx.

148  {
149  return getTagInfoDto().getPayloadSpec().toJson().dump();
150  }

◆ getSinceUntilPair()

std::pair< uint64_t, uint64_t > CoralCrestManager::getSinceUntilPair ( std::vector< uint64_t > &  v,
const uint64_t  since,
const uint64_t  until 
)
private

Definition at line 201 of file CoralCrestManager.cxx.

201  {
202  uint64_t new_since = 0;
203  uint64_t new_until = 0;
204 
205  if (until < since){
206  MsgStream gLog(Athena::getMessageSvc(), "CoralCrestManager");
207  gLog << MSG::ERROR << "Wrong since/until."<<endmsg;
208  return std::make_pair(0,0);
209  }
210  const std::size_t N = v.size();
211  std::size_t i = 0;
212  for (; i < N; ++i) {
213  if(v[i] <= since && since < v[i+1]){
214  new_since = v[i];
215  break;
216  }
217  }
218 
219  for (; i < N; ++i) {
220  if(v[i] < until && until <= v[i+1]){
221  new_until = v[i+1];
222  break;
223  }
224  }
225 
226  return std::make_pair(new_since,new_until);
227  }

◆ getTagDto()

Crest::TagDto & CoralCrestManager::getTagDto ( )

Definition at line 141 of file CoralCrestManager.cxx.

141  {
142  if(!m_Tag.has_value()){
143  m_Tag = m_crestCl->findTag(m_crestTag);
144  }
145  return m_Tag.value();
146  }

◆ getTagInfoDto()

Crest::TagInfoDto CoralCrestManager::getTagInfoDto ( )

Definition at line 135 of file CoralCrestManager.cxx.

135  {
136  if(!m_TagMeta.has_value())
137  loadTagInfo();
138  return m_TagMeta.value().getTagInfoDto();
139  }

◆ getVectorPayload()

std::vector< coral::AttributeList > CoralCrestManager::getVectorPayload ( coral::AttributeListSpecification *  pSpec,
const std::string &  chId 
)

Definition at line 350 of file CoralCrestManager.cxx.

350  {
351  std::vector<coral::AttributeList> res;
352  nlohmann::json vecJ=m_crest_cont.value().getPayloadChannel(chId.c_str());
353  for (auto &p : vecJ){
354  coral::AttributeList att=createAttributeList(pSpec,p,m_crest_cont.value().getMPayloadSpec());
355  res.push_back(att);
356  }
357  return res;
358  }

◆ initCrestContainer()

void CoralCrestManager::initCrestContainer ( )
private

Definition at line 181 of file CoralCrestManager.cxx.

181  {
182  if(m_crest_cont.has_value())
183  return;
184  Crest::TagInfoDto info = getTagInfoDto();
185  Crest::TagDto tag = getTagDto();
187  if(tag.getObjectType()=="crest-json-multi-iov")
189  Crest::CrestContainer cr_cont(mId);
190  std::vector< std::pair<std::string,std::string> > spec= info.getPayloadSpec().getColumns();
191  for (auto &p : spec){
192  cr_cont.addColumn(p.first,p.second.c_str());
193  }
194  if(!m_isVectorPayload.has_value()) determineFolderType();
195  cr_cont.setVectorPayload(m_isVectorPayload.value());
196  m_crest_cont.emplace(cr_cont);
197  return;
198  }

◆ isVectorPayload()

bool CoralCrestManager::isVectorPayload ( )

Definition at line 115 of file CoralCrestManager.cxx.

115  {
116  if(!m_isVectorPayload.has_value())
118  return m_isVectorPayload.value();
119  }

◆ loadPayloadForHash()

std::vector< uint64_t > CoralCrestManager::loadPayloadForHash ( uint64_t  since,
const std::string &  hash 
)

Definition at line 263 of file CoralCrestManager.cxx.

263  {
265  std::string reply;
266  try{
267  // get payload from Crest server
268  reply = m_crestCl->getPayload(hash);
269  } catch (std::exception & e){
270  MsgStream gLog(Athena::getMessageSvc(), "CoralCrestManager");
271  gLog << MSG::ERROR << __FILE__<<":"<<__LINE__<< ": "<<e.what()<<" while trying to find the payload"<<endmsg;
272  throw std::runtime_error(e.what());
273  }
274  try{
275  // parse payload according to type of payload and put it to CrestConteiner.
276  // Store only one value before 'since'.
277  // Returns a list of timestamp for which data has been loaded
278  return m_crest_cont.value().fromJson(since,reply);
279  } catch (std::exception & e){
280  MsgStream gLog(Athena::getMessageSvc(), "CoralCrestManager");
281  gLog << MSG::ERROR << "LoadPayloadForHash:"<<e.what()<<" while trying to parse the payload. Since="<<since<<", hash="<<hash<<endmsg;
282  throw std::runtime_error(e.what());
283  }
284  }

◆ loadTagInfo()

void CoralCrestManager::loadTagInfo ( )

Definition at line 121 of file CoralCrestManager.cxx.

121  {
122  if(m_TagMeta.has_value()){
123  return;
124  }
125 
126  try{
127  m_TagMeta = m_crestCl->findTagMeta(m_crestTag);
128  } catch (std::exception & e){
129  MsgStream gLog(Athena::getMessageSvc(), "CoralCrestManager");
130  gLog << MSG::ERROR << __FILE__<<":"<<__LINE__<< ": " << e.what() << " Cannot get a tag meta info " << m_crestTag<<endmsg;
131  }
132  return;
133  }

◆ parseTypeName()

std::string CoralCrestManager::parseTypeName ( const std::string &  description)
private

Definition at line 82 of file CoralCrestManager.cxx.

82  {
83  std::string regex=R"delim(<typeName>\s*([^\s]+)\s*</typeName>)delim";
85  std::smatch typeMatch;
86  bool match=std::regex_search(description, typeMatch,re);
87  return (match) ? std::string(typeMatch[1]) : std::string("");
88  }

◆ selectIov()

void CoralCrestManager::selectIov ( cool::ValidityKey  since)

Definition at line 360 of file CoralCrestManager.cxx.

360  {
361  m_crest_cont.value().selectIov(since);
362  }

Member Data Documentation

◆ m_crest_cont

std::optional<Crest::CrestContainer> CoralCrestManager::m_crest_cont
private

Definition at line 74 of file CoralCrestManager.h.

◆ m_crestCl

std::unique_ptr<Crest::CrestApiBase> CoralCrestManager::m_crestCl
private

Definition at line 64 of file CoralCrestManager.h.

◆ m_crestTag

const std::string CoralCrestManager::m_crestTag
private

Definition at line 65 of file CoralCrestManager.h.

◆ m_isVectorPayload

std::optional<bool> CoralCrestManager::m_isVectorPayload
private

Definition at line 68 of file CoralCrestManager.h.

◆ m_Tag

std::optional<Crest::TagDto> CoralCrestManager::m_Tag
private

Definition at line 67 of file CoralCrestManager.h.

◆ m_TagMeta

std::optional<Crest::TagMetaDto> CoralCrestManager::m_TagMeta
private

Definition at line 66 of file CoralCrestManager.h.

◆ prefix1

const std::string CoralCrestManager::prefix1 {"http://"}
inlinestatic

Definition at line 31 of file CoralCrestManager.h.

◆ prefix2

const std::string CoralCrestManager::prefix2 {"https://"}
inlinestatic

Definition at line 32 of file CoralCrestManager.h.


The documentation for this class was generated from the following files:
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
sendEI_SPB.ch
ch
Definition: sendEI_SPB.py:35
CoralCrestManager::getTagDto
Crest::TagDto & getTagDto()
Definition: CoralCrestManager.cxx:141
CoralCrestManager::initCrestContainer
void initCrestContainer()
Definition: CoralCrestManager.cxx:181
CoralCrestManager::m_crestTag
const std::string m_crestTag
Definition: CoralCrestManager.h:65
json
nlohmann::json json
Definition: HistogramDef.cxx:9
CoralCrestManager::m_crestCl
std::unique_ptr< Crest::CrestApiBase > m_crestCl
Definition: CoralCrestManager.h:64
CaloCondBlobAlgs_fillNoiseFromASCII.spec
spec
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:46
CoralCrestManager::loadTagInfo
void loadTagInfo()
Definition: CoralCrestManager.cxx:121
CoralCrestManager::m_isVectorPayload
std::optional< bool > m_isVectorPayload
Definition: CoralCrestManager.h:68
CoralCrestManager::getPayload
coral::AttributeList getPayload(coral::AttributeListSpecification *pSpec, const std::string &chId)
Definition: CoralCrestManager.cxx:345
skel.it
it
Definition: skel.GENtoEVGEN.py:407
CoralCrestManager::getAttributeListSpec
coral::AttributeListSpecification * getAttributeListSpec()
Definition: CoralCrestManager.cxx:171
python.subdetectors.tile.Blob
Blob
Definition: tile.py:17
IOVDbNamespace::PoolRefColl
@ PoolRefColl
Definition: FolderTypes.h:31
Crest::ModeId::DCS_FULL
@ DCS_FULL
JetTiledMap::N
@ N
Definition: TiledEtaPhiMap.h:44
IOVDbNamespace::PoolRef
@ PoolRef
Definition: FolderTypes.h:30
CoralCrestManager::m_crest_cont
std::optional< Crest::CrestContainer > m_crest_cont
Definition: CoralCrestManager.h:74
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:92
dq_defect_copy_defect_database.since
def since
Definition: dq_defect_copy_defect_database.py:54
PrepareReferenceFile.regex
regex
Definition: PrepareReferenceFile.py:43
CoralCrestManager::getTagInfoDto
Crest::TagInfoDto getTagInfoDto()
Definition: CoralCrestManager.cxx:135
dq_defect_copy_defect_database.until
def until
Definition: dq_defect_copy_defect_database.py:55
Crest::ModeId
ModeId
Definition: CrestContainer.h:49
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
CoralCrestManager::getIovInterval
std::pair< uint64_t, uint64_t > getIovInterval(const std::string &tag, const uint64_t since, const uint64_t until)
Definition: CoralCrestManager.cxx:230
CxxUtils::base64_decode
std::vector< unsigned char > base64_decode(const std::string &)
Definition: base64.cxx:97
lumiFormat.i
int i
Definition: lumiFormat.py:85
CoralCrestManager::getSinceUntilPair
std::pair< uint64_t, uint64_t > getSinceUntilPair(std::vector< uint64_t > &v, const uint64_t since, const uint64_t until)
Definition: CoralCrestManager.cxx:201
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
python.subdetectors.mmg.names
names
Definition: mmg.py:8
calibdata.exception
exception
Definition: calibdata.py:495
res
std::pair< std::vector< unsigned int >, bool > res
Definition: JetGroupProductTest.cxx:11
IOVDbNamespace::CoolVector
@ CoolVector
Definition: FolderTypes.h:33
IOVDbNamespace::CoraCool
@ CoraCool
Definition: FolderTypes.h:32
xAOD::uint64_t
uint64_t
Definition: EventInfo_v1.cxx:123
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
IOVDbNamespace::AttrListColl
@ AttrListColl
Definition: FolderTypes.h:29
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
CheckTagAssociation.globaltag
globaltag
Definition: CheckTagAssociation.py:18
typeCorrespondance
const std::map< std::string, cool::StorageType::TypeId > typeCorrespondance
Definition: CoralCrestManager.cxx:24
CoralCrestManager::determineFolderType
IOVDbNamespace::FolderType determineFolderType()
Definition: CoralCrestManager.cxx:90
grepfile.sep
sep
Definition: grepfile.py:38
CoralCrestManager::getVectorPayload
std::vector< coral::AttributeList > getVectorPayload(coral::AttributeListSpecification *pSpec, const std::string &chId)
Definition: CoralCrestManager.cxx:350
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
Crest::CrestContainer
It compares timestamp in string format.
Definition: CrestContainer.h:58
CoralCrestManager::prefix2
static const std::string prefix2
Definition: CoralCrestManager.h:32
Crest::ModeId::Standard
@ Standard
IOVDbNamespace::jsonAttributeList
std::string jsonAttributeList(const coral::AttributeList &atrlist)
Produce a representation of a coral::AttributeList as a json string.
Definition: IOVDbJsonStringFunctions.cxx:40
CoralCrestManager::selectIov
void selectIov(cool::ValidityKey since)
Definition: CoralCrestManager.cxx:360
python.PyAthena.v
v
Definition: PyAthena.py:154
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:108
CoralCrestManager::prefix1
static const std::string prefix1
Definition: CoralCrestManager.h:31
DeMoScan.first
bool first
Definition: DeMoScan.py:534
re
const boost::regex re(r_e)
IOVDbNamespace::AttrList
@ AttrList
Definition: FolderTypes.h:28
CoralCrestManager::m_TagMeta
std::optional< Crest::TagMetaDto > m_TagMeta
Definition: CoralCrestManager.h:66
python.SystemOfUnits.s
float s
Definition: SystemOfUnits.py:147
ReadCalibFromCool.typeName
typeName
Definition: ReadCalibFromCool.py:477
str
Definition: BTagTrackIpAccessor.cxx:11
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:23
CoralCrestManager::m_Tag
std::optional< Crest::TagDto > m_Tag
Definition: CoralCrestManager.h:67
CoralCrestManager::parseTypeName
std::string parseTypeName(const std::string &description)
Definition: CoralCrestManager.cxx:82
Crest::TypeId
TypeId
Definition: CrestContainer.h:22
python.ParticleTypeUtil.info
def info
Definition: ParticleTypeUtil.py:87
CoralCrestManager::createAttributeList
coral::AttributeList createAttributeList(coral::AttributeListSpecification *pSpec, nlohmann::json &j, const std::vector< std::pair< std::string, Crest::TypeId >> &tSpec)
Definition: CoralCrestManager.cxx:369
CaloCondBlobAlgs_fillNoiseFromASCII.blob
blob
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:95
match
bool match(std::string s1, std::string s2)
match the individual directories of two strings
Definition: hcg.cxx:356
IOVDbNamespace::FolderType
FolderType
Definition: FolderTypes.h:26
description
std::string description
glabal timer - how long have I taken so far?
Definition: hcg.cxx:88