ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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. More...
 
virtual ~LumiBlockMetaDataTool ()
 
virtual StatusCode initialize () override
 
virtual StatusCode beginInputFile (const SG::SourceID &) override
 Function collecting the metadata from a new input file. More...
 
virtual StatusCode endInputFile (const SG::SourceID &) override
 Function collecting the metadata from a new input file. More...
 
virtual StatusCode metaDataStop () override
 Function writing the collected metadata to the output. More...
 

Private Member Functions

StatusCode finishUp ()
 Fill metaDataStore and ntuples. More...
 

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 }

◆ ~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;
61  alreadyRecorded=true;
62  }
64  alreadyRecorded=true;
65  }
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);
75  const xAOD::LumiBlockRangeContainer* lbrange =nullptr;
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);
88  const xAOD::LumiBlockRangeContainer* lbrange =nullptr;
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);
101  const xAOD::LumiBlockRangeContainer* lbrange =nullptr;
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 }

◆ 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 {
117  m_fileCurrentlyOpened=false;
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);
127  }
129  return(StatusCode::SUCCESS);
130 }

◆ finishUp()

StatusCode LumiBlockMetaDataTool::finishUp ( )
private

Fill metaDataStore and ntuples.

Definition at line 148 of file LumiBlockMetaDataTool.cxx.

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

◆ 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);
139  }
141  }
142 
143  ATH_CHECK( finishUp() );
144  return(StatusCode::SUCCESS);
145 }

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.

◆ m_fileCurrentlyOpened

bool LumiBlockMetaDataTool::m_fileCurrentlyOpened {false}
private

Definition at line 57 of file LumiBlockMetaDataTool.h.

◆ m_LBColl_name

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

Definition at line 53 of file LumiBlockMetaDataTool.h.

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

◆ m_unfinishedLBColl_name

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

Definition at line 54 of file LumiBlockMetaDataTool.h.


The documentation for this class was generated from the following files:
LumiBlockMetaDataTool::m_cacheInputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer m_cacheInputRangeAuxContainer
Definition: LumiBlockMetaDataTool.h:67
xAOD::LumiBlockRange_v1::startLumiBlockNumber
uint32_t startLumiBlockNumber() const
Get the luminosity block of the start time of the range.
LumiBlockMetaDataTool::m_CurrentFileName
std::string m_CurrentFileName
Definition: LumiBlockMetaDataTool.h:58
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
xAOD::LumiBlockRange_v1::eventsSeen
uint32_t eventsSeen() const
Get the number of seen/processed events in this luminosity block range.
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
xAOD::LumiBlockRange_v1::eventsExpected
uint32_t eventsExpected() const
Get the number of expected events in this luminosity block range.
LumiBlockMetaDataTool::m_cacheInputRangeContainer
xAOD::LumiBlockRangeContainer m_cacheInputRangeContainer
Definition: LumiBlockMetaDataTool.h:66
xAOD::SortLumiBlockRangeByStart
Helper functor used to sort xAOD::LumiBlockRangeContainer-s.
Definition: SortLumiBlockRangeByStart.h:29
xAOD::LumiBlockRangeAuxContainer_v1
Auxiliary container for xAOD::LumiBlockRangeContainer_v1.
Definition: LumiBlockRangeAuxContainer_v1.h:34
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
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
LumiBlockMetaDataTool::finishUp
StatusCode finishUp()
Fill metaDataStore and ntuples.
Definition: LumiBlockMetaDataTool.cxx:148
LumiBlockMetaDataTool::m_cacheSuspectInputRangeContainer
xAOD::LumiBlockRangeContainer m_cacheSuspectInputRangeContainer
Definition: LumiBlockMetaDataTool.h:68
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
PlotCalibFromCool.ie
ie
Definition: PlotCalibFromCool.py:420
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
python.BunchSpacingUtils.lb
lb
Definition: BunchSpacingUtils.py:86
xAOD::LumiBlockRange_v1::startRunNumber
uint32_t startRunNumber() const
Get the run number of the start time of the range.
lumiFormat.i
int i
Definition: lumiFormat.py:85
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
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:194
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
xAOD::LumiBlockRange_v1::setEventsSeen
void setEventsSeen(uint32_t value)
Set the number of seen/processed events in this luminosity block range.
DataVector
Derived DataVector<T>.
Definition: DataVector.h:795
DataVector::clear
void clear()
Erase all the elements in the collection.
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
python.output.AtlRunQueryRoot.lbrange
lbrange
Definition: AtlRunQueryRoot.py:989
LumiBlockMetaDataTool::m_cacheOutputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer m_cacheOutputRangeAuxContainer
Definition: LumiBlockMetaDataTool.h:73
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
LumiBlockMetaDataTool::m_cacheSuspectOutputRangeAuxContainer
xAOD::LumiBlockRangeAuxContainer m_cacheSuspectOutputRangeAuxContainer
Definition: LumiBlockMetaDataTool.h:75
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
DataVector::sort
void sort()
Sort the container.
xAOD::LumiBlockRange_v1
Class describing a luminosity block range.
Definition: LumiBlockRange_v1.h:33
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
LumiBlockMetaDataTool::m_cacheOutputRangeContainer
xAOD::LumiBlockRangeContainer m_cacheOutputRangeContainer
Definition: LumiBlockMetaDataTool.h:72
LumiBlockMetaDataTool::m_LBColl_name
Gaudi::Property< std::string > m_LBColl_name
Definition: LumiBlockMetaDataTool.h:53
jobOptions.fileName
fileName
Definition: jobOptions.SuperChic_ALP2.py:39
python.dummyaccess.exists
def exists(filename)
Definition: dummyaccess.py:9
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
LumiBlockMetaDataTool::m_pMetaDataStore
ServiceHandle< StoreGateSvc > m_pMetaDataStore
Definition: LumiBlockMetaDataTool.h:60
DataVector::empty
bool empty() const noexcept
Returns true if the collection is empty.
LumiBlockMetaDataTool::m_cacheSuspectOutputRangeContainer
xAOD::LumiBlockRangeContainer m_cacheSuspectOutputRangeContainer
Definition: LumiBlockMetaDataTool.h:74
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.