ATLAS Offline Software
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 
25 namespace xAOD {
26 
36 
37  public:
39  TruthEvent_v1();
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 
108  int pdgId1;
109  int pdgId2;
110  int pdfId1;
111  int pdfId2;
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 
130  enum HIParam {
131  NCOLLHARD = 0,
132  NPARTPROJ = 1,
133  NPARTTARG = 2,
134  NCOLL = 3,
143  SIGMAINELNN = 12,
144  CENTRALITY = 13,
145  }; // enum HIParam
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 
184  void setBeamParticleLinks( const TruthParticleLink_t& pcl1,
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
xAOD::TruthEvent_v1::pdfInfoParameter
bool pdfInfoParameter(int &value, PdfParam parameter) const
Read an integer PDF info parameter.
Definition: TruthEvent_v1.cxx:51
xAOD::TruthEvent_v1::PdfInfo::xf1
float xf1
Definition: TruthEvent_v1.h:115
xAOD::TruthEvent_v1::X2
@ X2
[float]
Definition: TruthEvent_v1.h:80
xAOD::TruthEvent_v1::setCrossSection
void setCrossSection(float value)
Set the cross-section.
xAOD::TruthEvent_v1::PdfInfo::PdfInfo
PdfInfo()
Constructor to set (invalid) defaults.
Definition: TruthEvent_v1.cxx:99
xAOD::TruthEvent_v1::toPersistent
void toPersistent()
Function making sure that the object is ready for persistification.
Definition: TruthEvent_v1.cxx:274
xAOD::TruthEvent_v1::XF2
@ XF2
[float]
Definition: TruthEvent_v1.h:86
xAOD::TruthEvent_v1::setSignalProcessVertexLink
void setSignalProcessVertexLink(const TruthVertexLink_t &link)
Set pointer to a vertex representing the primary beam interaction point.
xAOD::TruthEvent_v1::SCALE
@ SCALE
Not implemented!!!
Definition: TruthEvent_v1.h:81
xAOD::TruthEvent_v1::crossSectionError
float crossSectionError() const
Get the cross section error.
xAOD::TruthEvent_v1::ECCENTRICITY
@ ECCENTRICITY
[float]
Definition: TruthEvent_v1.h:142
xAOD::TruthEvent_v1::setWeights
void setWeights(const std::vector< float > &weights)
Set the event weights.
xAOD::TruthEvent_v1::NPARTPROJ
@ NPARTPROJ
[int]
Definition: TruthEvent_v1.h:132
xAOD::TruthEvent_v1::PdfInfo::pdfId1
int pdfId1
Definition: TruthEvent_v1.h:110
xAOD::TruthEvent_v1::PDF1
@ PDF1
Not implemented!!!
Definition: TruthEvent_v1.h:83
TruthVertexContainer.h
TruthParticleContainer.h
xAOD::TruthEvent_v1::PDFID2
@ PDFID2
[int]
Definition: TruthEvent_v1.h:78
xAOD::TruthEvent_v1::setBeamParticle2Link
void setBeamParticle2Link(const TruthParticleLink_t &pcl2)
Set one incoming beam particle.
xAOD::TruthEvent_v1::heavyIonParameter
bool heavyIonParameter(int &value, HIParam parameter) const
Read an integer HI parameter.
Definition: TruthEvent_v1.cxx:138
BaseInfo.h
xAOD::TruthEvent_v1::PDF2
@ PDF2
Not implemented!!!
Definition: TruthEvent_v1.h:84
xAOD::TruthEvent_v1::setHeavyIonParameter
bool setHeavyIonParameter(int value, HIParam parameter)
Set an integer HI parameter.
Definition: TruthEvent_v1.cxx:162
xAOD::TruthEvent_v1::IMPACTPARAMETER
@ IMPACTPARAMETER
[float]
Definition: TruthEvent_v1.h:140
DATAVECTOR_BASE
DATAVECTOR_BASE(xAOD::TruthEvent_v1, xAOD::TruthEventBase_v1)
athena.value
value
Definition: athena.py:122
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::TruthEvent_v1::NWOUNDEDNWOUNDEDCOLLISIONS
@ NWOUNDEDNWOUNDEDCOLLISIONS
[int]
Definition: TruthEvent_v1.h:139
xAOD::TruthEvent_v1::PdfInfo::pdgId1
int pdgId1
Definition: TruthEvent_v1.h:108
xAOD::TruthEvent_v1::TruthEvent_v1
TruthEvent_v1()
Default constructor.
Definition: TruthEvent_v1.cxx:20
xAOD::TruthEvent_v1::signalProcessVertexLink
const TruthVertexLink_t & signalProcessVertexLink() const
Link to the vertex representing the primary beam interaction point.
xAOD::TruthEvent_v1::pdfInfo
PdfInfo pdfInfo() const
Retrieve a full PdfInfo with a single call.
Definition: TruthEvent_v1.cxx:114
xAOD::TruthEvent_v1::PdfInfo::x2
float x2
Definition: TruthEvent_v1.h:113
xAOD::TruthEvent_v1::TruthParticleLink_t
ElementLink< TruthParticleContainer > TruthParticleLink_t
Type of the links pointing at truth particles.
Definition: TruthEvent_v1.h:177
xAOD::TruthEvent_v1::TruthVertexLink_t
ElementLink< TruthVertexContainer > TruthVertexLink_t
Type of the links pointing at truth vertices.
Definition: TruthEvent_v1.h:163
xAOD::TruthEvent_v1::PdfParam
PdfParam
Accessor enums for PDF info parameter lookup.
Definition: TruthEvent_v1.h:74
TruthEventBase.h
ObjectType.h
xAOD::TruthEvent_v1::beamParticle2Link
const TruthParticleLink_t & beamParticle2Link() const
Get the link to the second incoming beam particle.
xAOD::TruthEvent_v1::NPARTTARG
@ NPARTTARG
[int]
Definition: TruthEvent_v1.h:133
xAOD::TruthEvent_v1::NNWOUNDEDCOLLISIONS
@ NNWOUNDEDCOLLISIONS
[int]
Definition: TruthEvent_v1.h:137
xAOD::TruthEvent_v1::setPdfInfoParameter
bool setPdfInfoParameter(int value, PdfParam parameter)
Set an integer PDF info parameter.
Definition: TruthEvent_v1.cxx:75
xAOD::TruthEvent_v1::SIGMAINELNN
@ SIGMAINELNN
[float]
Definition: TruthEvent_v1.h:143
xAOD::TruthEvent_v1::PdfInfo::pdfId2
int pdfId2
Definition: TruthEvent_v1.h:111
xAOD::TruthEvent_v1
Class describing a signal truth event in the MC record.
Definition: TruthEvent_v1.h:35
xAOD::TruthEvent_v1::setCrossSectionError
void setCrossSectionError(float value)
Set the cross-section error.
xAOD::TruthEvent_v1::SPECTATORNEUTRONS
@ SPECTATORNEUTRONS
[int]
Definition: TruthEvent_v1.h:135
xAOD::TruthEvent_v1::XF1
@ XF1
[float]
Definition: TruthEvent_v1.h:85
xAOD::TruthEvent_v1::CENTRALITY
@ CENTRALITY
[float]
Definition: TruthEvent_v1.h:144
xAOD::TruthEvent_v1::PdfInfo::valid
bool valid() const
Check if all the variables in the object are valid.
Definition: TruthEvent_v1.cxx:105
SG_BASE
SG_BASE(xAOD::TruthEvent_v1, xAOD::TruthEventBase_v1)
xAOD::TruthEvent_v1::weights
const std::vector< float > & weights() const
Const access to the weights vector.
xAOD::TruthEvent_v1::PdfInfo
Helper struct holding a full set of PDF info values.
Definition: TruthEvent_v1.h:100
xAOD::TruthEventBase_v1
Base class describing a pile-up or signal truth event in the MC record.
Definition: TruthEventBase_v1.h:36
xAOD::TruthVertex_v1
Class describing a truth vertex in the MC record.
Definition: TruthVertex_v1.h:41
xAOD::TruthEvent_v1::signalProcessVertex
const TruthVertex * signalProcessVertex() const
Pointer to a vertex representing the primary beam interaction point.
Definition: TruthEvent_v1.cxx:195
xAOD::TruthEvent_v1::EVENTPLANEANGLE
@ EVENTPLANEANGLE
[float]
Definition: TruthEvent_v1.h:141
xAOD::TruthEvent_v1::beamParticle1Link
const TruthParticleLink_t & beamParticle1Link() const
Get the link to the first incoming beam particle.
xAOD::TruthEvent_v1::PdfInfo::pdgId2
int pdgId2
Definition: TruthEvent_v1.h:109
xAOD::TruthEvent_v1::PDGID1
@ PDGID1
[int]
Definition: TruthEvent_v1.h:75
xAOD::TruthEvent_v1::PdfInfo::x1
float x1
Definition: TruthEvent_v1.h:112
xAOD::TruthEvent_v1::setBeamParticleLinks
void setBeamParticleLinks(const TruthParticleLink_t &pcl1, const TruthParticleLink_t &pcl2)
Set incoming beam particles.
Definition: TruthEvent_v1.cxx:250
xAOD::TruthEvent_v1::SPECTATORPROTONS
@ SPECTATORPROTONS
[int]
Definition: TruthEvent_v1.h:136
xAOD::TruthEvent_v1::NCOLL
@ NCOLL
[int]
Definition: TruthEvent_v1.h:134
xAOD::TruthEvent_v1::X1
@ X1
[float]
Definition: TruthEvent_v1.h:79
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
xAOD::TruthEvent_v1::crossSection
float crossSection() const
Get the cross section.
xAOD::TruthEvent_v1::setCrossSection
void setCrossSection(float value, float error)
Set the cross-section and its error.
xAOD::TruthEvent_v1::PDGID2
@ PDGID2
[int]
Definition: TruthEvent_v1.h:76
xAOD::TruthEvent_v1::PdfInfo::Q
float Q
Definition: TruthEvent_v1.h:114
xAOD::TruthEvent_v1::beamParticles
std::pair< const TruthParticle *, const TruthParticle * > beamParticles() const
Pair of pointers to the two incoming beam particles.
Definition: TruthEvent_v1.cxx:226
xAOD::TruthEvent_v1::PdfInfo::xf2
float xf2
Definition: TruthEvent_v1.h:116
xAODType::ObjectType
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition: ObjectType.h:32
xAOD::TruthEvent_v1::Q
@ Q
[float]
Definition: TruthEvent_v1.h:82
error
Definition: IImpactPoint3dEstimator.h:70
xAOD::TruthEvent_v1::type
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
Definition: TruthEvent_v1.cxx:269
xAOD::TruthEvent_v1::PDFID1
@ PDFID1
[int]
Definition: TruthEvent_v1.h:77
xAOD::TruthEvent_v1::HIParam
HIParam
Heavy ion parameter enum.
Definition: TruthEvent_v1.h:130
xAOD::TruthEvent_v1::NWOUNDEDNCOLLISIONS
@ NWOUNDEDNCOLLISIONS
[int]
Definition: TruthEvent_v1.h:138
AuxElement.h
Base class for elements of a container that can have aux data.
xAOD::TruthEvent_v1::setBeamParticle1Link
void setBeamParticle1Link(const TruthParticleLink_t &pcl1)
Set one incoming beam particle.
xAOD::TruthEvent_v1::NCOLLHARD
@ NCOLLHARD
[int]
Definition: TruthEvent_v1.h:131