ATLAS Offline Software
DiTauIDVarCalculator.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2023 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"
20 #include "AsgTools/AnaToolHandle.h"
21 
22 // Core include(s):
23 // #include "TruthUtils/PIDHelpers.h"
24 #include "fastjet/PseudoJet.hh"
25 #include "fastjet/ClusterSequenceArea.hh"
26 
27 // EDM include(s):
28 #include "xAODTau/TauxAODHelpers.h"
30 
31 //#include "tauRecTools/TauEventData.h"
32 
33 // Selection Tools include:
34 
35 // Local include(s):
37 
38 namespace DiTauRecTools{
39 
42  , public asg::AsgTool
43 {
47 
48 public:
49 
50  DiTauIDVarCalculator( const std::string& name );
51 
52  virtual ~DiTauIDVarCalculator();
53 
54  // initialize the tool
55  virtual StatusCode initialize() override;
56 
57  // calculate ID variables depricated
58  virtual StatusCode calculateIDVariables(const xAOD::DiTauJet& xDiTau);
59 
60  // calculate ID variables
61  virtual StatusCode execute(const xAOD::DiTauJet& xDiTau) override;
62 
63 private:
64 
65  static float n_subjets(const xAOD::DiTauJet& xDiTau) ;
66  float ditau_pt(const xAOD::DiTauJet& xDiTau) const;
67  float f_core(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
68  float f_subjet(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
69  float f_subjets(const xAOD::DiTauJet& xDiTau) const;
70  float f_track(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
71  float R_max(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
72  static int n_track(const xAOD::DiTauJet& xDiTau) ;
73  int n_tracks(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
74  static int n_isotrack(const xAOD::DiTauJet& xDiTau) ;
75  int n_othertrack(const xAOD::DiTauJet& xDiTau) const;
76  float R_track(const xAOD::DiTauJet& xDiTau) const;
77  float R_track_all(const xAOD::DiTauJet& xDiTau) const;
78  float R_track_core(const xAOD::DiTauJet& xDiTau) const;
79  float R_isotrack(const xAOD::DiTauJet& xDiTau) const;
80  float R_core(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
81  float R_tracks(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
82  float mass_track(const xAOD::DiTauJet& xDiTau) const;
83  float mass_track_core(const xAOD::DiTauJet& xDiTau) const;
84  float mass_core(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
85  float mass_track_all(const xAOD::DiTauJet& xDiTau) const;
86  float mass_tracks(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
87  float E_frac(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
88  float R_subjets(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
89  float d0_leadtrack(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
90  float f_isotracks(const xAOD::DiTauJet& xDiTau) const;
91 
92  // steering variables
93  // float m_dMaxDeltaR;
94  float m_dDefault;
95 
96  static StatusCode decorNtracks (const xAOD::DiTauJet& xDiTau);
97  //TauEventData m_data;
98 }; // class DiTauIDVarCalculator
99 
100 }
101 
102 #endif // TAURECTOOLS_DITAUIDVARCALCULATOR_H
DiTauRecTools::DiTauIDVarCalculator::R_max
float R_max(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:269
DiTauRecTools::DiTauIDVarCalculator::ditau_pt
float ditau_pt(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:170
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
DiTauRecTools::DiTauIDVarCalculator::f_core
float f_core(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:182
DiTauRecTools::DiTauIDVarCalculator::R_track
float R_track(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:519
DiTauRecTools::DiTauIDVarCalculator::f_isotracks
float f_isotracks(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:986
DiTauRecTools::DiTauIDVarCalculator::mass_track_all
float mass_track_all(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:851
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:309
DiTauRecTools::DiTauIDVarCalculator::R_tracks
float R_tracks(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:367
DiTauRecTools::DiTauIDVarCalculator::d0_leadtrack
float d0_leadtrack(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:940
DiTauJetContainer.h
DiTauRecTools::DiTauIDVarCalculator
Definition: DiTauIDVarCalculator.h:43
DiTauRecTools::DiTauIDVarCalculator::R_subjets
float R_subjets(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:911
DiTauRecTools::DiTauIDVarCalculator::n_isotrack
static int n_isotrack(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:361
DiTauRecTools::DiTauIDVarCalculator::R_isotrack
float R_isotrack(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:618
DiTauRecTools::DiTauIDVarCalculator::R_core
float R_core(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:417
DiTauRecTools::DiTauIDVarCalculator::R_track_all
float R_track_all(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:569
DiTauRecTools::DiTauIDVarCalculator::mass_track
float mass_track(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:819
DiTauRecTools::DiTauIDVarCalculator::mass_core
float mass_core(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:723
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:671
DiTauRecTools::DiTauIDVarCalculator::E_frac
float E_frac(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:900
DiTauRecTools::DiTauIDVarCalculator::m_dDefault
float m_dDefault
Definition: DiTauIDVarCalculator.h:94
DiTauRecTools::DiTauIDVarCalculator::f_subjet
float f_subjet(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:194
AnaToolHandle.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
DiTauRecTools
Implementation of boosted di-tau ID.
Definition: DiTauDiscriminantTool.h:36
DiTauRecTools::DiTauIDVarCalculator::R_track_core
float R_track_core(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:466
DiTauRecTools::DiTauIDVarCalculator::calculateIDVariables
virtual StatusCode calculateIDVariables(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:65
DiTauRecTools::DiTauIDVarCalculator::f_track
float f_track(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:218
DiTauRecTools::DiTauIDVarCalculator::decorNtracks
static StatusCode decorNtracks(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:1013
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:206
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:315
AsgTool.h
DiTauRecTools::DiTauIDVarCalculator::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: DiTauIDVarCalculator.cxx:54
IDiTauToolBase.h
DiTauRecTools::DiTauIDVarCalculator::n_subjets
static float n_subjets(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:158
DiTauRecTools::DiTauIDVarCalculator::execute
virtual StatusCode execute(const xAOD::DiTauJet &xDiTau) override
Declare the interface that the class provides.
Definition: DiTauIDVarCalculator.cxx:69
DiTauRecTools::DiTauIDVarCalculator::mass_tracks
float mass_tracks(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:773