ATLAS Offline Software
PhysicsAnalysis
AnalysisCommon
ReweightUtils
ReweightUtils
PDFWeight.h
Go to the documentation of this file.
1
3
/*
4
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5
*/
6
7
// Author: Danilo Ferreira de Lima <dferreir@cern.ch>
9
10
#ifndef PDFWEIGHT_H
11
#define PDFWEIGHT_H
12
13
// Include the base class
14
#include "
ReweightUtils/WeightToolBase.h
"
15
16
namespace
LHAPDF
{
17
class
PDF
;
18
}
19
20
class
PDFWeight
:
public
WeightToolBase
21
{
23
ASG_TOOL_CLASS2
(
PDFWeight
,
IWeightTool
,
IObservableTool
)
24
25
public
:
27
PDFWeight
(
const
std::string&
name
);
28
30
virtual
~PDFWeight
() {};
31
32
StatusCode
initialize
()
override
;
33
35
virtual
double
evaluate
(
const
xAOD::IParticle
*
part
)
const override
;
36
38
virtual
double
getWeight
()
const override
;
39
40
41
private
:
42
//internal function "computing" the weight
43
double
computeWeight
(
const
xAOD::EventInfo
*)
const
;
44
45
std::string
m_pdfName
;
46
std::string
m_truthEventContainerName
;
47
std::string
m_eventInfoName
;
48
float
m_weight
;
49
50
LHAPDF::PDF
*
m_pdf
= 0;
51
52
int
m_index
;
53
};
54
55
#endif //> !PDFWEIGHT_H
LArG4FSStartPointFilter.part
part
Definition:
LArG4FSStartPointFilter.py:21
PDFWeight::m_pdfName
std::string m_pdfName
Definition:
PDFWeight.h:45
WeightToolBase.h
Powheg_tt_mtop_common.PDF
PDF
Definition:
Powheg_tt_mtop_common.py:110
PDFWeight::computeWeight
double computeWeight(const xAOD::EventInfo *) const
Definition:
PDFWeight.cxx:52
PDFWeight::m_truthEventContainerName
std::string m_truthEventContainerName
Definition:
PDFWeight.h:46
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition:
AsgToolMacros.h:77
IObservableTool
Interface for tools that want to calculate a quantity from an xAOD::IParticle.
Definition:
IObservableTool.h:32
PDFWeight::PDFWeight
PDFWeight(const std::string &name)
Create a proper constructor for Athena.
Definition:
PDFWeight.cxx:17
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition:
Event/xAOD/xAODBase/xAODBase/IParticle.h:41
PDFWeight::evaluate
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...
Definition:
PDFWeight.cxx:44
IWeightTool
Interface for tools that want to calculate a weight from different event information.
Definition:
IWeightTool.h:21
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PDFWeight::m_eventInfoName
std::string m_eventInfoName
Definition:
PDFWeight.h:47
PDFWeight::m_index
int m_index
Definition:
PDFWeight.h:52
PDFWeight::m_pdf
LHAPDF::PDF * m_pdf
Definition:
PDFWeight.h:50
PDFWeight::m_weight
float m_weight
Definition:
PDFWeight.h:48
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:221
xAOD::EventInfo_v1
Class describing the basic event information.
Definition:
EventInfo_v1.h:43
PDFWeight::getWeight
virtual double getWeight() const override
returns: the value that was calculated from the usual Athena storegate
Definition:
PDFWeight.cxx:138
PDFWeight::~PDFWeight
virtual ~PDFWeight()
Default destructor.
Definition:
PDFWeight.h:30
WeightToolBase
Definition:
WeightToolBase.h:29
PDFWeight::initialize
StatusCode initialize() override
Usual initialize method of the framework.
Definition:
PDFWeight.cxx:27
LHAPDF
Definition:
PDFWeight.h:16
PDFWeight
Definition:
PDFWeight.h:21
Generated on Thu Nov 7 2024 21:23:21 for ATLAS Offline Software by
1.8.18