ATLAS Offline Software
InnerDetector
InDetMonitoring
InDetPerformanceMonitoring
InDetPerformanceMonitoring
ElectronSelector.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef IDPERFMON_ELECTRONSELECTOR_H
6
#define IDPERFMON_ELECTRONSELECTOR_H
7
8
//==============================================================================
9
// Include files...
10
//==============================================================================
11
#include "
InDetPerformanceMonitoring/EventAnalysis.h
"
12
13
#include <map>
14
#include "TH1.h"
15
16
#include "
xAODMuon/Muon.h
"
17
#include "
xAODTracking/Vertex.h
"
18
#include "
xAODTracking/VertexContainer.h
"
19
20
#include "GaudiKernel/ServiceHandle.h"
21
#include "
AsgTools/ToolHandle.h
"
22
#include "
xAODEgamma/Electron.h
"
23
#include "
xAODEgamma/ElectronContainer.h
"
24
#include "
ElectronPhotonSelectorTools/AsgElectronLikelihoodTool.h
"
25
26
#include <atomic>
27
//==============================================================================
28
// Forward class declarations...
29
//==============================================================================
30
class
ElectronSelector
:
public
EventAnalysis
31
{
32
public
:
33
ElectronSelector
();
34
~ElectronSelector
();
35
36
ElectronSelector
(
const
ElectronSelector
&) =
delete
;
37
ElectronSelector
&
operator=
(
const
ElectronSelector
&) =
delete
;
38
39
void
setDebug
(
bool
debug
) {
m_doDebug
=
debug
;}
40
41
const
xAOD::TrackParticle
*
GetElecNegTrackParticle
(
size_t
i
);
42
const
xAOD::TrackParticle
*
GetElecPosTrackParticle
(
size_t
i
);
43
inline
unsigned
int
GetElectronCollectionSize
() {
return
m_goodElecNegTrackParticleList
.size() +
m_goodElecPosTrackParticleList
.size();}
44
// Override functions from EventAnalysis
45
void
Init
();
46
void
PrepareElectronList
(
const
xAOD::ElectronContainer
* pxElecContainer);
47
bool
RecordElectron
(
const
xAOD::Electron
*);
48
inline
void
SetPtCut
(
float
newpt) {
m_ptCut
= newpt;}
49
50
protected
:
51
// virtual void BookHistograms();
52
53
private
:
54
typedef
EventAnalysis
PARENT
;
55
56
static
std::atomic<unsigned int>
s_uNumInstances
;
57
58
// functions
59
void
Clear
();
60
bool
OrderElectronList
();
61
bool
RetrieveVertices
();
62
63
// message stream
64
MsgStream *
m_msgStream
;
65
66
// Class variables
67
const
xAOD::Muon
*
m_pxElectron
;
68
std::vector<const xAOD::TrackParticle*>
m_pxElTrackList
;
69
std::vector<const xAOD::TrackParticle*>
m_goodElecNegTrackParticleList
;
70
std::vector<const xAOD::TrackParticle*>
m_goodElecPosTrackParticleList
;
71
72
//
73
bool
m_doDebug
;
74
//
75
float
m_ptCut
;
76
float
m_etaCut
;
77
78
// Electron likelihood tool:
79
AsgElectronLikelihoodTool
*
m_LHTool2015
=
nullptr
;
80
81
//
82
int
m_elecneg1
= 0;
83
int
m_elecneg2
= 0;
84
int
m_elecpos1
= 0;
85
int
m_elecpos2
= 0;
86
87
// MeV to GeV conversion
88
const
float
m_CGeV
= 1.0e-3;
// Conversion factor to remove evil MeV nonsense.
89
90
};
91
92
#endif
93
ElectronSelector::m_etaCut
float m_etaCut
Definition:
ElectronSelector.h:76
ElectronSelector::m_pxElTrackList
std::vector< const xAOD::TrackParticle * > m_pxElTrackList
Definition:
ElectronSelector.h:68
ElectronSelector::GetElecNegTrackParticle
const xAOD::TrackParticle * GetElecNegTrackParticle(size_t i)
Definition:
ElectronSelector.cxx:349
AsgElectronLikelihoodTool.h
ElectronSelector::m_goodElecPosTrackParticleList
std::vector< const xAOD::TrackParticle * > m_goodElecPosTrackParticleList
Definition:
ElectronSelector.h:70
EventAnalysis.h
ElectronSelector::GetElecPosTrackParticle
const xAOD::TrackParticle * GetElecPosTrackParticle(size_t i)
Definition:
ElectronSelector.cxx:358
Muon.h
ElectronSelector::m_doDebug
bool m_doDebug
Definition:
ElectronSelector.h:73
ElectronSelector::s_uNumInstances
static std::atomic< unsigned int > s_uNumInstances
Definition:
ElectronSelector.h:56
EventAnalysis
Definition:
EventAnalysis.h:32
ElectronSelector::OrderElectronList
bool OrderElectronList()
Definition:
ElectronSelector.cxx:216
ElectronSelector::SetPtCut
void SetPtCut(float newpt)
Definition:
ElectronSelector.h:48
AsgElectronLikelihoodTool
Electron selector tool to select objects in Athena using an underlying pure ROOT tool.
Definition:
AsgElectronLikelihoodTool.h:30
xAOD::Muon_v1
Class describing a Muon.
Definition:
Muon_v1.h:38
ElectronSelector::m_elecpos2
int m_elecpos2
Definition:
ElectronSelector.h:85
ElectronSelector::m_msgStream
MsgStream * m_msgStream
Definition:
ElectronSelector.h:64
ElectronSelector::m_goodElecNegTrackParticleList
std::vector< const xAOD::TrackParticle * > m_goodElecNegTrackParticleList
Definition:
ElectronSelector.h:69
ElectronSelector::operator=
ElectronSelector & operator=(const ElectronSelector &)=delete
ElectronContainer.h
lumiFormat.i
int i
Definition:
lumiFormat.py:85
ElectronSelector::RecordElectron
bool RecordElectron(const xAOD::Electron *)
Definition:
ElectronSelector.cxx:138
ElectronSelector::PrepareElectronList
void PrepareElectronList(const xAOD::ElectronContainer *pxElecContainer)
Definition:
ElectronSelector.cxx:94
ElectronSelector::m_pxElectron
const xAOD::Muon * m_pxElectron
Definition:
ElectronSelector.h:67
ElectronSelector::ElectronSelector
ElectronSelector()
Definition:
ElectronSelector.cxx:30
ElectronSelector
Definition:
ElectronSelector.h:31
DataVector
Derived DataVector<T>.
Definition:
DataVector.h:794
Vertex.h
debug
const bool debug
Definition:
MakeUncertaintyPlots.cxx:53
ElectronSelector::m_LHTool2015
AsgElectronLikelihoodTool * m_LHTool2015
Definition:
ElectronSelector.h:79
ElectronSelector::GetElectronCollectionSize
unsigned int GetElectronCollectionSize()
Definition:
ElectronSelector.h:43
xAOD::Electron_v1
Definition:
Electron_v1.h:34
ElectronSelector::m_CGeV
const float m_CGeV
Definition:
ElectronSelector.h:88
ElectronSelector::PARENT
EventAnalysis PARENT
Definition:
ElectronSelector.h:54
VertexContainer.h
ElectronSelector::RetrieveVertices
bool RetrieveVertices()
Definition:
ElectronSelector.cxx:299
ElectronSelector::setDebug
void setDebug(bool debug)
Definition:
ElectronSelector.h:39
ElectronSelector::Clear
void Clear()
Definition:
ElectronSelector.cxx:200
ElectronSelector::m_elecneg1
int m_elecneg1
Definition:
ElectronSelector.h:82
Electron.h
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition:
TrackParticle_v1.h:43
ToolHandle.h
ElectronSelector::m_ptCut
float m_ptCut
Definition:
ElectronSelector.h:75
ElectronSelector::~ElectronSelector
~ElectronSelector()
Definition:
ElectronSelector.cxx:46
ElectronSelector::Init
void Init()
Definition:
ElectronSelector.cxx:53
ElectronSelector::m_elecpos1
int m_elecpos1
Definition:
ElectronSelector.h:84
ElectronSelector::ElectronSelector
ElectronSelector(const ElectronSelector &)=delete
ElectronSelector::m_elecneg2
int m_elecneg2
Definition:
ElectronSelector.h:83
Generated on Sun Dec 22 2024 21:09:54 for ATLAS Offline Software by
1.8.18