ATLAS Offline Software
Loading...
Searching...
No Matches
ICutFlowSvc.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2024 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 <map>
17#include <stdint.h> // for uint32_t
18
20
21//<<<<<< FORWARD DECLARATIONS >>>>>>
22class INamedInterface;
23
24
26typedef uint32_t CutIdentifier;
27
28
35
37 : virtual public ::INamedInterface
38{
39
40public:
41
43
44 virtual ~ICutFlowSvc();
45
46
51 virtual CutIdentifier registerFilter( const std::string& name,
52 const std::string& description,
53 bool nominalOnly ) = 0;
54
58 virtual CutIdentifier registerTopFilter ATLAS_NOT_THREAD_SAFE ( const std::string& name,
59 const std::string& description,
60 unsigned int logic,
61 const std::string& outputStream,
62 bool nominalOnly ) = 0;
63
67 virtual CutIdentifier registerCut( const std::string& name,
68 const std::string& description,
69 CutIdentifier parentCutID,
70 bool nominalOnly ) = 0;
71
74 const std::string& descr ) = 0;
75
78 virtual void addEvent( CutIdentifier cutID,
79 const std::vector<float>& weights) = 0;
80
83 virtual void addEvent( CutIdentifier cutID,
84 double weight) = 0;
85
87 virtual uint64_t getNAcceptedEvents( const CutIdentifier cutID ) const = 0;
88
89};
90
91#endif //> !ATHENAKERNEL_ICUTFLOWSVC_H
uint32_t CutIdentifier
InstanceIdentifier is a unique identifer used for every AthFilterAlgorithm instance.
Definition ICutFlowSvc.h:26
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:38
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