ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Control
AthenaKernel
AthenaKernel
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
18
#include "
CxxUtils/checker_macros.h
"
19
20
//<<<<<< FORWARD DECLARATIONS >>>>>>
21
class
INamedInterface;
22
23
25
typedef
uint32_t
CutIdentifier
;
26
27
34
35
class
ICutFlowSvc
36
:
virtual
public
::INamedInterface
37
{
38
39
public
:
40
41
DeclareInterfaceID
(
ICutFlowSvc
, 1, 0);
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
72
virtual
void
setFilterDescription
(
CutIdentifier
cutID,
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
CutIdentifier
uint32_t CutIdentifier
InstanceIdentifier is a unique identifer used for every filter.
Definition
ICutFlowSvc.h:25
checker_macros.h
Define macros for attributes used to control the static checker.
ICutFlowSvc
This class provides an interface between event filtering algorithms and athena input/output streams,...
Definition
ICutFlowSvc.h:37
ICutFlowSvc::ATLAS_NOT_THREAD_SAFE
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.
ICutFlowSvc::addEvent
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...
ICutFlowSvc::addEvent
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...
ICutFlowSvc::DeclareInterfaceID
DeclareInterfaceID(ICutFlowSvc, 1, 0)
ICutFlowSvc::registerFilter
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.
ICutFlowSvc::setFilterDescription
virtual void setFilterDescription(CutIdentifier cutID, const std::string &descr)=0
Set the description of an existing EventBookkeeper.
ICutFlowSvc::getNAcceptedEvents
virtual uint64_t getNAcceptedEvents(const CutIdentifier cutID) const =0
Get number of accepted events for a cut.
ICutFlowSvc::registerCut
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...
ICutFlowSvc::~ICutFlowSvc
virtual ~ICutFlowSvc()
Definition
ICutFlowSvc.cxx:30
description
std::string description
glabal timer - how long have I taken so far?
Definition
hcg.cxx:93
weights
Definition
herwig7_interface.h:38
Generated on
for ATLAS Offline Software by
1.17.0