ATLAS Offline Software
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 
18 namespace Trk {
19  class Track;
20 
21  static const InterfaceID IID_ITRT_ElectronPidTool("Trk::ITRT_ElectronPidTool", 1, 0);
22 
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  {
94  return IID_ITRT_ElectronPidTool;
95  }
96 
97 } // end of namespace
98 
99 #endif
Trk::ITRT_ElectronPidTool::probHT
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
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::ITRT_ElectronPidTool::probHTRun2
double probHTRun2(float pTrk, Trk::ParticleHypothesis hypothesis, int TrtPart, int GasType, int StrawLayer, float ZR, float rTrkWire, float Occupancy) const
Definition: ITRT_ElectronPidTool.h:71
Trk::ITRT_ElectronPidTool
abstract interface for identification of electrons based on information from the inner detector track...
Definition: ITRT_ElectronPidTool.h:33
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
Trk::ITRT_ElectronPidTool::probHTRun2
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
Trk::ITRT_ElectronPidTool::electronProbability
virtual std::vector< float > electronProbability(const EventContext &ctx, const Trk::Track &track) const =0
particle identification function returning a vector of probabilities.
TrackSummary.h
ParticleHypothesis.h
Trk::ITRT_ElectronPidTool::interfaceID
static const InterfaceID & interfaceID()
Definition: ITRT_ElectronPidTool.h:92
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::ITRT_ElectronPidTool::electronProbability
std::vector< float > electronProbability(const Trk::Track &track) const
Definition: ITRT_ElectronPidTool.h:46
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Trk::Layer
Definition: Layer.h:73