ATLAS Offline Software
TRT_DCS_ConditionsSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRT_DCS_CONDITIONSSVC_H
6 #define TRT_DCS_CONDITIONSSVC_H
7 
13 #include <vector>
18 #include "GaudiKernel/ToolHandle.h"
19 #include "GaudiKernel/ServiceHandle.h"
20 #include "GaudiKernel/ICondSvc.h"
22 #include "GaudiKernel/ThreadLocalContext.h"
26 
27 class StoreGateSvc;
28 class TRT_ID;
29 class Identifier;
30 class TH1D;
31 
34  virtual public ITRT_ConditionsSvc,
35  virtual public ITRT_DCS_ConditionsSvc
36  {
37 
38  public:
39 
40  TRT_DCS_ConditionsSvc( const std::string& name, ISvcLocator* pSvcLocator );
42 
43  virtual StatusCode initialize();
44  virtual StatusCode finalize();
45 
46  virtual StatusCode queryInterface( const InterfaceID& riid, void** ppvInterface );
47 
50 
52 
56 
58 
60  StatusCode getValue( const std::string & fname, const std::string & chanName, InDet::TRT_DCS_ValueType& value);
61 
63 
65  StatusCode getValue( const std::string & fname, const int chanNum, InDet::TRT_DCS_ValueType& value);
66 
67  const CondAttrListCollection* getCollection( const std::string & collName);
68 
69  void monitorBarrel();
70  void monitorEndcapA();
71  void monitorEndcapC();
72 
73 
75 
76 
78 
83 
85 
86  private:
87 
88  // jobOptions properties
89  bool m_VeryVerbose{};
93  float m_HVWarnValLo{};
94  float m_HVWarnValHi{};
98  SG::ReadHandleKey<xAOD::EventInfo> m_EventInfoKey{this,"EventInfoKey","EventInfo","RHK for EventInfo"};
99  // Conditions access
101  SG::ReadCondHandleKey<CondAttrListCollection> m_barrelReadKey{this,"BarrelKeyName","in","HV Barrel in-key"};
102  SG::ReadCondHandleKey<CondAttrListCollection> m_EAReadKey{this,"EAKeyName","in","HV EA in-key"};
103  SG::ReadCondHandleKey<CondAttrListCollection> m_ECReadKey{this,"ECKeyName","in","HV EC in-key"};
104  mutable std::vector<const CondAttrListCollection*> m_Barrel_HV_COOLCont ATLAS_THREAD_SAFE; // Guarded by m_cacheMutex
105  mutable std::vector<const CondAttrListCollection*> m_EndcapA_HV_COOLCont ATLAS_THREAD_SAFE; // Guarded by m_cacheMutex
106  mutable std::vector<const CondAttrListCollection*> m_EndcapC_HV_COOLCont ATLAS_THREAD_SAFE; // Guarded by m_cacheMutex
108  mutable std::vector<EventContext::ContextEvt_t> m_evtBA ATLAS_THREAD_SAFE; // Guarded by m_cacheMutex
109  mutable std::vector<EventContext::ContextEvt_t> m_evtEA ATLAS_THREAD_SAFE; // Guarded by m_cacheMutex
110  mutable std::vector<EventContext::ContextEvt_t> m_evtEC ATLAS_THREAD_SAFE; // Guarded by m_cacheMutex
111 
115 
116 
117  // Straw Helpers
119 
121 
124 
125 
126 
127  // Other private variables
129 
130  // Monitoring histograms
138  TH1D* m_h_Barrel_HVvalAvg; // don't forget to divide by nEvts at end!
139  TH1D* m_h_EndcapA_HVvalAvg; // don't forget to divide by nEvts at end!
140  TH1D* m_h_EndcapC_HVvalAvg; // don't forget to divide by nEvts at end!
144 };
145 
147 inline StatusCode TRT_DCS_ConditionsSvc::queryInterface( const InterfaceID& riid, void** ppvInterface ) {
148  if ( ITRT_ConditionsSvc::interfaceID() == riid ) {
149  *ppvInterface = dynamic_cast<ITRT_ConditionsSvc*>(this);
150  addRef();
151  } else if ( ITRT_DCS_ConditionsSvc::interfaceID() == riid ) {
152  *ppvInterface = dynamic_cast<ITRT_DCS_ConditionsSvc*>(this);
153  addRef();
154  } else {
155  return AthService::queryInterface( riid, ppvInterface );
156  }
157  return StatusCode::SUCCESS;
158 }
159 
160 #endif // TRT_DCS_CONDITIONSSVC_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
TRT_DCS_ConditionsSvc::m_h_EndcapC_HVvalAvg
TH1D * m_h_EndcapC_HVvalAvg
Definition: TRT_DCS_ConditionsSvc.h:140
TRT_DCS_ConditionsSvc::monitorEndcapC
void monitorEndcapC()
Monitor EndcapC HV //.
Definition: TRT_DCS_ConditionsSvc.cxx:542
TRT_DCS_ConditionsSvc::m_barrelReadKey
SG::ReadCondHandleKey< CondAttrListCollection > m_barrelReadKey
Definition: TRT_DCS_ConditionsSvc.h:101
TRT_DCS_ConditionsSvc::m_h_EndcapA_HVvalAvg
TH1D * m_h_EndcapA_HVvalAvg
Definition: TRT_DCS_ConditionsSvc.h:139
TRT_DCS_ConditionsSvc::m_detStore
ServiceHandle< StoreGateSvc > m_detStore
Definition: TRT_DCS_ConditionsSvc.h:96
ITRT_ConditionsSvc::interfaceID
static const InterfaceID & interfaceID()
Definition: ITRT_ConditionsSvc.h:45
TRT_DCS_ConditionsSvc::m_h_EndcapA_nRED
TH1D * m_h_EndcapA_nRED
Definition: TRT_DCS_ConditionsSvc.h:133
TRT_DCS_ConditionsSvc::m_EndcapA_HV_COOLFolderName
std::string m_EndcapA_HV_COOLFolderName
Definition: TRT_DCS_ConditionsSvc.h:91
TRT_DCS_ConditionsSvc::m_Barrel_HV_COOLFolderName
std::string m_Barrel_HV_COOLFolderName
Definition: TRT_DCS_ConditionsSvc.h:90
TRT_DCS_ConditionsSvc::ATLAS_THREAD_SAFE
std::vector< EventContext::ContextEvt_t > m_evtEA ATLAS_THREAD_SAFE
Definition: TRT_DCS_ConditionsSvc.h:109
TRT_DCS_ConditionsSvc::m_h_Barrel_nNOINFO
TH1D * m_h_Barrel_nNOINFO
Definition: TRT_DCS_ConditionsSvc.h:135
TRT_DCS_ConditionsSvc::m_h_Barrel_nRED
TH1D * m_h_Barrel_nRED
Definition: TRT_DCS_ConditionsSvc.h:132
ITRT_DCS_ConditionsSvc.h
ITRT_DCS_ConditionsSvc
Service Interface for TRT_DCS_ConditionsTool.
Definition: ITRT_DCS_ConditionsSvc.h:43
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
TRT_DCS_ConditionsSvc::m_h_EndcapA_nNOINFO
TH1D * m_h_EndcapA_nNOINFO
Definition: TRT_DCS_ConditionsSvc.h:136
TRT_DCS_ConditionsSvc::m_mapSvc
ServiceHandle< ITRT_HWMappingSvc > m_mapSvc
Definition: TRT_DCS_ConditionsSvc.h:97
TRT_DCS_ConditionsSvc::monitorEndcapA
void monitorEndcapA()
Monitor EndcapA HV //.
Definition: TRT_DCS_ConditionsSvc.cxx:486
TRT_DCS_ConditionsSvc
Service for accessing DCS conditions information.
Definition: TRT_DCS_ConditionsSvc.h:36
TRT_DCS_ConditionsSvc::m_EventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_EventInfoKey
Definition: TRT_DCS_ConditionsSvc.h:98
InDet::TRT_DCS_ValueType
float TRT_DCS_ValueType
data type stored in COOL DCS tables (usually float)
Definition: ITRT_DCS_ConditionsSvc.h:32
TH1D
Definition: rootspy.cxx:342
TRT_DCS_ConditionsSvc::m_condSvc
ServiceHandle< ICondSvc > m_condSvc
Definition: TRT_DCS_ConditionsSvc.h:100
athena.value
value
Definition: athena.py:122
TRT_DCS_ConditionsSvc::m_currentTimestamp
int m_currentTimestamp
Definition: TRT_DCS_ConditionsSvc.h:128
TRT_DCS_ConditionsSvc::ATLAS_THREAD_SAFE
std::vector< const CondAttrListCollection * > m_Barrel_HV_COOLCont ATLAS_THREAD_SAFE
Definition: TRT_DCS_ConditionsSvc.h:104
TRT_DCS_ConditionsSvc::ATLAS_THREAD_SAFE
std::vector< const CondAttrListCollection * > m_EndcapC_HV_COOLCont ATLAS_THREAD_SAFE
Definition: TRT_DCS_ConditionsSvc.h:106
TRT_DCS_ConditionsSvc::m_nEAEvts
int m_nEAEvts
Definition: TRT_DCS_ConditionsSvc.h:142
SG::ReadHandleKey< xAOD::EventInfo >
CondAttrListCollection
This class is a collection of AttributeLists where each one is associated with a channel number....
Definition: CondAttrListCollection.h:52
TRT_DCS_ConditionsSvc::finalize
virtual StatusCode finalize()
Finalize //.
Definition: TRT_DCS_ConditionsSvc.cxx:344
TRT_DCS_ConditionsSvc::m_h_EndcapC_nRED
TH1D * m_h_EndcapC_nRED
Definition: TRT_DCS_ConditionsSvc.h:134
ITRT_ConditionsSvc.h
TRT_DCS_ConditionsSvc::m_nECEvts
int m_nECEvts
Definition: TRT_DCS_ConditionsSvc.h:143
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
TRT_DCS_ConditionsSvc::m_IOVmaxLength
int m_IOVmaxLength
Definition: TRT_DCS_ConditionsSvc.h:112
checkCoolLatestUpdate.chanNum
chanNum
Definition: checkCoolLatestUpdate.py:27
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
TRT_DCS_ConditionsSvc::m_FallBackOnCOOLChanNames
bool m_FallBackOnCOOLChanNames
Definition: TRT_DCS_ConditionsSvc.h:114
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthService
Definition: AthService.h:32
TRT_DCS_ConditionsSvc::m_nBAEvts
int m_nBAEvts
Definition: TRT_DCS_ConditionsSvc.h:141
TRT_DCS_ConditionsSvc::m_h_Barrel_HVvalAvg
TH1D * m_h_Barrel_HVvalAvg
Definition: TRT_DCS_ConditionsSvc.h:138
InDet::TRT_DCS_StatusFlag
TRT_DCS_StatusFlag
status flags derived from DCS conditions data
Definition: ITRT_DCS_ConditionsSvc.h:21
TRT_DCS_ConditionsSvc::m_VeryVerbose
bool m_VeryVerbose
Definition: TRT_DCS_ConditionsSvc.h:89
TRT_DCS_ConditionsSvc::m_numFlagNOINFO
int m_numFlagNOINFO
Definition: TRT_DCS_ConditionsSvc.h:123
TRT_DCS_ConditionsSvc::m_doMonitoring
bool m_doMonitoring
Definition: TRT_DCS_ConditionsSvc.h:131
TRT_DCS_ConditionsSvc::ATLAS_THREAD_SAFE
std::vector< EventContext::ContextEvt_t > m_evtBA ATLAS_THREAD_SAFE
Definition: TRT_DCS_ConditionsSvc.h:108
TRT_DCS_ConditionsSvc::m_doIOVchecking
bool m_doIOVchecking
Definition: TRT_DCS_ConditionsSvc.h:113
TRT_DCS_ConditionsSvc::m_EndcapC_HV_COOLFolderName
std::string m_EndcapC_HV_COOLFolderName
Definition: TRT_DCS_ConditionsSvc.h:92
ITRT_ConditionsSvc
Definition: ITRT_ConditionsSvc.h:34
TRT_DCS_ConditionsSvc::getCollection
const CondAttrListCollection * getCollection(const std::string &collName)
get pointer
Definition: TRT_DCS_ConditionsSvc.cxx:373
ReadCondHandleKey.h
TRT_DCS_ConditionsSvc::~TRT_DCS_ConditionsSvc
virtual ~TRT_DCS_ConditionsSvc()
Destructor //.
TRT_DCS_ConditionsSvc::m_TRT_ID_Helper
const TRT_ID * m_TRT_ID_Helper
Definition: TRT_DCS_ConditionsSvc.h:118
TRT_DCS_ConditionsSvc::condSummaryStatus
InDet::TRT_CondFlag condSummaryStatus(const Identifier &)
Evaluation for TRT_ConditionsSummarySvc.
Definition: TRT_DCS_ConditionsSvc.cxx:319
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TRT_DCS_ConditionsSvc::monitorBarrel
void monitorBarrel()
Monitor barrel HV //.
Definition: TRT_DCS_ConditionsSvc.cxx:426
TRT_DCS_ConditionsSvc::ATLAS_THREAD_SAFE
std::vector< EventContext::ContextEvt_t > m_evtEC ATLAS_THREAD_SAFE
Definition: TRT_DCS_ConditionsSvc.h:110
TRT_DCS_ConditionsSvc::getValue
StatusCode getValue(const Identifier, const InDet::TRT_DCS_DataType, InDet::TRT_DCS_ValueType &)
Returns the value for a given identifier and data type.
Definition: TRT_DCS_ConditionsSvc.cxx:153
EventInfo.h
TRT_DCS_ConditionsSvc::m_EAReadKey
SG::ReadCondHandleKey< CondAttrListCollection > m_EAReadKey
Definition: TRT_DCS_ConditionsSvc.h:102
SG::ReadCondHandleKey< CondAttrListCollection >
python.AthDsoLogger.fname
string fname
Definition: AthDsoLogger.py:67
TRT_DCS_ConditionsSvc::m_HVWarnValLo
float m_HVWarnValLo
Definition: TRT_DCS_ConditionsSvc.h:93
TRT_DCS_ConditionsSvc::m_ECReadKey
SG::ReadCondHandleKey< CondAttrListCollection > m_ECReadKey
Definition: TRT_DCS_ConditionsSvc.h:103
TRT_ID
Definition: TRT_ID.h:84
ITRT_HWMappingSvc.h
TRT_DCS_ConditionsSvc::queryInterface
virtual StatusCode queryInterface(const InterfaceID &riid, void **ppvInterface)
Query Interface.
Definition: TRT_DCS_ConditionsSvc.h:147
TRT_DCS_ConditionsSvc::m_evtStore
ServiceHandle< StoreGateSvc > m_evtStore
Definition: TRT_DCS_ConditionsSvc.h:95
AthService.h
TRT_DCS_ConditionsSvc::m_numFlagRED
int m_numFlagRED
Counters.
Definition: TRT_DCS_ConditionsSvc.h:122
TRT_DCS_ConditionsSvc::initialize
virtual StatusCode initialize()
Initialize //.
Definition: TRT_DCS_ConditionsSvc.cxx:89
TRT_DCS_ConditionsSvc::m_h_EndcapC_nNOINFO
TH1D * m_h_EndcapC_nNOINFO
Definition: TRT_DCS_ConditionsSvc.h:137
InDet::TRT_CondFlag
TRT_CondFlag
status flag to be derived from the inheriting tool's conditions info
Definition: ITRT_ConditionsSvc.h:19
TRT_DCS_ConditionsSvc::getFlag
InDet::TRT_DCS_StatusFlag getFlag(const Identifier)
Returns the DCS conditions StatusFlag for a given identifier.
Definition: TRT_DCS_ConditionsSvc.cxx:129
ITRT_DCS_ConditionsSvc::interfaceID
static const InterfaceID & interfaceID()
Interface ID.
Definition: ITRT_DCS_ConditionsSvc.h:79
checker_macros.h
Define macros for attributes used to control the static checker.
TRT_DCS_ConditionsSvc::m_cacheMutex
std::mutex m_cacheMutex
Definition: TRT_DCS_ConditionsSvc.h:107
TRT_DCS_ConditionsSvc::ATLAS_THREAD_SAFE
std::vector< const CondAttrListCollection * > m_EndcapA_HV_COOLCont ATLAS_THREAD_SAFE
Definition: TRT_DCS_ConditionsSvc.h:105
TRT_DCS_ConditionsSvc::TRT_DCS_ConditionsSvc
TRT_DCS_ConditionsSvc(const std::string &name, ISvcLocator *pSvcLocator)
Constructor //.
Definition: TRT_DCS_ConditionsSvc.cxx:26
InDet::TRT_DCS_DataType
TRT_DCS_DataType
DCS data available in COOL offline database.
Definition: ITRT_DCS_ConditionsSvc.h:28
TRT_DCS_ConditionsSvc::m_HVWarnValHi
float m_HVWarnValHi
Definition: TRT_DCS_ConditionsSvc.h:94
ServiceHandle< StoreGateSvc >