ATLAS Offline Software
Loading...
Searching...
No Matches
TauPi0ClusterCreator.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 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
38 virtual StatusCode executePi0ClusterCreator(xAOD::TauJet& pTau, xAOD::PFOContainer& neutralPFOContainer,
39 xAOD::PFOContainer& hadronicClusterPFOContainer,
40 const xAOD::CaloClusterContainer& pi0CaloClusContainer) const override;
41
42private:
43
45 StatusCode configureNeutralPFO(const xAOD::CaloCluster& cluster,
46 const xAOD::CaloClusterContainer& pi0ClusterContainer,
47 const xAOD::TauJet& tau,
48 const std::vector<const xAOD::PFO*>& shotPFOs,
49 const std::map<unsigned, const xAOD::CaloCluster*>& shotsInCluster,
50 xAOD::PFO& neutralPFO) const;
51
54 double clusterEnergyHad,
55 xAOD::PFO& hadronicPFO) const;
56
57 std::map<unsigned, const xAOD::CaloCluster*> getShotToClusterMap(
58 const std::vector<const xAOD::PFO*>& shotVector,
59 const xAOD::CaloClusterContainer& pi0ClusterContainer,
60 const xAOD::TauJet &pTau) const;
61
62 std::vector<unsigned> getShotsMatchedToCluster(
63 const std::vector<const xAOD::PFO*>& shotVector,
64 const std::map<unsigned, const xAOD::CaloCluster*>& clusterToShotMap,
65 const xAOD::CaloCluster& pi0Cluster) const;
66
67 int getNPhotons( const std::vector<const xAOD::PFO*>& shotVector,
68 const std::vector<unsigned>& shotsInCluster) const;
69
71 void getClusterVariables(const xAOD::CaloCluster& cluster,
72 std::vector<int> &nPosECells,
73 float &coreEnergyEM1,
74 std::vector<float> &deltaEtaFirstMom,
75 std::vector<float> &secondEtaWRTClusterPositionInLayer) const;
76
77 Gaudi::Property<double> m_clusterEtCut {this, "ClusterEtCut", 0.5 * Gaudi::Units::GeV, "Et threshould for pi0 candidate clusters"};
78 Gaudi::Property<double> m_maxDeltaRNeutral {this, "MaxDeltaRNeutral", 0.2, "max DeltaR for pi0-tau association"};
79 Gaudi::Property<double> m_maxDeltaRJetClust {this, "MaxDeltaRJetClust", 0.4, "max DeltaR for vertexed cluster-tau association"};
80
81};
82
83#endif // TAURECTOOLS_TAUPI0CLUSTERCREATOR_H
84
#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
virtual StatusCode executePi0ClusterCreator(xAOD::TauJet &pTau, xAOD::PFOContainer &neutralPFOContainer, xAOD::PFOContainer &hadronicClusterPFOContainer, const xAOD::CaloClusterContainer &pi0CaloClusContainer) const override
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, const xAOD::CaloClusterContainer &pi0ClusterContainer, const xAOD::TauJet &pTau) const
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)
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".
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.