ATLAS Offline Software
Loading...
Searching...
No Matches
WeightsAgregator.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5*/
6
7// Computes the product (multiplication) of the weights provided by
8// different IWeightTools
9//
10// Author: Olivier Arnaez <olivier.arnaez@cern.ch>
12
13#ifndef WEIGHTSAGREGATOR_H
14#define WEIGHTSAGREGATOR_H 1
15
16// Include the base class
17#include "AsgTools/ToolHandle.h"
21
22
24 {
27
28 public:
30 WeightsAgregator( const std::string& name );
31
33 virtual ~WeightsAgregator() {};
34
36 virtual StatusCode initialize() override;
37
39 virtual double evaluate( const xAOD::IParticle* part ) const override;
40
42 virtual double getWeight() const override;
43
44
45 private:
47 std::string m_eventInfoName;
48
50 ToolHandleArray< IWeightTool > m_toolArray;
51
52 };
53
54#endif //> !WEIGHTSAGREGATOR_H
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Interface for tools that want to calculate a quantity from an xAOD::IParticle.
Interface for tools that want to calculate a weight from different event information.
Definition IWeightTool.h:21
WeightToolBase(const std::string &name)
Create a proper constructor for Athena.
virtual double evaluate(const xAOD::IParticle *part) const override
returns: the value that was calculated from the xAOD::IParticle (composite built event object for ins...
virtual StatusCode initialize() override
Usual initialize method of the framework.
virtual double getWeight() const override
returns: the value that was calculated from the usual Athena storegate
ToolHandleArray< IWeightTool > m_toolArray
Array of ingredient weight tools.
virtual ~WeightsAgregator()
Default destructor.
WeightsAgregator(const std::string &name)
Create a proper constructor for Athena.
std::string m_eventInfoName
Name of the xAOD::EventInfo object.
Class providing the definition of the 4-vector interface.