ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
JetSubStructureUtils::Multiplicities Class Reference

#include <Multiplicities.h>

Inheritance diagram for JetSubStructureUtils::Multiplicities:
Collaboration diagram for JetSubStructureUtils::Multiplicities:

Public Member Functions

 Multiplicities (double beta=0., double zcut=0., double ktcut=0.)
 
virtual double result (const fastjet::PseudoJet &jet) const override
 
virtual TOut result (const xAOD::Jet &jet) const
 
virtual double result (const xAOD::Jet &jet) const
 

Private Attributes

double m_beta
 
double m_zcut
 
double m_ktcut
 

Detailed Description

Definition at line 15 of file Multiplicities.h.

Constructor & Destructor Documentation

◆ Multiplicities()

JetSubStructureUtils::Multiplicities::Multiplicities ( double  beta = 0.,
double  zcut = 0.,
double  ktcut = 0. 
)
inline

Definition at line 17 of file Multiplicities.h.

17  {
18  m_beta = beta;
19  m_zcut = zcut;
20  m_ktcut = ktcut;
21  };

Member Function Documentation

◆ result() [1/3]

virtual double JetSubStructureUtils::Multiplicities::result ( const fastjet::PseudoJet &  jet) const
inlineoverridevirtual

Definition at line 24 of file Multiplicities.h.

24  {
25  // apply desired soft drop to the jet: default values do no grooming, which is fine
26  fastjet::contrib::SoftDrop sd(m_beta, m_zcut);
27  // Apply the grooming to the jet
28  fastjet::PseudoJet sdJet = sd(jet);
29 
30  int multiplicity=0;
31 
32  fastjet::JetDefinition jd(fastjet::cambridge_algorithm, fastjet::JetDefinition::max_allowable_R );
33  fastjet::Recluster rc(jd);
34  fastjet::PseudoJet j = rc.result(sdJet);
35 
36  fastjet::PseudoJet jj, j1, j2;
37  jj = j;
38  while (jj.has_parents(j1,j2)){
39  if(j2.pt()*j1.delta_R(j2)>m_ktcut)
40  multiplicity++;
41  if(multiplicity>500) // infinite loop failsafe
42  return -1;
43 
44  // follow harder branch
45  jj = j1;
46  }
47 
48  return multiplicity;
49  };

◆ result() [2/3]

virtual TOut JetSubStructureUtils::SubstructureCalculator< TOut >::result
inline

Definition at line 25 of file SubstructureCalculator.h.

25  {
26  // PS 4/18 master developent
27  // std::vector<fastjet::PseudoJet> constit_pseudojets =
28  // jet::JetConstituentFiller::constituentPseudoJets(jet);
29 
30  std::vector<fastjet::PseudoJet> constit_pseudojets;
31  std::transform(jet.getConstituents().begin(),
32  jet.getConstituents().end(),
33  std::back_inserter(constit_pseudojets),
34  [](const auto& c){
35  const xAOD::IParticle* ip = c->rawConstituent();
36  return
37  // fastjet::PseudoJet((c->rawConstituent())->p4());
38  fastjet::PseudoJet(ip->p4());
39  });
40 
41  fastjet::PseudoJet pjet = fastjet::join(constit_pseudojets);
42 
43  return result(pjet);
44  }

◆ result() [3/3]

virtual double JetSubStructureUtils::SubstructureCalculator< double >::result ( const xAOD::Jet jet) const
inlinevirtualinherited

Definition at line 25 of file SubstructureCalculator.h.

25  {
26  // PS 4/18 master developent
27  // std::vector<fastjet::PseudoJet> constit_pseudojets =
28  // jet::JetConstituentFiller::constituentPseudoJets(jet);
29 
30  std::vector<fastjet::PseudoJet> constit_pseudojets;
31  std::transform(jet.getConstituents().begin(),
32  jet.getConstituents().end(),
33  std::back_inserter(constit_pseudojets),
34  [](const auto& c){
35  const xAOD::IParticle* ip = c->rawConstituent();
36  return
37  // fastjet::PseudoJet((c->rawConstituent())->p4());
38  fastjet::PseudoJet(ip->p4());
39  });
40 
41  fastjet::PseudoJet pjet = fastjet::join(constit_pseudojets);
42 
43  return result(pjet);
44  }

Member Data Documentation

◆ m_beta

double JetSubStructureUtils::Multiplicities::m_beta
private

Definition at line 52 of file Multiplicities.h.

◆ m_ktcut

double JetSubStructureUtils::Multiplicities::m_ktcut
private

Definition at line 56 of file Multiplicities.h.

◆ m_zcut

double JetSubStructureUtils::Multiplicities::m_zcut
private

Definition at line 53 of file Multiplicities.h.


The documentation for this class was generated from the following file:
JetSubStructureUtils::Multiplicities::result
virtual double result(const fastjet::PseudoJet &jet) const override
Definition: Multiplicities.h:24
python.selector.AtlRunQuerySelectorLhcOlc.sd
sd
Definition: AtlRunQuerySelectorLhcOlc.py:612
JetSubStructureUtils::SubstructureCalculator< double >::result
virtual double result(const xAOD::Jet &jet) const
Definition: SubstructureCalculator.h:25
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
doubleTestComp.j1
j1
Definition: doubleTestComp.py:21
JetSubStructureUtils::Multiplicities::m_beta
double m_beta
Definition: Multiplicities.h:49
Amg::transform
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
Definition: GeoPrimitivesHelpers.h:156
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
JetSubStructureUtils::Multiplicities::m_ktcut
double m_ktcut
Definition: Multiplicities.h:56
xAOD::JetAlgorithmType::cambridge_algorithm
@ cambridge_algorithm
Definition: JetContainerInfo.h:32
JetSubStructureUtils::Multiplicities::m_zcut
double m_zcut
Definition: Multiplicities.h:53
MuonParameters::beta
@ beta
Definition: MuonParamDefs.h:144
python.compressB64.c
def c
Definition: compressB64.py:93
doubleTestComp.j2
j2
Definition: doubleTestComp.py:22
python.trfValidateRootFile.rc
rc
Definition: trfValidateRootFile.py:355