ATLAS Offline Software
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
15 
16 namespace LHAPDF {
17 class PDF;
18 }
19 
20 class PDFWeight : public WeightToolBase
21  {
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;
47  std::string m_eventInfoName;
48  float m_weight;
49 
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:40
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:192
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