ATLAS Offline Software
Functions
StatusFlagCOOL.cxx File Reference
#include "DataQualityUtils/StatusFlagCOOL.h"
#include "CoralBase/Attribute.h"
#include "CoolKernel/IDatabase.h"
#include "CoolKernel/IFolder.h"
#include "CoolKernel/IObjectIterator.h"
#include "CoolKernel/IObject.h"
#include "CoolKernel/Record.h"
#include "CoolKernel/Exception.h"
#include "CoolKernel/IDatabaseSvc.h"
#include "CoolKernel/StorageType.h"

Go to the source code of this file.

Functions

 ClassImp (dqutils::StatusFlagCOOL) namespace dqutils
 

Function Documentation

◆ ClassImp()

ClassImp ( dqutils::StatusFlagCOOL  )

Definition at line 24 of file StatusFlagCOOL.cxx.

26  {
27  StatusFlagCOOL::
28  StatusFlagCOOL (const std::string& dbStr, const std::string& folderStr, int runS, int lumiS, int runU, int lumiU)
29  : StatusFlagCOOLBase(dbStr, folderStr, runS, lumiS, runU, lumiU) {
30  }
31 
32  StatusFlagCOOL::
33  StatusFlagCOOL (int runS, int lumiS, int runU, int lumiU)
34  : StatusFlagCOOLBase(runS, lumiS, runU, lumiU) {
35  }
36 
37  StatusFlagCOOL::
38  StatusFlagCOOL()
39  : StatusFlagCOOLBase() {
40  }
41 
42  cool::RecordSpecification
43  StatusFlagCOOL::
44  createSpec() {
45  //std::cout << "Preparing RecordSpecification" << std::endl;
46  cool::RecordSpecification spec;
47  spec.extend("Code", cool::StorageType::Int32);
48  spec.extend("deadFrac", cool::StorageType::Float);
49  spec.extend("Thrust", cool::StorageType::Float);
50  if (!(spec == m_coolFolder->payloadSpecification())) {
51  std::cout << "ERROR Source and destination folder specifications differ." << std::endl;
52  }
53  return spec;
54  }
55 
58  createPayload(int colourCode, float dfrac, float thrust, const cool::RecordSpecification& spec) {
59  coral::AttributeList payload = cool::Record(spec).attributeList();
60  payload["Code"].data<cool::Int32>() = colourCode;
61  payload["deadFrac"].data<cool::Float>() = dfrac;
62  payload["Thrust"].data<cool::Float>() = thrust;
63  //std::cout << "Creating payload: ";
64  //std::cout << "[Code : " << colourCode << "],";
65  //std::cout << "[DeadFraction : " << dfrac << "],";
66  //std::cout << "[Thrust : " << thrust << "]" << std::endl;
67  return payload;
68  }
69 
70  void
71  StatusFlagCOOL::
72  insert(cool::ChannelId channelId, int code, float dfrac, float thrust, std::string tag_name) {
73  try {
74  cool::RecordSpecification spec = this->createSpec();
75  coral::AttributeList payload = this->createPayload(code, dfrac, thrust, spec);
76  //std::cout << "Trying to store payload [channel " << this->getCoolFolder()->channelName(channelId) <<" ("<<
77  // channelId <<")]...";
78  insert_helper(channelId, payload, tag_name);
79  }
80  catch (cool::Exception& e) {
81  std::cout << "Unknown exception caught!" << e.what() << std::endl;
82  }
83  }
84 
85  void
86  StatusFlagCOOL::
87  insert(std::string channelName, int code, float dfrac, float thrust, std::string tag_name) {
88  try {
89  this->insert(this->getCoolFolder()->channelId(channelName), code, dfrac, thrust, tag_name);
90  }
91  catch (cool::Exception& e) {
92  std::cout << "Unknown exception caught!" << e.what() << std::endl;
93  }
94  }
95 } //namespace dqutils
CaloCondBlobAlgs_fillNoiseFromASCII.spec
spec
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:47
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
LArBadChannelDBTools::createPayload
AthenaAttributeList * createPayload(const std::vector< Entry > &data, const coral::AttributeListSpecification &spec)
FourMomUtils::thrust
CLHEP::Hep3Vector thrust(const I4MomIter_t &iBeg, const I4MomIter_t &iEnd, double &thrust_major, double &thrust_minor, bool useThreeD=false)
Definition: Event/FourMomUtils/src/Thrust.cxx:19
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
pmontree.code
code
Definition: pmontree.py:443
PixelModuleFeMask_create_db.payload
string payload
Definition: PixelModuleFeMask_create_db.py:69
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26