ATLAS Offline Software
DiTauIDVarCalculator.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef DITAURECTOOLS_DITAUIDVARCALCULATOR_H
8 #define DITAURECTOOLS_DITAUIDVARCALCULATOR_H
9 
18 // Framework include(s):
19 #include "AsgTools/AsgTool.h"
21 
22 // Local include(s):
24 
25 namespace DiTauRecTools{
26 
29  , public asg::AsgTool
30 {
34 
35 public:
36 
37  DiTauIDVarCalculator( const std::string& name );
38 
39  virtual ~DiTauIDVarCalculator();
40 
41  // initialize the tool
42  virtual StatusCode initialize() override;
43 
44  // calculate ID variables depricated
45  virtual StatusCode calculateIDVariables(const xAOD::DiTauJet& xDiTau) const;
46 
47  // calculate ID variables
48  virtual StatusCode execute(const xAOD::DiTauJet& xDiTau) const override;
49 
50 private:
51 
52  Gaudi::Property<float> m_dDefault{this, "DefaultValue", -1234};
53  Gaudi::Property<float> m_Rsubjet{this, "R_subjet", 0.2};
54  Gaudi::Property<float> m_Rcore{this, "R_core", 0.1};
55 
56  static float n_subjets(const xAOD::DiTauJet& xDiTau) ;
57  float ditau_pt(const xAOD::DiTauJet& xDiTau) const;
58  float f_core(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
59  float f_subjet(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
60  float f_subjets(const xAOD::DiTauJet& xDiTau) const;
61  float f_track(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
62  float R_max(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
63  static int n_track(const xAOD::DiTauJet& xDiTau) ;
64  int n_tracks(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
65  static int n_isotrack(const xAOD::DiTauJet& xDiTau) ;
66  int n_othertrack(const xAOD::DiTauJet& xDiTau) const;
67  float R_track(const xAOD::DiTauJet& xDiTau) const;
68  float R_track_all(const xAOD::DiTauJet& xDiTau) const;
69  float R_track_core(const xAOD::DiTauJet& xDiTau) const;
70  float R_isotrack(const xAOD::DiTauJet& xDiTau) const;
71  float R_core(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
72  float R_tracks(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
73  float mass_track(const xAOD::DiTauJet& xDiTau) const;
74  float mass_track_core(const xAOD::DiTauJet& xDiTau) const;
75  float mass_core(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
76  float mass_track_all(const xAOD::DiTauJet& xDiTau) const;
77  float mass_tracks(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
78  float E_frac(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
79  float R_subjets(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
80  float d0_leadtrack(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
81  float f_isotracks(const xAOD::DiTauJet& xDiTau) const;
82 
83  StatusCode decorNtracks (const xAOD::DiTauJet& xDiTau) const;
84 }; // class DiTauIDVarCalculator
85 
86 }
87 
88 #endif // TAURECTOOLS_DITAUIDVARCALCULATOR_H
89 
90 
DiTauRecTools::DiTauIDVarCalculator::R_max
float R_max(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:240
DiTauRecTools::DiTauIDVarCalculator::ditau_pt
float ditau_pt(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:141
DiTauRecTools::DiTauIDVarCalculator::m_Rcore
Gaudi::Property< float > m_Rcore
Definition: DiTauIDVarCalculator.h:54
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PropertyWrapper.h
DiTauRecTools::DiTauIDVarCalculator::f_core
float f_core(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:153
DiTauRecTools::DiTauIDVarCalculator::R_track
float R_track(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:488
DiTauRecTools::DiTauIDVarCalculator::decorNtracks
StatusCode decorNtracks(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:979
DiTauRecTools::DiTauIDVarCalculator::f_isotracks
float f_isotracks(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:952
DiTauRecTools::DiTauIDVarCalculator::mass_track_all
float mass_track_all(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:818
DiTauRecTools::DiTauIDVarCalculator::n_othertrack
int n_othertrack(const xAOD::DiTauJet &xDiTau) const
DiTauRecTools::DiTauIDVarCalculator::n_track
static int n_track(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:280
DiTauRecTools::DiTauIDVarCalculator::m_dDefault
Gaudi::Property< float > m_dDefault
Definition: DiTauIDVarCalculator.h:52
DiTauRecTools::DiTauIDVarCalculator::R_tracks
float R_tracks(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:338
DiTauRecTools::DiTauIDVarCalculator::d0_leadtrack
float d0_leadtrack(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:907
DiTauRecTools::DiTauIDVarCalculator::execute
virtual StatusCode execute(const xAOD::DiTauJet &xDiTau) const override
Declare the interface that the class provides.
Definition: DiTauIDVarCalculator.cxx:40
DiTauRecTools::DiTauIDVarCalculator
Definition: DiTauIDVarCalculator.h:30
DiTauRecTools::DiTauIDVarCalculator::R_subjets
float R_subjets(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:878
DiTauRecTools::DiTauIDVarCalculator::n_isotrack
static int n_isotrack(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:332
DiTauRecTools::DiTauIDVarCalculator::m_Rsubjet
Gaudi::Property< float > m_Rsubjet
Definition: DiTauIDVarCalculator.h:53
DiTauRecTools::DiTauIDVarCalculator::R_isotrack
float R_isotrack(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:587
DiTauRecTools::DiTauIDVarCalculator::R_core
float R_core(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:388
DiTauRecTools::DiTauIDVarCalculator::R_track_all
float R_track_all(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:538
DiTauRecTools::DiTauIDVarCalculator::mass_track
float mass_track(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:786
DiTauRecTools::DiTauIDVarCalculator::mass_core
float mass_core(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:691
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DiTauRecTools::IDiTauToolBase
Definition: IDiTauToolBase.h:19
DiTauRecTools::DiTauIDVarCalculator::mass_track_core
float mass_track_core(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:640
DiTauRecTools::DiTauIDVarCalculator::E_frac
float E_frac(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:867
DiTauRecTools::DiTauIDVarCalculator::f_subjet
float f_subjet(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:165
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
DiTauRecTools
Implementation of boosted di-tau ID.
Definition: DiTauDiscriminantTool.h:31
DiTauRecTools::DiTauIDVarCalculator::R_track_core
float R_track_core(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:436
DiTauRecTools::DiTauIDVarCalculator::f_track
float f_track(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:189
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
DiTauRecTools::DiTauIDVarCalculator::f_subjets
float f_subjets(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:177
xAOD::DiTauJet_v1
Definition: DiTauJet_v1.h:31
DiTauRecTools::DiTauIDVarCalculator::n_tracks
int n_tracks(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:286
AsgTool.h
DiTauRecTools::DiTauIDVarCalculator::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: DiTauIDVarCalculator.cxx:25
IDiTauToolBase.h
DiTauRecTools::DiTauIDVarCalculator::n_subjets
static float n_subjets(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:129
DiTauRecTools::DiTauIDVarCalculator::calculateIDVariables
virtual StatusCode calculateIDVariables(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:36
DiTauRecTools::DiTauIDVarCalculator::mass_tracks
float mass_tracks(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:740