Commit b9aad70e authored by Christos Anastopoulos's avatar Christos Anastopoulos Committed by Graeme Stewart
Browse files

Add back 15,25,35 for v2 (xAODEgamma-00-01-06)

	* Add back 15,25,35 for v2
	* Tagged as xAODEgamma-00-01-06

2014-10-21 Christos Anastopoulos <Christos.Anastopoulos@cern.ch>

	* Going through with Kerstin on what should be static
	* Tagged as xAODEgamma-00-01-05

2014-10-10 Christos Anastopoulos <Christos.Anastopoulos@cern.ch>

	* v3      Should be there now
	* Tagged as xAODEgamma-00-01-04

2014-10-10 Christos Anastopoulos <Christos.Anastopoulos@cern.ch>

	* Add Reta, Rphi, Erato, Rhad, Rhad1, in v3
	* Tagged as xAODEgamma-00-01-03

...
(Long ChangeLog diff - truncated)
parent a2b4a92e
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/ */
// $Id: EgammaAccessors_v1.cxx 582601 2014-02-11 15:46:49Z christos $ // $Id: EgammaAccessors_v1.cxx 620915 2014-10-09 15:50:27Z christos $
// System include(s): // System include(s):
#include <iostream> #include <iostream>
...@@ -64,10 +64,17 @@ namespace xAOD { ...@@ -64,10 +64,17 @@ namespace xAOD {
DEFINE_ACCESSOR( float, emaxs1 ); DEFINE_ACCESSOR( float, emaxs1 );
DEFINE_ACCESSOR( float, r33over37allcalo ); DEFINE_ACCESSOR( float, r33over37allcalo );
DEFINE_ACCESSOR( float, ecore ); DEFINE_ACCESSOR( float, ecore );
DEFINE_ACCESSOR( float, zvertex ); DEFINE_ACCESSOR( float, Reta );
DEFINE_ACCESSOR( float, errz ); DEFINE_ACCESSOR( float, Rphi );
DEFINE_ACCESSOR( float, etap ); DEFINE_ACCESSOR( float, Eratio );
DEFINE_ACCESSOR( float, depth ); DEFINE_ACCESSOR( float, Rhad );
DEFINE_ACCESSOR( float, Rhad1 );
DEFINE_ACCESSOR( float, DeltaE );
DEFINE_ACCESSOR( float, zvertex );
DEFINE_ACCESSOR( float, errz );
DEFINE_ACCESSOR( float, etap );
DEFINE_ACCESSOR( float, depth );
default: default:
std::cerr << "xAOD::Egamma_v1 ERROR Unknown float ShowerShapeType (" std::cerr << "xAOD::Egamma_v1 ERROR Unknown float ShowerShapeType ("
<< type << ") requested" << std::endl; << type << ") requested" << std::endl;
...@@ -76,43 +83,4 @@ namespace xAOD { ...@@ -76,43 +83,4 @@ namespace xAOD {
} }
SG::AuxElement::Accessor< float >*
isolationAccessorV1( xAOD::EgammaParameters::IsolationType type )
{
switch( type ) {
DEFINE_ACCESSOR( float, etcone );
DEFINE_ACCESSOR( float, etcone15 );
DEFINE_ACCESSOR( float, etcone20 );
DEFINE_ACCESSOR( float, etcone25 );
DEFINE_ACCESSOR( float, etcone30 );
DEFINE_ACCESSOR( float, etcone35 );
DEFINE_ACCESSOR( float, etcone40 );
DEFINE_ACCESSOR( float, ptcone20 );
DEFINE_ACCESSOR( float, ptcone30 );
DEFINE_ACCESSOR( float, ptcone40 );
DEFINE_ACCESSOR( float, etcone15_ptcorrected );
DEFINE_ACCESSOR( float, etcone20_ptcorrected );
DEFINE_ACCESSOR( float, etcone25_ptcorrected );
DEFINE_ACCESSOR( float, etcone30_ptcorrected );
DEFINE_ACCESSOR( float, etcone35_ptcorrected );
DEFINE_ACCESSOR( float, etcone40_ptcorrected );
DEFINE_ACCESSOR( float, etcone20_corrected );
DEFINE_ACCESSOR( float, etcone30_corrected );
DEFINE_ACCESSOR( float, etcone40_corrected );
DEFINE_ACCESSOR( float, topoetcone20 );
DEFINE_ACCESSOR( float, topoetcone30 );
DEFINE_ACCESSOR( float, topoetcone40 );
DEFINE_ACCESSOR( float, topoetcone40_ptcorrected );
DEFINE_ACCESSOR( float, topoetcone40_corrected );
DEFINE_ACCESSOR( float, nucone20 );
DEFINE_ACCESSOR( float, nucone30 );
DEFINE_ACCESSOR( float, nucone40 );
default:
std::cerr << "xAOD::Egamma_v1 ERROR Unknown float IsolationType ("
<< type << ") requested" << std::endl;
return 0;
}
}
} // namespace xAOD } // namespace xAOD
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/ */
// $Id: EgammaAccessors_v1.h 582601 2014-02-11 15:46:49Z christos $ // $Id: EgammaAccessors_v1.h 617292 2014-09-17 18:22:08Z christos $
#ifndef XAOD_EGAMMAACCESSORS_V1_H #ifndef XAOD_EGAMMAACCESSORS_V1_H
#define XAOD_EGAMMAACCESSORS_V1_H #define XAOD_EGAMMAACCESSORS_V1_H
...@@ -24,8 +24,6 @@ namespace xAOD { ...@@ -24,8 +24,6 @@ namespace xAOD {
SG::AuxElement::Accessor< float >* SG::AuxElement::Accessor< float >*
showerShapeAccessorV1( xAOD::EgammaParameters::ShowerShapeType type ); showerShapeAccessorV1( xAOD::EgammaParameters::ShowerShapeType type );
SG::AuxElement::Accessor< float >*
isolationAccessorV1( xAOD::EgammaParameters::IsolationType type );
} // namespace xAOD } // namespace xAOD
......
...@@ -9,6 +9,9 @@ ...@@ -9,6 +9,9 @@
// Local include(s): // Local include(s):
#include "xAODEgamma/versions/Egamma_v1.h" #include "xAODEgamma/versions/Egamma_v1.h"
#include "EgammaAccessors_v1.h" #include "EgammaAccessors_v1.h"
#include "xAODPrimitives/tools/getIsolationAccessor.h"
#include <stdexcept>
namespace xAOD { namespace xAOD {
...@@ -157,8 +160,14 @@ namespace xAOD { ...@@ -157,8 +160,14 @@ namespace xAOD {
value = ( *acc )( *this ); value = ( *acc )( *this );
return true; return true;
} }
float Egamma_v1::showerShapeValue(const EgammaParameters::ShowerShapeType information) const {
xAOD::Egamma_v1::Accessor< float >* acc = showerShapeAccessorV1( information );
if(! acc ) throw std::runtime_error( "Unknown/Unavailable Shower Shape type requested" );
return ( *acc )( *this );
}
bool Egamma_v1::setShowerShapeValue(float& value, const EgammaParameters::ShowerShapeType information){ bool Egamma_v1::setShowerShapeValue(float value, const EgammaParameters::ShowerShapeType information){
xAOD::Egamma_v1::Accessor< float >* acc = showerShapeAccessorV1( information ); xAOD::Egamma_v1::Accessor< float >* acc = showerShapeAccessorV1( information );
if( ! acc ) return false; if( ! acc ) return false;
// Set the value: // Set the value:
...@@ -167,11 +176,9 @@ namespace xAOD { ...@@ -167,11 +176,9 @@ namespace xAOD {
} }
/////////////// ///////////////
bool Egamma_v1::isolationValue(float& value, const EgammaParameters::IsolationType information) const { bool Egamma_v1::isolationValue(float& value, const Iso::IsolationType information) const {
SG::AuxElement::Accessor< float >* acc = getIsolationAccessor( information );
xAOD::Egamma_v1::Accessor< float >* acc = isolationAccessorV1( information );
if( ! acc ) { if( ! acc ) {
return false; return false;
} }
...@@ -183,14 +190,18 @@ namespace xAOD { ...@@ -183,14 +190,18 @@ namespace xAOD {
return true; return true;
} }
bool Egamma_v1::setIsolationValue(float& value, const EgammaParameters::IsolationType information) { float Egamma_v1::isolationValue( const Iso::IsolationType information) const {
SG::AuxElement::Accessor< float >* acc = getIsolationAccessor( information );
xAOD::Egamma_v1::Accessor< float >* acc = isolationAccessorV1( information ); if( ! acc ) throw std::runtime_error( "Unknown/Unavailable Isolation type requested" );
if( ! acc ) return false; return ( *acc )( *this );
// Set the value: }
( *acc )( *this ) = value;
return true;
bool Egamma_v1::setIsolationValue(float value, const Iso::IsolationType information) {
SG::AuxElement::Accessor< float >* acc = getIsolationAccessor( information );
if( ! acc ) return false;
// Set the value:
( *acc )( *this ) = value;
return true;
} }
...@@ -238,7 +249,7 @@ namespace xAOD { ...@@ -238,7 +249,7 @@ namespace xAOD {
bool Egamma_v1::isGoodOQ(uint32_t mask) const { bool Egamma_v1::isGoodOQ(uint32_t mask) const {
static Accessor< uint32_t > acc( "OQ" ); static Accessor< uint32_t > acc( "OQ" );
uint32_t OQ = acc( *this ); uint32_t OQ = acc( *this );
return OQ & mask; return (OQ & mask)==0;
} }
void Egamma_v1::setOQ(uint32_t newOQ) { void Egamma_v1::setOQ(uint32_t newOQ) {
...@@ -249,11 +260,18 @@ namespace xAOD { ...@@ -249,11 +260,18 @@ namespace xAOD {
/////////// ///////////
bool Egamma_v1::passSelection(bool& value, const std::string& menu ) const { bool Egamma_v1::passSelection(bool& value, const std::string& menu ) const {
SG::AuxElement::Accessor< char > acc( menu ); SG::AuxElement::Accessor< char > acc( menu );
if(! acc.isAvailable( *this) ) { return false;} if(! acc.isAvailable( *this) ) {
return false;
}
value= (acc)( *this ); value= (acc)( *this );
return true; return true;
} }
bool Egamma_v1::passSelection(const std::string& menu ) const {
SG::AuxElement::Accessor< char > acc( menu );
return (acc)( *this );
}
void Egamma_v1::setPassSelection(bool value, const std::string& menu){ void Egamma_v1::setPassSelection(bool value, const std::string& menu){
SG::AuxElement::Accessor< char > acc( menu ); SG::AuxElement::Accessor< char > acc( menu );
( acc )( *this )=value; ( acc )( *this )=value;
......
...@@ -5,15 +5,12 @@ ...@@ -5,15 +5,12 @@
#include "xAODEgamma/EgammaxAODHelpers.h" #include "xAODEgamma/EgammaxAODHelpers.h"
#include "xAODEgamma/Egamma.h" #include "xAODEgamma/Egamma.h"
#include "xAODEgamma/Electron.h"
#include "xAODEgamma/Photon.h" #include "xAODEgamma/Photon.h"
#include "xAODEgamma/Electron.h"
#include "xAODEgamma/ElectronContainer.h" #include "xAODEgamma/ElectronContainer.h"
#include "xAODEgamma/PhotonContainer.h" #include "xAODEgamma/PhotonContainer.h"
#include "xAODTracking/Vertex.h"
#include "xAODTracking/TrackParticle.h"
#include "xAODCaloEvent/CaloCluster.h" #include "xAODCaloEvent/CaloCluster.h"
bool xAOD::EgammaHelpers::isElectron(const xAOD::Egamma *eg){ bool xAOD::EgammaHelpers::isElectron(const xAOD::Egamma *eg){
...@@ -35,19 +32,6 @@ bool xAOD::EgammaHelpers::isConvertedPhoton(const xAOD::Egamma *eg){ ...@@ -35,19 +32,6 @@ bool xAOD::EgammaHelpers::isConvertedPhoton(const xAOD::Egamma *eg){
return (ph && (ph->nVertices()>0) ); return (ph && (ph->nVertices()>0) );
} }
// ==================================================================
size_t xAOD::EgammaHelpers::numberOfSiHits(const xAOD::TrackParticle *tp)
{
if (!tp) return 0;
uint8_t dummy(0), nSiHits(0);
if (tp->summaryValue(dummy, xAOD::numberOfPixelHits))
nSiHits += dummy;
if (tp->summaryValue(dummy, xAOD::numberOfSCTHits))
nSiHits += dummy;
return nSiHits;
}
// ================================================================== // ==================================================================
bool xAOD::EgammaHelpers::isBarrel(const xAOD::Egamma *eg) bool xAOD::EgammaHelpers::isBarrel(const xAOD::Egamma *eg)
{ {
...@@ -82,48 +66,32 @@ const std::set<const xAOD::TrackParticle*> xAOD::EgammaHelpers::getTrackParticle ...@@ -82,48 +66,32 @@ const std::set<const xAOD::TrackParticle*> xAOD::EgammaHelpers::getTrackParticle
} }
// ================================================================== // ==================================================================
const std::set<const xAOD::TrackParticle*> xAOD::EgammaHelpers::getTrackParticles(const xAOD::Electron* el,
bool useBremAssoc /* = true */, bool allParticles /* = true */) const xAOD::TruthParticle* xAOD::EgammaHelpers::getTruthParticle(const xAOD::IParticle* particle, bool debug /* =false */)
{ {
std::set<const xAOD::TrackParticle*> tps; return getLink<xAOD::TruthParticle>(particle, "truthParticleLink", debug);
for (unsigned int i = 0; i < el->nTrackParticles(); ++i)
{
const xAOD::TrackParticle* tp = el->trackParticle(i);
if (useBremAssoc) tp = xAOD::EgammaHelpers::getOriginalTrackParticleFromGSF(tp);
if (tp) tps.insert( tp );
if (!allParticles) break; // break after first particle
}
return tps;
} }
// ==================================================================
const std::set<const xAOD::TrackParticle*> xAOD::EgammaHelpers::getTrackParticles(const xAOD::Photon* ph, int xAOD::EgammaHelpers::getParticleTruthType(const xAOD::IParticle* particle){
bool useBremAssoc /* = true */) static SG::AuxElement::Accessor<int> tT("truthType") ;
{ if (!tT.isAvailable(*particle)) return 0;
std::set<const xAOD::TrackParticle*> tps; return tT(*particle);
if (!ph) return tps;
const xAOD::Vertex* vx = ph->vertex();
for (unsigned int i=0; vx && i < vx->nTrackParticles(); ++i)
{
const xAOD::TrackParticle *tp = vx->trackParticle(i);
tps.insert( useBremAssoc ? xAOD::EgammaHelpers::getOriginalTrackParticleFromGSF(tp) : tp );
}
return tps;
} }
// ==================================================================
const xAOD::TruthParticle* xAOD::EgammaHelpers::getTruthParticle(const xAOD::IParticle* particle, bool debug) int xAOD::EgammaHelpers::getParticleTruthOrigin(const xAOD::IParticle* particle){
{ static SG::AuxElement::Accessor<int> tO("truthOrigin") ;
return getLink<xAOD::TruthParticle>(particle, "truthParticleLink", debug); if (!tO.isAvailable(*particle)) return 0;
return tO(*particle);
} }
const xAOD::Electron* xAOD::EgammaHelpers::getRecoElectron(const xAOD::TruthParticle* particle, bool debug) const xAOD::Electron* xAOD::EgammaHelpers::getRecoElectron(const xAOD::TruthParticle* particle, bool debug /* =false */)
{ {
return getLink<xAOD::Electron>(particle, "recoElectronLink", debug); return getLink<xAOD::Electron>(particle, "recoElectronLink", debug);
} }
const xAOD::Photon* xAOD::EgammaHelpers::getRecoPhoton(const xAOD::TruthParticle* particle, bool debug) const xAOD::Photon* xAOD::EgammaHelpers::getRecoPhoton(const xAOD::TruthParticle* particle, bool debug /* =false */)
{ {
return getLink<xAOD::Photon>(particle, "recoPhotonLink", debug); return getLink<xAOD::Photon>(particle, "recoPhotonLink", debug);
} }
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
// $Id: ElectronAuxContainer_v3.cxx 619839 2014-10-03 13:38:44Z christos $
// Local include(s):
#include "xAODEgamma/versions/ElectronAuxContainer_v3.h"
namespace xAOD {
ElectronAuxContainer_v3::ElectronAuxContainer_v3()
: AuxContainerBase() {
/// Include the egamma variables:
#define EGAMMA_AUX_VARIABLE( TYPE, NAME ) AUX_VARIABLE( NAME )
#include "xAODEgamma/versions/EgammaAuxVariables_v3.def"
#undef EGAMMA_AUX_VARIABLE
///@links to track Particles
AUX_VARIABLE(trackParticleLinks);
///@name Electron Charge
///@{
AUX_VARIABLE(charge);
///@}
/// @name Track Match details
/// @{
AUX_VARIABLE(deltaEta0);
AUX_VARIABLE(deltaEta1);
AUX_VARIABLE(deltaEta2);
AUX_VARIABLE(deltaEta3);
AUX_VARIABLE(deltaPhi0);
AUX_VARIABLE(deltaPhi1);
AUX_VARIABLE(deltaPhi2);
AUX_VARIABLE(deltaPhi3);
AUX_VARIABLE(deltaPhiRescaled0);
AUX_VARIABLE(deltaPhiRescaled1);
AUX_VARIABLE(deltaPhiRescaled2);
AUX_VARIABLE(deltaPhiRescaled3);
AUX_VARIABLE(deltaPhiFromLastMeasurement);
///@}
}
} // namespace xAOD
...@@ -10,6 +10,9 @@ ...@@ -10,6 +10,9 @@
// Local include(s): // Local include(s):
#include "xAODEgamma/versions/Electron_v1.h" #include "xAODEgamma/versions/Electron_v1.h"
#include "ElectronAccessors_v1.h" #include "ElectronAccessors_v1.h"
#include "xAODTracking/TrackSummaryAccessors_v1.h"
#include <stdexcept>
namespace xAOD { namespace xAOD {
...@@ -98,7 +101,13 @@ namespace xAOD { ...@@ -98,7 +101,13 @@ namespace xAOD {
return true; return true;
} }
bool Electron_v1::setTrackCaloMatchValue( float& value, const EgammaParameters::TrackCaloMatchType information ) { float Electron_v1::trackCaloMatchValue( const EgammaParameters::TrackCaloMatchType information ) const {
xAOD::Electron_v1::Accessor< float >* acc = trackCaloMatchAccessorV1( information );
if(! acc ) throw std::runtime_error( "Unknown/Unavailable Track to Calo Match type requested" );
return ( *acc )( *this );
}
bool Electron_v1::setTrackCaloMatchValue( float value, const EgammaParameters::TrackCaloMatchType information ) {
xAOD::Electron_v1::Accessor< float >* acc = trackCaloMatchAccessorV1( information ); xAOD::Electron_v1::Accessor< float >* acc = trackCaloMatchAccessorV1( information );
if( ! acc ) return false; if( ! acc ) return false;
...@@ -122,6 +131,20 @@ namespace xAOD { ...@@ -122,6 +131,20 @@ namespace xAOD {
return tempTrackParticle->summaryValue(value,information); return tempTrackParticle->summaryValue(value,information);
} }
uint8_t Electron_v1::trackParticleSummaryIntValue( const SummaryType information, int index) const {
const xAOD::TrackParticle* tempTrackParticle = trackParticle(index);
SG::AuxElement::Accessor< uint8_t >* acc = trackSummaryAccessorV1<uint8_t>( information );
if(! acc ) throw std::runtime_error( "Unknown/Unavailable Int Track Summary type requested" );
return (*acc)(*tempTrackParticle);
}
float Electron_v1::trackParticleSummaryFloatValue( const SummaryType information, int index ) const{
const xAOD::TrackParticle* tempTrackParticle = trackParticle(index);
SG::AuxElement::Accessor< float >* acc = trackSummaryAccessorV1<float>( information );
if(! acc ) throw std::runtime_error( "Unknown/Unavailable Float Track Summary type requested" );
return (*acc)(*tempTrackParticle);
}
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
......
...@@ -3,9 +3,12 @@ ...@@ -3,9 +3,12 @@
*/ */
#include "xAODEgamma/ElectronxAODHelpers.h" #include "xAODEgamma/ElectronxAODHelpers.h"
#include "xAODEgamma/Electron.h"
#include "xAODTracking/TrackParticle.h" #include "xAODTracking/TrackParticle.h"
#include "xAODTracking/TrackParticleContainer.h" #include "xAODTracking/TrackParticleContainer.h"
// ==================================================================
const xAOD::TrackParticle* xAOD::EgammaHelpers::getOriginalTrackParticle(const xAOD::Electron* el){ const xAOD::TrackParticle* xAOD::EgammaHelpers::getOriginalTrackParticle(const xAOD::Electron* el){
if(el){ if(el){
...@@ -27,3 +30,35 @@ const xAOD::TrackParticle* xAOD::EgammaHelpers::getOriginalTrackParticleFromGSF( ...@@ -27,3 +30,35 @@ const xAOD::TrackParticle* xAOD::EgammaHelpers::getOriginalTrackParticleFromGSF(
return (*orig(*trkPar)); return (*orig(*trkPar));
} }
// ==================================================================
const std::set<const xAOD::TrackParticle*> xAOD::EgammaHelpers::getTrackParticles(const xAOD::Electron* el,
bool useBremAssoc /* = true */, bool allParticles /* = true */)
{
std::set<const xAOD::TrackParticle*> tps;
for (unsigned int i = 0; i < el->nTrackParticles(); ++i)
{
const xAOD::TrackParticle* tp = el->trackParticle(i);
if (useBremAssoc) tp = xAOD::EgammaHelpers::getOriginalTrackParticleFromGSF(tp);
if (tp) tps.insert( tp );
if (!allParticles) break; // break after first particle
}
return tps;
}
// ==================================================================
std::size_t xAOD::EgammaHelpers::numberOfSiHits(const xAOD::TrackParticle *tp)
{
if (!tp) return 0;
uint8_t dummy(0), nSiHits(0);
if (tp->summaryValue(dummy, xAOD::numberOfPixelHits))
nSiHits += dummy;
if (tp->summaryValue(dummy, xAOD::numberOfSCTHits))
nSiHits += dummy;
return nSiHits;
}
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
// $Id: PhotonAuxContainer_v3.cxx 619839 2014-10-03 13:38:44Z christos $
// Local include(s):
#include "xAODEgamma/versions/PhotonAuxContainer_v3.h"
namespace xAOD {
PhotonAuxContainer_v3::PhotonAuxContainer_v3()
: AuxContainerBase() {
/// Include the egamma variables:
#define EGAMMA_AUX_VARIABLE( TYPE, NAME ) AUX_VARIABLE( NAME )
#include "xAODEgamma/versions/EgammaAuxVariables_v3.def"
#undef EGAMMA_AUX_VARIABLE
/// Links to track particles
AUX_VARIABLE(vertexLinks);
/// @name Vertex Match details
/// @{
AUX_VARIABLE(convMatchDeltaEta1);
AUX_VARIABLE(convMatchDeltaEta2);
AUX_VARIABLE(convMatchDeltaPhi1);
AUX_VARIABLE(convMatchDeltaPhi2);
/// @}
}
} // namespace xAOD
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/ */
// $Id: Photon_v1.cxx 612240 2014-08-18 11:04:15Z christos $ // $Id: Photon_v1.cxx 619818 2014-10-03 12:34:09Z christos $
// EDM include(s): // EDM include(s):
#include "xAODCore/AuxStoreAccessorMacros.h" #include "xAODCore/AuxStoreAccessorMacros.h"
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
#include "xAODEgamma/versions/Photon_v1.h" #include "xAODEgamma/versions/Photon_v1.h"
#include "PhotonAccessors_v1.h" #include "PhotonAccessors_v1.h"
#include <stdexcept>
namespace xAOD { namespace xAOD {
Photon_v1::Photon_v1() Photon_v1::Photon_v1()
...@@ -98,6 +100,14 @