|
ATLAS Offline Software
|
Go to the documentation of this file.
11 #ifndef EVENT_BOOKKEEPER_TOOLS__CUT_FLOW_SVC_H
12 #define EVENT_BOOKKEEPER_TOOLS__CUT_FLOW_SVC_H
15 #ifndef XAOD_STANDALONE
25 #include <unordered_map>
28 #include <GaudiKernel/ISvcLocator.h>
29 #include <GaudiKernel/IIncidentListener.h>
30 #include <GaudiKernel/ServiceHandle.h>
44 public extends<AthService,
60 virtual void handle(
const Incident& incident)
override final;
69 bool nominalOnly)
override final;
78 bool nominalOnly)
override final;
86 bool nominalOnly)
override final;
90 const std::string&
descr)
override final;
95 const std::vector<float>&
weights)
override final;
100 double weight)
override final;
131 Gaudi::Property<bool>
m_configured{
this,
"Configured",
true,
"configuration check"};
143 Gaudi::Property<int>
m_skimmingCycle{
this,
"SkimmingCycle", 0,
"Skimming cycle of current job"};
146 Gaudi::Property<std::string>
m_inputStream{
this,
"InputStream",
"N/A",
"The name of the input file stream"};
157 #endif // EVENT_BOOKKEEPER_TOOLS__CUT_FLOW_SVC_H
ServiceHandle< StoreGateSvc > m_inMetaDataStore
The input meta-data store.
virtual CutIdentifier registerCut(const std::string &name, const std::string &description, CutIdentifier parentCutID, bool nominalOnly) override final
Register cut as child of a filter in the CutFlowSvc and returns the CutID of the corresponding EventB...
StatusCode determineCycleNumberFromInput(const std::string &collName)
Helper function to determine the processing cycle number from the input meta-data store.
Gaudi::Property< bool > m_configured
CutFlow service should be explicitly configured.
const CutBookkeepersLocalCache & getCutBookkeepers() const
Get CutBookkeepers cache.
xAOD::CutBookkeeper * getCutBookkeeper(const CutIdentifier cutID, size_t index) const
Get a CutBookkeeper given a CutID.
Description of the class that is used to keep track of event counts.
StatusCode createContainers(size_t count)
Helper function to create an empty containers (and its aux store)
std::recursive_mutex m_addEventMutex
Mutex to protect adding an event.
CutBookkeepersLocalCache m_containers
Local CutBookkeeperContainers.
Gaudi::Property< std::string > m_inputStream
The name of the currently used input file stream.
virtual StatusCode initialize() override final
Gaudi Service Implementation.
Helper in-memory structure.
This implements the methods for ICutFlowSvc.
CutFlowSvc(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
virtual void setFilterDescription(CutIdentifier cutID, const std::string &descr) override final
Set the description of an existing CutBookkeeper.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual CutIdentifier registerFilter(const std::string &name, const std::string &description, bool nominalOnly) override final
Register filter in the CutFlowSvc and returns the CutID of the corresponding CutBookkeeper.
Gaudi::Property< std::string > m_completeCollName
The name of the completed, i.e., fully processed, CutBookkeeperContainer.
virtual uint64_t getNAcceptedEvents(const CutIdentifier cutID) const override final
Get number of accepted events for a cut.
uint32_t CutIdentifier
InstanceIdentifier is a unique identifer used for every AthFilterAlgorithm instance.
virtual CutIdentifier registerTopFilter ATLAS_NOT_THREAD_SAFE(const std::string &name, const std::string &description, unsigned int logic, const std::string &outputStream, bool nominalOnly) override final
Tells CutFlowSvc that a filter is used directly by an outputStream with a given logical context.
virtual void handle(const Incident &incident) override final
Incident service handle listening for BeginInputFile, EndInputFile and MetaDataStop.
Gaudi::Property< int > m_skimmingCycle
The current skimming cycle, i.e., how many processing stages we already had.
StatusCode setNumberOfWeightVariations(size_t count)
Set number of weight variations.
Define macros for attributes used to control the static checker.
virtual void addEvent(CutIdentifier cutID, const std::vector< float > &weights) override final
Tells CutFlowSvc to update the weighted event counter of a CutIdentifier cutID, using CutIdentifier r...
std::unordered_set< CutIdentifier > m_nominalOnlyCuts
List of nominal-only filters.
std::string description
glabal timer - how long have I taken so far?