ATLAS Offline Software
Loading...
Searching...
No Matches
IsolationTrackDecorator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
6// IsolationTrackDecorator.h
8
9/*
10 Decorates the track isolations and calo isolations to the track container.
11 ptcone, ptvarcone, etcone, and etcluster are decorated.
12 if the etcone is selected, the etcluster is also decorated automatically.
13
14 user specifies...
15
16 TrackIsolationTool: track isolation tool. ex.) from IsolationAlgs.IsoToolsConfig import TrackIsolationToolCfg
17 CaloIsolationTool: calo isolation tool. ex.) from IsolationAlgs.IsoToolsConfig import CaloIsolationToolCfg
18 TargetContainer: track particle container.
19 SelectionString: the selections for the tracks that are decorated. ex.) "InDetTrackParticles.pt>10*GeV".
20 iso: isolation type. ex.) isoPar = ROOT.xAOD.Iso.IsolationType; iso = [isoPar.ptcone40, isoPar.ptcone30]
21 Prefix & isoSufix: prefix and sufix for the decoration, decoraterKey = trackContainerKey + prefix + isosufix.
22*/
23
24#ifndef DERIVATIONFRAMEWORK_IsolationTrackDecorator_H
25#define DERIVATIONFRAMEWORK_IsolationTrackDecorator_H
26
27#include<string>
28#include<vector>
29
30// Gaudi & Athena basics
32#include "GaudiKernel/ToolHandle.h"
41
42namespace DerivationFramework {
46 class IsolationTrackDecorator : public extends<ExpressionParserUser<AthAlgTool>, IAugmentationTool> {
47
48 public:
49
50 using base_class::base_class;
51
52 // Athena algtool's Hooks
53 virtual StatusCode initialize() override final;
54 virtual StatusCode finalize() override final;
55
56 virtual StatusCode addBranches(const EventContext& ctx) const override final;
57
58 private:
60 this, "TargetContainer", "InDetTrackParticles", "track particle container name"};
61 StringProperty m_selectionString {
62 this, "SelectionString", "", "selection string"};
63 StringProperty m_prefix {
64 this, "Prefix", "", "prefix"};
65 StringArrayProperty m_iso_suffix {
66 this, "isoSuffix", {""}, "suffix for the isolations"};
67 StringProperty m_selFlag {
68 this, "SelectionFlag", "", "selection flag"};
69 IntegerProperty m_diff_ptvarcone {
70 this, "DiffPtvarcone", xAOD::Iso::ptvarcone20 - xAOD::Iso::ptcone20, "difference between Iso::ptvarcone20 and Iso::ptcone20"};
71 IntegerProperty m_selFlagValue {
72 this, "SelectionFlagValue", 1, "selection flag value"};
73
75 ToolHandle<xAOD::ITrackIsolationTool> m_trackIsolationTool {this, "TrackIsolationTool", ""};
76 ToolHandle<xAOD::ICaloTopoClusterIsolationTool> m_caloIsolationTool {this, "CaloIsolationTool", ""};
77
78 std::vector<xAOD::Iso::IsolationType> m_ptconeTypes;
79 std::vector<xAOD::Iso::IsolationType> m_ptvarconeTypes;
80 std::vector<xAOD::Iso::IsolationType> m_topoetconeTypes;
81 IntegerArrayProperty m_iso {
82 this, "iso", {}, "isolation types vector<int>"};
86
97
98 };
99}
100#endif //
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
virtual StatusCode addBranches(const EventContext &ctx) const override final
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackContainerKey
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_dec_trkFlagKey
SG::WriteDecorHandleKeyArray< xAOD::TrackParticleContainer > m_ptconeDecoratorsKey
std::vector< xAOD::Iso::IsolationType > m_ptvarconeTypes
std::vector< xAOD::Iso::IsolationType > m_topoetconeTypes
ToolHandle< xAOD::ICaloTopoClusterIsolationTool > m_caloIsolationTool
SG::WriteDecorHandleKeyArray< xAOD::TrackParticleContainer > m_topoetconeDecoratorsKey
SG::WriteDecorHandleKeyArray< xAOD::TrackParticleContainer > m_ptvarconeDecoratorsKey
SG::WriteDecorHandleKeyArray< xAOD::TrackParticleContainer > m_topoetconeNonCoreConeDecoratorsKey
std::vector< xAOD::Iso::IsolationType > m_ptconeTypes
ToolHandle< xAOD::ITrackIsolationTool > m_trackIsolationTool
Athena configured tools.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
THE reconstruction tool.
DecorHandleKeyArray< WriteDecorHandle< T, S >, WriteDecorHandleKey< T >, Gaudi::DataHandle::Writer > WriteDecorHandleKeyArray
@ ptcone20
Track isolation.
@ ptvarcone20
Mini-Isolation http://arxiv.org/abs/1007.2221.