ATLAS Offline Software
Loading...
Searching...
No Matches
JetModifiedMassDrop.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5// JetModifiedMassDrop.h
6
7#ifndef JetModifiedMassDrop_H
8#define JetModifiedMassDrop_H
9
10// Joe Taenzer
11// October 2016
12//
13// Tool to apply the modified mass drop tagger (mMDT) and groom jets by filtering with mMDT
14// mMDT is described in this paper: arXiv:1307.0007
15// See also: http://fastjet.hepforge.org/svn/contrib/contribs/RecursiveTools/tags/1.0.0/ModifiedMassDropTagger.hh
16
17#include "AsgTools/AsgTool.h"
20#include "AsgTools/ToolHandle.h"
21
23 enum SymmetryMeasure : int;
24 enum RecursionChoice : int;
25}
26
27
29: public asg::AsgTool,
30// public fastjet::contrib::RecursiveSymmetryCutBase,
31 virtual public IJetGroomer {
33
34public:
35
36 // Equivalent enums to those defined in RecursiveSymmetryToolBase.hh
37 // Redefined here so they can be used in the python configuration
38 // See: http://fastjet.hepforge.org/svn/contrib/contribs/RecursiveTools/tags/1.0.0/RecursiveSymmetryCutBase.hh
43
44 };
45
50 };
51
52 // Ctor.
53 JetModifiedMassDrop(const std::string& name);
54
55 // Dtor.
57
58 // Initilization.
59 virtual StatusCode initialize() override;
60
61 // Groom a jet and add result to a container.
62 virtual int groom(const xAOD::Jet& jin,
63 const PseudoJetContainer&,
64 xAOD::JetContainer& jout) const override;
65
66 // Dump to log.
67 virtual void print() const override;
68
69private: // data
70
71 // Job options.
72 float m_zcut; // Cut on the symmetry measure
73 float m_mu; // Mass drop, mu = m_heavy/m_parent
74 bool m_doFilt; // Filter the jet after mass drop grooming
75 double m_filtR; // Filter radius to use
76 int m_filtNSub; // Number of subjets to keep in the filter
77
78 // Symmetry measure to use, either y or scalar_z, default is y
79 int m_sym;
80 // Recursion choice, larger_pt or larger_mt, default is larger_pt
82
83 ToolHandle<IJetFromPseudojet> m_bld; // Tool to build jets.
84
85};
86
87#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
IJetGroomer()
Ctor.
virtual void print() const override
Print the state of the tool.
SymmetryMeasure
an enum of the different (a)symmetry measures that can be used
JetModifiedMassDrop(const std::string &name)
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
RecursionChoice
an enum for the options of how to choose which of two subjets to recurse into
@ larger_pt
choose the subjet with larger
@ larger_mt
choose the subjet with larger
@ larger_m
choose the subjet with larger mass (deprecated)
virtual int groom(const xAOD::Jet &jin, const PseudoJetContainer &, xAOD::JetContainer &jout) const override
Transform jet.
ToolHandle< IJetFromPseudojet > m_bld
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Jet_v1 Jet
Definition of the current "jet version".
JetContainer_v1 JetContainer
Definition of the current "jet container version".