ATLAS Offline Software
Loading...
Searching...
No Matches
TauPi0ClusterScaler.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_TAUPI0CLUSTERSCALER_H
6#define TAURECTOOLS_TAUPI0CLUSTERSCALER_H
7
8#include <string>
10#include "AsgTools/ToolHandle.h"
11#include "xAODPFlow/PFO.h"
13
21
22class TauPi0ClusterScaler : virtual public TauRecToolBase {
23
24public:
25
27
28 TauPi0ClusterScaler(const std::string& name);
29 virtual ~TauPi0ClusterScaler() = default;
30
31 virtual StatusCode executePi0ClusterScaler(xAOD::TauJet& pTau, xAOD::PFOContainer& pNeutralPFOContainer, xAOD::PFOContainer& pChargedPFOContainer) const override;
32
33private:
34
37
40
42 void createChargedPFOs(xAOD::TauJet& pTau, xAOD::PFOContainer& pChargedPFOContainer) const;
43
45 void associateHadronicToChargedPFOs(const xAOD::TauJet& pTau, xAOD::PFOContainer& pChargedPFOContainer) const;
46
48 void associateChargedToNeutralPFOs(const xAOD::TauJet& pTau, xAOD::PFOContainer& pNeutralPFOContainer) const;
49
51 void subtractChargedEnergyFromNeutralPFOs(const xAOD::TauJet& tau, xAOD::PFOContainer& pNeutralPFOContainer) const;
52
53 Gaudi::Property<double> m_maxDeltaRNeutralCharged {this, "MaxDeltaRNeutralCharged", 0.04, "max DeltaR for neutral-charged cluster association"};
54
55};
56
57#endif // TAURECTOOLS_TAUPI0CLUSTERSCALER_H
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
The base class for all tau tools.
virtual StatusCode executePi0ClusterScaler(xAOD::TauJet &pTau, xAOD::PFOContainer &pNeutralPFOContainer, xAOD::PFOContainer &pChargedPFOContainer) const override
void createChargedPFOs(xAOD::TauJet &pTau, xAOD::PFOContainer &pChargedPFOContainer) const
create charged PFOs
void clearAssociatedParticleLinks(xAOD::PFOContainer &pfoContainer, xAOD::PFODetails::PFOParticleType type) const
Clear accosicated partcle links for the pfo container.
float getExtrapolatedPosition(const xAOD::PFO &chargedPFO, xAOD::TauJetParameters::TrackDetail detail) const
Get extrapolated position to the CAL.
void associateChargedToNeutralPFOs(const xAOD::TauJet &pTau, xAOD::PFOContainer &pNeutralPFOContainer) const
associate charged PFOs to neutral PFOs
TauPi0ClusterScaler(const std::string &name)
virtual ~TauPi0ClusterScaler()=default
void associateHadronicToChargedPFOs(const xAOD::TauJet &pTau, xAOD::PFOContainer &pChargedPFOContainer) const
associate hadronic PFOs to charged PFOs
Gaudi::Property< double > m_maxDeltaRNeutralCharged
void subtractChargedEnergyFromNeutralPFOs(const xAOD::TauJet &tau, xAOD::PFOContainer &pNeutralPFOContainer) const
associate charged PFOs to neutral PFOs
TauRecToolBase(const std::string &name)
PFOParticleType
This enum is used to label the associated particles to the PFO object.
PFO_v1 PFO
Definition of the current "pfo version".
Definition PFO.h:17
PFOContainer_v1 PFOContainer
Definition of the current "pfo container version".
TauJet_v3 TauJet
Definition of the current "tau version".