ATLAS Offline Software
Loading...
Searching...
No Matches
TauThinningAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration.
3*/
4
5#ifndef TAUREC_TAUTHINNINGALG_H
6#define TAUREC_TAUTHINNINGALG_H
7
18#include "GaudiKernel/SystemOfUnits.h"
19
26{
27 using AthReentrantAlgorithm::AthReentrantAlgorithm;
28
29 public:
30
34 virtual StatusCode initialize() override;
35
40 virtual StatusCode execute(const EventContext& ctx) const override;
41
42
43 private:
44
45 // whether tau vertex correction is applied in tau reconstruction
46 Gaudi::Property<bool> m_doVertexCorrection
47 { this, "VertexCorrection", true, "Tau vertex correction" };
48
49 Gaudi::Property<float> m_minNeutralPFOPt
50 {this, "MinNeutralPFOPt", 0.0, "mininum threshold to keep NeutralPFO and related cells"};
51
52 // save only tracks passing quality requirements
53 Gaudi::Property<bool> m_saveOnlyGoodTracks
54 { this, "SaveOnlyGoodTracks", false, "Option to save only tracks passing quality requirements"};
55
56 // the dR between the tau and the clusters
57 Gaudi::Property<float> m_DrTauClusters
58 { this, "maxDrTauClusters", 0.2, "The distance between the tau the clusters. Beyond this, clusters won't be saved"};
59
60 // the dR between the tau and the neutral PFO
61 Gaudi::Property<float> m_DrTauNeutrals
62 { this, "maxDrTauNeutrals", 9999., "The distance between the tau the neutral PFO. Neutral PFO beyond the settled distance be saved"};
63
64 // Name of the stream being thinned
65 StringProperty m_streamName
66 { this, "StreamName", "StreamAOD", "Name of the stream being thinned" };
67
68 // Tau container to thin
70 { this, "Taus", "TauJets", "Tau container to thin" };
71
72 // Tau track container to thin
74 { this, "TauTracks", "TauTracks", "Tau track container to thin" };
75
76 // Tau neutral PFO container to thin
78 { this, "TauNeutralPFOs", "TauNeutralParticleFlowObjects", "Tau neutral PFO container to thin" };
79
80 // Tau pi0 cluster container to thin
82 { this, "TauPi0Clusters", "TauPi0Clusters", "Tau pi0 cluster container to thin" };
83
84 // Tau pi0 cluster cell link container to thin
86 { this, "TauPi0CellLinks", "TauPi0Clusters_links", "Tau pi0 cluster cell link container to thin" };
87
88 // Tau final pi0 container to thin
90 { this, "TauFinalPi0s", "TauFinalPi0s", "Tau final pi0 container to thin" };
91
92 // Tau shot PFO container to thin
94 { this, "TauShotPFOs", "TauShotParticleFlowObjects", "Tau shot PFO container to thin" };
95
96 // Tau shot cluster container to thin
98 { this, "TauShotClusters", "TauShotClusters", "Tau shot cluster container to thin" };
99
100 // Tau shot cluster cell link container to thin
102 { this, "TauShotCellLinks", "TauShotClusters_links", "Tau shot cluster cell link container to thin" };
103
104 // Tau hadronic PFO container to thin
106 { this, "TauHadronicPFOs", "TauHadronicParticleFlowObjects", "Tau hadronic PFO container to thin" };
107
108 // Tau secondary vertex container to thin
110 { this, "TauSecondaryVertices", "TauSecondaryVertices", "Tau secondary vertex container to thin" };
111
112 // Cell container to thin
114 { this, "Cells", "AllCalo", "Cell container to thin" };
115
116 // Tau cluster cell link container to thin
118 { this, "TauCellLinks", "CaloCalTopoClusters_links", "Tau cluster cell link container to thin" };
119
120};
121
122#endif // TAUREC_TAUTHINNINGALG_H
HandleKey object for adding thinning to an object.
An algorithm that can be simultaneously executed in multiple threads.
HandleKey object for adding thinning to an object.
Thin taus below a minimum pt threshold.
virtual StatusCode initialize() override
Gaudi initialize method.
SG::ThinningHandleKey< CaloClusterCellLinkContainer > m_tauCellLinks
Gaudi::Property< float > m_DrTauClusters
SG::ThinningHandleKey< xAOD::ParticleContainer > m_finalPi0s
Gaudi::Property< float > m_DrTauNeutrals
SG::ThinningHandleKey< xAOD::VertexContainer > m_secondaryVertices
SG::ThinningHandleKey< CaloClusterCellLinkContainer > m_pi0CellLinks
Gaudi::Property< bool > m_saveOnlyGoodTracks
SG::ThinningHandleKey< xAOD::TauJetContainer > m_taus
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_shotclusters
Gaudi::Property< bool > m_doVertexCorrection
Gaudi::Property< float > m_minNeutralPFOPt
StringProperty m_streamName
virtual StatusCode execute(const EventContext &ctx) const override
Execute the algorithm.
SG::ThinningHandleKey< xAOD::PFOContainer > m_shotPFOs
SG::ThinningHandleKey< xAOD::CaloClusterContainer > m_pi0clusters
SG::ThinningHandleKey< xAOD::PFOContainer > m_hadronicPFOs
SG::ThinningHandleKey< CaloCellContainer > m_cells
SG::ThinningHandleKey< CaloClusterCellLinkContainer > m_shotCellLinks
SG::ThinningHandleKey< xAOD::PFOContainer > m_neutralPFOs
SG::ThinningHandleKey< xAOD::TauTrackContainer > m_tauTracks