5#ifndef PFSUBTRACTIONTOOL_H
6#define PFSUBTRACTIONTOOL_H
9#include "GaudiKernel/ToolHandle.h"
52 bool isEOverPFail(
double expectedEnergy,
double sigma,
double clusterEnergy)
const;
54 bool canAnnihilate(
double expectedEnergy,
double sigma,
double clusterEnergy)
const;
63 ToolHandle<IEFlowCellEOverPTool>
m_theEOverPTool{
this,
"eflowCellEOverPTool",
"eflowCellEOverPTool",
"Energy Flow E/P Values and Shower Parameters Tool"};
68 std::unique_ptr<PFMatch::TrackEtaPhiInFixedLayersProvider>
m_trkpos;
71 ToolHandle<PFTrackClusterMatchingTool>
m_theMatchingTool{
this,
"PFTrackClusterMatchingTool",
"PFTrackClusterMatchingTool/CalObjBldMatchingTool",
"The track-cluster matching tool"};
74 ToolHandle<PFTrackClusterMatchingTool>
m_theMatchingToolForPull_015{
this,
"PFTrackClusterMatchingTool_015",
"PFTrackClusterMatchingTool/PFPullMatchingTool_015",
"The 0.15 track-cluster matching tool to calculate the pull"};
75 ToolHandle<PFTrackClusterMatchingTool>
m_theMatchingToolForPull_02{
this,
"PFTrackClusterMatchingTool_02",
"PFTrackClusterMatchingTool/PFPullMatchingTool_02",
"The 0.2 track-cluster matching tool to calculate the pull"};
78 Gaudi::Property<bool>
m_recoverSplitShowers{
this,
"RecoverSplitShowers",
false,
"Toggle whether we are recovering split showers or not"};
81 Gaudi::Property<int>
m_nClusterMatchesToUse{
this,
"nClusterMatchesToUse", 1,
"Number of clusters to match to each track"};
84 Gaudi::Property<bool>
m_isHLLHC{
this,
"isHLLHC",
false,
"Toggle whether we have the HLLHC setup"};
87 Gaudi::Property<bool>
m_calcEOverP{
this,
"CalcEOverP",
false,
"Toggle EOverP algorithm mode, whereby no charged shower subtraction is performed"};
90 Gaudi::Property<double>
m_consistencySigmaCut{
this,
"ConsistencySigmaCut", 1.0,
"Parameter that controls whether a track, in a track-cluster system, will be processed by the split shower recovery algorithm"};
93 Gaudi::Property<double>
m_subtractionSigmaCut{
this,
"SubtractionSigmaCut", 1.5,
"Parameter that controls whether to use retain remaining calorimeter energy in track-cluster system, after charged shower subtraction"};
96 Gaudi::Property<bool>
m_addCPData{
this,
"addCPData",
false,
"Toggle whether to decorate FlowElements with addutional data for Combined Performance studies "};
104 ToolHandle<PFEnergyPredictorTool>
m_NNEnergyPredictorTool{
this,
"NNEnergyPredictorTool",
"",
"Tool for getting predictiing the energy using an ONNX model "};
107 Gaudi::Property<bool>
m_useNNEnergy{
this,
"useNNEnergy",
false,
"Toggle whether we use the neural net energy"};
111 Gaudi::Property<bool>
m_useTruthMatching{
this,
"useTrackClusterTruthMatching",
false,
"Toggle whether to cheat and use truth information for track-cluster matching"};
114 Gaudi::Property<bool>
m_useTruthForChargedShowerSubtraction{
this,
"useTruthForChargedShowerSubtraction",
false,
"Toggle whether we use truth information for the charged shower subtraction or not"};
117 Gaudi::Property<bool>
m_useFullCellTruthSubtraction{
this,
"useFullCellTruthSubtraction",
true,
"Toggle whether we fully remove a cell with a truth deposit or reweight it based on truth contribution"};
129 Gaudi::Property<bool>
m_useLegacyEBinIndex{
this,
"useLegacyEBinIndex",
true,
"Toggle whether we use the legacy energy bin index"};
char data[hepevt_bytes_allocation_ATLAS]
Class to calculate the ratio of new to old energies of CaloClusters after the particle flow charged s...
This class contains a few functions to set the amount of energy removed from a xAOD::CaloCluster by a...
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
An internal EDM object which stores information about systems of associated tracks and calorimeter cl...
Inherits from eflowEEtaBinBase.
Used in eflowCellLevelSubtractionTool and eflowRecoverSplitShowersTool to perform the removal of calo...
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
TrackParticle_v1 TrackParticle
Reference the current persistent version: