ATLAS Offline Software
Loading...
Searching...
No Matches
TrigLiveFractionCondAlg.h
Go to the documentation of this file.
1// This file's extension implies that it's C, but it's really -*- C++ -*-.
2/*
3 * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration.
4 */
11
12
13#ifndef LUMIBLOCKCOMPS_TRIGLIVEFRACTIONCONDALG_H
14#define LUMIBLOCKCOMPS_TRIGLIVEFRACTIONCONDALG_H
15
16
23#include "CoralBase/Blob.h"
24
25
30 : public AthCondAlgorithm
31{
32public:
34 using AthCondAlgorithm::AthCondAlgorithm;
35
36
38 virtual StatusCode initialize() override;
39
40
42 virtual StatusCode execute (const EventContext& ctx) const override;
43
44
45private:
53 StatusCode
54 unpackDeadtime (const AthenaAttributeList& deadtimeFolder,
55 unsigned int& turnCounter,
56 std::vector<float>& liveFractionLo,
57 std::vector<float>& liveFractionHi) const;
58
59
67 StatusCode unpackVector (const coral::Blob& blob,
68 unsigned int turnCounter,
69 std::vector<float>& livevec) const;
70
71
80 static StatusCode lumiWeight (const LuminosityCondData& lumi,
81 const std::vector<float>& liveFractionLo,
82 const std::vector<float>& liveFractionHi,
83 float& lumiLiveFractionLo,
84 float& lumiLiveFractionHi) ;
85
86
89 { this, "DeadtimeFolderInputKey", "/TRIGGER/LUMI/PerBcidDeadtime",
90 "Input deadtime COOL folder." };
91
94 { this, "LuminosityInputKey", "LuminosityCondData",
95 "Input luminosity data." };
96
99 { this, "TrigLiveFractionOutputKey", "TrigLiveFractionCondData",
100 "Output live fraction data." };
101};
102
103
104#endif // not LUMIBLOCKCOMPS_TRIGLIVEFRACTIONCONDALG_H
Base class for conditions algorithms.
Hold luminosity data produced by LuminosityCondAlg.
An AttributeList represents a logical row of attributes in a metadata table.
Hold live fraction data produced by TrigLiveFractionCondAlg.
Base class for conditions algorithms.
An AttributeList represents a logical row of attributes in a metadata table.
Conditions algorithm for trigger live fraction data.
StatusCode unpackDeadtime(const AthenaAttributeList &deadtimeFolder, unsigned int &turnCounter, std::vector< float > &liveFractionLo, std::vector< float > &liveFractionHi) const
Unpack information from the deadtime COOL folder.
static StatusCode lumiWeight(const LuminosityCondData &lumi, const std::vector< float > &liveFractionLo, const std::vector< float > &liveFractionHi, float &lumiLiveFractionLo, float &lumiLiveFractionHi)
Calculate weighted average live fractions.
SG::WriteCondHandleKey< TrigLiveFractionCondData > m_trigLiveFractionOutputKey
Output conditions object.
virtual StatusCode execute(const EventContext &ctx) const override
Algorithm execute method.
SG::ReadCondHandleKey< AthenaAttributeList > m_deadtimeFolderInputKey
Input deadtime folder.
StatusCode unpackVector(const coral::Blob &blob, unsigned int turnCounter, std::vector< float > &livevec) const
Unpack a single deadtime vector.
virtual StatusCode initialize() override
Gaudi initialize method.
SG::ReadCondHandleKey< LuminosityCondData > m_luminosityInputKey
Input luminosity data.