ATLAS Offline Software
Loading...
Searching...
No Matches
WeightPFOTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef WEIGHTPFOTOOL_H
6#define WEIGHTPFOTOOL_H
7
9
10#include "AsgTools/AsgTool.h"
11
13
15
16#include <string>
17
18namespace CP {
19
20 class WeightPFOTool : public virtual IWeightPFOTool, public asg::AsgTool {
21
24
25 public:
27 WeightPFOTool(const std::string& name);
28
29 // given a PFO, extract weight
30 StatusCode fillWeight( const xAOD::PFO& cpfo, float& weight) const;
31 StatusCode fillWeight( const xAOD::FlowElement& cpfo, float& weight) const;
32
33 private:
34
35 Gaudi::Property<bool> m_doEoverPweight{this, "DoEoverPWeight", true};
36 Gaudi::Property<std::string> m_theNeutralPFOScaleString{this, "NeutralPFOScale", "EM"};
37
38 void fillInterpolationWeight(const xAOD::FlowElement& cpfo, float& weight) const;
39 void fillDoubleCountingWeight(const xAOD::FlowElement& cpfo, float& weight) const;
40
41 };
42
43}
44#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
void fillDoubleCountingWeight(const xAOD::FlowElement &cpfo, float &weight) const
WeightPFOTool(const std::string &name)
Athena constructor.
Gaudi::Property< std::string > m_theNeutralPFOScaleString
Gaudi::Property< bool > m_doEoverPweight
void fillInterpolationWeight(const xAOD::FlowElement &cpfo, float &weight) const
StatusCode fillWeight(const xAOD::PFO &cpfo, float &weight) const
Declare the interface that the class provides.
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Select isolated Photons, Electrons and Muons.
PFO_v1 PFO
Definition of the current "pfo version".
Definition PFO.h:17
FlowElement_v1 FlowElement
Definition of the current "pfo version".
Definition FlowElement.h:16