ATLAS Offline Software
DiTauIDVarCalculator.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2024 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 // EDM include(s):
23 #include "xAODTau/TauxAODHelpers.h"
24 
25 // Local include(s):
27 
28 namespace DiTauRecTools{
29 
32  , public asg::AsgTool
33 {
37 
38 public:
39 
40  DiTauIDVarCalculator( const std::string& name );
41 
42  virtual ~DiTauIDVarCalculator();
43 
44  // initialize the tool
45  virtual StatusCode initialize() override;
46 
47  // calculate ID variables depricated
48  virtual StatusCode calculateIDVariables(const xAOD::DiTauJet& xDiTau) const;
49 
50  // calculate ID variables
51  virtual StatusCode execute(const xAOD::DiTauJet& xDiTau) const override;
52 
53 private:
54 
55  Gaudi::Property<float> m_dDefault{this, "DefaultValue", -1234};
56  Gaudi::Property<float> m_Rsubjet{this, "R_subjet", 0.2};
57  Gaudi::Property<float> m_Rcore{this, "R_core", 0.1};
58 
59  static float n_subjets(const xAOD::DiTauJet& xDiTau) ;
60  float ditau_pt(const xAOD::DiTauJet& xDiTau) const;
61  float f_core(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
62  float f_subjet(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
63  float f_subjets(const xAOD::DiTauJet& xDiTau) const;
64  float f_track(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
65  float R_max(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
66  static int n_track(const xAOD::DiTauJet& xDiTau) ;
67  int n_tracks(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
68  static int n_isotrack(const xAOD::DiTauJet& xDiTau) ;
69  int n_othertrack(const xAOD::DiTauJet& xDiTau) const;
70  float R_track(const xAOD::DiTauJet& xDiTau) const;
71  float R_track_all(const xAOD::DiTauJet& xDiTau) const;
72  float R_track_core(const xAOD::DiTauJet& xDiTau) const;
73  float R_isotrack(const xAOD::DiTauJet& xDiTau) const;
74  float R_core(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
75  float R_tracks(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
76  float mass_track(const xAOD::DiTauJet& xDiTau) const;
77  float mass_track_core(const xAOD::DiTauJet& xDiTau) const;
78  float mass_core(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
79  float mass_track_all(const xAOD::DiTauJet& xDiTau) const;
80  float mass_tracks(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
81  float E_frac(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
82  float R_subjets(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
83  float d0_leadtrack(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
84  float f_isotracks(const xAOD::DiTauJet& xDiTau) const;
85 
86  StatusCode decorNtracks (const xAOD::DiTauJet& xDiTau) const;
87 }; // class DiTauIDVarCalculator
88 
89 }
90 
91 #endif // TAURECTOOLS_DITAUIDVARCALCULATOR_H
92 
93 
DiTauRecTools::DiTauIDVarCalculator::R_max
float R_max(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:249
DiTauRecTools::DiTauIDVarCalculator::ditau_pt
float ditau_pt(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:150
DiTauRecTools::DiTauIDVarCalculator::m_Rcore
Gaudi::Property< float > m_Rcore
Definition: DiTauIDVarCalculator.h:57
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:162
DiTauRecTools::DiTauIDVarCalculator::R_track
float R_track(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:497
DiTauRecTools::DiTauIDVarCalculator::decorNtracks
StatusCode decorNtracks(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:988
DiTauRecTools::DiTauIDVarCalculator::f_isotracks
float f_isotracks(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:961
DiTauRecTools::DiTauIDVarCalculator::mass_track_all
float mass_track_all(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:827
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:289
DiTauRecTools::DiTauIDVarCalculator::m_dDefault
Gaudi::Property< float > m_dDefault
Definition: DiTauIDVarCalculator.h:55
DiTauRecTools::DiTauIDVarCalculator::R_tracks
float R_tracks(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:347
DiTauRecTools::DiTauIDVarCalculator::d0_leadtrack
float d0_leadtrack(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:916
DiTauRecTools::DiTauIDVarCalculator::execute
virtual StatusCode execute(const xAOD::DiTauJet &xDiTau) const override
Declare the interface that the class provides.
Definition: DiTauIDVarCalculator.cxx:49
DiTauRecTools::DiTauIDVarCalculator
Definition: DiTauIDVarCalculator.h:33
DiTauRecTools::DiTauIDVarCalculator::R_subjets
float R_subjets(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:887
DiTauRecTools::DiTauIDVarCalculator::n_isotrack
static int n_isotrack(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:341
DiTauRecTools::DiTauIDVarCalculator::m_Rsubjet
Gaudi::Property< float > m_Rsubjet
Definition: DiTauIDVarCalculator.h:56
DiTauRecTools::DiTauIDVarCalculator::R_isotrack
float R_isotrack(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:596
DiTauRecTools::DiTauIDVarCalculator::R_core
float R_core(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:397
DiTauRecTools::DiTauIDVarCalculator::R_track_all
float R_track_all(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:547
DiTauRecTools::DiTauIDVarCalculator::mass_track
float mass_track(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:795
DiTauRecTools::DiTauIDVarCalculator::mass_core
float mass_core(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:700
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TauxAODHelpers.h
DiTauRecTools::IDiTauToolBase
Definition: IDiTauToolBase.h:20
DiTauRecTools::DiTauIDVarCalculator::mass_track_core
float mass_track_core(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:649
DiTauRecTools::DiTauIDVarCalculator::E_frac
float E_frac(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:876
DiTauRecTools::DiTauIDVarCalculator::f_subjet
float f_subjet(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:174
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:445
DiTauRecTools::DiTauIDVarCalculator::f_track
float f_track(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:198
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:186
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:295
AsgTool.h
DiTauRecTools::DiTauIDVarCalculator::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: DiTauIDVarCalculator.cxx:34
IDiTauToolBase.h
DiTauRecTools::DiTauIDVarCalculator::n_subjets
static float n_subjets(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:138
DiTauRecTools::DiTauIDVarCalculator::calculateIDVariables
virtual StatusCode calculateIDVariables(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:45
DiTauRecTools::DiTauIDVarCalculator::mass_tracks
float mass_tracks(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:749