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  // get decay mode
64  virtual std::string getDecayMode() override;
65 
66 private:
68 
69  static float n_subjets(const xAOD::DiTauJet& xDiTau) ;
70  float ditau_pt(const xAOD::DiTauJet& xDiTau) const;
71  float f_core(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
72  float f_subjet(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
73  float f_subjets(const xAOD::DiTauJet& xDiTau) const;
74  float f_track(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
75  float R_max(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
76  static int n_track(const xAOD::DiTauJet& xDiTau) ;
77  int n_tracks(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
78  static int n_isotrack(const xAOD::DiTauJet& xDiTau) ;
79  int n_othertrack(const xAOD::DiTauJet& xDiTau) const;
80  float R_track(const xAOD::DiTauJet& xDiTau) const;
81  float R_track_all(const xAOD::DiTauJet& xDiTau) const;
82  float R_track_core(const xAOD::DiTauJet& xDiTau) const;
83  float R_isotrack(const xAOD::DiTauJet& xDiTau) const;
84  float R_core(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
85  float R_tracks(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
86  float mass_track(const xAOD::DiTauJet& xDiTau) const;
87  float mass_track_core(const xAOD::DiTauJet& xDiTau) const;
88  float mass_core(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
89  float mass_track_all(const xAOD::DiTauJet& xDiTau) const;
90  float mass_tracks(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
91  float E_frac(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
92  float R_subjets(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
93  float d0_leadtrack(const xAOD::DiTauJet& xDiTau, int iSubjet) const;
94  float f_isotracks(const xAOD::DiTauJet& xDiTau) const;
95 
96  // steering variables
97  // float m_dMaxDeltaR;
98  std::string m_sDiTauContainerName;
101  std::string m_sDecayChannel;
104  float m_dDefault;
105 
106  static StatusCode decorNtracks (const xAOD::DiTauJet& xDiTau);
107  //TauEventData m_data;
108 }; // class DiTauIDVarCalculator
109 
110 }
111 
112 #endif // TAURECTOOLS_DITAUIDVARCALCULATOR_H
DiTauRecTools::DiTauIDVarCalculator::R_max
float R_max(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:248
DiTauRecTools::DiTauIDVarCalculator::ditau_pt
float ditau_pt(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:155
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:166
DiTauRecTools::DiTauIDVarCalculator::R_track
float R_track(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:485
DiTauRecTools::DiTauIDVarCalculator::getDecayMode
virtual std::string getDecayMode() override
Definition: DiTauIDVarCalculator.cxx:136
DiTauRecTools::DiTauIDVarCalculator::f_isotracks
float f_isotracks(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:930
DiTauRecTools::DiTauIDVarCalculator::mass_track_all
float mass_track_all(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:802
DiTauRecTools::DiTauIDVarCalculator::m_sTruthTauContainerName
std::string m_sTruthTauContainerName
Definition: DiTauIDVarCalculator.h:100
DiTauRecTools::DiTauIDVarCalculator::m_sDiTauContainerName
std::string m_sDiTauContainerName
Definition: DiTauIDVarCalculator.h:98
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:286
DiTauRecTools::DiTauIDVarCalculator::R_tracks
float R_tracks(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:341
DiTauRecTools::DiTauIDVarCalculator::d0_leadtrack
float d0_leadtrack(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:887
DiTauRecTools::DiTauIDVarCalculator::m_DiTauContainerNameAux
std::string m_DiTauContainerNameAux
Definition: DiTauIDVarCalculator.h:99
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:860
DiTauRecTools::DiTauIDVarCalculator::n_isotrack
static int n_isotrack(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:335
DiTauRecTools::DiTauIDVarCalculator::R_isotrack
float R_isotrack(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:580
DiTauRecTools::DiTauIDVarCalculator::R_core
float R_core(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:389
DiTauRecTools::DiTauIDVarCalculator::HadMu
@ HadMu
Definition: DiTauIDVarCalculator.h:102
DiTauRecTools::DiTauIDVarCalculator::R_track_all
float R_track_all(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:533
DiTauRecTools::DiTauIDVarCalculator::mass_track
float mass_track(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:771
DiTauRecTools::DiTauIDVarCalculator::mass_core
float mass_core(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:680
DiTauRecTools::DiTauIDVarCalculator::m_sDecayChannel
std::string m_sDecayChannel
Definition: DiTauIDVarCalculator.h:101
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:631
DiTauRecTools::DiTauIDVarCalculator::E_frac
float E_frac(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:850
DiTauRecTools::DiTauIDVarCalculator::m_dDefault
float m_dDefault
Definition: DiTauIDVarCalculator.h:104
DiTauRecTools::DiTauIDVarCalculator::f_subjet
float f_subjet(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:177
DiTauRecTools::DiTauIDVarCalculator::calculateHadHadIDVariables
virtual StatusCode calculateHadHadIDVariables(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:90
AnaToolHandle.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
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:435
DiTauRecTools::DiTauIDVarCalculator::calculateIDVariables
virtual StatusCode calculateIDVariables(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:74
DiTauRecTools::DiTauIDVarCalculator::f_track
float f_track(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:199
DiTauRecTools::DiTauIDVarCalculator::HadHad
@ HadHad
Definition: DiTauIDVarCalculator.h:102
DiTauRecTools::DiTauIDVarCalculator::m_eDecayChannel
DecayChannel m_eDecayChannel
Definition: DiTauIDVarCalculator.h:103
DiTauRecTools::DiTauIDVarCalculator::decorNtracks
static StatusCode decorNtracks(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:956
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
DiTauRecTools::DiTauIDVarCalculator::DecayChannel
DecayChannel
Definition: DiTauIDVarCalculator.h:102
DiTauRecTools::DiTauIDVarCalculator::f_subjets
float f_subjets(const xAOD::DiTauJet &xDiTau) const
Definition: DiTauIDVarCalculator.cxx:188
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:292
AsgTool.h
DiTauRecTools::DiTauIDVarCalculator::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: DiTauIDVarCalculator.cxx:56
Default
IDiTauToolBase.h
DiTauRecTools::DiTauIDVarCalculator::n_subjets
static float n_subjets(const xAOD::DiTauJet &xDiTau)
Definition: DiTauIDVarCalculator.cxx:143
DiTauRecTools::DiTauIDVarCalculator::execute
virtual StatusCode execute(const xAOD::DiTauJet &xDiTau) override
Declare the interface that the class provides.
Definition: DiTauIDVarCalculator.cxx:78
DiTauRecTools::DiTauIDVarCalculator::HadEl
@ HadEl
Definition: DiTauIDVarCalculator.h:102
DiTauRecTools::DiTauIDVarCalculator::mass_tracks
float mass_tracks(const xAOD::DiTauJet &xDiTau, int iSubjet) const
Definition: DiTauIDVarCalculator.cxx:727