00001 #ifndef PhotonVertexSelection_PhotonVertexHelpers_H
00002 #define PhotonVertexSelection_PhotonVertexHelpers_H
00003
00004
00005 #include "xAODTracking/VertexContainerFwd.h"
00006 #include "xAODTracking/TrackParticleFwd.h"
00007 #include "xAODEgamma/PhotonContainer.h"
00008 #include "xAODEgamma/EgammaContainer.h"
00009 #include "xAODEventInfo/EventInfo.h"
00010
00011
00012 #include "TLorentzVector.h"
00013
00014 class ShowerDepthTool;
00015
00016 namespace xAOD {
00017 namespace PVHelpers {
00018
00020 std::pair<float, float> getZCommonAndError(const xAOD::EventInfo *eventInfo,
00021 const xAOD::EgammaContainer *egammas,
00022 float convPtCut = 2e3);
00023
00025 float getVertexSumPt(const xAOD::Vertex *vertex, int power = 1, bool useAux = true);
00026
00028 TLorentzVector getVertexMomentum(const xAOD::Vertex *vertex, bool useAux = true, std::string derivationPrefix = "");
00029
00031 const xAOD::Vertex* getHardestVertex(const xAOD::VertexContainer *vertices);
00032
00034 TLorentzVector getTrackAtFirstMeasurement(const xAOD::TrackParticle *tp);
00035
00037 bool passConvSelection(const xAOD::Photon *photon,
00038 float convPtCut = 2e3);
00039
00041 bool passConvSelection(const xAOD::Vertex& conversionVertex,
00042 size_t i,
00043 float convPtCut);
00044
00045 }
00046 }
00047
00048
00049 #endif // PhotonVertexSelection_PhotonVertexHelpers_H