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 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
174 if(!m_cacheOutputRangeContainer.empty()) {
175 ATH_MSG_VERBOSE("OutputRangeCollection with size " << m_cacheOutputRangeContainer.size());
176 m_cacheOutputRangeContainer.sort(xAOD::SortLumiBlockRangeByStart());
177
178 // Use tmp collection to do the merging
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 "
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
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 "
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
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;
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
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}
#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 }
142
143 ATH_CHECK( finishUp() );
144 return(StatusCode::SUCCESS);
145}
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: