ATLAS Offline Software
CreateLumiBlockCollectionFromFile.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CREATELUMIBLOCKCOLLECTIONFROMFILE_H
6 #define CREATELUMIBLOCKCOLLECTIONFROMFILE_H
7 
18 #include "AthenaKernel/IOVTime.h"
22 
23 #include "GaudiKernel/ServiceHandle.h"
24 #include "GaudiKernel/IIncidentListener.h"
25 #include "GaudiKernel/IIoComponent.h"
26 
27 #include <vector>
28 #include <map>
29 #include <utility>
30 #include <string>
31 #include <stdint.h>
32 
33 class StoreGateSvc;
34 
36  , virtual public IIncidentListener
37  , virtual public IIoComponent
38 {
39  public:
40  CreateLumiBlockCollectionFromFile (const std::string& name, ISvcLocator* pSvcLocator);
41 
42  virtual StatusCode initialize() override;
43  virtual StatusCode execute() override;
44  virtual StatusCode finalize() override;
45 
47  virtual void handle(const Incident& incident) override;
48 
50  virtual StatusCode io_reinit() override;
51 
52  private:
55 
57 
58  // __________________ Properties ______________________
60  ,"EventInfoKey"
61  ,"EventInfo"
62  ,"RHK for EventInfo"};
63 
65  ,"GlobalFileCountKey"
66  ,"/GLOBAL/FILECOUNT/PROMPT"
67  ,"RCHK for condition data" };
68 
69  Gaudi::Property<std::string> m_streamName {this
70  ,"streamName"
71  ,""
72  ,"Stream name"};
73 
74  Gaudi::Property<std::string> m_LBColl_name {this
75  ,"LBCollName"
76  ,"LumiBlocks"
77  ,"Complete LumiBlock collection name"};
78 
79  Gaudi::Property<std::string> m_unfinishedLBColl_name {this
80  ,"unfinishedLBCollName"
81  ,"IncompleteLumiBlocks"
82  ,"Incomplete LumiBlock collection name"};
83 
84  Gaudi::Property<std::string> m_suspectLBColl_name {this
85  ,"suspectLBCollName"
86  ,"SuspectLumiBlocks"
87  ,"Suspicious LumiBlock collection name"};
88 
89  Gaudi::Property<bool> m_checkEventsExpected {this
90  ,"checkEventsExpected"
91  ,true
92  ,"Should we read the database?"};
93  // __________________ Properties ______________________
94 
95  // Here is the transient storage of the LB metadata
96  typedef std::pair<uint32_t,uint32_t> inOut;
97  typedef std::map<IOVTime,inOut> RLBMap;
99 
100  uint32_t m_lastRun; // remember RunNumber from last event
101  uint32_t m_lastLumiBlock; // remember LumiBlock from last event
102  IOVTime m_lastIOVTime; // could remake from m_lastRun and m_lastLumiBlock, but for efficiency save it
103 
104  ServiceHandle<StoreGateSvc> m_metaStore; //cache the StoreGateSvc ptr for efficiency
105 };
106 
107 #endif
CreateLumiBlockCollectionFromFile::handle
virtual void handle(const Incident &incident) override
Incident service handle listening for MetaDataStop.
Definition: CreateLumiBlockCollectionFromFile.cxx:215
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
CreateLumiBlockCollectionFromFile::m_LumiBlockInfo
RLBMap m_LumiBlockInfo
Definition: CreateLumiBlockCollectionFromFile.h:98
CreateLumiBlockCollectionFromFile::m_LBColl_name
Gaudi::Property< std::string > m_LBColl_name
Definition: CreateLumiBlockCollectionFromFile.h:74
CreateLumiBlockCollectionFromFile::execute
virtual StatusCode execute() override
Definition: CreateLumiBlockCollectionFromFile.cxx:61
CreateLumiBlockCollectionFromFile::finalize
virtual StatusCode finalize() override
Definition: CreateLumiBlockCollectionFromFile.cxx:103
CreateLumiBlockCollectionFromFile::m_lastLumiBlock
uint32_t m_lastLumiBlock
Definition: CreateLumiBlockCollectionFromFile.h:101
CreateLumiBlockCollectionFromFile::m_checkEventsExpected
Gaudi::Property< bool > m_checkEventsExpected
Definition: CreateLumiBlockCollectionFromFile.h:89
SG::ReadHandleKey< xAOD::EventInfo >
CreateLumiBlockCollectionFromFile::m_suspectLBColl_name
Gaudi::Property< std::string > m_suspectLBColl_name
Definition: CreateLumiBlockCollectionFromFile.h:84
CreateLumiBlockCollectionFromFile::CreateLumiBlockCollectionFromFile
CreateLumiBlockCollectionFromFile(const std::string &name, ISvcLocator *pSvcLocator)
Definition: CreateLumiBlockCollectionFromFile.cxx:18
CreateLumiBlockCollectionFromFile::io_reinit
virtual StatusCode io_reinit() override
Callback method to reinitialize the internal state of the component for I/O purposes (e....
Definition: CreateLumiBlockCollectionFromFile.cxx:277
IOVTime.h
Basic time unit for IOVSvc. Hold time as a combination of run and event numbers.
AthAlgorithm.h
IOVTime
Basic time unit for IOVSvc. Hold time as a combination of run and event numbers.
Definition: IOVTime.h:33
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
CreateLumiBlockCollectionFromFile::getNEventsFromDb
uint32_t getNEventsFromDb()
Definition: CreateLumiBlockCollectionFromFile.cxx:231
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CreateLumiBlockCollectionFromFile::initialize
virtual StatusCode initialize() override
Definition: CreateLumiBlockCollectionFromFile.cxx:28
CreateLumiBlockCollectionFromFile::RLBMap
std::map< IOVTime, inOut > RLBMap
Definition: CreateLumiBlockCollectionFromFile.h:97
CreateLumiBlockCollectionFromFile::m_lastIOVTime
IOVTime m_lastIOVTime
Definition: CreateLumiBlockCollectionFromFile.h:102
CreateLumiBlockCollectionFromFile
Definition: CreateLumiBlockCollectionFromFile.h:38
AthAlgorithm
Definition: AthAlgorithm.h:47
CreateLumiBlockCollectionFromFile::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: CreateLumiBlockCollectionFromFile.h:59
ReadCondHandleKey.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CreateLumiBlockCollectionFromFile::inOut
std::pair< uint32_t, uint32_t > inOut
Definition: CreateLumiBlockCollectionFromFile.h:96
EventInfo.h
SG::ReadCondHandleKey< CondAttrListCollection >
CreateLumiBlockCollectionFromFile::fillLumiBlockCollection
StatusCode fillLumiBlockCollection()
Fill metaDataStore and ntuples.
Definition: CreateLumiBlockCollectionFromFile.cxx:112
CreateLumiBlockCollectionFromFile::m_unfinishedLBColl_name
Gaudi::Property< std::string > m_unfinishedLBColl_name
Definition: CreateLumiBlockCollectionFromFile.h:79
CreateLumiBlockCollectionFromFile::m_metaStore
ServiceHandle< StoreGateSvc > m_metaStore
Definition: CreateLumiBlockCollectionFromFile.h:104
CreateLumiBlockCollectionFromFile::m_rchk
SG::ReadCondHandleKey< CondAttrListCollection > m_rchk
Definition: CreateLumiBlockCollectionFromFile.h:64
CreateLumiBlockCollectionFromFile::m_streamName
Gaudi::Property< std::string > m_streamName
Definition: CreateLumiBlockCollectionFromFile.h:69
CreateLumiBlockCollectionFromFile::m_lastRun
uint32_t m_lastRun
Definition: CreateLumiBlockCollectionFromFile.h:100
ServiceHandle< StoreGateSvc >