5#ifndef TAURECTOOLS_TAUPI0CLUSTERCREATOR_H
6#define TAURECTOOLS_TAUPI0CLUSTERCREATOR_H
14#include "GaudiKernel/SystemOfUnits.h"
48 const std::vector<const xAOD::PFO*>& shotPFOs,
49 const std::map<unsigned, const xAOD::CaloCluster*>& shotsInCluster,
54 double clusterEnergyHad,
58 const std::vector<const xAOD::PFO*>& shotVector,
63 const std::vector<const xAOD::PFO*>& shotVector,
64 const std::map<unsigned, const xAOD::CaloCluster*>& clusterToShotMap,
67 int getNPhotons(
const std::vector<const xAOD::PFO*>& shotVector,
68 const std::vector<unsigned>& shotsInCluster)
const;
72 std::vector<int> &nPosECells,
74 std::vector<float> &deltaEtaFirstMom,
75 std::vector<float> &secondEtaWRTClusterPositionInLayer)
const;
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"};
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)
Evaluate cluster kinematics with a different vertex / signal state.
PFO_v1 PFO
Definition of the current "pfo version".
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.