ATLAS Offline Software
TRT_DCS_ConditionsSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 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 
33 class TRT_DCS_ConditionsSvc : public extends<AthService,
34  ITRT_ConditionsSvc,
35  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 
48 
50 
54 
56 
58  StatusCode getValue( const std::string & fname, const std::string & chanName, InDet::TRT_DCS_ValueType& value);
59 
61 
63  StatusCode getValue( const std::string & fname, const int chanNum, InDet::TRT_DCS_ValueType& value);
64 
65  const CondAttrListCollection* getCollection( const std::string & collName);
66 
67  void monitorBarrel();
68  void monitorEndcapA();
69  void monitorEndcapC();
70 
71 
73 
74 
76 
81 
83 
84  private:
85 
86  // jobOptions properties
87  bool m_VeryVerbose{};
91  float m_HVWarnValLo{};
92  float m_HVWarnValHi{};
96  SG::ReadHandleKey<xAOD::EventInfo> m_EventInfoKey{this,"EventInfoKey","EventInfo","RHK for EventInfo"};
97  // Conditions access
99  SG::ReadCondHandleKey<CondAttrListCollection> m_barrelReadKey{this,"BarrelKeyName","in","HV Barrel in-key"};
100  SG::ReadCondHandleKey<CondAttrListCollection> m_EAReadKey{this,"EAKeyName","in","HV EA in-key"};
101  SG::ReadCondHandleKey<CondAttrListCollection> m_ECReadKey{this,"ECKeyName","in","HV EC in-key"};
102  mutable std::vector<const CondAttrListCollection*> m_Barrel_HV_COOLCont ATLAS_THREAD_SAFE; // Guarded by m_cacheMutex
103  mutable std::vector<const CondAttrListCollection*> m_EndcapA_HV_COOLCont ATLAS_THREAD_SAFE; // Guarded by m_cacheMutex
104  mutable std::vector<const CondAttrListCollection*> m_EndcapC_HV_COOLCont ATLAS_THREAD_SAFE; // Guarded by m_cacheMutex
106  mutable std::vector<EventContext::ContextEvt_t> m_evtBA ATLAS_THREAD_SAFE; // Guarded by m_cacheMutex
107  mutable std::vector<EventContext::ContextEvt_t> m_evtEA ATLAS_THREAD_SAFE; // Guarded by m_cacheMutex
108  mutable std::vector<EventContext::ContextEvt_t> m_evtEC ATLAS_THREAD_SAFE; // Guarded by m_cacheMutex
109 
113 
114 
115  // Straw Helpers
117 
119 
122 
123 
124 
125  // Other private variables
127 
128  // Monitoring histograms
136  TH1D* m_h_Barrel_HVvalAvg; // don't forget to divide by nEvts at end!
137  TH1D* m_h_EndcapA_HVvalAvg; // don't forget to divide by nEvts at end!
138  TH1D* m_h_EndcapC_HVvalAvg; // don't forget to divide by nEvts at end!
142 };
143 
144 #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:138
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:99
TRT_DCS_ConditionsSvc::m_h_EndcapA_HVvalAvg
TH1D * m_h_EndcapA_HVvalAvg
Definition: TRT_DCS_ConditionsSvc.h:137
TRT_DCS_ConditionsSvc::m_detStore
ServiceHandle< StoreGateSvc > m_detStore
Definition: TRT_DCS_ConditionsSvc.h:94
TRT_DCS_ConditionsSvc::m_h_EndcapA_nRED
TH1D * m_h_EndcapA_nRED
Definition: TRT_DCS_ConditionsSvc.h:131
TRT_DCS_ConditionsSvc::m_EndcapA_HV_COOLFolderName
std::string m_EndcapA_HV_COOLFolderName
Definition: TRT_DCS_ConditionsSvc.h:89
TRT_DCS_ConditionsSvc::m_Barrel_HV_COOLFolderName
std::string m_Barrel_HV_COOLFolderName
Definition: TRT_DCS_ConditionsSvc.h:88
TRT_DCS_ConditionsSvc::ATLAS_THREAD_SAFE
std::vector< EventContext::ContextEvt_t > m_evtEA ATLAS_THREAD_SAFE
Definition: TRT_DCS_ConditionsSvc.h:107
TRT_DCS_ConditionsSvc::m_h_Barrel_nNOINFO
TH1D * m_h_Barrel_nNOINFO
Definition: TRT_DCS_ConditionsSvc.h:133
TRT_DCS_ConditionsSvc::m_h_Barrel_nRED
TH1D * m_h_Barrel_nRED
Definition: TRT_DCS_ConditionsSvc.h:130
ITRT_DCS_ConditionsSvc.h
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:134
TRT_DCS_ConditionsSvc::m_mapSvc
ServiceHandle< ITRT_HWMappingSvc > m_mapSvc
Definition: TRT_DCS_ConditionsSvc.h:95
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:96
InDet::TRT_DCS_ValueType
float TRT_DCS_ValueType
data type stored in COOL DCS tables (usually float)
Definition: ITRT_DCS_ConditionsSvc.h:32
TRT_DCS_ConditionsSvc::m_condSvc
ServiceHandle< ICondSvc > m_condSvc
Definition: TRT_DCS_ConditionsSvc.h:98
athena.value
value
Definition: athena.py:124
TRT_DCS_ConditionsSvc::m_currentTimestamp
int m_currentTimestamp
Definition: TRT_DCS_ConditionsSvc.h:126
TRT_DCS_ConditionsSvc::ATLAS_THREAD_SAFE
std::vector< const CondAttrListCollection * > m_Barrel_HV_COOLCont ATLAS_THREAD_SAFE
Definition: TRT_DCS_ConditionsSvc.h:102
TRT_DCS_ConditionsSvc::ATLAS_THREAD_SAFE
std::vector< const CondAttrListCollection * > m_EndcapC_HV_COOLCont ATLAS_THREAD_SAFE
Definition: TRT_DCS_ConditionsSvc.h:104
TRT_DCS_ConditionsSvc::m_nEAEvts
int m_nEAEvts
Definition: TRT_DCS_ConditionsSvc.h:140
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:132
ITRT_ConditionsSvc.h
TRT_DCS_ConditionsSvc::m_nECEvts
int m_nECEvts
Definition: TRT_DCS_ConditionsSvc.h:141
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:120
TRT_DCS_ConditionsSvc::m_IOVmaxLength
int m_IOVmaxLength
Definition: TRT_DCS_ConditionsSvc.h:110
checkCoolLatestUpdate.chanNum
chanNum
Definition: checkCoolLatestUpdate.py:26
TRT_DCS_ConditionsSvc::m_FallBackOnCOOLChanNames
bool m_FallBackOnCOOLChanNames
Definition: TRT_DCS_ConditionsSvc.h:112
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TRT_DCS_ConditionsSvc::m_nBAEvts
int m_nBAEvts
Definition: TRT_DCS_ConditionsSvc.h:139
TRT_DCS_ConditionsSvc::m_h_Barrel_HVvalAvg
TH1D * m_h_Barrel_HVvalAvg
Definition: TRT_DCS_ConditionsSvc.h:136
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:87
TRT_DCS_ConditionsSvc::m_numFlagNOINFO
int m_numFlagNOINFO
Definition: TRT_DCS_ConditionsSvc.h:121
TRT_DCS_ConditionsSvc::m_doMonitoring
bool m_doMonitoring
Definition: TRT_DCS_ConditionsSvc.h:129
TRT_DCS_ConditionsSvc::ATLAS_THREAD_SAFE
std::vector< EventContext::ContextEvt_t > m_evtBA ATLAS_THREAD_SAFE
Definition: TRT_DCS_ConditionsSvc.h:106
TRT_DCS_ConditionsSvc::m_doIOVchecking
bool m_doIOVchecking
Definition: TRT_DCS_ConditionsSvc.h:111
TRT_DCS_ConditionsSvc::m_EndcapC_HV_COOLFolderName
std::string m_EndcapC_HV_COOLFolderName
Definition: TRT_DCS_ConditionsSvc.h:90
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:116
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:240
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:108
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:100
SG::ReadCondHandleKey< CondAttrListCollection >
python.AthDsoLogger.fname
string fname
Definition: AthDsoLogger.py:66
TRT_DCS_ConditionsSvc::m_HVWarnValLo
float m_HVWarnValLo
Definition: TRT_DCS_ConditionsSvc.h:91
TRT_DCS_ConditionsSvc::m_ECReadKey
SG::ReadCondHandleKey< CondAttrListCollection > m_ECReadKey
Definition: TRT_DCS_ConditionsSvc.h:101
TRT_ID
Definition: TRT_ID.h:82
ITRT_HWMappingSvc.h
TRT_DCS_ConditionsSvc::m_evtStore
ServiceHandle< StoreGateSvc > m_evtStore
Definition: TRT_DCS_ConditionsSvc.h:93
AthService.h
TRT_DCS_ConditionsSvc::m_numFlagRED
int m_numFlagRED
Counters.
Definition: TRT_DCS_ConditionsSvc.h:120
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:135
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
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:105
TRT_DCS_ConditionsSvc::ATLAS_THREAD_SAFE
std::vector< const CondAttrListCollection * > m_EndcapA_HV_COOLCont ATLAS_THREAD_SAFE
Definition: TRT_DCS_ConditionsSvc.h:103
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:92
ServiceHandle< StoreGateSvc >
Identifier
Definition: IdentifierFieldParser.cxx:14