ATLAS Offline Software
MultiplcitiesTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
7 
10 {
11 }
12 
14  fastjet::PseudoJet jet;
15  bool decorate = SetupDecoration(jet,injet);
16 
17  // multiplicities
18  int nCA_value = -1;
19  int nISD_value = -1;
20  int nOSD_value = -1;
21  int LHM_value = -1;
22 
23  float beta_optimal = -1.0;
24 
25  float lambdaNP = 5.0;
26  float zcut_optimal = lambdaNP / (injet.pt()*1.e-3*injet.getSizeParameter());
27 
28  if (decorate) {
29  JetSubStructureUtils::Multiplicities nCAGetter (0, 0, 0); // number of entries in primary Lund jet plane
30  JetSubStructureUtils::Multiplicities nISDGetter(-1, 0.007, 0); // https://arxiv.org/pdf/1704.06266.pdf eq. 2.7
31  JetSubStructureUtils::Multiplicities nOSDGetter(beta_optimal, zcut_optimal, 0); // "optimal" configuration, eq. 3.20 above
32  JetSubStructureUtils::Multiplicities LHMGetter (0, 0, 5.0); // cut on kt_emission > 5 GeV ('Les Houches' Mult.), not necessarily meant to be ==lambdaNP!
33 
34  nCA_value = nCAGetter.result(jet);
35  nISD_value = nISDGetter.result(jet);
36  nOSD_value = nOSDGetter.result(jet);
37  LHM_value = LHMGetter.result(jet);
38  }
39 
40  // jet multiplicity moments
41  injet.setAttribute(m_prefix+"nCA", nCA_value);
42  injet.setAttribute(m_prefix+"nISD", nISD_value);
43  injet.setAttribute(m_prefix+"nOSD", nOSD_value);
44  injet.setAttribute(m_prefix+"LHM", LHM_value);
45 
46  return 0;
47 }
MultiplicitiesTool::MultiplicitiesTool
MultiplicitiesTool(const std::string &name)
Definition: MultiplcitiesTool.cxx:8
MultiplicitiesTool::modifyJet
virtual int modifyJet(xAOD::Jet &injet) const override
Modify a single jet. This is obsolete and set to be removed.
Definition: MultiplcitiesTool.cxx:13
JetSubStructureUtils::Multiplicities
Definition: Multiplicities.h:15
JetSubStructureUtils::Multiplicities::result
virtual double result(const fastjet::PseudoJet &jet) const override
Definition: Multiplicities.h:24
python.DecoratorFactory.decorate
def decorate(hto4l_controller, decorator, **kwargs)
Definition: Hto4lControl/python/DecoratorFactory.py:5
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
xAOD::Jet_v1::getSizeParameter
float getSizeParameter() const
Definition: Jet_v1.cxx:245
Multiplicities.h
xAOD::Jet_v1::setAttribute
void setAttribute(const std::string &name, const T &v)
JetSubStructureMomentToolsBase::m_prefix
std::string m_prefix
Definition: JetSubStructureMomentToolsBase.h:30
JetSubStructureMomentToolsBase::SetupDecoration
bool SetupDecoration(fastjet::PseudoJet &pseudojet, const xAOD::Jet &jet, bool requireJetStructure=false) const
Definition: JetSubStructureMomentToolsBase.cxx:30
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MultiplicitiesTool.h
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
JetSubStructureMomentToolsBase
Definition: JetSubStructureMomentToolsBase.h:18
xAOD::Jet_v1::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
Definition: Jet_v1.cxx:44