  | 
  
    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