ATLAS Offline Software
Loading...
Searching...
No Matches
ICutFlowSvc.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
5*/
6
7// Header file for class ICutFlowSvc //
8// Authors: Joao Firmino da Costa (joao.costa@cern.ch) and David Cote (david.cote@cern.ch), July 2010 //
10#ifndef ATHENAKERNEL_ICUTFLOWSVC_H
11#define ATHENAKERNEL_ICUTFLOWSVC_H 1
12
13//<<<<<< INCLUDES >>>>>>
14#include <vector>
15#include <string>
16#include <stdint.h> // for uint32_t
17
19
20//<<<<<< FORWARD DECLARATIONS >>>>>>
21class INamedInterface;
22
23
25typedef uint32_t CutIdentifier;
26
27
34
36 : virtual public ::INamedInterface
37{
38
39public:
40
42
43 virtual ~ICutFlowSvc();
44
45
50 virtual CutIdentifier registerFilter( const std::string& name,
51 const std::string& description,
52 bool nominalOnly ) = 0;
53
57 virtual CutIdentifier registerTopFilter ATLAS_NOT_THREAD_SAFE ( const std::string& name,
58 const std::string& description,
59 unsigned int logic,
60 const std::string& outputStream,
61 bool nominalOnly ) = 0;
62
66 virtual CutIdentifier registerCut( const std::string& name,
67 const std::string& description,
68 CutIdentifier parentCutID,
69 bool nominalOnly ) = 0;
70
73 const std::string& descr ) = 0;
74
77 virtual void addEvent( CutIdentifier cutID,
78 const std::vector<float>& weights) = 0;
79
82 virtual void addEvent( CutIdentifier cutID,
83 double weight) = 0;
84
86 virtual uint64_t getNAcceptedEvents( const CutIdentifier cutID ) const = 0;
87
88};
89
90#endif //> !ATHENAKERNEL_ICUTFLOWSVC_H
uint32_t CutIdentifier
InstanceIdentifier is a unique identifer used for every filter.
Definition ICutFlowSvc.h:25
Define macros for attributes used to control the static checker.
This class provides an interface between event filtering algorithms and athena input/output streams,...
Definition ICutFlowSvc.h:37
virtual CutIdentifier registerTopFilter ATLAS_NOT_THREAD_SAFE(const std::string &name, const std::string &description, unsigned int logic, const std::string &outputStream, bool nominalOnly)=0
Tells CutFlowSvc that a filter is used directly by an outputStream with a given logical context.
virtual void addEvent(CutIdentifier cutID, double weight)=0
Tells CutFlowSvc to update the weighted event counter of a CutIdentifier The same weight is for all s...
virtual void addEvent(CutIdentifier cutID, const std::vector< float > &weights)=0
Tells CutFlowSvc to update the weighted event counter of a CutIdentifier A vector of weights is provi...
DeclareInterfaceID(ICutFlowSvc, 1, 0)
virtual CutIdentifier registerFilter(const std::string &name, const std::string &description, bool nominalOnly)=0
Register filter in the CutFlowSvc and returns the CutID of the corresponding EventBookkeeper.
virtual void setFilterDescription(CutIdentifier cutID, const std::string &descr)=0
Set the description of an existing EventBookkeeper.
virtual uint64_t getNAcceptedEvents(const CutIdentifier cutID) const =0
Get number of accepted events for a cut.
virtual CutIdentifier registerCut(const std::string &name, const std::string &description, CutIdentifier parentCutID, bool nominalOnly)=0
Register cut as child of a filter in the CutFlowSvc and returns the CutID of the corresponding EventB...
virtual ~ICutFlowSvc()
std::string description
glabal timer - how long have I taken so far?
Definition hcg.cxx:91