ATLAS Offline Software
Loading...
Searching...
No Matches
TruthEvent_v1.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
5*/
6
7// $Id: TruthEvent_v1.h 761796 2016-07-14 08:06:02Z krasznaa $
8#ifndef XAODTRUTH_VERSIONS_TRUTHEVENT_V1_H
9#define XAODTRUTH_VERSIONS_TRUTHEVENT_V1_H
10
11// System include(s):
12#include <utility>
13#include <vector>
14
15// EDM include(s):
17#include "AthLinks/ElementLink.h"
18#include "xAODBase/ObjectType.h"
19
20// Local include(s):
24
25namespace xAOD {
26
36
37 public:
40
43
46 const std::vector< float >& weights() const;
49 void setWeights( const std::vector< float >& weights );
50
52 float crossSection() const;
54 void setCrossSection( float value );
55
57 float crossSectionError() const;
59 void setCrossSectionError( float value );
60
62 void setCrossSection( float value, float error );
63
65
72
74 enum PdfParam {
75 PDGID1 = 0,
76 PDGID2 = 1,
77 PDFID1 = 2,
78 PDFID2 = 3,
79 X1 = 4,
80 X2 = 5,
81 SCALE = 6,
82 Q = 6,
83 PDF1 = 7,
84 PDF2 = 8,
85 XF1 = 7,
86 XF2 = 8
87 }; // enum PdfParam
88
90 bool pdfInfoParameter( int& value, PdfParam parameter ) const;
92 bool pdfInfoParameter( float& value, PdfParam parameter ) const;
93
95 bool setPdfInfoParameter( int value, PdfParam parameter );
97 bool setPdfInfoParameter( float value, PdfParam parameter );
98
100 struct PdfInfo {
101
103 PdfInfo();
104
106 bool valid() const;
107
112 float x1;
113 float x2;
114 float Q;
115 float xf1;
116 float xf2;
117
118 }; // struct PdfInfo
119
122 PdfInfo pdfInfo() const;
123
125
128
146
148 bool heavyIonParameter( int& value, HIParam parameter ) const;
150 bool heavyIonParameter( float& value, HIParam parameter ) const;
151
153 bool setHeavyIonParameter( int value, HIParam parameter );
155 bool setHeavyIonParameter( float value, HIParam parameter );
156
158
161
164
170 const TruthVertex* signalProcessVertex() const;
175
178
180 std::pair< const TruthParticle*, const TruthParticle* >
181 beamParticles() const;
182
185 const TruthParticleLink_t& pcl2 );
186
191
196
198
200 virtual Type::ObjectType type() const;
201
203 void toPersistent();
204
205 }; // class TruthEvent_v1
206
207} // namespace xAOD
208
209// Declare the base class of TruthEvent_v1 to StoreGate:
210#include "xAODCore/BaseInfo.h"
212
215
216
217#endif // XAODTRUTH_VERSIONS_TRUTHEVENT_V1_H
Base class for elements of a container that can have aux data.
#define SG_BASE(D, B)
Declare that class D derives from class B.
An STL vector of pointers that by default owns its pointed-to elements.
#define DATAVECTOR_BASE(T, BASE)
Declare base class info to DataVector.
Definition DataVector.h:649
Base class describing a pile-up or signal truth event in the MC record.
TruthEventBase_v1()
Default constructor.
Class describing a signal truth event in the MC record.
PdfInfo pdfInfo() const
Retrieve a full PdfInfo with a single call.
const std::vector< float > & weights() const
Const access to the weights vector.
ElementLink< TruthParticleContainer > TruthParticleLink_t
Type of the links pointing at truth particles.
const TruthVertex * signalProcessVertex() const
Pointer to a vertex representing the primary beam interaction point.
const TruthParticleLink_t & beamParticle2Link() const
Get the link to the second incoming beam particle.
void setWeights(const std::vector< float > &weights)
Set the event weights.
void setBeamParticleLinks(const TruthParticleLink_t &pcl1, const TruthParticleLink_t &pcl2)
Set incoming beam particles.
float crossSectionError() const
Get the cross section error.
void setSignalProcessVertexLink(const TruthVertexLink_t &link)
Set pointer to a vertex representing the primary beam interaction point.
ElementLink< TruthVertexContainer > TruthVertexLink_t
Type of the links pointing at truth vertices.
void setCrossSectionError(float value)
Set the cross-section error.
PdfParam
Accessor enums for PDF info parameter lookup.
@ PDF2
Not implemented!!!
@ SCALE
Not implemented!!!
@ PDF1
Not implemented!!!
void setCrossSection(float value)
Set the cross-section.
TruthEvent_v1()
Default constructor.
const TruthVertexLink_t & signalProcessVertexLink() const
Link to the vertex representing the primary beam interaction point.
void setCrossSection(float value, float error)
Set the cross-section and its error.
bool pdfInfoParameter(int &value, PdfParam parameter) const
Read an integer PDF info parameter.
void toPersistent()
Function making sure that the object is ready for persistification.
bool setHeavyIonParameter(int value, HIParam parameter)
Set an integer HI parameter.
bool heavyIonParameter(int &value, HIParam parameter) const
Read an integer HI parameter.
bool setPdfInfoParameter(int value, PdfParam parameter)
Set an integer PDF info parameter.
std::pair< const TruthParticle *, const TruthParticle * > beamParticles() const
Pair of pointers to the two incoming beam particles.
HIParam
Heavy ion parameter enum.
@ NWOUNDEDNWOUNDEDCOLLISIONS
[int]
void setBeamParticle1Link(const TruthParticleLink_t &pcl1)
Set one incoming beam particle.
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
float crossSection() const
Get the cross section.
const TruthParticleLink_t & beamParticle1Link() const
Get the link to the first incoming beam particle.
void setBeamParticle2Link(const TruthParticleLink_t &pcl2)
Set one incoming beam particle.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
TruthVertex_v1 TruthVertex
Typedef to implementation.
Definition TruthVertex.h:15
Helper struct holding a full set of PDF info values.
bool valid() const
Check if all the variables in the object are valid.
PdfInfo()
Constructor to set (invalid) defaults.