ATLAS Offline Software
Loading...
Searching...
No Matches
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
16
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
33class 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:
54 StatusCode fillLumiBlockCollection();
55
56 uint32_t getNEventsFromDb();
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
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
Basic time unit for IOVSvc.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
virtual void handle(const Incident &incident) override
Incident service handle listening for MetaDataStop.
Gaudi::Property< std::string > m_unfinishedLBColl_name
StatusCode fillLumiBlockCollection()
Fill metaDataStore and ntuples.
CreateLumiBlockCollectionFromFile(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< std::string > m_suspectLBColl_name
SG::ReadCondHandleKey< CondAttrListCollection > m_rchk
virtual StatusCode io_reinit() override
Callback method to reinitialize the internal state of the component for I/O purposes (e....
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Basic time unit for IOVSvc.
Definition IOVTime.h:33
Property holding a SG store/key/clid from which a ReadHandle is made.
The Athena Transient Store API.