ATLAS Offline Software
StatusFlagCOOL.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef dqutilsStatusFlagCOOL_h
6 #define dqutilsStatusFlagCOOL_h
7 
8 // Protect CINT from some system definitions that cause problems
9 #ifndef __CINT__
10 //COOL API include files (CoolKernel)
11  #include "CoolKernel/pointers.h"
12  #include "CoolKernel/ValidityKey.h"
13 #else
14 namespace cool {
15  class IDatabasePtr;
16  class IFolderPtr;
17 }
18 #endif
19 
20 
21 #include <iostream>
22 #include <string>
23 #include <cstdlib>
24 
25 #include <TObject.h>
26 
27 //CORAL API include files
28 #include "CoralBase/AttributeList.h"
29 
30 //COOL API include files (CoolApplication)
31 #include "CoolApplication/Application.h"
32 // --> limits.h is needed for CoolKernel/types.h
33 #include <limits.h>
34 #include "CoolKernel/types.h"
35 #include "CoolKernel/ChannelId.h"
36 #include "CoolKernel/RecordSpecification.h"
37 #include "CoolKernel/ChannelSelection.h"
38 
40 
41 namespace dqutils {
43  public:
44  // Methods needed to come up to COOL framework.
45  cool::RecordSpecification createSpec();
46  coral::AttributeList createPayload(int colourCode, float dfrac, float thrust, const
47  cool::RecordSpecification& spec);
48 
49  // Constructors and Destructors.
50  StatusFlagCOOL(const std::string& dbStr, const std::string& folderStr, int runS, int lumiS, int runU, int lumiU);
51  StatusFlagCOOL(int runS, int lumiS, int runU, int lumiU);
53  virtual ~StatusFlagCOOL () {};
54 
55  // Methods of "interest". To insert a status flag you can use either ChannelId or ChannelName.
56  void insert(cool::ChannelId channelId, int code, float dfrac, float thrust, std::string tag_name);
57  void insert(std::string channelName, int code, float dfrac, float thrust, std::string tag_name);
58 
59  // Needed for the ROOT interface.
60  ClassDef(StatusFlagCOOL, 0) // A class for modifying DQ info in the COOL database
61  };
62 }
63 
64 #endif
dqutils::StatusFlagCOOLBase
Definition: StatusFlagCOOLBase.h:51
dqutils::StatusFlagCOOL::createPayload
coral::AttributeList createPayload(int colourCode, float dfrac, float thrust, const cool::RecordSpecification &spec)
CaloCondBlobAlgs_fillNoiseFromASCII.spec
spec
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:47
dqutils::StatusFlagCOOL::StatusFlagCOOL
StatusFlagCOOL(int runS, int lumiS, int runU, int lumiU)
dqutils::StatusFlagCOOL
Definition: StatusFlagCOOL.h:42
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
dqutils::StatusFlagCOOL::insert
void insert(std::string channelName, int code, float dfrac, float thrust, std::string tag_name)
cool
Definition: CoolTagInfo.h:12
StatusFlagCOOLBase.h
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
dqutils::StatusFlagCOOL::insert
void insert(cool::ChannelId channelId, int code, float dfrac, float thrust, std::string tag_name)
dqutils
Definition: CoolMdt.h:76
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
pmontree.code
code
Definition: pmontree.py:443
dqutils::StatusFlagCOOL::~StatusFlagCOOL
virtual ~StatusFlagCOOL()
Definition: StatusFlagCOOL.h:53
dqutils::StatusFlagCOOL::StatusFlagCOOL
StatusFlagCOOL(const std::string &dbStr, const std::string &folderStr, int runS, int lumiS, int runU, int lumiU)
dqutils::StatusFlagCOOL::createSpec
cool::RecordSpecification createSpec()
dqutils::StatusFlagCOOL::StatusFlagCOOL
StatusFlagCOOL()