ATLAS Offline Software
Loading...
Searching...
No Matches
JetReclusteringTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef JetReclustering_JetReclusteringTool_H
6#define JetReclustering_JetReclusteringTool_H
7
8// making it more like a tool
9#include "AsgTools/AsgTool.h"
12
13#include <map>
14#include <memory>
15
16/*
17 Author : Giordon Stark
18 Email : gstark@cern.ch
19 Thanks to Ben Nachman for inspiration, P-A for the help, Jon Burr for
20 assisting in dual-use conversion.
21
22 Takes a set of small-R jets and reclusters to large-R jets
23*/
24
25class IJetModifier;
26//class IJetExecuteTool;
28class IJetFinder;
29class IJetGroomer;
32
33class JetReclusteringTool : public asg::AsgTool, virtual public IJetExecuteTool {
34 public:
36 JetReclusteringTool(const std::string& myname);
37
38 // initialization - set up everything
39 virtual StatusCode initialize() override;
40
41 // execute - build jets
42 virtual int execute() const override;
43
44 // display the configuration
45 virtual void print() const override;
46
47 private:
48 // hold the class name
49 std::string m_APP_NAME = "JetReclusteringTool";
50
51 /* Properties */
52 // input jet container to use as a constituent proxy
54 // output jet container to store reclustered jets
56 // radius of the reclustered jets
57 float m_radius;
58 // reclustering algorithm to use
59 std::string m_rc_alg;
60 /* variable R reclustering */
61 // minimum radius
63 // mass scale (GeV)
65 /* end variable R reclustering */
66 // minimum pt of the constituents (GeV)
68 // minimum pt of the reclustered jets (GeV)
70 // trimming to apply to reclustered jets
71 float m_ptFrac;
73 // enable to add area attributes form
75 std::string m_areaAttributes;
76
77 // make sure someone only calls a function once
78 bool m_isInitialized = false;
79 // this is for filtering input jets
82 // this is for reclustering using filtered input jets
88
89 // tool for calculating effectiveR
91 // tool for trimming reclustered jet
93 // tool for the jpjr for m_jetTrimmingTool
95 // modifier tools for the reclustered jets
104};
105
106#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
IJetExecuteTool is a dual-use tool interface for generic tools, i.e. those that behave like algorithm...
IJetFinder is a dual-use tool interface for for a tool that modifies a jet collection.
Definition IJetFinder.h:30
IJetFromPseudojet is a dual-use tool interface for a tool that constructs a new ATLAS jet from a fast...
IJetModifier is a dual-use tool interface for a tool that modifies a jet collection.
IPseudoJetGetter is a dual-use tool interface for retrieving a vector of fastjet pseudojets.
virtual void print() const override
Print the state of the tool.
asg::AnaToolHandle< IJetModifier > m_centerOfMassShapesTool
asg::AnaToolHandle< IJetExecuteTool > m_inputJetFilterTool
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
virtual int execute() const override
Method to be called for each event.
asg::AnaToolHandle< IJetModifier > m_nSubjettinessTool
asg::AnaToolHandle< IJetExecuteTool > m_reclusterJetTool
asg::AnaToolHandle< IPseudoJetGetter > m_pseudoJetGetterTool
asg::AnaToolHandle< IJetFinder > m_jetFinderTool
asg::AnaToolHandle< IJetFromPseudojet > m_jetFromPseudoJetTool
asg::AnaToolHandle< IJetModifier > m_jetFilterTool
JetReclusteringTool(const std::string &myname)
asg::AnaToolHandle< IJetModifier > m_ktSplittingScaleTool
asg::AnaToolHandle< IJetExecuteTool > m_trimJetTool
asg::AnaToolHandle< IJetGroomer > m_jetTrimmingTool
asg::AnaToolHandle< IJetModifier > m_jetPullTool
asg::AnaToolHandle< IJetModifier > m_jetChargeTool
asg::AnaToolHandle< IJetModifier > m_effectiveRTool
asg::AnaToolHandle< IJetPseudojetRetriever > m_jetTrimmingTool_JPJR
asg::AnaToolHandle< IJetModifier > m_energyCorrelatorRatiosTool
asg::AnaToolHandle< IJetModifier > m_dipolarityTool
asg::AnaToolHandle< IJetModifier > m_energyCorrelatorTool
a modified tool handle that allows its owner to configure new tools from the C++ side
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47