ATLAS Offline Software
Loading...
Searching...
No Matches
ITRT_ElectronPidTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
6// ITRT_ElectronPidTool.h, (c) ATLAS Detector software
8#ifndef TRK_ITRT_ELECTRONPIDTOOL_H
9#define TRK_ITRT_ELECTRONPIDTOOL_H
10
11#include "GaudiKernel/IAlgTool.h"
12#include "GaudiKernel/EventContext.h"
13#include "GaudiKernel/ThreadLocalContext.h"
16#include <vector>
17
18namespace Trk {
19 class Track;
20
21 static const InterfaceID IID_ITRT_ElectronPidTool("Trk::ITRT_ElectronPidTool", 1, 0);
22
32
33 class ITRT_ElectronPidTool : virtual public IAlgTool {
34 public:
35 static const InterfaceID& interfaceID( ) ;
36
42 virtual std::vector<float> electronProbability(
43 const EventContext& ctx,
44 const Trk::Track& track) const = 0;
45
46 std::vector<float> electronProbability(
47 const Trk::Track& track) const {
48 return electronProbability(Gaudi::Hive::currentContext(),track);
49 }
50
51
55 virtual double probHT(const double p,
56 const Trk::ParticleHypothesis hypothesis,
57 const int HitPart,
58 const int Layer,
59 const int Strawlayer) const = 0;
60
61 virtual double probHTRun2(const EventContext& ctx,
62 float pTrk,
63 Trk::ParticleHypothesis hypothesis,
64 int TrtPart,
65 int GasType,
66 int StrawLayer,
67 float ZR,
68 float rTrkWire,
69 float Occupancy) const = 0;
70
71 double probHTRun2(float pTrk,
72 Trk::ParticleHypothesis hypothesis,
73 int TrtPart,
74 int GasType,
75 int StrawLayer,
76 float ZR,
77 float rTrkWire,
78 float Occupancy) const
79 {
80 return probHTRun2(Gaudi::Hive::currentContext(),
81 pTrk,
82 hypothesis,
83 TrtPart,
84 GasType,
85 StrawLayer,
86 ZR,
87 rTrkWire,
88 Occupancy);
89 }
90 };
91
92 inline const InterfaceID& Trk::ITRT_ElectronPidTool::interfaceID()
93 {
95 }
96
97} // end of namespace
98
99#endif
abstract interface for identification of electrons based on information from the inner detector track...
std::vector< float > electronProbability(const Trk::Track &track) const
static const InterfaceID & interfaceID()
double probHTRun2(float pTrk, Trk::ParticleHypothesis hypothesis, int TrtPart, int GasType, int StrawLayer, float ZR, float rTrkWire, float Occupancy) const
virtual double probHTRun2(const EventContext &ctx, float pTrk, Trk::ParticleHypothesis hypothesis, int TrtPart, int GasType, int StrawLayer, float ZR, float rTrkWire, float Occupancy) const =0
virtual std::vector< float > electronProbability(const EventContext &ctx, const Trk::Track &track) const =0
particle identification function returning a vector of probabilities.
virtual double probHT(const double p, const Trk::ParticleHypothesis hypothesis, const int HitPart, const int Layer, const int Strawlayer) const =0
return high threshold probability
Base Class for a Detector Layer in the Tracking realm.
Definition Layer.h:72
Ensure that the ATLAS eigen extensions are properly loaded.
static const InterfaceID IID_ITRT_ElectronPidTool("Trk::ITRT_ElectronPidTool", 1, 0)
ParticleHypothesis
Enumeration for Particle hypothesis respecting the interaction with material.