ATLAS Offline Software
PileupFilterTool.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // PileupFilterTool.h
8 // Header file for class PileupFilterTool
9 // Author: KeteviA.Assamagan<ketevi@bnl.gov>
11 #ifndef MCPARTICLETOOLS_PILEUPFILTERTOOL_H
12 #define MCPARTICLETOOLS_PILEUPFILTERTOOL_H 1
13 
14 // STL includes
15 #include <set>
16 
17 // McParticleTools includes
19 
20 // Forward declaration
21 namespace TruthHelper{
22  class GenAccessIO;
23 }
24 
26 class IMcVtxFilterTool;
27 
29 {
30 
32  // Public methods:
34  public:
35 
37  PileupFilterTool( const std::string& type,
38  const std::string& name,
39  const IInterface* parent );
40 
42  virtual ~PileupFilterTool();
43 
44 
46  // Non-const methods:
48 
54 
56  // Protected methods:
58  protected:
59 
63 
69 
75 
82 
86  StatusCode rebuildLinks( const HepMC::GenEvent * mcEvent,
87  HepMC::GenEvent * outEvt,
88  const HepMC::GenParticlePtr& mcPart );
89 
92 
94  // Protected data:
96  protected:
97 
101  std::set<HepMC::ConstGenParticlePtr> m_particles;
102 
105  DoubleProperty m_rIsol;
106 
109  DoubleProperty m_ptGamMin;
110 
114  DoubleProperty m_ptMin;
115 
118  DoubleProperty m_etaRange;
119 
122  DoubleProperty m_rRange;
123 
126  BooleanProperty m_includeSimul;
127 
130  BooleanProperty m_includePartonShowers;
131 
135 
139  BooleanProperty m_removeDecayToSelf;
140 
141 };
142 
143 
144 #endif //> MCPARTICLETOOLS_PILEUPFILTERTOOL_H
145 
PileupFilterTool::reconnectParticles
StatusCode reconnectParticles(const McEventCollection *inEvt, McEventCollection *out)
Reconnect the particles of the filtered McEventCollection.
Definition: PileupFilterTool.cxx:376
PileupFilterTool::m_ptGamMin
DoubleProperty m_ptGamMin
Minimum threshold for transverse momentum of photons.
Definition: PileupFilterTool.h:109
PileupFilterTool::selectSpclMcBarcodes
StatusCode selectSpclMcBarcodes()
Retrieve the GenParticles from the GenEvent object (located into the McEventCollection container),...
Definition: PileupFilterTool.cxx:142
PileupFilterTool::buildMcAod
StatusCode buildMcAod(const McEventCollection *in, McEventCollection *out)
This method will check the validity of the input McEventCollection and build a filtered one from the ...
Definition: PileupFilterTool.cxx:103
TruthParticleFilterBaseTool.h
PileupFilterTool::m_includeSimul
BooleanProperty m_includeSimul
Switch to include or not particles from detector simulation (Geant4)
Definition: PileupFilterTool.h:126
HepMC::GenParticlePtr
GenParticle * GenParticlePtr
Definition: GenParticle.h:37
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
PileupFilterTool::m_rRange
DoubleProperty m_rRange
Radius acceptance cut on all stable particles.
Definition: PileupFilterTool.h:122
PileupFilterTool::m_particles
std::set< HepMC::ConstGenParticlePtr > m_particles
List of particles which have been labelled as "special".
Definition: PileupFilterTool.h:101
PileupFilterTool::m_tesIO
TruthHelper::GenAccessIO * m_tesIO
Pointer to a StoreGateSvc helper (Mc particle retrieval with predicates)
Definition: PileupFilterTool.h:134
IMcVtxFilterTool
Definition: IMcVtxFilterTool.h:27
PileupFilterTool::m_includePartonShowers
BooleanProperty m_includePartonShowers
Switch to include or not parton showers.
Definition: PileupFilterTool.h:130
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
GenEvent_fwd.h
PileupFilterTool::m_etaRange
DoubleProperty m_etaRange
Eta acceptance cut applied on all stable particles.
Definition: PileupFilterTool.h:118
test_pyathena.parent
parent
Definition: test_pyathena.py:15
PileupFilterTool::initializeTool
StatusCode initializeTool()
to get tesIO
Definition: PileupFilterTool.cxx:616
PileupFilterTool
Definition: PileupFilterTool.h:29
McEventCollection
This defines the McEventCollection, which is really just an ObjectVector of McEvent objects.
Definition: McEventCollection.h:33
TruthParticleFilterBaseTool
Definition: TruthParticleFilterBaseTool.h:33
PileupFilterTool::~PileupFilterTool
virtual ~PileupFilterTool()
Destructor:
Definition: PileupFilterTool.cxx:93
TruthHelper
Definition: Generators/FlowAfterburner/FlowAfterburner/GenAccessIO.h:22
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TruthHelper::GenAccessIO
Definition: Generators/FlowAfterburner/FlowAfterburner/GenAccessIO.h:24
PileupFilterTool::shapeGenEvent
StatusCode shapeGenEvent(McEventCollection *outEvt)
Build the out McEventCollection by removing all the GenParticles whose barcode is not in the list of ...
Definition: PileupFilterTool.cxx:238
PileupFilterTool::m_ptMin
DoubleProperty m_ptMin
Minimum threshold for transverse momentum for all particles.
Definition: PileupFilterTool.h:114
PileupFilterTool::rebuildLinks
StatusCode rebuildLinks(const HepMC::GenEvent *mcEvent, HepMC::GenEvent *outEvt, const HepMC::GenParticlePtr &mcPart)
Rebuild the links between particles which were connected, eg by a long FSR chain.
Definition: PileupFilterTool.cxx:421
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
PileupFilterTool::m_rIsol
DoubleProperty m_rIsol
deltaR isolation energy cut for electrons, muons, taus and photons
Definition: PileupFilterTool.h:105
PileupFilterTool::PileupFilterTool
PileupFilterTool()
Default constructor:
PileupFilterTool::m_removeDecayToSelf
BooleanProperty m_removeDecayToSelf
Switch to remove particles which decay into themselves (t->tg) but only for generated particles,...
Definition: PileupFilterTool.h:139