|  | 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?