ATLAS Offline Software
SmoothedTopTagger.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef BOOSTEDJETSTAGGERS_SMOOTHEDTOPTAGGER_H_
6 #define BOOSTEDJETSTAGGERS_SMOOTHEDTOPTAGGER_H_
7 
9 
11  public JSSTaggerBase {
13 
14  public:
15 
16  // Default - so root can load based on a name
17  SmoothedTopTagger(const std::string& name);
18 
19  // Decorate jet with tagging information
20  virtual StatusCode tag(const xAOD::Jet& jet) const override;
21 
22  // Run once at the start of the job to setup everything
23  virtual StatusCode initialize() override;
24 
25  private:
26 
27  // number of variables used by cut-based tagger
29 
30  // cut functions from smooth fits
31  std::vector<std::string> m_varCutExprs;
32 
33  // names of the variables used by this tool (ex: Mass, Tau32)
34  std::vector<std::string> m_varCutNames;
35 
36  // functions implementing the cut values vs pt
37  std::vector<std::unique_ptr<TF1>> m_varCutFuncs;
38 
39  // declaration of decorators for cut values
40  SG::WriteDecorHandleKey<xAOD::JetContainer> m_dec_mcut{this, "mcutName", "Cut_m", "SG key for Cut_m"};
41  SG::WriteDecorHandleKey<xAOD::JetContainer> m_dec_sphericitycut{this, "sphericitycutName", "Cut_Sphericity", "SG key for Cut_Sphericity"};
42 
43  // declaration of decorators for cut information
44  SG::WriteDecorHandleKey<xAOD::JetContainer> m_decPassSphericityKey{this, "PassSphericityName", "PassSphericity", "SG key for PassSphericity"};
45 
46  // vector of recognised cut names
47  // add to this vector as necessary when additional taggers are implemented
48  // variables are duplicated to allow cases where variable names are not provided with first
49  // letter capitalised, but all decorations to jets will assume the capitalised version is being used
50  // e.g. PassMass, PassSphericity, etc.
51  std::vector<std::string> m_recognisedCuts = {"Mass", "mass", "Sphericity", "sphericity"};
52 
53  };
54 
55 #endif
SG::WriteDecorHandleKey
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Definition: StoreGate/StoreGate/WriteDecorHandleKey.h:89
SmoothedTopTagger::m_varCutFuncs
std::vector< std::unique_ptr< TF1 > > m_varCutFuncs
Definition: SmoothedTopTagger.h:37
SmoothedTopTagger::m_decPassSphericityKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_decPassSphericityKey
Definition: SmoothedTopTagger.h:44
SmoothedTopTagger::m_dec_sphericitycut
SG::WriteDecorHandleKey< xAOD::JetContainer > m_dec_sphericitycut
Definition: SmoothedTopTagger.h:41
SmoothedTopTagger::SmoothedTopTagger
SmoothedTopTagger(const std::string &name)
Definition: SmoothedTopTagger.cxx:7
SmoothedTopTagger::tag
virtual StatusCode tag(const xAOD::Jet &jet) const override
Decorate single jet with tagging info.
Definition: SmoothedTopTagger.cxx:154
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ASG_TOOL_CLASS0
#define ASG_TOOL_CLASS0(CLASSNAME)
Definition: AsgToolMacros.h:62
JSSTaggerBase
Definition: JSSTaggerBase.h:39
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
SmoothedTopTagger::m_dec_mcut
SG::WriteDecorHandleKey< xAOD::JetContainer > m_dec_mcut
Definition: SmoothedTopTagger.h:40
SmoothedTopTagger::initialize
virtual StatusCode initialize() override
Initialize the tool.
Definition: SmoothedTopTagger.cxx:22
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
SmoothedTopTagger::m_numTaggerVars
int m_numTaggerVars
Definition: SmoothedTopTagger.h:28
SmoothedTopTagger::m_recognisedCuts
std::vector< std::string > m_recognisedCuts
Definition: SmoothedTopTagger.h:51
SmoothedTopTagger
Definition: SmoothedTopTagger.h:11
SmoothedTopTagger::m_varCutExprs
std::vector< std::string > m_varCutExprs
Definition: SmoothedTopTagger.h:31
SmoothedTopTagger::m_varCutNames
std::vector< std::string > m_varCutNames
Definition: SmoothedTopTagger.h:34
JSSTaggerBase.h