ATLAS Offline Software
Loading...
Searching...
No Matches
JetSoftDropTools.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef JETREC_JETSOFDROPTOOLS_H
6#define JETREC_JETSOFDROPTOOLS_H
17
18#include "fastjet/PseudoJet.hh"
19#include "fastjet/tools/Filter.hh"
20
22
24#include "JetRec/JetGroomer.h"
26
28
29
30namespace JetGrooming {
31
37 : virtual public JetGroomer {
39
40 public:
41 using JetGroomer::JetGroomer;
42
43 StatusCode initialize() override ;
44
45 virtual void insertGroomedJet(const xAOD::Jet&, const PseudoJetContainer&, xAOD::JetContainer&, PseudoJetVector&) const override ;
46
47 protected:
48
49 void setSoftDropAttributes(xAOD::Jet& groomedjet, int nsdsubjets) const ;
50
51 Gaudi::Property<float> m_zcut {this, "ZCut", 0.1 , "pT fraction for retaining subjets"};
52 Gaudi::Property<float> m_beta {this, "Beta", 0.0, "How much to consider angular dependence"};
53 Gaudi::Property<float> m_R0 {this, "R0", 1.0, "Normalization of angular distance, usually the characteristic jet radius (default R0 = 1)"};
54
55 Gaudi::Property<bool> m_saveSDatt {this, "SaveSoftDropAttributes",false, ""};
56
57 };
58
59
60
64 class RecSoftDrop: public SoftDrop {
66 public:
67 using SoftDrop::SoftDrop;//
68
69 StatusCode initialize() override final ;
70
71 virtual void insertGroomedJet(const xAOD::Jet&, const PseudoJetContainer&, xAOD::JetContainer&, PseudoJetVector&) const override final ;
72
73 private:
74 Gaudi::Property<int> m_N {this, "N", 1 , "Number of layers (-1 <> infinite)"};
75 };
76
77
78
79
80
84 class BottomUpSoftDrop: virtual public SoftDrop {
86 public:
87 using SoftDrop::SoftDrop;
88
89 virtual void insertGroomedJet(const xAOD::Jet&, const PseudoJetContainer&, xAOD::JetContainer&, PseudoJetVector&) const override final ;
90 };
91
92
93
94}
95
96
97#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
#define ASG_TOOL_CLASS0(CLASSNAME)
std::vector< fastjet::PseudoJet > PseudoJetVector
A specialized SoftDrop tool wrapping fastjet::contrib::BottomUpSoftDrop.
virtual void insertGroomedJet(const xAOD::Jet &, const PseudoJetContainer &, xAOD::JetContainer &, PseudoJetVector &) const override final
A specialized SoftDrop tool wrapping fastjet::contrib::RecursiveSoftDrop.
Gaudi::Property< int > m_N
StatusCode initialize() override final
Dummy implementation of the initialisation function.
virtual void insertGroomedJet(const xAOD::Jet &, const PseudoJetContainer &, xAOD::JetContainer &, PseudoJetVector &) const override final
A grooming tool implementing the SoftDrop method by wrapping fastjet::contrib::SoftDrop Also serves a...
Gaudi::Property< float > m_R0
virtual void insertGroomedJet(const xAOD::Jet &, const PseudoJetContainer &, xAOD::JetContainer &, PseudoJetVector &) const override
Gaudi::Property< float > m_beta
void setSoftDropAttributes(xAOD::Jet &groomedjet, int nsdsubjets) const
StatusCode initialize() override
Dummy implementation of the initialisation function.
Gaudi::Property< bool > m_saveSDatt
Gaudi::Property< float > m_zcut
Jet_v1 Jet
Definition of the current "jet version".
JetContainer_v1 JetContainer
Definition of the current "jet container version".