ATLAS Offline Software
Generators
GeneratorFilters
src
xAODMultiElectronFilter.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
GeneratorFilters/xAODMultiElectronFilter.h
"
6
#include "
xAODTruth/TruthParticle.h
"
7
#include "
xAODTruth/TruthParticleContainer.h
"
8
#include "
xAODTruth/TruthParticleAuxContainer.h
"
9
10
11
12
13
xAODMultiElectronFilter::xAODMultiElectronFilter
(
const
std::string&
name
, ISvcLocator* pSvcLocator)
14
:
GenFilter
(
name
,pSvcLocator)
15
{
16
declareProperty
(
"Ptcut"
,
m_ptmin
= 10000.);
17
declareProperty
(
"Etacut"
,
m_etaRange
= 10.0);
18
declareProperty
(
"NElectrons"
,
m_nElectrons
= 2);
19
}
20
StatusCode
xAODMultiElectronFilter::filterEvent
() {
21
// Retrieve TruthElectron container
22
const
xAOD::TruthParticleContainer
* xTruthParticleContainer;
23
ATH_CHECK
(
evtStore
()->
retrieve
(xTruthParticleContainer,
"TruthElectrons"
));
24
int
numElectrons = 0;
25
26
for
(
auto
*
part
: *xTruthParticleContainer) {
27
if
(
part
->pt()>=
m_ptmin
&&
part
->abseta() <=
m_etaRange
)
28
{
29
numElectrons++;
30
if
(numElectrons >=
m_nElectrons
)
31
{
32
setFilterPassed(
true
);
33
return
StatusCode::SUCCESS;
34
}
35
}
36
}
37
38
39
setFilterPassed(
false
);
40
return
StatusCode::SUCCESS;
41
}
LArG4FSStartPointFilter.part
part
Definition:
LArG4FSStartPointFilter.py:21
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition:
PyKernel.py:110
xAODMultiElectronFilter::xAODMultiElectronFilter
xAODMultiElectronFilter(const std::string &name, ISvcLocator *pSvcLocator)
Definition:
xAODMultiElectronFilter.cxx:13
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition:
AthCommonDataStore.h:145
TruthParticleContainer.h
xAODMultiElectronFilter::m_ptmin
double m_ptmin
Definition:
xAODMultiElectronFilter.h:18
TruthParticleAuxContainer.h
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition:
AthCommonDataStore.h:85
xAODMultiElectronFilter::m_etaRange
double m_etaRange
Definition:
xAODMultiElectronFilter.h:19
GenFilter
Base class for event generator filtering modules.
Definition:
GenFilter.h:30
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_CHECK
#define ATH_CHECK
Definition:
AthCheckMacros.h:40
DataVector
Derived DataVector<T>.
Definition:
DataVector.h:581
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:195
xAODMultiElectronFilter::filterEvent
virtual StatusCode filterEvent()
Definition:
xAODMultiElectronFilter.cxx:20
xAODMultiElectronFilter::m_nElectrons
int m_nElectrons
Definition:
xAODMultiElectronFilter.h:20
TruthParticle.h
xAODMultiElectronFilter.h
Generated on Fri Jul 5 2024 21:33:05 for ATLAS Offline Software by
1.8.18