00001
00002
00003 #ifndef XAOD_EGAMMAXAODHELPERS_H
00004 #define XAOD_EGAMMAXAODHELPERS_H
00005 #include "xAODEgamma/EgammaFwd.h"
00006 #include "xAODCaloEvent/CaloClusterFwd.h"
00007 #include "xAODTracking/TrackParticle.h"
00008
00009
00010
00011 #include "xAODEgamma/ElectronxAODHelpers.h"
00012 #include "xAODEgamma/PhotonxAODHelpers.h"
00013 #include "xAODEgamma/EgammaTruthxAODHelpers.h"
00014
00015
00016 #include <cstddef>
00017 #include <set>
00018 #include <vector>
00019
00020
00021 namespace xAOD {
00022
00023 namespace EgammaHelpers{
00024
00026 bool isElectron(const xAOD::Egamma *eg);
00027
00029 bool isFwdElectron(const xAOD::Egamma *eg);
00030
00032 bool isPhoton(const xAOD::Egamma *eg);
00033
00035 bool isConvertedPhoton(const xAOD::Egamma *eg);
00036
00038 bool isBarrel(const xAOD::Egamma *eg);
00039
00041 bool isBarrel(const xAOD::CaloCluster *cluster);
00042
00046
00048 const std::set<const xAOD::TrackParticle*> getTrackParticles(const xAOD::Egamma *eg,
00049 bool useBremAssoc = true, bool allParticles = true);
00050
00055 const std::vector<const xAOD::TrackParticle*> getTrackParticlesVec(const xAOD::Egamma *eg,
00056 bool useBremAssoc = true, bool allParticles = true);
00057
00060 int summaryValueInt(const xAOD::TrackParticle& tp, const xAOD::SummaryType& info, int deflt = -999);
00061
00063 float summaryValueFloat(const xAOD::TrackParticle& tp, const xAOD::SummaryType& info, int deflt = -999.);
00064
00065 }
00066
00067 }
00068
00069 #endif // XAOD_EGAMMAXAODHELPERS_H