ATLAS Offline Software
Loading...
Searching...
No Matches
TauPi0ClusterCreator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TAURECTOOLS_TAUPI0CLUSTERCREATOR_H
6#define TAURECTOOLS_TAUPI0CLUSTERCREATOR_H
7
9
12
13#include "AsgTools/ToolHandle.h"
14#include "GaudiKernel/SystemOfUnits.h"
15
16#include <string>
17#include <vector>
18#include <map>
19
27
29
30public:
31
33
34 TauPi0ClusterCreator(const std::string& name);
35
36 virtual ~TauPi0ClusterCreator() = default;
37
39 virtual StatusCode executeTool(xAOD::TauJet& pTau,
40 const EventContext& ctx,
41 xAOD::PFOContainer& neutralPFOContainer,
42 xAOD::PFOContainer& hadronicClusterPFOContainer,
43 const xAOD::CaloClusterContainer& pi0CaloClusContainer) const override;
44
45private:
46
48 StatusCode configureNeutralPFO(const xAOD::CaloCluster& cluster,
49 const xAOD::CaloClusterContainer& pi0ClusterContainer,
50 const xAOD::TauJet& tau,
51 const std::vector<const xAOD::PFO*>& shotPFOs,
52 const std::map<unsigned, const xAOD::CaloCluster*>& shotsInCluster,
53 xAOD::PFO& neutralPFO) const;
54
57 double clusterEnergyHad,
58 xAOD::PFO& hadronicPFO) const;
59
60 std::map<unsigned, const xAOD::CaloCluster*> getShotToClusterMap(
61 const std::vector<const xAOD::PFO*>& shotVector,
62 std::vector<const xAOD::CaloCluster*>& goodpi0Vecor) const;
63
64 std::vector<unsigned> getShotsMatchedToCluster(
65 const std::vector<const xAOD::PFO*>& shotVector,
66 const std::map<unsigned, const xAOD::CaloCluster*>& clusterToShotMap,
67 const xAOD::CaloCluster& pi0Cluster) const;
68
69 int getNPhotons( const std::vector<const xAOD::PFO*>& shotVector,
70 const std::vector<unsigned>& shotsInCluster) const;
71
73 void getClusterVariables(const xAOD::CaloCluster& cluster,
74 std::vector<int> &nPosECells,
75 float &coreEnergyEM1,
76 std::vector<float> &deltaEtaFirstMom,
77 std::vector<float> &secondEtaWRTClusterPositionInLayer) const;
78
79 Gaudi::Property<double> m_clusterEtCut {this, "ClusterEtCut", 0.5 * Gaudi::Units::GeV, "Et threshould for pi0 candidate clusters"};
80 Gaudi::Property<double> m_maxDeltaRNeutral {this, "MaxDeltaRNeutral", 0.2, "max DeltaR for pi0-tau association"};
81 Gaudi::Property<double> m_maxDeltaRJetClust {this, "MaxDeltaRJetClust", 0.4, "max DeltaR for vertexed cluster-tau association"};
82 Gaudi::Property<double> m_recoFromAOD {this, "RecoFromAOD", false, "Flag if the reconstruction is happening at AOD-level"};
83
84};
85
86#endif // TAURECTOOLS_TAUPI0CLUSTERCREATOR_H
87
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
The base class for all tau tools.
virtual ~TauPi0ClusterCreator()=default
Gaudi::Property< double > m_maxDeltaRJetClust
void getClusterVariables(const xAOD::CaloCluster &cluster, std::vector< int > &nPosECells, float &coreEnergyEM1, std::vector< float > &deltaEtaFirstMom, std::vector< float > &secondEtaWRTClusterPositionInLayer) const
eta moment in PS, EM1 and EM2 w.r.t cluster eta
StatusCode configureNeutralPFO(const xAOD::CaloCluster &cluster, const xAOD::CaloClusterContainer &pi0ClusterContainer, const xAOD::TauJet &tau, const std::vector< const xAOD::PFO * > &shotPFOs, const std::map< unsigned, const xAOD::CaloCluster * > &shotsInCluster, xAOD::PFO &neutralPFO) const
Configure the neutral PFO.
Gaudi::Property< double > m_clusterEtCut
Gaudi::Property< double > m_recoFromAOD
StatusCode configureHadronicPFO(const xAOD::CaloVertexedTopoCluster &cluster, double clusterEnergyHad, xAOD::PFO &hadronicPFO) const
Configure the haronic PFO.
Gaudi::Property< double > m_maxDeltaRNeutral
std::map< unsigned, const xAOD::CaloCluster * > getShotToClusterMap(const std::vector< const xAOD::PFO * > &shotVector, std::vector< const xAOD::CaloCluster * > &goodpi0Vecor) const
virtual StatusCode executeTool(xAOD::TauJet &pTau, const EventContext &ctx, xAOD::PFOContainer &neutralPFOContainer, xAOD::PFOContainer &hadronicClusterPFOContainer, const xAOD::CaloClusterContainer &pi0CaloClusContainer) const override
std::vector< unsigned > getShotsMatchedToCluster(const std::vector< const xAOD::PFO * > &shotVector, const std::map< unsigned, const xAOD::CaloCluster * > &clusterToShotMap, const xAOD::CaloCluster &pi0Cluster) const
int getNPhotons(const std::vector< const xAOD::PFO * > &shotVector, const std::vector< unsigned > &shotsInCluster) const
TauPi0ClusterCreator(const std::string &name)
TauRecToolBase(const std::string &name)
virtual StatusCode executeTool(xAOD::TauJet &, const EventContext &) const override
Execute - called for each tau candidate.
Evaluate cluster kinematics with a different vertex / signal state.
PFO_v1 PFO
Definition of the current "pfo version".
Definition PFO.h:17
PFOContainer_v1 PFOContainer
Definition of the current "pfo container version".
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
TauJet_v3 TauJet
Definition of the current "tau version".
Definition TauJet.h:17
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.