ATLAS Offline Software
GenParticleSimQuasiStableFilter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // GenParticleFinalStateFilter.h, (c) ATLAS Detector software
8 
9 #ifndef ISF_HEPMC_GenParticleSimQuasiStableFilter_H
10 #define ISF_HEPMC_GenParticleSimQuasiStableFilter_H 1
11 
12 // FrameWork includes
13 #include "GaudiKernel/ToolHandle.h"
15 // ISF includes
17 
18 // STL includes
19 #include <string>
20 #include <vector>
21 
22 // Units
23 #include "GaudiKernel/SystemOfUnits.h"
24 
25 namespace ISF {
26 
27  class ISFParticle;
28 
34  class GenParticleSimQuasiStableFilter : public extends<AthAlgTool, IGenParticleFilter> {
35 
36  public:
37  //** Constructor with parameters */
38  GenParticleSimQuasiStableFilter( const std::string& t, const std::string& n, const IInterface* p );
39 
42 
46 
48 #ifdef HEPMC3
49  bool pass(const HepMC::ConstGenParticlePtr& particle ) const;
50 #else
51  bool pass(const HepMC::GenParticle& particle ) const;
52 #endif
53 
54  private:
56  std::vector< int > m_statuscode = {1,2};
57  std::vector< double > m_minProdRadius = {30.19*Gaudi::Units::mm,0.0*Gaudi::Units::mm};
58  std::vector< double > m_minDecayRadius = {30.19*Gaudi::Units::mm,30.19*Gaudi::Units::mm};
59  };
60 
61 }
62 
63 
64 #endif //> !ISF_HEPMC_GenParticleSimQuasiStableFilter_H
ISF::GenParticleSimQuasiStableFilter::GenParticleSimQuasiStableFilter
GenParticleSimQuasiStableFilter(const std::string &t, const std::string &n, const IInterface *p)
Constructor.
Definition: GenParticleSimQuasiStableFilter.cxx:19
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
ISF::GenParticleSimQuasiStableFilter::m_minProdRadius
std::vector< double > m_minProdRadius
minimum production radius below which particles should be ignored
Definition: GenParticleSimQuasiStableFilter.h:57
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ISF::GenParticleSimQuasiStableFilter
Definition: GenParticleSimQuasiStableFilter.h:34
ISF::GenParticleSimQuasiStableFilter::m_minDecayRadius
std::vector< double > m_minDecayRadius
minimum decay radius below which particles should be ignored
Definition: GenParticleSimQuasiStableFilter.h:58
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
ISF::GenParticleSimQuasiStableFilter::m_statuscode
std::vector< int > m_statuscode
returns true if the the particle and all daughters are on the accept list
Definition: GenParticleSimQuasiStableFilter.h:56
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition: GenParticle.h:38
ISF::GenParticleSimQuasiStableFilter::~GenParticleSimQuasiStableFilter
~GenParticleSimQuasiStableFilter()
Destructor.
Definition: GenParticleSimQuasiStableFilter.h:41
python.SystemOfUnits.mm
int mm
Definition: SystemOfUnits.py:83
ISF
ISFParticleOrderedQueue.
Definition: PrimaryParticleInformation.h:13
IGenParticleFilter.h
ISF::GenParticleSimQuasiStableFilter::initialize
StatusCode initialize()
Athena algtool's Hooks.
Definition: GenParticleSimQuasiStableFilter.cxx:31
ISF::GenParticleSimQuasiStableFilter::finalize
StatusCode finalize()
Definition: GenParticleSimQuasiStableFilter.cxx:74
ISF::GenParticleSimQuasiStableFilter::pass
bool pass(const HepMC::GenParticle &particle) const
passes through to the private version
Definition: GenParticleSimQuasiStableFilter.cxx:45
GenParticle
@ GenParticle
Definition: TruthClasses.h:30