ATLAS Offline Software
UFOTrackParticleThinning.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // UFOTrackParticleThinning.h, (c) ATLAS Detector software
8 
9 #ifndef DERIVATIONFRAMEWORK_UFOTRACKPARTICLETHINNING_H
10 #define DERIVATIONFRAMEWORK_UFOTRACKPARTICLETHINNING_H
11 
12 #include <string>
13 #include <vector>
14 #include <atomic>
15 
18 #include "GaudiKernel/ToolHandle.h"
20 #include "xAODJet/JetContainer.h"
23 
25 
27 
28 namespace DerivationFramework {
29 
30  class UFOTrackParticleThinning: public extends<ExpressionParserUser<AthAlgTool>, IThinningTool> {
31  public:
32  UFOTrackParticleThinning(const std::string& t, const std::string& n, const IInterface* p);
34  virtual StatusCode initialize() override;
35  virtual StatusCode finalize() override;
36  virtual StatusCode doThinning() const override;
37 
38  private:
39  StringProperty m_streamName{ this, "StreamName", "", "Name of the stream being thinned" };
40  SG::ThinningHandleKey<xAOD::TrackParticleContainer> m_inDetSGKey{ this, "InDetTrackParticlesKey", "InDetTrackParticles", "" };
41  Gaudi::Property<bool> m_thinTracks{this,"ThinTrackingContainer",true,"Toggle thinning of container with name InDetTrackParticlesKey"};
42  Gaudi::Property<std::string> m_PFOSGKey{ this, "PFOCollectionSGKey", "Global", "" };
43  SG::ThinningHandleKey<xAOD::FlowElementContainer> m_PFOChargedSGKey{ this, "PFOChargedCollectionSGKey", "GlobalChargedParticleFlowObjects", "" };
44  SG::ThinningHandleKey<xAOD::FlowElementContainer> m_PFONeutralSGKey{ this, "PFONeutralCollectionSGKey", "GlobalNeutralParticleFlowObjects", "" };
45  Gaudi::Property<std::vector<std::string>> m_addPFOSGKey{ this, "AdditionalPFOKey", {}, ""};
48  std::vector<SG::ThinningHandleKey<xAOD::FlowElementContainer>> m_addPFOChargedSGKey;
49  std::vector<SG::ThinningHandleKey<xAOD::FlowElementContainer>> m_addPFONeutralSGKey;
52  StringProperty m_selectionString{ this, "SelectionString", "", "" };
53 
54  };
55 }
56 
57 #endif // DERIVATIONFRAMEWORK_UFOTRACKPARTICLETHINNING_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
DerivationFramework::UFOTrackParticleThinning::finalize
virtual StatusCode finalize() override
Definition: UFOTrackParticleThinning.cxx:61
FlowElementContainer.h
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
DerivationFramework::UFOTrackParticleThinning::m_addPFOSGKey
Gaudi::Property< std::vector< std::string > > m_addPFOSGKey
Definition: UFOTrackParticleThinning.h:45
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition: ThinningHandleKey.h:38
ExpressionParserUser.h
DerivationFramework::UFOTrackParticleThinning::doThinning
virtual StatusCode doThinning() const override
Definition: UFOTrackParticleThinning.cxx:67
IThinningTool.h
DerivationFramework::UFOTrackParticleThinning::m_PFONeutralSGKey
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_PFONeutralSGKey
Definition: UFOTrackParticleThinning.h:44
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
DerivationFramework::UFOTrackParticleThinning::UFOTrackParticleThinning
UFOTrackParticleThinning(const std::string &t, const std::string &n, const IInterface *p)
Definition: UFOTrackParticleThinning.cxx:14
DerivationFramework::UFOTrackParticleThinning::m_thinTracks
Gaudi::Property< bool > m_thinTracks
Definition: UFOTrackParticleThinning.h:41
DerivationFramework::UFOTrackParticleThinning::m_tmpAddPFONeutralSGKey
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_tmpAddPFONeutralSGKey
Definition: UFOTrackParticleThinning.h:47
DerivationFramework::UFOTrackParticleThinning::m_PFOSGKey
Gaudi::Property< std::string > m_PFOSGKey
Definition: UFOTrackParticleThinning.h:42
DerivationFramework::UFOTrackParticleThinning::m_addPFOChargedSGKey
std::vector< SG::ThinningHandleKey< xAOD::FlowElementContainer > > m_addPFOChargedSGKey
Definition: UFOTrackParticleThinning.h:48
DerivationFramework::UFOTrackParticleThinning::initialize
virtual StatusCode initialize() override
Definition: UFOTrackParticleThinning.cxx:25
DerivationFramework::UFOTrackParticleThinning
Definition: UFOTrackParticleThinning.h:30
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
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::UFOTrackParticleThinning::m_PFOChargedSGKey
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_PFOChargedSGKey
Definition: UFOTrackParticleThinning.h:43
DerivationFramework::UFOTrackParticleThinning::m_tmpAddPFOChargedSGKey
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_tmpAddPFOChargedSGKey
Definition: UFOTrackParticleThinning.h:46
DerivationFramework::UFOTrackParticleThinning::m_jetSGKey
SG::ReadHandleKey< xAOD::JetContainer > m_jetSGKey
Definition: UFOTrackParticleThinning.h:51
DerivationFramework::UFOTrackParticleThinning::m_inDetSGKey
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_inDetSGKey
Definition: UFOTrackParticleThinning.h:40
DerivationFramework::UFOTrackParticleThinning::m_selectionString
StringProperty m_selectionString
Definition: UFOTrackParticleThinning.h:52
DerivationFramework::UFOTrackParticleThinning::m_streamName
StringProperty m_streamName
Definition: UFOTrackParticleThinning.h:39
DerivationFramework::UFOTrackParticleThinning::m_addPFONeutralSGKey
std::vector< SG::ThinningHandleKey< xAOD::FlowElementContainer > > m_addPFONeutralSGKey
Definition: UFOTrackParticleThinning.h:49
JetContainer.h
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
DerivationFramework::UFOTrackParticleThinning::m_ufoSGKey
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_ufoSGKey
Definition: UFOTrackParticleThinning.h:50
DerivationFramework::UFOTrackParticleThinning::~UFOTrackParticleThinning
virtual ~UFOTrackParticleThinning()
TrackParticleContainer.h