ATLAS Offline Software
Loading...
Searching...
No Matches
TrackVertexAssociationTool.cxx File Reference
#include "TrackVertexAssociationTool/TrackVertexAssociationTool.h"
#include "AsgDataHandles/ReadHandle.h"
#include "xAODTracking/TrackParticle.h"
#include "xAODTracking/TrackParticleContainer.h"
#include "xAODTracking/Vertex.h"
#include "xAODTracking/VertexContainer.h"
#include "xAODTracking/TrackParticlexAODHelpers.h"
#include "xAODTracking/TrackingPrimitives.h"
#include "TString.h"
#include <cmath>
#include <map>
#include <set>
#include <stdexcept>
#include <utility>

Go to the source code of this file.

Namespaces

namespace  CP
 Select isolated Photons, Electrons and Muons.

Macros

#define NONPROMPT_D0SIG(CLASSNAME, RADIAL_CUT)
#define NONPROMPT_MAXWEIGHT(CLASSNAME, RADIAL_CUT)
#define IF_WORKING_POINT(WORKING_POINT, DO_USED_IN_FIT, REQUIRE_PRI_VTX)

Macro Definition Documentation

◆ IF_WORKING_POINT

#define IF_WORKING_POINT ( WORKING_POINT,
DO_USED_IN_FIT,
REQUIRE_PRI_VTX )
Value:
if (m_wp == #WORKING_POINT) { \
m_applicator = std::unique_ptr<CP::TrackVertexAssociationTool::WorkingPoint>(new ::WORKING_POINT()); \
m_doUsedInFit = DO_USED_IN_FIT; \
m_requirePriVtx = REQUIRE_PRI_VTX; \
} \

Definition at line 244 of file InnerDetector/InDetRecTools/TrackVertexAssociationTool/Root/TrackVertexAssociationTool.cxx.

244#define IF_WORKING_POINT(WORKING_POINT, DO_USED_IN_FIT, REQUIRE_PRI_VTX) \
245if (m_wp == #WORKING_POINT) { \
246 m_applicator = std::unique_ptr<CP::TrackVertexAssociationTool::WorkingPoint>(new ::WORKING_POINT()); \
247 m_doUsedInFit = DO_USED_IN_FIT; \
248 m_requirePriVtx = REQUIRE_PRI_VTX; \
249} \
250

◆ NONPROMPT_D0SIG

#define NONPROMPT_D0SIG ( CLASSNAME,
RADIAL_CUT )
Value:
class CLASSNAME \
: public WorkingPoint \
{ \
public: \
virtual bool apply(const xAOD::TrackParticle* trk, const xAOD::Vertex* vtx, const xAOD::EventInfo* evt, \
const AMVFVerticesAcc& vtxDeco, const AMVFWeightsAcc& wgtDeco) const \
{ \
return (absD0(trk) < RADIAL_CUT && ((absD0Sig(trk, evt) < 3.0) ? (fitWeight(trk, vtx, vtxDeco, wgtDeco).first > 0.03) : (absDzSinTheta(trk, vtx) < RADIAL_CUT))); \
} \
}; \
EventInfo_v1 EventInfo
Definition of the latest event info version.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Vertex_v1 Vertex
Define the latest version of the vertex class.

Definition at line 144 of file InnerDetector/InDetRecTools/TrackVertexAssociationTool/Root/TrackVertexAssociationTool.cxx.

144 #define NONPROMPT_D0SIG(CLASSNAME, RADIAL_CUT) \
145 class CLASSNAME \
146 : public WorkingPoint \
147 { \
148 public: \
149 virtual bool apply(const xAOD::TrackParticle* trk, const xAOD::Vertex* vtx, const xAOD::EventInfo* evt, \
150 const AMVFVerticesAcc& vtxDeco, const AMVFWeightsAcc& wgtDeco) const \
151 { \
152 return (absD0(trk) < RADIAL_CUT && ((absD0Sig(trk, evt) < 3.0) ? (fitWeight(trk, vtx, vtxDeco, wgtDeco).first > 0.03) : (absDzSinTheta(trk, vtx) < RADIAL_CUT))); \
153 } \
154 }; \
155

◆ NONPROMPT_MAXWEIGHT

#define NONPROMPT_MAXWEIGHT ( CLASSNAME,
RADIAL_CUT )
Value:
class CLASSNAME \
: public WorkingPoint \
{ \
public: \
virtual bool apply(const xAOD::TrackParticle* trk, const xAOD::Vertex* vtx, const xAOD::EventInfo*, \
const AMVFVerticesAcc& vtxDeco, const AMVFWeightsAcc& wgtDeco) const \
{ \
FitWeight weight = fitWeight(trk, vtx, vtxDeco, wgtDeco); \
return ((weight.second > 0.) ? (weight.first >= weight.second) : (absD0(trk) < RADIAL_CUT && absDzSinTheta(trk, vtx) < RADIAL_CUT)); \
} \
}; \

Definition at line 172 of file InnerDetector/InDetRecTools/TrackVertexAssociationTool/Root/TrackVertexAssociationTool.cxx.

172 #define NONPROMPT_MAXWEIGHT(CLASSNAME, RADIAL_CUT) \
173 class CLASSNAME \
174 : public WorkingPoint \
175 { \
176 public: \
177 virtual bool apply(const xAOD::TrackParticle* trk, const xAOD::Vertex* vtx, const xAOD::EventInfo*, \
178 const AMVFVerticesAcc& vtxDeco, const AMVFWeightsAcc& wgtDeco) const \
179 { \
180 FitWeight weight = fitWeight(trk, vtx, vtxDeco, wgtDeco); \
181 return ((weight.second > 0.) ? (weight.first >= weight.second) : (absD0(trk) < RADIAL_CUT && absDzSinTheta(trk, vtx) < RADIAL_CUT)); \
182 } \
183 }; \
184