ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
AsgAnalysisAlgorithms
AsgAnalysisAlgorithms
PDFReweightAlg.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
7
#ifndef ASG_ANALYSIS_ALGORITHMS__PDFREWEIGHT__ALG_H
8
#define ASG_ANALYSIS_ALGORITHMS__PDFREWEIGHT__ALG_H
9
10
#include <
AnaAlgorithm/AnaReentrantAlgorithm.h
>
11
#include <
AsgDataHandles/ReadHandleKey.h
>
12
#include <
AsgDataHandles/WriteDecorHandleKey.h
>
13
#include <
AsgTools/PropertyWrapper.h
>
14
15
16
#include <
xAODEventInfo/EventInfo.h
>
17
#include "
xAODTruth/TruthEventContainer.h
"
18
19
#include <memory>
20
#include <vector>
21
22
namespace
LHAPDF
{
23
class
PDF;
24
}
25
26
27
namespace
CP
28
{
30
class
PDFReweightAlg
:
public
EL::AnaReentrantAlgorithm
31
{
32
public
:
33
using
EL::AnaReentrantAlgorithm::AnaReentrantAlgorithm
;
34
virtual
StatusCode
initialize
()
final
;
35
virtual
StatusCode
execute
(
const
EventContext &ctx)
const
final
;
36
37
private
:
38
40
struct
PDFDeleter
41
{
42
void
operator()
(
const
LHAPDF::PDF *pdf)
const
;
43
};
44
using
PDFPtr
= std::unique_ptr<const LHAPDF::PDF, PDFDeleter>;
45
46
SG::ReadHandleKey<xAOD::EventInfo>
m_EventInfoKey
{
47
this
,
"EventInfoKey"
,
"EventInfo"
,
"EventInfo container to dump"
};
48
49
SG::ReadHandleKey<xAOD::TruthEventContainer>
m_TruthEventKey
{
50
this
,
"TruthEvents"
,
"TruthEvents"
,
"TruthEvent container to read"
};
51
52
PDFPtr
m_p0
;
53
std::vector<PDFPtr>
m_p1_vars
;
54
Gaudi::Property<std::string>
m_inPDF
{
this
,
"inPDFName"
,
""
};
55
Gaudi::Property<std::vector<std::string>>
m_outPDF
{
this
,
"outPDFName"
, {}};
56
Gaudi::Property<std::string>
m_additionalPdfPath
{
this
,
"additionalPdfPath"
,
""
};
57
std::vector<SG::WriteDecorHandleKey<xAOD::EventInfo>>
m_reweightKeys
;
58
};
59
60
}
61
#endif
AnaReentrantAlgorithm.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
WriteDecorHandleKey.h
PropertyWrapper.h
TruthEventContainer.h
CP::PDFReweightAlg
An algorithm for the PDF reweighting.
Definition
PDFReweightAlg.h:31
CP::PDFReweightAlg::m_EventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_EventInfoKey
Definition
PDFReweightAlg.h:46
CP::PDFReweightAlg::initialize
virtual StatusCode initialize() final
Definition
PDFReweightAlg.cxx:23
CP::PDFReweightAlg::m_additionalPdfPath
Gaudi::Property< std::string > m_additionalPdfPath
Definition
PDFReweightAlg.h:56
CP::PDFReweightAlg::PDFPtr
std::unique_ptr< const LHAPDF::PDF, PDFDeleter > PDFPtr
Definition
PDFReweightAlg.h:44
CP::PDFReweightAlg::m_outPDF
Gaudi::Property< std::vector< std::string > > m_outPDF
Definition
PDFReweightAlg.h:55
CP::PDFReweightAlg::m_p1_vars
std::vector< PDFPtr > m_p1_vars
Definition
PDFReweightAlg.h:53
CP::PDFReweightAlg::m_inPDF
Gaudi::Property< std::string > m_inPDF
Definition
PDFReweightAlg.h:54
CP::PDFReweightAlg::m_reweightKeys
std::vector< SG::WriteDecorHandleKey< xAOD::EventInfo > > m_reweightKeys
Definition
PDFReweightAlg.h:57
CP::PDFReweightAlg::m_TruthEventKey
SG::ReadHandleKey< xAOD::TruthEventContainer > m_TruthEventKey
Definition
PDFReweightAlg.h:49
CP::PDFReweightAlg::execute
virtual StatusCode execute(const EventContext &ctx) const final
Definition
PDFReweightAlg.cxx:53
CP::PDFReweightAlg::m_p0
PDFPtr m_p0
Definition
PDFReweightAlg.h:52
EL::AnaReentrantAlgorithm
the base class for EventLoop reentrant algorithms
Definition
AnaReentrantAlgorithm.h:51
EL::AnaReentrantAlgorithm::AnaReentrantAlgorithm
AnaReentrantAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Definition
AnaReentrantAlgorithm.cxx:29
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
CP
Select isolated Photons, Electrons and Muons.
Definition
Control/xAODRootAccess/xAODRootAccess/TEvent.h:27
LHAPDF
Definition
PDFReweightAlg.h:22
CP::PDFReweightAlg::PDFDeleter
deleter for the LHAPDF::PDF objects, defined where the type is complete
Definition
PDFReweightAlg.h:41
CP::PDFReweightAlg::PDFDeleter::operator()
void operator()(const LHAPDF::PDF *pdf) const
Definition
PDFReweightAlg.cxx:18
EventInfo.h
Generated on
for ATLAS Offline Software by
1.17.0