 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef PILEUPEVENTLOOPMGR_H
6 #define PILEUPEVENTLOOPMGR_H
14 #include "GaudiKernel/MinimalEventLoopMgr.h"
23 #include "Gaudi/Property.h"
24 #include "GaudiKernel/ServiceHandle.h"
25 #include "GaudiKernel/ToolHandle.h"
26 #include "GaudiKernel/IAlgExecStateSvc.h"
62 virtual int curEvent()
const override;
80 inline unsigned int getBCID(
int bunchXing,
unsigned int centralBCID)
const {
95 "EventSelector for original (physics) events stream"};
97 "EventSelector for signal (hard-scatter) events stream"};
99 "The service providing the beam intensity distribution"};
101 "The service providing the beam luminosity distribution vs. run"};
103 "PileUp Merge Service"};
105 "ServiceHandle for EvtIdModifierSvc"};
108 "The number of slots in each LHC beam. Default: 3564."};
109 Gaudi::Property<float>
m_xingFreq{
this,
"XingFrequency", 25.0,
112 "time of first xing / XingFrequency (0th xing is 1st after trigger)"};
114 "time of last xing / XingFrequency (0th xing is 1st after trigger)"};
116 "Set to digitization numberOfCollisions prop. for variable-mu and RunDMC jobs."};
117 ToolHandleArray<IBkgStreamsCache>
m_caches{
this,
"bkgCaches", {},
118 "list of tools managing bkg events"};
120 "if true(default) an EOF condition in the BkgStreamsCaches is not considered "
121 "to be an error IF maxevt=-1 (loop over all available events)"};
123 "if set to true we will not cache bkg events from one xing to then next. "
124 "This greatly increases the amount of I/O and greatly reduces the memory required to run a job"};
126 "Controls behaviour of event loop depending on return code of"
127 " Algorithms. 0: all non-SUCCESSes terminate job. "
128 "1: RECOVERABLE skips to next event, FAILURE terminates job "
129 "(DEFAULT). 2: RECOVERABLE and FAILURE skip to next events"};
131 "When set to False, this will allow the code to reproduce serial output in an "
132 "AthenaMP job, albeit with a significant performance penalty."};
134 "SG key for the EventInfo object"};
136 "SG key for the EventInfoContainer object"};
138 "sample MC channel number" };
150 #endif // PILEUPTOOLS_PILEUPEVENTLOOPMGR_H
const std::string c_pileUpEventInfoContName
default value for the EventInfoContainer storing subevents for PileUp
Interface to in-memory cache for pileup events.
ServiceHandle< IIncidentSvc > m_incidentSvc
Incident Service.
virtual StatusCode executeEvent(EventContext &&ctx) override
Abstract interface for seeking within an event stream.
virtual ~PileUpEventLoopMgr()
Standard Destructor.
virtual int curEvent() const override
Gaudi::Property< bool > m_allowSerialAndMPToDiffer
ServiceHandle< IEvtSelector > m_signalSel
ServiceHandle< IEvtSelector > m_origSel
The ATLAS event loop for pile-up applications.
Gaudi::Property< float > m_xingFreq
ServiceHandle< StoreGateSvc > m_evtStore
output store
Gaudi::Property< std::string > m_evinfName
virtual StatusCode executeAlgorithms(const EventContext &ctx)
Run the algorithms for the current event.
PileUpStream m_origStream
Input Stream.
the preferred mechanism to access information from the different event stores in a pileup job.
The Athena Transient Store API.
ServiceHandle< PileUpMergeSvc > m_mergeSvc
bool msgLvl(const MSG::Level lvl) const
Test the output level.
Gaudi::Property< bool > m_allowSubEvtsEOF
PileUpEventLoopMgr(const std::string &nam, ISvcLocator *svcLoc)
Standard Constructor.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode seek(int evt) override
ServiceHandle< IEvtIdModifierSvc > m_evtIdModSvc
ServiceHandle< IBeamIntensity > m_beamInt
virtual StatusCode nextEvent(int maxevt) override
Class to provide easy MsgStream access and capabilities.
a triple selector/context/store defines a stream
Gaudi::Property< std::string > m_evinfContName
StatusCode setupStreams()
setup input and overlay selectors and iters
Gaudi::Property< uint32_t > m_mcChannelNumber
MsgStream & msg() const
The standard message stream.
Gaudi::Property< int > m_firstXing
unsigned int getBCID(int bunchXing, unsigned int centralBCID) const
return the 'fake BCID' corresponding to bunchXing
Gaudi::Property< float > m_maxCollPerXing
Gaudi::Property< unsigned int > m_maxBunchCrossingPerOrbit
virtual StatusCode finalize() override
ToolHandleArray< IBkgStreamsCache > m_caches
virtual StatusCode initialize() override
Gaudi::Property< bool > m_xingByXing
const std::string c_pileUpEventInfoObjName
default value for the EventInfoContainer storing subevents for PileUp
uint32_t m_currentRun
current run number
SmartIF< IAlgExecStateSvc > m_aess
Reference to the Algorithm Execution State Svc.
This class provides a unique identification for each event, in terms of run/event number and/or a tim...
Gaudi::Property< int > m_lastXing
a triple selector/context/store defines a stream
Gaudi::Property< int > m_failureMode
void modifyEventContext(EventContext &ctx, const EventID &eID, bool consume_modifier_stream)
ServiceHandle< IBeamLuminosity > m_beamLumi