ATLAS Offline Software
PhysicsAnalysis
AnalysisCommon
AnalysisUtils
src
ParticleBaseSelector.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 "
AnalysisUtils/ParticleBaseSelector.h
"
6
#include "
AthenaKernel/Units.h
"
7
8
using
Athena::Units::GeV
;
9
using namespace
std;
10
11
ParticleBaseSelector::ParticleBaseSelector
(
const
std::string&
name
, ISvcLocator* pSvcLocator):
12
SelectorBase
<
ParticleBaseSelector
>(
name
, pSvcLocator)
13
{
14
// these parameters just for example
15
declareProperty
(
"EMin"
,
m_Emin
= 15.0);
16
declareProperty
(
"EMax"
,
m_Emax
= 10000.0);
17
}
18
19
StatusCode
ParticleBaseSelector::initialize
()
20
{
21
// print parameters in SelectorBase
22
ATH_CHECK
(
SelectorBase<ParticleBaseSelector>::initialize
() );
23
24
// print parameters in ParticleBaseSelector
25
ATH_MSG_INFO
(
", PtMin="
<<
m_Emin
);
26
ATH_MSG_INFO
(
", PtMax="
<<
m_Emax
);
27
return
StatusCode::SUCCESS;
28
}
29
30
bool
ParticleBaseSelector::accept
(
const
ParticleBaseLink
& link){
31
const
Contained
* cpart=*link;
32
return
accept
(cpart);
33
}
34
35
bool
ParticleBaseSelector::accept
(
const
Contained
*
part
)
36
{
37
// kinematic cuts
38
double
pt
=
part
->pt()/
GeV
;
39
double
eta
=
part
->eta();
40
if
(!
pt_eta_range
(
pt
,
eta
))
return
false
;
41
double
E
=
part
->e()/
GeV
;
42
if
(
E
>
m_Emax
||
E
<
m_Emin
)
return
false
;
43
44
return
true
;
45
}
46
LArG4FSStartPointFilter.part
part
Definition:
LArG4FSStartPointFilter.py:21
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition:
AthMsgStreamMacros.h:31
ParticleBase
Definition:
ParticleBase.h:17
eta
Scalar eta() const
pseudorapidity method
Definition:
AmgMatrixBasePlugin.h:79
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition:
AthCommonDataStore.h:145
test_pyathena.pt
pt
Definition:
test_pyathena.py:11
SelectorBase
Definition:
SelectorBase.h:36
ParticleBaseSelector::m_Emax
double m_Emax
Definition:
ParticleBaseSelector.h:77
ParticleBaseSelector
Definition:
ParticleBaseSelector.h:46
ParticleBaseSelector::initialize
StatusCode initialize()
Definition:
ParticleBaseSelector.cxx:19
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
ElementLink
ElementLink implementation for ROOT usage.
Definition:
AthLinks/ElementLink.h:121
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:195
VP1PartSpect::E
@ E
Definition:
VP1PartSpectFlags.h:21
Units.h
Wrapper to avoid constant divisions when using units.
ParticleBaseSelector.h
ParticleBaseSelector::ParticleBaseSelector
ParticleBaseSelector(const std::string &name, ISvcLocator *pSvcLocator)
Definition:
ParticleBaseSelector.cxx:11
SelectorBase< ParticleBaseSelector >::pt_eta_range
bool pt_eta_range(double pt, double eta)
Definition:
SelectorBase.h:279
ParticleBaseSelector::accept
bool accept(const ParticleBaseLink &link)
Definition:
ParticleBaseSelector.cxx:30
GeV
#define GeV
Definition:
CaloTransverseBalanceVecMon.cxx:30
ParticleBaseSelector::m_Emin
double m_Emin
Definition:
ParticleBaseSelector.h:78
Generated on Fri Jul 5 2024 21:24:04 for ATLAS Offline Software by
1.8.18