ATLAS Offline Software
Loading...
Searching...
No Matches
PseudoJetTranslator Class Reference

#include <PseudoJetTranslator.h>

Collaboration diagram for PseudoJetTranslator:

Public Member Functions

 PseudoJetTranslator (bool saveArea, bool saveArea4Vec)
xAOD::Jettranslate (const fastjet::PseudoJet &pj, const PseudoJetContainer &pjCont, xAOD::JetContainer &jetCont, const xAOD::Vertex *originVertex=nullptr) const
xAOD::Jettranslate (const fastjet::PseudoJet &pj, const PseudoJetContainer &pjCont, xAOD::JetContainer &jetCont, const xAOD::Jet &parent, const xAOD::Vertex *originVertex=nullptr) const

Protected Attributes

bool m_saveArea = true
bool m_saveArea4Vec = true

Detailed Description

Definition at line 12 of file PseudoJetTranslator.h.

Constructor & Destructor Documentation

◆ PseudoJetTranslator()

PseudoJetTranslator::PseudoJetTranslator ( bool saveArea,
bool saveArea4Vec )
inline

Definition at line 16 of file PseudoJetTranslator.h.

16: m_saveArea(saveArea), m_saveArea4Vec(saveArea4Vec) {}

Member Function Documentation

◆ translate() [1/2]

xAOD::Jet & PseudoJetTranslator::translate ( const fastjet::PseudoJet & pj,
const PseudoJetContainer & pjCont,
xAOD::JetContainer & jetCont,
const xAOD::Jet & parent,
const xAOD::Vertex * originVertex = nullptr ) const

Definition at line 43 of file PseudoJetTranslator.cxx.

46 {
47 xAOD::Jet& jet = translate(pj, pjCont, jetCont, originVertex);
48
49 const xAOD::JetContainer* parentCont = dynamic_cast<const xAOD::JetContainer*>(parent.container());
50 if ( parentCont == nullptr ) { return jet ;} // can this happen? if so THIS IS an ERROR ! should do something
51
52 ElementLink<xAOD::JetContainer> el(*parentCont, parent.index());
53 static const SG::AuxElement::Accessor<ElementLink<xAOD::JetContainer> > parentELacc("Parent_TEMP");
54 parentELacc(jet) =el;
55
56 jet.setInputType(parent.getInputType());
57 jet.setAlgorithmType(parent.getAlgorithmType());
58 jet.setSizeParameter(parent.getSizeParameter());
59 jet.setConstituentsSignalState(parent.getConstituentsSignalState());
60
61 float area=0;
63
64 return jet;
65}
double area(double R)
xAOD::Jet & translate(const fastjet::PseudoJet &pj, const PseudoJetContainer &pjCont, xAOD::JetContainer &jetCont, const xAOD::Vertex *originVertex=nullptr) const
SG::Accessor< T, ALLOC > Accessor
Definition AuxElement.h:572
void setAlgorithmType(JetAlgorithmType::ID a)
Definition Jet_v1.cxx:258
void setAttribute(const std::string &name, const T &v)
void setConstituentsSignalState(JetConstitScale t)
Set the state at which constituents were when this jet was found. This function is called by jet buil...
Definition Jet_v1.cxx:141
void setSizeParameter(float p)
Definition Jet_v1.cxx:257
void setInputType(JetInput::Type t)
Definition Jet_v1.cxx:259
Jet_v1 Jet
Definition of the current "jet version".
JetContainer_v1 JetContainer
Definition of the current "jet container version".

◆ translate() [2/2]

xAOD::Jet & PseudoJetTranslator::translate ( const fastjet::PseudoJet & pj,
const PseudoJetContainer & pjCont,
xAOD::JetContainer & jetCont,
const xAOD::Vertex * originVertex = nullptr ) const

Definition at line 7 of file PseudoJetTranslator.cxx.

9 {
10
11 // Create a new jet in place at the end of the container
12 jetCont.emplace_back(new xAOD::Jet());
13 xAOD::Jet& jet = *jetCont.back();
14 jet.setJetP4( xAOD::JetFourMom_t( pj.pt(), pj.eta(), pj.phi(), pj.m() ) );
15
16 const static SG::AuxElement::Accessor<const fastjet::PseudoJet*> pjAccessor("PseudoJet");
17 pjAccessor(jet) = &pj;
18
19 // Record the jet-finding momentum, i.e. the one used to find/groom the jet.
21
22 // save area if needed ---------
23 if( pj.has_area() ){
24
27 fastjet::PseudoJet pja = pj.area_4vector();
28 xAOD::JetFourMom_t fvarea(pja.pt(), pja.eta(), pja.phi(), pja.m());
30 }
31 }// area -------------
32
33 if (originVertex == nullptr){
34 pjCont.extractConstituents(jet, pj);
35 }
36 else{
37 pjCont.extractByVertexConstituents(jet, pj, originVertex);
38 }
39
40 return jet;
41}
const T * back() const
Access the last element in the collection as an rvalue.
value_type emplace_back(value_type pElem)
Add an element to the end of the collection.
bool extractByVertexConstituents(xAOD::Jet &jet, const PseudoJet &finalPJ, const xAOD::Vertex *vertex) const
bool extractConstituents(xAOD::Jet &, const std::vector< PseudoJet > &) const
void setJetP4(const JetFourMom_t &p4)
Definition Jet_v1.cxx:171
JetFourMom_t jetP4() const
The full 4-momentum of the particle : internal jet type.
Definition Jet_v1.cxx:76
@ JetConstitScaleMomentum
Definition JetTypes.h:29
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.
Definition JetTypes.h:17

Member Data Documentation

◆ m_saveArea

bool PseudoJetTranslator::m_saveArea = true
protected

Definition at line 28 of file PseudoJetTranslator.h.

◆ m_saveArea4Vec

bool PseudoJetTranslator::m_saveArea4Vec = true
protected

Definition at line 29 of file PseudoJetTranslator.h.


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