ATLAS Offline Software
Loading...
Searching...
No Matches
JetSubStructureUtils::KtDeltaR Class Reference

#include <KtDeltaR.h>

Inheritance diagram for JetSubStructureUtils::KtDeltaR:
Collaboration diagram for JetSubStructureUtils::KtDeltaR:

Public Member Functions

 KtDeltaR (double jetrad)
virtual double result (const fastjet::PseudoJet &jet) const
virtual TOut result (const xAOD::Jet &jet) const

Private Attributes

double m_jetrad

Detailed Description

Definition at line 11 of file KtDeltaR.h.

Constructor & Destructor Documentation

◆ KtDeltaR()

JetSubStructureUtils::KtDeltaR::KtDeltaR ( double jetrad)
inline

Definition at line 13 of file KtDeltaR.h.

13: m_jetrad(jetrad) {};

Member Function Documentation

◆ result() [1/2]

double KtDeltaR::result ( const fastjet::PseudoJet & jet) const
virtual

Definition at line 14 of file KtDeltaR.cxx.

15{
16 vector<fastjet::PseudoJet> constit_pseudojets = jet.constituents();
17 if ( constit_pseudojets.size() < 2 ) {
18 //Jet has fewer than 2 constituents.
19 return 0.0;
20 }
21
22 fastjet::JetDefinition jetdef = fastjet::JetDefinition(fastjet::kt_algorithm, m_jetrad);
23 fastjet::ClusterSequence cs(constit_pseudojets, jetdef);
24 std::vector<fastjet::PseudoJet> outjets = cs.exclusive_jets(2);
25 if ( outjets.size() < 2 ) {
26 //"Fewer than two subjets found.
27 return 0.0;
28 }
29
30 return xAOD::P4Helpers::deltaR(outjets[0].eta(), outjets[0].phi(),
31 outjets[1].eta(), outjets[1].phi());
32}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
double deltaR(double rapidity1, double phi1, double rapidity2, double phi2)
from bare bare rapidity,phi

◆ result() [2/2]

virtual TOut JetSubStructureUtils::SubstructureCalculator< TOut >::result ( const xAOD::Jet & jet) const
inlinevirtual

Reimplemented from JetSubStructureUtils::SubstructureCalculator< double >.

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 }
virtual double result(const fastjet::PseudoJet &jet) const
Definition KtDeltaR.cxx:14
iterator begin() const
iterator on the first constituent
iterator end() const
iterator after the last constituent
JetConstituentVector getConstituents() const
Return a vector of consituents. The object behaves like vector<const IParticle*>. See JetConstituentV...
Definition Jet_v1.cxx:147

Member Data Documentation

◆ m_jetrad

double JetSubStructureUtils::KtDeltaR::m_jetrad
private

Definition at line 19 of file KtDeltaR.h.


The documentation for this class was generated from the following files: