ATLAS Offline Software
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 
16 #include "GaudiKernel/ServiceHandle.h"
19 
22 
23 #include <vector>
24 #include <string>
25 
26 class StoreGateSvc;
27 
28 class 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:
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 
57  bool m_fileCurrentlyOpened{false};
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
LumiBlockMetaDataTool::m_cacheInputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer m_cacheInputRangeAuxContainer
Definition: LumiBlockMetaDataTool.h:67
LumiBlockMetaDataTool::m_CurrentFileName
std::string m_CurrentFileName
Definition: LumiBlockMetaDataTool.h:58
LumiBlockMetaDataTool::m_cacheInputRangeContainer
xAOD::LumiBlockRangeContainer m_cacheInputRangeContainer
Definition: LumiBlockMetaDataTool.h:66
xAOD::LumiBlockRangeAuxContainer_v1
Auxiliary container for xAOD::LumiBlockRangeContainer_v1.
Definition: LumiBlockRangeAuxContainer_v1.h:34
IMetaDataTool.h
This file contains the class definition for the IMetaDataTool class.
LumiBlockMetaDataTool::m_suspectLBColl_name
Gaudi::Property< std::string > m_suspectLBColl_name
Definition: LumiBlockMetaDataTool.h:55
LumiBlockMetaDataTool::m_fileCurrentlyOpened
bool m_fileCurrentlyOpened
Definition: LumiBlockMetaDataTool.h:57
LumiBlockMetaDataTool::LumiBlockMetaDataTool
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...
Definition: LumiBlockMetaDataTool.cxx:18
LumiBlockMetaDataTool::finishUp
StatusCode finishUp()
Fill metaDataStore and ntuples.
Definition: LumiBlockMetaDataTool.cxx:151
LumiBlockMetaDataTool::m_cacheSuspectInputRangeContainer
xAOD::LumiBlockRangeContainer m_cacheSuspectInputRangeContainer
Definition: LumiBlockMetaDataTool.h:68
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:120
LumiBlockMetaDataTool::m_pInputStore
ServiceHandle< StoreGateSvc > m_pInputStore
Definition: LumiBlockMetaDataTool.h:61
LumiBlockMetaDataTool::m_unfinishedLBColl_name
Gaudi::Property< std::string > m_unfinishedLBColl_name
Definition: LumiBlockMetaDataTool.h:54
LumiBlockMetaDataTool::endInputFile
virtual StatusCode endInputFile(const SG::SourceID &) override
Function collecting the metadata from a new input file.
Definition: LumiBlockMetaDataTool.cxx:118
LumiBlockMetaDataTool::m_cacheSuspectInputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer m_cacheSuspectInputRangeAuxContainer
Definition: LumiBlockMetaDataTool.h:69
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
LumiBlockMetaDataTool::metaDataStop
virtual StatusCode metaDataStop() override
Function writing the collected metadata to the output.
Definition: LumiBlockMetaDataTool.cxx:135
test_pyathena.parent
parent
Definition: test_pyathena.py:15
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
LumiBlockMetaDataTool::~LumiBlockMetaDataTool
virtual ~LumiBlockMetaDataTool()
Definition: LumiBlockMetaDataTool.cxx:42
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
LumiBlockMetaDataTool::m_cacheOutputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer m_cacheOutputRangeAuxContainer
Definition: LumiBlockMetaDataTool.h:73
LumiBlockMetaDataTool::m_cacheSuspectOutputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer m_cacheSuspectOutputRangeAuxContainer
Definition: LumiBlockMetaDataTool.h:75
LumiBlockMetaDataTool::initialize
virtual StatusCode initialize() override
Definition: LumiBlockMetaDataTool.cxx:46
LumiBlockMetaDataTool::beginInputFile
virtual StatusCode beginInputFile(const SG::SourceID &) override
Function collecting the metadata from a new input file.
Definition: LumiBlockMetaDataTool.cxx:56
LumiBlockRangeContainer.h
LumiBlockMetaDataTool::m_cacheOutputRangeContainer
xAOD::LumiBlockRangeContainer m_cacheOutputRangeContainer
Definition: LumiBlockMetaDataTool.h:72
SG::SourceID
std::string SourceID
Definition: AthenaKernel/AthenaKernel/SourceID.h:25
LumiBlockMetaDataTool
Declaration of the LumiBlockMetaDataTool class.
Definition: LumiBlockMetaDataTool.h:28
LumiBlockMetaDataTool::m_LBColl_name
Gaudi::Property< std::string > m_LBColl_name
Definition: LumiBlockMetaDataTool.h:53
LumiBlockRangeAuxContainer.h
LumiBlockMetaDataTool::m_pMetaDataStore
ServiceHandle< StoreGateSvc > m_pMetaDataStore
Definition: LumiBlockMetaDataTool.h:60
LumiBlockMetaDataTool::m_cacheSuspectOutputRangeContainer
xAOD::LumiBlockRangeContainer m_cacheSuspectOutputRangeContainer
Definition: LumiBlockMetaDataTool.h:74
ServiceHandle< StoreGateSvc >