ATLAS Offline Software
Loading...
Searching...
No Matches
LumiBlockMetaDataTool Class Reference

Declaration of the LumiBlockMetaDataTool class. More...

#include <LumiBlockMetaDataTool.h>

Inheritance diagram for LumiBlockMetaDataTool:
Collaboration diagram for LumiBlockMetaDataTool:

Public Member Functions

 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.
virtual ~LumiBlockMetaDataTool ()
virtual StatusCode initialize () override
virtual StatusCode beginInputFile (const SG::SourceID &) override
 Function collecting the metadata from a new input file.
virtual StatusCode endInputFile (const SG::SourceID &) override
 Function collecting the metadata from a new input file.
virtual StatusCode metaDataStop () override
 Function writing the collected metadata to the output.

Private Member Functions

StatusCode finishUp ()
 Fill metaDataStore and ntuples.

Private Attributes

Gaudi::Property< std::string > m_LBColl_name {this, "LBCollName", "LumiBlocks"}
Gaudi::Property< std::string > m_unfinishedLBColl_name {this, "unfinishedLBCollName", "IncompleteLumiBlocks"}
Gaudi::Property< std::string > m_suspectLBColl_name {this, "suspectLBCollName", "SuspectLumiBlocks"}
bool m_fileCurrentlyOpened {false}
std::string m_CurrentFileName {"none"}
ServiceHandle< StoreGateSvcm_pMetaDataStore
ServiceHandle< StoreGateSvcm_pInputStore
xAOD::LumiBlockRangeContainer m_cacheInputRangeContainer
xAOD::LumiBlockRangeAuxContainer m_cacheInputRangeAuxContainer
xAOD::LumiBlockRangeContainer m_cacheSuspectInputRangeContainer
xAOD::LumiBlockRangeAuxContainer m_cacheSuspectInputRangeAuxContainer
xAOD::LumiBlockRangeContainer m_cacheOutputRangeContainer
xAOD::LumiBlockRangeAuxContainer m_cacheOutputRangeAuxContainer
xAOD::LumiBlockRangeContainer m_cacheSuspectOutputRangeContainer
xAOD::LumiBlockRangeAuxContainer m_cacheSuspectOutputRangeAuxContainer

Detailed Description

Declaration of the LumiBlockMetaDataTool class.

Author
Peter van Gemmeren gemme.nosp@m.ren@.nosp@m.anl.g.nosp@m.ov

Definition at line 28 of file LumiBlockMetaDataTool.h.

Constructor & Destructor Documentation

◆ 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.

Author
Marjorie Shapiro mdsha.nosp@m.piro.nosp@m.@lbl..nosp@m.gov based on work from Peter van Gemmeren gemme.nosp@m.ren@.nosp@m.anl.g.nosp@m.ov

Definition at line 18 of file LumiBlockMetaDataTool.cxx.

21 : base_class(type, name, parent)
22 , m_pMetaDataStore ("StoreGateSvc/MetaDataStore", name)
23 , m_pInputStore ("StoreGateSvc/InputMetaDataStore", name)
24{
25 // Here is where we create the LumiBlockRange objects. When we open a
26 // file, we fill the m_cacheInputRangeContainer from the input metadata store.
27 // When the file closes, we move the LumiBlockRange objects to the
28 // m_cacheOutputRangeContainer. Objects in the m_cacheOutputRangeContainer
29 // will be sorted and merged at the end of the job
30 // Note: the Suspect Range objects are kept in separate containers because
31 // once an object is suspect, it remains suspect forever
32 // If a file is only partially read, the objects in the m_cacheInputRangeContainer
33 // will be moved to the m_suspectOutputRangeContainer
34
39}
xAOD::LumiBlockRangeAuxContainer m_cacheOutputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer m_cacheSuspectInputRangeAuxContainer
xAOD::LumiBlockRangeContainer m_cacheSuspectOutputRangeContainer
ServiceHandle< StoreGateSvc > m_pInputStore
xAOD::LumiBlockRangeContainer m_cacheOutputRangeContainer
xAOD::LumiBlockRangeContainer m_cacheInputRangeContainer
xAOD::LumiBlockRangeAuxContainer m_cacheInputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer m_cacheSuspectOutputRangeAuxContainer
ServiceHandle< StoreGateSvc > m_pMetaDataStore
xAOD::LumiBlockRangeContainer m_cacheSuspectInputRangeContainer

◆ ~LumiBlockMetaDataTool()

LumiBlockMetaDataTool::~LumiBlockMetaDataTool ( )
virtual

Definition at line 42 of file LumiBlockMetaDataTool.cxx.

42 {
43}

Member Function Documentation

◆ beginInputFile()

StatusCode LumiBlockMetaDataTool::beginInputFile ( const SG::SourceID & )
overridevirtual

Function collecting the metadata from a new input file.

Definition at line 56 of file LumiBlockMetaDataTool.cxx.

57{
58 std::string fileName = "Undefined ";
59 bool alreadyRecorded=false;
60 if(m_CurrentFileName==fileName) {
61 alreadyRecorded=true;
62 }
64 alreadyRecorded=true;
65 }
66 m_CurrentFileName = std::move(fileName);
67 if(alreadyRecorded) return StatusCode::SUCCESS;
69 //
70 // Look for LB information on input store and transfer it to temporay cache
71 // ===========================================================================
72
74 ATH_MSG_INFO(" Contains xAOD::LumiBlockRangeContainer " << m_LBColl_name);
76 StatusCode sc = m_pInputStore->retrieve(lbrange,m_LBColl_name);
77 if (!sc.isSuccess()) {
78 ATH_MSG_INFO( "Could not find unfinished xAOD::LumiBlockRangeContainer in input metadata store" );
79 return StatusCode::SUCCESS;
80 }
81 ATH_MSG_INFO( "xAOD::LumiBlockRangeContainer size" << lbrange->size() );
82 for ( const auto* lb : *lbrange ) {
83 m_cacheInputRangeContainer.push_back(std::make_unique<xAOD::LumiBlockRange>(*lb));
84 }
85 }
87 ATH_MSG_INFO(" Contains xAOD::LumiBlockRangeContainer " << m_unfinishedLBColl_name);
90 if (!sc.isSuccess()) {
91 ATH_MSG_INFO( "Could not find unfinished xAOD::LumiBlockRangeContainer in input metadata store" );
92 return StatusCode::SUCCESS;
93 }
94 ATH_MSG_INFO( "xAOD::LumiBlockRangeContainer size" << lbrange->size() );
95 for ( const auto* lb : *lbrange ) {
96 m_cacheInputRangeContainer.push_back(std::make_unique<xAOD::LumiBlockRange>(*lb));
97 }
98 }
100 ATH_MSG_INFO(" Contains xAOD::LumiBlockRangeContainer " << m_suspectLBColl_name);
102 StatusCode sc = m_pInputStore->retrieve(lbrange,m_suspectLBColl_name);
103 if (!sc.isSuccess()) {
104 ATH_MSG_INFO( "Could not find suspect xAOD::LumiBlockRangeContainer in input metadata store" );
105 return StatusCode::SUCCESS;
106 }
107 ATH_MSG_INFO( "xAOD::LumiBlockRangeContainer size" << lbrange->size() );
108 for ( const auto* lb : *lbrange ) {
109 m_cacheSuspectInputRangeContainer.push_back(std::make_unique<xAOD::LumiBlockRange>(*lb));
110 }
111 }
112 return(StatusCode::SUCCESS);
113}
#define ATH_MSG_INFO(x)
static Double_t sc
Gaudi::Property< std::string > m_unfinishedLBColl_name
Gaudi::Property< std::string > m_LBColl_name
Gaudi::Property< std::string > m_suspectLBColl_name
int lb
Definition globals.cxx:23
::StatusCode StatusCode
StatusCode definition for legacy code.
LumiBlockRangeContainer_v1 LumiBlockRangeContainer
Declare the latest version of the container.

◆ endInputFile()

StatusCode LumiBlockMetaDataTool::endInputFile ( const SG::SourceID & )
overridevirtual

Function collecting the metadata from a new input file.

Definition at line 115 of file LumiBlockMetaDataTool.cxx.

116{
118 for (const auto range : m_cacheInputRangeContainer) {
119 auto iovr = std::make_unique<xAOD::LumiBlockRange>(*range);
120 m_cacheOutputRangeContainer.push_back(std::move(iovr));
121 }
123
124 for (const auto range : m_cacheSuspectInputRangeContainer) {
125 auto iovr = std::make_unique<xAOD::LumiBlockRange>(*range);
126 m_cacheSuspectOutputRangeContainer.push_back(std::move(iovr));
127 }
129 return(StatusCode::SUCCESS);
130}

◆ finishUp()

StatusCode LumiBlockMetaDataTool::finishUp ( )
private

Fill metaDataStore and ntuples.

Definition at line 153 of file LumiBlockMetaDataTool.cxx.

153 {
154 //
155 // stop() is called whenever the event loop is finished.
156 // ======================================================
157 ATH_MSG_VERBOSE( " finishUp: write lumiblocks to meta data store " );
158
159 auto piovComplete = std::make_unique<xAOD::LumiBlockRangeContainer>();
160 auto piovCompleteAux = std::make_unique<xAOD::LumiBlockRangeAuxContainer>();
161 piovComplete->setStore( piovCompleteAux.get() );
162
163 auto piovUnfinished = std::make_unique<xAOD::LumiBlockRangeContainer>();
164 auto piovUnfinishedAux = std::make_unique<xAOD::LumiBlockRangeAuxContainer>();
165 piovUnfinished->setStore( piovUnfinishedAux.get() );
166
167 auto piovSuspect = std::make_unique<xAOD::LumiBlockRangeContainer>();
168 auto piovSuspectAux = std::make_unique<xAOD::LumiBlockRangeAuxContainer>();
169 piovSuspect->setStore( piovSuspectAux.get() );
170
172 ATH_MSG_VERBOSE("Suspect OutputRangeCollection with size " << m_cacheSuspectOutputRangeContainer.size());
173 for (const auto range : m_cacheSuspectOutputRangeContainer) {
174 auto iovr = std::make_unique<xAOD::LumiBlockRange>(*range);
175 piovSuspect->push_back(std::move(iovr));
176 }
177 }
178
179 if(!m_cacheOutputRangeContainer.empty()) {
180 ATH_MSG_VERBOSE("OutputRangeCollection with size " << m_cacheOutputRangeContainer.size());
181 m_cacheOutputRangeContainer.sort(xAOD::SortLumiBlockRangeByStart());
182
183 // Use tmp collection to do the merging
186 tempLBColl.setStore( &tempAuxLBColl );
187
188 // Sort and Merge LumiBlockRange objects if necessary
189 // Merge LumiBlockRange objects for same run and lumiblock
193 xAOD::LumiBlockRange* iovr = tempLBColl.push_back(std::make_unique<xAOD::LumiBlockRange>(*(*i)));
194 ATH_MSG_VERBOSE( "Push_back tmpLBColl with run "
195 << (*i)->startRunNumber() << " LB " << (*i)->startLumiBlockNumber() << " events seen "
196 << (*ilast)->eventsSeen() << " expected " << (*i)->eventsExpected());
197 ++i;
198 while (i != ie) {
199 if( ((*i)->startRunNumber()==(*ilast)->startRunNumber()) &&
200 ((*i)->stopRunNumber()==(*ilast)->stopRunNumber()) &&
201 ((*i)->startLumiBlockNumber()==(*ilast)->startLumiBlockNumber()) &&
202 ((*i)->stopLumiBlockNumber()==(*ilast)->stopLumiBlockNumber()) ) {
203
204 if((*ilast)->eventsExpected()!=(*i)->eventsExpected()) {
205 ATH_MSG_WARNING( "Error: tmpLBColl with run " << (*i)->startRunNumber() << " LB " << (*i)->startLumiBlockNumber() << " events expected "
206 << (*ilast)->eventsExpected() << " and " << (*i)->eventsExpected() );
207 }
208 else {
209 ATH_MSG_VERBOSE( "Merge Run " << (*i)->startRunNumber() << " LB " << (*i)->startLumiBlockNumber()
210 << " events seen " << iovr->eventsSeen() << "+"
211 << (*i)->eventsSeen() << " and events expected "
212 << iovr->eventsExpected() );
213
214 iovr->setEventsSeen((*i)->eventsSeen()+iovr->eventsSeen());
215 }
216 }
217 else {
218 iovr = tempLBColl.push_back(std::make_unique<xAOD::LumiBlockRange>(*(*i)));
219
220 ATH_MSG_VERBOSE( "Push_back tmpLBColl with run "
221 << iovr->startRunNumber() << " LB " << iovr->startLumiBlockNumber() << " events seen "
222 << iovr->eventsSeen() << " expected " << iovr->eventsExpected());
223
224 ilast = i;
225 }
226 ++i;
227 }
228
229 for (const auto range : tempLBColl) {
230 auto iovr = std::make_unique<xAOD::LumiBlockRange>(*range);
231 if(range->eventsSeen() == range->eventsExpected() ) {
232 piovComplete->push_back(std::move(iovr));
233 }
234 else if(range->eventsSeen() > range->eventsExpected() ) {
235 piovSuspect->push_back(std::move(iovr));
236 }
237 else {
238 piovUnfinished->push_back(std::move(iovr));
239 }
240 }
241 }
242
243
244 if(!piovComplete->empty()) {
245 ATH_MSG_DEBUG( "Number of Complete LumiBlocks:" << piovComplete->size() );
246 for (const auto range : *piovComplete) {
247 ATH_MSG_INFO("\t [ ("
248 << range->startRunNumber() << "," << range->startLumiBlockNumber()
249 << "):("
250 << range->startRunNumber() << "," << range->startLumiBlockNumber()
251 << ") eventsSeen = " << range->eventsSeen()
252 << ", eventsExpected = " << range->eventsExpected()
253 << " ]");
254 }
255 }
256
257 if(!piovUnfinished->empty()) {
258 ATH_MSG_DEBUG( "Number of Unfinished LumiBlocks:" << piovUnfinished->size() );
259 for (const auto range : *piovUnfinished) {
260 ATH_MSG_INFO("\t [ ("
261 << range->startRunNumber() << "," << range->startLumiBlockNumber()
262 << "):("
263 << range->startRunNumber() << "," << range->startLumiBlockNumber()
264 << ") eventsSeen = " << range->eventsSeen()
265 << ", eventsExpected = " << range->eventsExpected()
266 << " ]");
267 }
268 }
269 if(!piovSuspect->empty()) {
270 ATH_MSG_DEBUG( "Number of Suspect LumiBlocks:" << piovSuspect->size() );
271 for (const auto range : *piovSuspect) {
272 ATH_MSG_INFO("\t [ ("
273 << range->startRunNumber() << "," << range->startLumiBlockNumber()
274 << "):("
275 << range->startRunNumber() << "," << range->startLumiBlockNumber()
276 << ") eventsSeen = " << range->eventsSeen()
277 << ", eventsExpected = " << range->eventsExpected()
278 << " ]");
279 }
280 }
281
282 // Store the LumiBlockRangeContainer in the metadata store
283 // =======================================================
284 if (!piovComplete->empty()) {
285 ATH_MSG_INFO("Write Complete LumiBlocks with size " << piovComplete->size());
286 // Check if we have already written them out
289 "Complete LumiBlocks container with key "
291 << " already exists. Updating if there are missing LumiBlocks.");
292 xAOD::LumiBlockRangeContainer* complete = nullptr;
293 ATH_CHECK(m_pMetaDataStore->retrieve(complete, m_LBColl_name));
294
295 for (const auto range : *piovComplete) {
296 // Check if this configuration is already in the existing container:
297 bool exists = false;
298 for (const auto existing : *complete) {
299 if ((existing->startRunNumber() == range->startRunNumber()) &&
300 (existing->stopRunNumber() == range->stopRunNumber()) &&
301 (existing->startLumiBlockNumber() == range->startLumiBlockNumber()) &&
302 (existing->stopLumiBlockNumber() == range->stopLumiBlockNumber()) &&
303 (existing->eventsSeen() == range->eventsSeen()) &&
304 (existing->eventsExpected() == range->eventsExpected())) {
305 exists = true;
306 break;
307 }
308 }
309 if (exists) {
310 continue;
311 }
312 // New LumiBlock, put it into the output container
314 "Copying LumiBlock: [ ("
315 << range->startRunNumber() << "," << range->stopLumiBlockNumber()
316 << "):(" << range->startRunNumber() << ","
317 << range->stopLumiBlockNumber()
318 << ") eventsSeen = " << range->eventsSeen()
319 << ", eventsExpected = " << range->eventsExpected() << " ]");
320 *complete->push_back(std::make_unique<xAOD::LumiBlockRange>()) = *range;
321 }
322 } else {
323 ATH_MSG_INFO("Recording "
325 << " LumiBlockRangeContainer in output MetaDataStore");
326 ATH_CHECK(m_pMetaDataStore->record(std::move(piovComplete), m_LBColl_name));
327 ATH_CHECK(m_pMetaDataStore->record(std::move(piovCompleteAux), m_LBColl_name + "Aux."));
328 }
329 }
330
331 if (!piovUnfinished->empty()) {
332 ATH_MSG_INFO("Write Unfinished LumiBlocks with size " << piovUnfinished->size());
333 // Check if we have already written them out
336 "Unfinished LumiBlocks container with key "
338 << " already exists. Updating if there are missing LumiBlocks.");
339 xAOD::LumiBlockRangeContainer* unfinished = nullptr;
340 ATH_CHECK(m_pMetaDataStore->retrieve(unfinished, m_unfinishedLBColl_name));
341
342 for (const auto range : *piovUnfinished) {
343 // Check if this configuration is already in the existing container:
344 bool exists = false;
345 for (const auto existing : *unfinished) {
346 if ((existing->startRunNumber() == range->startRunNumber()) &&
347 (existing->stopRunNumber() == range->stopRunNumber()) &&
348 (existing->startLumiBlockNumber() == range->startLumiBlockNumber()) &&
349 (existing->stopLumiBlockNumber() == range->stopLumiBlockNumber()) &&
350 (existing->eventsSeen() == range->eventsSeen()) &&
351 (existing->eventsExpected() == range->eventsExpected())) {
352 exists = true;
353 break;
354 }
355 }
356 if (exists) {
357 continue;
358 }
359 // New LumiBlock, put it into the output container
361 "Copying LumiBlock: [ ("
362 << range->startRunNumber() << "," << range->stopLumiBlockNumber()
363 << "):(" << range->startRunNumber() << ","
364 << range->stopLumiBlockNumber()
365 << ") eventsSeen = " << range->eventsSeen()
366 << ", eventsExpected = " << range->eventsExpected() << " ]");
367 *unfinished->push_back(std::make_unique<xAOD::LumiBlockRange>()) = *range;
368 }
369 } else {
370 ATH_MSG_INFO("Recording "
372 << " LumiBlockRangeContainer in output MetaDataStore");
373 ATH_CHECK(m_pMetaDataStore->record(std::move(piovUnfinished), m_unfinishedLBColl_name));
374 ATH_CHECK(m_pMetaDataStore->record(std::move(piovUnfinishedAux), m_unfinishedLBColl_name + "Aux."));
375 }
376 }
377
378 if (!piovSuspect->empty()) {
379 ATH_MSG_INFO("Write Suspect LumiBlocks with size " << piovSuspect->size());
380 // Check if we have already written them out
383 "Suspect LumiBlocks container with key "
385 << " already exists. Updating if there are missing LumiBlocks.");
386 xAOD::LumiBlockRangeContainer* suspect = nullptr;
388
389 for (const auto range : *piovSuspect) {
390 // Check if this configuration is already in the existing container:
391 bool exists = false;
392 for (const auto existing : *suspect) {
393 if ((existing->startRunNumber() == range->startRunNumber()) &&
394 (existing->stopRunNumber() == range->stopRunNumber()) &&
395 (existing->startLumiBlockNumber() == range->startLumiBlockNumber()) &&
396 (existing->stopLumiBlockNumber() == range->stopLumiBlockNumber()) &&
397 (existing->eventsSeen() == range->eventsSeen()) &&
398 (existing->eventsExpected() == range->eventsExpected())) {
399 exists = true;
400 break;
401 }
402 }
403 if (exists) {
404 continue;
405 }
406 // New LumiBlock, put it into the output container
408 "Copying LumiBlock: [ ("
409 << range->startRunNumber() << "," << range->stopLumiBlockNumber()
410 << "):(" << range->startRunNumber() << ","
411 << range->stopLumiBlockNumber()
412 << ") eventsSeen = " << range->eventsSeen()
413 << ", eventsExpected = " << range->eventsExpected() << " ]");
414 *suspect->push_back(std::make_unique<xAOD::LumiBlockRange>()) = *range;
415 }
416 } else {
417 ATH_MSG_INFO("Recording "
419 << " LumiBlockRangeContainer in output MetaDataStore");
420 ATH_CHECK(m_pMetaDataStore->record(std::move(piovSuspect), m_suspectLBColl_name));
421 ATH_CHECK(m_pMetaDataStore->record(std::move(piovSuspectAux), m_suspectLBColl_name + "Aux."));
422 }
423 }
424
425 return(StatusCode::SUCCESS);
426}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
DataModel_detail::const_iterator< DataVector > const_iterator
Definition DataVector.h:838
value_type push_back(value_type pElem)
Add an element to the end of the collection.
uint32_t eventsSeen() const
Get the number of seen/processed events in this luminosity block range.
void setEventsSeen(uint32_t value)
Set the number of seen/processed events in this luminosity block range.
uint32_t startRunNumber() const
Get the run number of the start time of the range.
uint32_t eventsExpected() const
Get the number of expected events in this luminosity block range.
uint32_t startLumiBlockNumber() const
Get the luminosity block of the start time of the range.
bool exists(const std::string &filename)
does a file exist
LumiBlockRange_v1 LumiBlockRange
Declare the latest version of the class.
LumiBlockRangeAuxContainer_v1 LumiBlockRangeAuxContainer
Declare the latest version of the auxiliary container.

◆ initialize()

StatusCode LumiBlockMetaDataTool::initialize ( )
overridevirtual

Definition at line 46 of file LumiBlockMetaDataTool.cxx.

46 {
47 ATH_MSG_INFO( "in initialize()" );
48
49 ATH_CHECK( m_pMetaDataStore.retrieve() );
50 ATH_CHECK( m_pInputStore.retrieve() );
51
52 return(StatusCode::SUCCESS);
53}

◆ metaDataStop()

StatusCode LumiBlockMetaDataTool::metaDataStop ( )
overridevirtual

Function writing the collected metadata to the output.

Definition at line 132 of file LumiBlockMetaDataTool.cxx.

133{
135 ATH_MSG_INFO( "MetaDataStop called when input file open: LumiBlock is suspect" );
136 for (const auto range : m_cacheInputRangeContainer) {
137 auto iovr = std::make_unique<xAOD::LumiBlockRange>(*range);
138 m_cacheSuspectOutputRangeContainer.push_back(std::move(iovr));
139 }
141 for (const auto range : m_cacheSuspectInputRangeContainer) {
142 auto iovr = std::make_unique<xAOD::LumiBlockRange>(*range);
143 m_cacheSuspectOutputRangeContainer.push_back(std::move(iovr));
144 }
146 }
147
148 ATH_CHECK( finishUp() );
149 return(StatusCode::SUCCESS);
150}
StatusCode finishUp()
Fill metaDataStore and ntuples.

Member Data Documentation

◆ m_cacheInputRangeAuxContainer

xAOD::LumiBlockRangeAuxContainer LumiBlockMetaDataTool::m_cacheInputRangeAuxContainer
private

Definition at line 67 of file LumiBlockMetaDataTool.h.

◆ m_cacheInputRangeContainer

xAOD::LumiBlockRangeContainer LumiBlockMetaDataTool::m_cacheInputRangeContainer
private

Definition at line 66 of file LumiBlockMetaDataTool.h.

◆ m_cacheOutputRangeAuxContainer

xAOD::LumiBlockRangeAuxContainer LumiBlockMetaDataTool::m_cacheOutputRangeAuxContainer
private

Definition at line 73 of file LumiBlockMetaDataTool.h.

◆ m_cacheOutputRangeContainer

xAOD::LumiBlockRangeContainer LumiBlockMetaDataTool::m_cacheOutputRangeContainer
private

Definition at line 72 of file LumiBlockMetaDataTool.h.

◆ m_cacheSuspectInputRangeAuxContainer

xAOD::LumiBlockRangeAuxContainer LumiBlockMetaDataTool::m_cacheSuspectInputRangeAuxContainer
private

Definition at line 69 of file LumiBlockMetaDataTool.h.

◆ m_cacheSuspectInputRangeContainer

xAOD::LumiBlockRangeContainer LumiBlockMetaDataTool::m_cacheSuspectInputRangeContainer
private

Definition at line 68 of file LumiBlockMetaDataTool.h.

◆ m_cacheSuspectOutputRangeAuxContainer

xAOD::LumiBlockRangeAuxContainer LumiBlockMetaDataTool::m_cacheSuspectOutputRangeAuxContainer
private

Definition at line 75 of file LumiBlockMetaDataTool.h.

◆ m_cacheSuspectOutputRangeContainer

xAOD::LumiBlockRangeContainer LumiBlockMetaDataTool::m_cacheSuspectOutputRangeContainer
private

Definition at line 74 of file LumiBlockMetaDataTool.h.

◆ m_CurrentFileName

std::string LumiBlockMetaDataTool::m_CurrentFileName {"none"}
private

Definition at line 58 of file LumiBlockMetaDataTool.h.

58{"none"};

◆ m_fileCurrentlyOpened

bool LumiBlockMetaDataTool::m_fileCurrentlyOpened {false}
private

Definition at line 57 of file LumiBlockMetaDataTool.h.

57{false};

◆ m_LBColl_name

Gaudi::Property<std::string> LumiBlockMetaDataTool::m_LBColl_name {this, "LBCollName", "LumiBlocks"}
private

Definition at line 53 of file LumiBlockMetaDataTool.h.

53{this, "LBCollName", "LumiBlocks"};

◆ m_pInputStore

ServiceHandle<StoreGateSvc> LumiBlockMetaDataTool::m_pInputStore
private

Definition at line 61 of file LumiBlockMetaDataTool.h.

◆ m_pMetaDataStore

ServiceHandle<StoreGateSvc> LumiBlockMetaDataTool::m_pMetaDataStore
private

Definition at line 60 of file LumiBlockMetaDataTool.h.

◆ m_suspectLBColl_name

Gaudi::Property<std::string> LumiBlockMetaDataTool::m_suspectLBColl_name {this, "suspectLBCollName", "SuspectLumiBlocks"}
private

Definition at line 55 of file LumiBlockMetaDataTool.h.

55{this, "suspectLBCollName", "SuspectLumiBlocks"};

◆ m_unfinishedLBColl_name

Gaudi::Property<std::string> LumiBlockMetaDataTool::m_unfinishedLBColl_name {this, "unfinishedLBCollName", "IncompleteLumiBlocks"}
private

Definition at line 54 of file LumiBlockMetaDataTool.h.

54{this, "unfinishedLBCollName", "IncompleteLumiBlocks"};

The documentation for this class was generated from the following files: