ATLAS Offline Software
LumiBlockMetaDataTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 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 
29  : public AthAlgTool
30  , virtual public IMetaDataTool {
31 
32  public:
33  LumiBlockMetaDataTool(const std::string& type
34  , const std::string& name
35  , const IInterface* parent);
36 
37  virtual ~LumiBlockMetaDataTool();
38 
39  public:
40  virtual StatusCode initialize() override;
41  virtual StatusCode finalize() override;
42 
44  virtual StatusCode beginInputFile(const SG::SourceID&) override;
45 
47  virtual StatusCode endInputFile(const SG::SourceID&) override;
48 
50  virtual StatusCode metaDataStop() override;
51 
52  private:
55 
59 
60  // The m_cacheInputRangeContainer stores the LumiBlockRange info for files that are open
61  // We need to keep suspect lumiblocks separated from complete and incomplete ones
62  // since something that comes in as suspect always stays suspect
67 
68  // The m_cacheOutputRangeContainer stores the LumiBlockRange info for files that have been read and closed
73 
74  std::string m_LBColl_name;
76  std::string m_suspectLBColl_name;
77 
79  std::string m_CurrentFileName;
80 };
81 
82 
83 #endif
LumiBlockMetaDataTool::m_CurrentFileName
std::string m_CurrentFileName
Definition: LumiBlockMetaDataTool.h:79
LumiBlockMetaDataTool::m_cacheSuspectInputRangeContainer
xAOD::LumiBlockRangeContainer * m_cacheSuspectInputRangeContainer
Definition: LumiBlockMetaDataTool.h:65
LumiBlockMetaDataTool::m_cacheInputRangeContainer
xAOD::LumiBlockRangeContainer * m_cacheInputRangeContainer
Definition: LumiBlockMetaDataTool.h:63
LumiBlockMetaDataTool::m_cacheSuspectInputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer * m_cacheSuspectInputRangeAuxContainer
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_cacheSuspectOutputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer * m_cacheSuspectOutputRangeAuxContainer
Definition: LumiBlockMetaDataTool.h:72
LumiBlockMetaDataTool::m_fileCurrentlyOpened
bool m_fileCurrentlyOpened
Definition: LumiBlockMetaDataTool.h:78
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:22
LumiBlockMetaDataTool::finishUp
StatusCode finishUp()
Fill metaDataStore and ntuples.
Definition: LumiBlockMetaDataTool.cxx:186
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
LumiBlockMetaDataTool::endInputFile
virtual StatusCode endInputFile(const SG::SourceID &) override
Function collecting the metadata from a new input file.
Definition: LumiBlockMetaDataTool.cxx:153
LumiBlockMetaDataTool::m_LBColl_name
std::string m_LBColl_name
Definition: LumiBlockMetaDataTool.h:74
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LumiBlockMetaDataTool::m_cacheOutputRangeContainer
xAOD::LumiBlockRangeContainer * m_cacheOutputRangeContainer
Definition: LumiBlockMetaDataTool.h:69
LumiBlockMetaDataTool::m_pMetaDataStore
StoreGateSvc_t m_pMetaDataStore
Definition: LumiBlockMetaDataTool.h:57
AthAlgTool.h
LumiBlockMetaDataTool::metaDataStop
virtual StatusCode metaDataStop() override
Function writing the collected metadata to the output.
Definition: LumiBlockMetaDataTool.cxx:170
test_pyathena.parent
parent
Definition: test_pyathena.py:15
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
LumiBlockMetaDataTool::~LumiBlockMetaDataTool
virtual ~LumiBlockMetaDataTool()
Definition: LumiBlockMetaDataTool.cxx:65
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
LumiBlockMetaDataTool::m_cacheOutputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer * m_cacheOutputRangeAuxContainer
Definition: LumiBlockMetaDataTool.h:70
LumiBlockMetaDataTool::finalize
virtual StatusCode finalize() override
Definition: LumiBlockMetaDataTool.cxx:87
LumiBlockMetaDataTool::m_cacheInputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer * m_cacheInputRangeAuxContainer
Definition: LumiBlockMetaDataTool.h:64
LumiBlockMetaDataTool::initialize
virtual StatusCode initialize() override
Definition: LumiBlockMetaDataTool.cxx:78
LumiBlockMetaDataTool::StoreGateSvc_t
ServiceHandle< StoreGateSvc > StoreGateSvc_t
Definition: LumiBlockMetaDataTool.h:56
LumiBlockMetaDataTool::beginInputFile
virtual StatusCode beginInputFile(const SG::SourceID &) override
Function collecting the metadata from a new input file.
Definition: LumiBlockMetaDataTool.cxx:91
LumiBlockMetaDataTool::m_unfinishedLBColl_name
std::string m_unfinishedLBColl_name
Definition: LumiBlockMetaDataTool.h:75
LumiBlockRangeContainer.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
SG::SourceID
std::string SourceID
Definition: AthenaKernel/AthenaKernel/SourceID.h:23
LumiBlockMetaDataTool::m_suspectLBColl_name
std::string m_suspectLBColl_name
Definition: LumiBlockMetaDataTool.h:76
LumiBlockMetaDataTool::m_cacheSuspectOutputRangeContainer
xAOD::LumiBlockRangeContainer * m_cacheSuspectOutputRangeContainer
Definition: LumiBlockMetaDataTool.h:71
IMetaDataTool
This class provides the interface for MetaDataTools.
Definition: IMetaDataTool.h:21
LumiBlockMetaDataTool
Declaration of the LumiBlockMetaDataTool class.
Definition: LumiBlockMetaDataTool.h:30
AthAlgTool
Definition: AthAlgTool.h:26
LumiBlockRangeAuxContainer.h
ServiceHandle< StoreGateSvc >
LumiBlockMetaDataTool::m_pInputStore
StoreGateSvc_t m_pInputStore
Definition: LumiBlockMetaDataTool.h:58