ATLAS Offline Software
Loading...
Searching...
No Matches
JetFromPseudojet.h
Go to the documentation of this file.
1// JetFromPseudojet.h -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5*/
6
7
8#ifndef JetFromPseudojet_H
9#define JetFromPseudojet_H
10
11
12// Tool to construct a jet from a pseudojet. The pseudojet,
13// kinematics, constituents and selected attributes are added to the jet.
14
15#include "AsgTools/AsgTool.h"
17#include "fastjet/PseudoJet.hh"
19
21: public asg::AsgTool,
22 virtual public IJetFromPseudojet {
24
25public:
26
27 // Ctor.
28 JetFromPseudojet(const std::string& name);
29
30 // Initialization.
31 virtual StatusCode initialize() override;
32
33 // Construct jet from pseudojet and input type and add to a container.
34 // Return a pointer to the new jet or null for failure.
35 // If pparent is not null, then it is set as the parent and its
36 // configuration properties are copied.
37 virtual xAOD::Jet* add(const fastjet::PseudoJet&,
38 const PseudoJetContainer&,
40 xAOD::JetInput::Type inputtype) const override;
41
42
43 // Construct jet from pseudojet and parent and add to a container.
44 // Return a pointer to the new jet or null for failure.
45 // If pparent is not null, then it is set as the parent and its
46 // configuration properties are copied.
47 virtual xAOD::Jet* add(const fastjet::PseudoJet& pj,
48 const PseudoJetContainer&,
50 const xAOD::Jet* pparent) const override;
51
52 // Dump to log.
53 virtual void print() const override;
54
55
56protected:
57
58 // Method use by the above add(...) to do most of the work.
59 xAOD::Jet* addjet(const fastjet::PseudoJet& pj,
60 const PseudoJetContainer&,
62 const xAOD::Jet* pparent) const;
63
64 // Method to evalaute the EM scale momentum
66 xAOD::JetInput::Type inputtype) const ;
67
68private: //data
69
70 // Job options.
71 std::vector<std::string> m_atts; // List of jet attributes.
72
75
76};
77
78#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
IJetFromPseudojet is a dual-use tool interface for a tool that constructs a new ATLAS jet from a fast...
virtual void print() const override
Print the state of the tool.
std::vector< std::string > m_atts
virtual xAOD::Jet * add(const fastjet::PseudoJet &, const PseudoJetContainer &, xAOD::JetContainer &, xAOD::JetInput::Type inputtype) const override
Method to construct an ATLAS jet from a pseudojet, input type and vector of ghost labels.
JetFromPseudojet(const std::string &name)
virtual xAOD::Jet * add(const fastjet::PseudoJet &pj, const PseudoJetContainer &, xAOD::JetContainer &jets, const xAOD::Jet *pparent) const override
Method to construct an ATLAS jet from a pseudojet and parent jet.
xAOD::Jet * addjet(const fastjet::PseudoJet &pj, const PseudoJetContainer &, xAOD::JetContainer &jets, const xAOD::Jet *pparent) const
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
void buildAndSetEMScaleMom(xAOD::Jet *jet, xAOD::JetInput::Type inputtype) const
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Jet_v1 Jet
Definition of the current "jet version".
JetContainer_v1 JetContainer
Definition of the current "jet container version".