ATLAS Offline Software
Loading...
Searching...
No Matches
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"
23
25
27
28namespace 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
Property holding a SG store/key/clid from which a ReadHandle is made.
HandleKey object for adding thinning to an object.
SG::ReadHandleKey< xAOD::JetContainer > m_jetSGKey
SG::ThinningHandleKey< xAOD::TrackParticleContainer > m_inDetSGKey
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_PFOChargedSGKey
std::vector< SG::ThinningHandleKey< xAOD::FlowElementContainer > > m_addPFOChargedSGKey
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_ufoSGKey
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_tmpAddPFOChargedSGKey
Gaudi::Property< std::vector< std::string > > m_addPFOSGKey
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_PFONeutralSGKey
SG::ThinningHandleKey< xAOD::FlowElementContainer > m_tmpAddPFONeutralSGKey
std::vector< SG::ThinningHandleKey< xAOD::FlowElementContainer > > m_addPFONeutralSGKey
UFOTrackParticleThinning(const std::string &t, const std::string &n, const IInterface *p)
Property holding a SG store/key/clid from which a ReadHandle is made.
HandleKey object for adding thinning to an object.
THE reconstruction tool.