ATLAS Offline Software
Loading...
Searching...
No Matches
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
16
17
18// Framework include(s):
19#include "AsgTools/AsgTool.h"
21
22// Local include(s):
24
25namespace DiTauRecTools{
26
29 , public asg::AsgTool
30{
34
35public:
36
37 DiTauIDVarCalculator( const std::string& name );
38
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
50private:
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
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
float mass_track_core(const xAOD::DiTauJet &xDiTau) const
float f_subjet(const xAOD::DiTauJet &xDiTau, int iSubjet) const
static float n_subjets(const xAOD::DiTauJet &xDiTau)
float R_tracks(const xAOD::DiTauJet &xDiTau, int iSubjet) const
static int n_track(const xAOD::DiTauJet &xDiTau)
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
float f_subjets(const xAOD::DiTauJet &xDiTau) const
virtual StatusCode calculateIDVariables(const xAOD::DiTauJet &xDiTau) const
virtual StatusCode execute(const xAOD::DiTauJet &xDiTau) const override
Declare the interface that the class provides.
StatusCode decorNtracks(const xAOD::DiTauJet &xDiTau) const
float R_track(const xAOD::DiTauJet &xDiTau) const
float f_core(const xAOD::DiTauJet &xDiTau, int iSubjet) const
float mass_core(const xAOD::DiTauJet &xDiTau, int iSubjet) const
static int n_isotrack(const xAOD::DiTauJet &xDiTau)
float d0_leadtrack(const xAOD::DiTauJet &xDiTau, int iSubjet) const
float f_isotracks(const xAOD::DiTauJet &xDiTau) const
float R_track_all(const xAOD::DiTauJet &xDiTau) const
float ditau_pt(const xAOD::DiTauJet &xDiTau) const
int n_othertrack(const xAOD::DiTauJet &xDiTau) const
int n_tracks(const xAOD::DiTauJet &xDiTau, int iSubjet) const
float mass_track_all(const xAOD::DiTauJet &xDiTau) const
float R_isotrack(const xAOD::DiTauJet &xDiTau) const
float R_max(const xAOD::DiTauJet &xDiTau, int iSubjet) const
float E_frac(const xAOD::DiTauJet &xDiTau, int iSubjet) const
float mass_tracks(const xAOD::DiTauJet &xDiTau, int iSubjet) const
float f_track(const xAOD::DiTauJet &xDiTau, int iSubjet) const
float mass_track(const xAOD::DiTauJet &xDiTau) const
virtual ASG_TOOL_CLASS(DiTauIDVarCalculator, DiTauRecTools::IDiTauToolBase) public ~DiTauIDVarCalculator()
Create a proper constructor for Athena.
float R_core(const xAOD::DiTauJet &xDiTau, int iSubjet) const
float R_track_core(const xAOD::DiTauJet &xDiTau) const
float R_subjets(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Implementation of boosted di-tau ID.
DiTauJet_v1 DiTauJet
Definition of the current version.
Definition DiTauJet.h:17