ATLAS Offline Software
SelectEventNumber.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
8 
9 #include <fstream>
10 
11 namespace Trk {
12 
13 //___________________________________________________________________________
15 {
16  ATH_MSG_DEBUG("in SelectEventNumber::initialize()");
17  std::ifstream input(m_eventListName.value().c_str());
18  int run,event;
19  if (input.is_open()) {
20  while (input>>run>>event) {
21  m_goodEventList.emplace_back(run,event);
22  ATH_MSG_DEBUG("adding run "<<run<<", event "<<event);
23  }
24  }
25  else {
26  ATH_MSG_WARNING("could not open "<<m_eventListName);
27  }
28 
29  return StatusCode::SUCCESS;
30 }
31 
32 //___________________________________________________________________________
34 {
35  ATH_MSG_DEBUG("in SelectEventNumber::execute()");
36 
37  const xAOD::EventInfo* eventInfo = nullptr;
38  StatusCode sc=evtStore()->retrieve(eventInfo);
39  if (sc.isFailure()) {
40  ATH_MSG_ERROR("Couldn't retrieve event info");
41  }
42 
43  int run=eventInfo->runNumber();
44  int evt=eventInfo->eventNumber();
45 
46  // check if this run/evt is in the good file
47  int currentevt=m_lastGoodEvt;
48  bool goodevt=false;
49  std::vector<std::pair<int,int> >::iterator it=
51  for (; it!=m_goodEventList.end(); ++it,currentevt++) {
52 
53  if (evt==(*it).second &&
54  run==(*it).first) {
55  m_lastGoodEvt=currentevt;
56  goodevt=true;
57  break;
58  }
59  }
60 
61  ATH_MSG_DEBUG("setting filter passed to "<<goodevt);
62 
63  setFilterPassed(goodevt);
64 
65  ATH_MSG_DEBUG("goodevt "<<goodevt);
66  return StatusCode::SUCCESS;
67 }
68 
69 }
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
Trk::SelectEventNumber::m_lastGoodEvt
int m_lastGoodEvt
good events read in from ASCII file
Definition: SelectEventNumber.h:40
Trk::SelectEventNumber::initialize
virtual StatusCode initialize()
initialize method
Definition: SelectEventNumber.cxx:14
xAOD::EventInfo_v1::eventNumber
uint64_t eventNumber() const
The current event's event number.
skel.it
it
Definition: skel.GENtoEVGEN.py:407
run
int run(int argc, char *argv[])
Definition: ttree2hdf5.cxx:28
LArG4FSStartPointFilter.evt
evt
Definition: LArG4FSStartPointFilter.py:42
Trk::SelectEventNumber::m_goodEventList
std::vector< std::pair< int, int > > m_goodEventList
Definition: SelectEventNumber.h:38
xAOD::EventInfo_v1::runNumber
uint32_t runNumber() const
The current event's run number.
Trk::SelectEventNumber::m_eventListName
StringProperty m_eventListName
Definition: SelectEventNumber.h:36
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
Trk::SelectEventNumber::execute
virtual StatusCode execute()
execute method
Definition: SelectEventNumber.cxx:33
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
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
run
Definition: run.py:1
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
EventInfo.h
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
SelectEventNumber.h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32