ATLAS Offline Software
Loading...
Searching...
No Matches
JetRecursiveSoftDrop.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// JetRecursiveSoftDrop.h
6
7#ifndef JetRecursiveSoftDrop_H
8#define JetRecursiveSoftDrop_H
9
10// Jennifer Roloff & Joe Taenzer
11// August 2017
12//
13// Tool to groom jets with recursive softdrop.
14// SoftDrop is described in this paper: arXiv:1402.2657
15// Recursive SoftDrop is described in this Boost2017 contribution: https://indico.cern.ch/event/579660/contributions/2582124/
16// See also: https://fastjet.hepforge.org/trac/browser/contrib/contribs/RecursiveTools/tags/2.0.0-beta1/RecursiveSoftDrop.hh
17
18#include "AsgTools/AsgTool.h"
21#include "AsgTools/ToolHandle.h"
22
23#include "fastjet/ClusterSequence.hh"
24#include "fastjet/contrib/RecursiveSymmetryCutBase.hh"
25#include "fastjet/contrib/RecursiveSoftDrop.hh"
26
28: public asg::AsgTool,
29 virtual public IJetGroomer {
31
32public:
33
34 // Ctor.
35 JetRecursiveSoftDrop(const std::string& name);
36
37 // Dtor.
39
40 // Initilization.
41 StatusCode initialize();
42
43 // Groom a jet and add result to a container.
44 int groom(const xAOD::Jet& jin,
45 const PseudoJetContainer&,
46 xAOD::JetContainer& jout) const;
47
48 // Dump to log.
49 void print() const;
50
51private: // data
52
53 // Job options.
54 // Recursive SoftDrop algorithm:
55 // z > zcut * (dR12/R0)^beta
56 // z = min(pT1, pT2)/(pT1+pT2)
57 // R0 = characteristic jet radius
58 // N : algorithm terminates after passing SoftDrop condition N times
59 // (Standard SoftDrop terminates after passing it once)
60 float m_zcut; // pT fraction for retaining subjets
61 float m_beta; // How much to consider angular dependence
62 int m_N; // Number of layers (-1 <> infinite)
63 float m_R0; // Normalization of angular distance, usually the characteristic jet radius (default R0 = 1)
64 ToolHandle<IJetFromPseudojet> m_bld; // Tool to build jets.
65
66};
67
68#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
IJetGroomer()
Ctor.
ToolHandle< IJetFromPseudojet > m_bld
JetRecursiveSoftDrop(const std::string &name)
StatusCode initialize()
Dummy implementation of the initialisation function.
void print() const
Print the state of the tool.
int groom(const xAOD::Jet &jin, const PseudoJetContainer &, xAOD::JetContainer &jout) const
Transform jet.
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".