ATLAS Offline Software
JetGroomer.h
Go to the documentation of this file.
1 // this file is -*- C++ -*-
2 /*
3  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
4 */
5 
6 #ifndef JETREC_JETGROOMER_H
7 #define JETREC_JETGROOMER_H
8 
18 
19 #include "AsgTools/AsgTool.h"
20 
23 
25 
26 #include "JetEDM/PseudoJetVector.h"
28 
29 #include "xAODJet/JetContainer.h"
31 
32 
33 namespace JetGrooming {
34  class JetGroomer
35  : public asg::AsgTool,
36  virtual public JetProvider<xAOD::JetAuxContainer>
37  {
39 
40  public:
42 
43  virtual StatusCode initialize() override;
44 
45  // From IJetProvider
46  virtual std::pair<std::unique_ptr<xAOD::JetContainer>, std::unique_ptr<SG::IAuxStore> > getJets() const override final;
47 
48  // Implementation of grooming goes here
49  // The jet is inserted into the output container, which is necessary for speed
50  // in the xAOD container paradigm
52 
53  protected:
55  SG::ReadHandleKey<xAOD::JetContainer> m_inputJetContainer {this, "UngroomedJets", "ungroomedinput", "Input ungroomed jet container"};
56 
58  SG::ReadHandleKey<PseudoJetContainer> m_inputPseudoJets {this, "ParentPseudoJets", "inputpseudojet", "input constituents of parent JetContainer"};
59 
60  SG::WriteHandleKey<PseudoJetVector> m_finalPseudoJets {this, "FinalPseudoJets_DONOTSET", "", "output pseudojets -- autoconfigured name"};
61 
62  };
63 
64 }
65 #endif
IJetProvider.h
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PseudoJetVector.h
JetGrooming::JetGroomer::getJets
virtual std::pair< std::unique_ptr< xAOD::JetContainer >, std::unique_ptr< SG::IAuxStore > > getJets() const override final
Method to build the collection and return it to the caller.
Definition: JetGroomer.cxx:43
JetGrooming::JetGroomer::m_finalPseudoJets
SG::WriteHandleKey< PseudoJetVector > m_finalPseudoJets
Definition: JetGroomer.h:60
JetGrooming
Definition: JetGroomer.h:33
PseudoJetContainer
Definition: PseudoJetContainer.h:48
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
JetGrooming::JetGroomer::m_inputPseudoJets
SG::ReadHandleKey< PseudoJetContainer > m_inputPseudoJets
This is the input to the parent JetContainer. It is needed in order to re-assign the ghost constituen...
Definition: JetGroomer.h:58
asg::AsgTool::AsgTool
AsgTool(const std::string &name)
Constructor specifying the tool instance's name.
Definition: AsgTool.cxx:58
SG::WriteHandleKey< PseudoJetVector >
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
JetGrooming::JetGroomer::m_inputJetContainer
SG::ReadHandleKey< xAOD::JetContainer > m_inputJetContainer
Handle Input JetContainer (this contains the parent ungroomed jets to be trimmed)
Definition: JetGroomer.h:55
JetGrooming::JetGroomer::insertGroomedJet
virtual void insertGroomedJet(const xAOD::Jet &, const PseudoJetContainer &, xAOD::JetContainer &, PseudoJetVector &) const =0
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
JetGrooming::JetGroomer::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: JetGroomer.cxx:16
PseudoJetVector
std::vector< fastjet::PseudoJet > PseudoJetVector
Definition: JetConstituentFiller.cxx:17
PseudoJetContainer.h
JetContainer.h
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
JetAuxContainer.h
JetProvider
Concrete class that implements the recording of jets & aux container to StoreGate via an externally p...
Definition: IJetProvider.h:77
JetGrooming::JetGroomer
Definition: JetGroomer.h:37
AsgTool.h
IJetProvider
Definition: IJetProvider.h:27