ATLAS Offline Software
TauPi0ClusterScaler.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 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 
22 class TauPi0ClusterScaler : virtual public TauRecToolBase {
23 
24 public:
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 
33 private:
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 
54 #endif // TAURECTOOLS_TAUPI0CLUSTERSCALER_H
TauPi0ClusterScaler::associateHadronicToChargedPFOs
void associateHadronicToChargedPFOs(const xAOD::TauJet &pTau, xAOD::PFOContainer &pChargedPFOContainer) const
associate hadronic PFOs to charged PFOs
Definition: TauPi0ClusterScaler.cxx:133
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition: AsgToolMacros.h:77
TauRecToolBase.h
TauPi0ClusterScaler::clearAssociatedParticleLinks
void clearAssociatedParticleLinks(xAOD::PFOContainer &pfoContainer, xAOD::PFODetails::PFOParticleType type) const
Clear accosicated partcle links for the pfo container.
Definition: TauPi0ClusterScaler.cxx:63
TauRecToolBase
The base class for all tau tools.
Definition: TauRecToolBase.h:21
TauPi0ClusterScaler::~TauPi0ClusterScaler
virtual ~TauPi0ClusterScaler()=default
xAOD::PFODetails::PFOParticleType
PFOParticleType
This enum is used to label the associated particles to the PFO object.
Definition: Event/xAOD/xAODPFlow/xAODPFlow/PFODefs.h:168
detail
Definition: extract_histogram_tag.cxx:14
TauPi0ClusterScaler::executePi0ClusterScaler
virtual StatusCode executePi0ClusterScaler(xAOD::TauJet &pTau, xAOD::PFOContainer &pNeutralPFOContainer, xAOD::PFOContainer &pChargedPFOContainer) const override
Definition: TauPi0ClusterScaler.cxx:23
PFO.h
TauPi0ClusterScaler::createChargedPFOs
void createChargedPFOs(xAOD::TauJet &pTau, xAOD::PFOContainer &pChargedPFOContainer) const
create charged PFOs
Definition: TauPi0ClusterScaler.cxx:73
TauPi0ClusterScaler::subtractChargedEnergyFromNeutralPFOs
void subtractChargedEnergyFromNeutralPFOs(const xAOD::TauJet &tau, xAOD::PFOContainer &pNeutralPFOContainer) const
associate charged PFOs to neutral PFOs
Definition: TauPi0ClusterScaler.cxx:246
PFOAuxContainer.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
xAOD::TauJetParameters::TrackDetail
TrackDetail
Definition: TauDefs.h:419
TauPi0ClusterScaler
scale cluster energy to take care of charged pion energy
Definition: TauPi0ClusterScaler.h:22
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TauPi0ClusterScaler::TauPi0ClusterScaler
TauPi0ClusterScaler(const std::string &name)
Definition: TauPi0ClusterScaler.cxx:17
xAOD::PFO_v1
Class describing a particle flow object.
Definition: PFO_v1.h:35
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ITauToolBase
The base class for all tau tools.
Definition: ITauToolBase.h:30
TauPi0ClusterScaler::getExtrapolatedPosition
float getExtrapolatedPosition(const xAOD::PFO &chargedPFO, xAOD::TauJetParameters::TrackDetail detail) const
Get extrapolated position to the CAL.
Definition: TauPi0ClusterScaler.cxx:105
TauPi0ClusterScaler::associateChargedToNeutralPFOs
void associateChargedToNeutralPFOs(const xAOD::TauJet &pTau, xAOD::PFOContainer &pNeutralPFOContainer) const
associate charged PFOs to neutral PFOs
Definition: TauPi0ClusterScaler.cxx:190
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
ToolHandle.h