ATLAS Offline Software
Loading...
Searching...
No Matches
CscCondDbAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MUONCONDALG_CSCCONDDBALG_H
6#define MUONCONDALG_CSCCONDDBALG_H
7
8// STL includes
9#include <zlib.h>
10
11#include <sstream>
12#include <string>
13#include <vector>
14
15// Gaudi includes
16#include "GaudiKernel/ServiceHandle.h"
17
18// Athena includes
26
27namespace Muon{
29public:
30 using AthCondAlgorithm::AthCondAlgorithm;
31 virtual ~CscCondDbAlg() = default;
32 virtual StatusCode initialize() override;
33 virtual StatusCode execute(const EventContext &) const override;
34
35private:
37
38 StatusCode loadDataHv(writeHandle_t &, CscCondDbData *, const EventContext &) const;
39
40 StatusCode loadData(CscCondDbData *, const CondAttrListCollection *, const std::string&, bool = false) const;
41
42 StatusCode loadDataF001(writeHandle_t &, CscCondDbData *, const EventContext &) const;
43 StatusCode loadDataNoise(writeHandle_t &, CscCondDbData *, const EventContext &) const;
44 StatusCode loadDataPed(writeHandle_t &, CscCondDbData *, const EventContext &) const;
45 StatusCode loadDataPSlope(writeHandle_t &, CscCondDbData *, const EventContext &) const;
46 StatusCode loadDataRMS(writeHandle_t &, CscCondDbData *, const EventContext &) const;
47 StatusCode loadDataStatus(writeHandle_t &, CscCondDbData *, const EventContext &) const;
48 StatusCode loadDataT0Base(writeHandle_t &, CscCondDbData *, const EventContext &) const;
49 StatusCode loadDataT0Phase(writeHandle_t &, CscCondDbData *, const EventContext &) const;
50
51 StatusCode cache(const std::string&, CscCondDbData *, const std::string&) const;
52 StatusCode cacheASM(const std::string&, CscCondDbData *, const std::string&) const;
53 StatusCode getAsmScope(int, int &, int &, int &, int &, int &) const;
54
55 StatusCode recordParameter(unsigned int, const std::string&, CscCondDbData *, const std::string&) const;
56 StatusCode recordParameter(IdentifierHash, const std::string&, CscCondDbData *, const std::string&) const;
57
58 StatusCode recordParameterF001(IdentifierHash, std::string, CscCondDbData *) const;
59 StatusCode recordParameterNoise(IdentifierHash, std::string, CscCondDbData *) const;
60 StatusCode recordParameterPed(IdentifierHash, std::string, CscCondDbData *) const;
61 StatusCode recordParameterPSlope(IdentifierHash, std::string, CscCondDbData *) const;
62 StatusCode recordParameterRMS(IdentifierHash, std::string, CscCondDbData *) const;
63 StatusCode recordParameterStatus(IdentifierHash, std::string, CscCondDbData *) const;
64 StatusCode recordParameterT0Base(IdentifierHash, std::string, CscCondDbData *) const;
65 StatusCode recordParameterT0Phase(IdentifierHash, std::string, CscCondDbData *) const;
66
67 Gaudi::Property<bool> m_isOnline{this, "isOnline", false, ""};
68 Gaudi::Property<bool> m_isData{this, "isData", false, ""};
69 Gaudi::Property<bool> m_isRun1{this, "isRun1", false, ""};
70 Gaudi::Property<bool> m_onlineOfflinePhiFlip{this, "onlineOfflinePhiFlip", true, ""};
71 Gaudi::Property<std::string> m_defaultDatabaseReadVersion{this, "defaultDatabaseReadVersion", "02-00", ""};
72
73 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
74
75 SG::WriteCondHandleKey<CscCondDbData> m_writeKey{this, "WriteKey", "CscCondDbData", "Key of output CSC condition data"};
76
78 "Key of input CSC condition data HV"};
80 "Key of input CSC condition data F001"};
82 "Key of input CSC condition data NOISE"};
84 "Key of input CSC condition data PEDESTALS"};
86 "Key of input CSC condition data PSLOPE"};
88 "Key of input CSC condition data RMS"};
90 "Key of input CSC condition data STATUS"};
92 "Key of input CSC condition data T0BASE"};
94 "Key of input CSC condition data T0PHASE"};
95
103 Gaudi::Property<bool> m_pslopeFromDB{
104 this, "ReadPSlopeFromDatabase", false,
105 "read the pslope parameter from the conditions database (if it is not the same value for all channels)"};
106
110 const float m_DEFAULT_PSLOPE = 0.175;
111 Gaudi::Property<float> m_pslope{this, "PSlope", m_DEFAULT_PSLOPE,
112 "in case someone comes up with a new default value for pslope in the future"};
113
114 // getParameter
115 template <typename T> StatusCode getParameter(IdentifierHash chanHash, std::string data, T &token) const {
116 // next element is the status bit
117 std::istringstream iss(data);
118 iss >> token;
119
120 ATH_MSG_VERBOSE("Recorded token " << token << " for channelHash " << chanHash);
121 return StatusCode::SUCCESS;
122 }
123};
124}
125#endif
Base class for conditions algorithms.
#define ATH_MSG_VERBOSE(x)
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
Base class for conditions algorithms.
This class is a collection of AttributeLists where each one is associated with a channel number.
This is a "hash" representation of an Identifier.
StatusCode loadDataT0Base(writeHandle_t &, CscCondDbData *, const EventContext &) const
StatusCode loadData(CscCondDbData *, const CondAttrListCollection *, const std::string &, bool=false) const
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
StatusCode loadDataNoise(writeHandle_t &, CscCondDbData *, const EventContext &) const
Gaudi::Property< bool > m_isRun1
virtual StatusCode execute(const EventContext &) const override
StatusCode loadDataHv(writeHandle_t &, CscCondDbData *, const EventContext &) const
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey_folder_da_pslope
Gaudi::Property< float > m_pslope
StatusCode cacheASM(const std::string &, CscCondDbData *, const std::string &) const
StatusCode recordParameterRMS(IdentifierHash, std::string, CscCondDbData *) const
StatusCode loadDataPed(writeHandle_t &, CscCondDbData *, const EventContext &) const
StatusCode loadDataPSlope(writeHandle_t &, CscCondDbData *, const EventContext &) const
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey_folder_da_noise
StatusCode recordParameterStatus(IdentifierHash, std::string, CscCondDbData *) const
StatusCode loadDataRMS(writeHandle_t &, CscCondDbData *, const EventContext &) const
StatusCode loadDataStatus(writeHandle_t &, CscCondDbData *, const EventContext &) const
virtual ~CscCondDbAlg()=default
StatusCode getParameter(IdentifierHash chanHash, std::string data, T &token) const
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey_folder_da_hv
Gaudi::Property< bool > m_pslopeFromDB
The pslope is the gain of each CSC channel.
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey_folder_da_t0base
virtual StatusCode initialize() override
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey_folder_da_f001
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey_folder_da_status
StatusCode recordParameterF001(IdentifierHash, std::string, CscCondDbData *) const
StatusCode recordParameter(unsigned int, const std::string &, CscCondDbData *, const std::string &) const
StatusCode recordParameterPSlope(IdentifierHash, std::string, CscCondDbData *) const
StatusCode getAsmScope(int, int &, int &, int &, int &, int &) const
Gaudi::Property< bool > m_isData
Gaudi::Property< bool > m_isOnline
Gaudi::Property< std::string > m_defaultDatabaseReadVersion
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey_folder_da_ped
SG::WriteCondHandleKey< CscCondDbData > m_writeKey
StatusCode cache(const std::string &, CscCondDbData *, const std::string &) const
StatusCode recordParameterNoise(IdentifierHash, std::string, CscCondDbData *) const
StatusCode recordParameterT0Phase(IdentifierHash, std::string, CscCondDbData *) const
StatusCode loadDataF001(writeHandle_t &, CscCondDbData *, const EventContext &) const
const float m_DEFAULT_PSLOPE
The CSC gain was originally 5.304 ADC counts per fC, but later increased to 5.7 ADC counts per fC,...
Gaudi::Property< bool > m_onlineOfflinePhiFlip
SG::WriteCondHandle< CscCondDbData > writeHandle_t
StatusCode recordParameterPed(IdentifierHash, std::string, CscCondDbData *) const
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey_folder_da_rms
StatusCode recordParameterT0Base(IdentifierHash, std::string, CscCondDbData *) const
StatusCode loadDataT0Phase(writeHandle_t &, CscCondDbData *, const EventContext &) const
SG::ReadCondHandleKey< CondAttrListCollection > m_readKey_folder_da_t0phase
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.