ATLAS Offline Software
Loading...
Searching...
No Matches
LumiBlockMetaDataTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef LUMIBLOCKCOMPS_LUMIBLOCKMETATOOL_H
6#define LUMIBLOCKCOMPS_LUMIBLOCKMETATOOL_H
7
15
16#include "GaudiKernel/ServiceHandle.h"
19
22
23#include <vector>
24#include <string>
25
26class StoreGateSvc;
27
28class LumiBlockMetaDataTool : public extends<AthAlgTool, IMetaDataTool> {
29
30 public:
31 LumiBlockMetaDataTool(const std::string& type
32 , const std::string& name
33 , const IInterface* parent);
34
35 virtual ~LumiBlockMetaDataTool();
36
37 public:
38 virtual StatusCode initialize() override;
39
41 virtual StatusCode beginInputFile(const SG::SourceID&) override;
42
44 virtual StatusCode endInputFile(const SG::SourceID&) override;
45
47 virtual StatusCode metaDataStop() override;
48
49 private:
51 StatusCode finishUp();
52
53 Gaudi::Property<std::string> m_LBColl_name{this, "LBCollName", "LumiBlocks"};
54 Gaudi::Property<std::string> m_unfinishedLBColl_name{this, "unfinishedLBCollName", "IncompleteLumiBlocks"};
55 Gaudi::Property<std::string> m_suspectLBColl_name{this, "suspectLBCollName", "SuspectLumiBlocks"};
56
58 std::string m_CurrentFileName{"none"};
59
62
63 // The m_cacheInputRangeContainer stores the LumiBlockRange info for files that are open
64 // We need to keep suspect lumiblocks separated from complete and incomplete ones
65 // since something that comes in as suspect always stays suspect
70
71 // The m_cacheOutputRangeContainer stores the LumiBlockRange info for files that have been read and closed
76
77};
78
79
80#endif
This file contains the class definition for the IMetaDataTool class.
Gaudi::Property< std::string > m_unfinishedLBColl_name
Gaudi::Property< std::string > m_LBColl_name
virtual StatusCode metaDataStop() override
Function writing the collected metadata to the output.
virtual StatusCode beginInputFile(const SG::SourceID &) override
Function collecting the metadata from a new input file.
xAOD::LumiBlockRangeAuxContainer m_cacheOutputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer m_cacheSuspectInputRangeAuxContainer
xAOD::LumiBlockRangeContainer m_cacheSuspectOutputRangeContainer
StatusCode finishUp()
Fill metaDataStore and ntuples.
virtual StatusCode endInputFile(const SG::SourceID &) override
Function collecting the metadata from a new input file.
ServiceHandle< StoreGateSvc > m_pInputStore
xAOD::LumiBlockRangeContainer m_cacheOutputRangeContainer
xAOD::LumiBlockRangeContainer m_cacheInputRangeContainer
xAOD::LumiBlockRangeAuxContainer m_cacheInputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer m_cacheSuspectOutputRangeAuxContainer
virtual StatusCode initialize() override
ServiceHandle< StoreGateSvc > m_pMetaDataStore
xAOD::LumiBlockRangeContainer m_cacheSuspectInputRangeContainer
LumiBlockMetaDataTool(const std::string &type, const std::string &name, const IInterface *parent)
The LumiBlockMetaDataTool reads luminosity metadata from input files and transfers it to output files...
Gaudi::Property< std::string > m_suspectLBColl_name
The Athena Transient Store API.
LumiBlockRangeContainer_v1 LumiBlockRangeContainer
Declare the latest version of the container.
LumiBlockRangeAuxContainer_v1 LumiBlockRangeAuxContainer
Declare the latest version of the auxiliary container.