ATLAS Offline Software
Loading...
Searching...
No Matches
SoftDropObservables.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#ifndef jetsubstructureutils_softdropobservables_header
6#define jetsubstructureutils_softdropobservables_header
7
9#include "fastjet/contrib/SoftDrop.hh"
10
11namespace JetSubStructureUtils {
12
14 public:
15 SoftDropObservables(const std::string& observableName)
16 : m_observableName (observableName)
17 {
18 };
19
21 virtual double result(const fastjet::PseudoJet &jet) const {
22 // Set zcut to zero so that this doesn't groom the jet, just gives it the structure
23 fastjet::contrib::SoftDrop sd(0., 0.); //beta, zcut
24 // Apply the fake grooming to the jet
25 fastjet::PseudoJet sdJet = sd(jet);
26
27 double zg=sdJet.structure_of<fastjet::contrib::SoftDrop>().symmetry();
28 double rg=sdJet.structure_of<fastjet::contrib::SoftDrop>().delta_R();
29 if( strcmp(m_observableName.c_str(), "zg") == 0){
30 return zg;
31 }
32 return rg;
33 };
34 private:
35 std::string m_observableName; // Currently, able to return zg and rg
36
37 };
38}
39
40#endif
virtual double result(const fastjet::PseudoJet &jet) const
SoftDropObservables(const std::string &observableName)
virtual TOut result(const xAOD::Jet &jet) const