ATLAS Offline Software
ParticleJetDeltaRLabelTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef PARTICLEJETDELTARLABELTOOL_H
6 #define PARTICLEJETDELTARLABELTOOL_H
7 
9 #include "AsgTools/AsgTool.h"
14 
16 
19 public:
20 
22  ParticleJetDeltaRLabelTool(const std::string& name);
23 
24  StatusCode initialize() override;
25 
26  StatusCode decorate(const xAOD::JetContainer& jets) const override;
27 
28  std::vector<std::vector<const xAOD::TruthParticle*> > match(
30  const xAOD::JetContainer& jets) const;
31 
32 
33 protected:
34 
37  std::unique_ptr<ParticleJetTools::LabelDecorators> m_labeldecs;
38  std::string m_taulabelname;
39  std::string m_bottomlabelname;
40  std::string m_charmlabelname;
41 
43  SG::ReadHandleKey<xAOD::TruthParticleContainer> m_tauPartCollectionKey{this,"TauParticleCollection","","ReadHandleKey for tauPartCollection"};
44  SG::ReadHandleKey<xAOD::TruthParticleContainer> m_bottomPartCollectionKey{this,"BParticleCollection","","ReadHandleKey for bottomPartCollection"};
45  SG::ReadHandleKey<xAOD::TruthParticleContainer> m_charmPartCollectionKey{this,"CParticleCollection","","ReadHandleKey for charmPartCollection"};
47  this, "TruthEventCollection", "TruthEvents",
48  "Truth event collection"
49  };
50 
51  // linkers to the truth particles
52  std::unique_ptr<ParticleJetTools::IParticleLinker> m_blinker;
53  std::unique_ptr<ParticleJetTools::IParticleLinker> m_clinker;
54  std::unique_ptr<ParticleJetTools::IParticleLinker> m_taulinker;
55 
57  double m_partptmin;
58 
60  double m_jetptmin;
61 
63  double m_drmax;
64 
66  std::string m_matchmode;
67 };
68 
69 
70 #endif
ParticleJetDeltaRLabelTool::m_blinker
std::unique_ptr< ParticleJetTools::IParticleLinker > m_blinker
Definition: ParticleJetDeltaRLabelTool.h:52
ParticleJetDeltaRLabelTool::m_taulinker
std::unique_ptr< ParticleJetTools::IParticleLinker > m_taulinker
Definition: ParticleJetDeltaRLabelTool.h:54
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
ParticleJetDeltaRLabelTool::match
std::vector< std::vector< const xAOD::TruthParticle * > > match(const xAOD::TruthParticleContainer &parts, const xAOD::JetContainer &jets) const
Definition: ParticleJetDeltaRLabelTool.cxx:131
TruthParticleContainer.h
ParticleJetDeltaRLabelTool::m_bottomPartCollectionKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_bottomPartCollectionKey
Definition: ParticleJetDeltaRLabelTool.h:44
ParticleJetDeltaRLabelTool::decorate
StatusCode decorate(const xAOD::JetContainer &jets) const override
Decorate a jet collection without otherwise modifying it.
Definition: ParticleJetDeltaRLabelTool.cxx:53
ParticleJetDeltaRLabelTool::m_clinker
std::unique_ptr< ParticleJetTools::IParticleLinker > m_clinker
Definition: ParticleJetDeltaRLabelTool.h:53
IJetDecorator
Interface for adding a decoration to a jet container.
Definition: IJetDecorator.h:21
SG::ReadHandleKey< xAOD::TruthParticleContainer >
IJetDecorator.h
ParticleJetLabelCommon.h
ParticleJetDeltaRLabelTool::m_matchmode
std::string m_matchmode
Matching mode: can be MinDR or MaxPt.
Definition: ParticleJetDeltaRLabelTool.h:66
ParticleJetDeltaRLabelTool::m_taulabelname
std::string m_taulabelname
Definition: ParticleJetDeltaRLabelTool.h:38
ParticleJetDeltaRLabelTool::m_charmPartCollectionKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_charmPartCollectionKey
Definition: ParticleJetDeltaRLabelTool.h:45
ParticleJetDeltaRLabelTool::m_labelnames
ParticleJetTools::LabelNames m_labelnames
Name of jet label attributes.
Definition: ParticleJetDeltaRLabelTool.h:36
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.
ParticleJetDeltaRLabelTool::ParticleJetDeltaRLabelTool
ParticleJetDeltaRLabelTool(const std::string &name)
Constructor.
Definition: ParticleJetDeltaRLabelTool.cxx:15
ParticleJetDeltaRLabelTool::m_tauPartCollectionKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_tauPartCollectionKey
Read handles particle collections for labeling.
Definition: ParticleJetDeltaRLabelTool.h:43
ParticleJetDeltaRLabelTool::m_drmax
double m_drmax
Maximum dR for matching criterion.
Definition: ParticleJetDeltaRLabelTool.h:63
ParticleJetDeltaRLabelTool
Definition: ParticleJetDeltaRLabelTool.h:17
ParticleJetDeltaRLabelTool::initialize
StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: ParticleJetDeltaRLabelTool.cxx:29
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
ParticleJetDeltaRLabelTool::m_labeldecs
std::unique_ptr< ParticleJetTools::LabelDecorators > m_labeldecs
Definition: ParticleJetDeltaRLabelTool.h:37
ParticleJetDeltaRLabelTool::m_truthEventsKey
SG::ReadHandleKey< xAOD::TruthEventContainer > m_truthEventsKey
Definition: ParticleJetDeltaRLabelTool.h:46
ParticleJetDeltaRLabelTool::m_jetptmin
double m_jetptmin
Minimum pT for jet selection (in MeV)
Definition: ParticleJetDeltaRLabelTool.h:60
ParticleJetDeltaRLabelTool::m_partptmin
double m_partptmin
Minimum pT for particle selection (in MeV)
Definition: ParticleJetDeltaRLabelTool.h:57
ParticleJetDeltaRLabelTool::m_bottomlabelname
std::string m_bottomlabelname
Definition: ParticleJetDeltaRLabelTool.h:39
ParticleJetDeltaRLabelTool::m_charmlabelname
std::string m_charmlabelname
Definition: ParticleJetDeltaRLabelTool.h:40
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
doL1CaloHVCorrections.parts
parts
Definition: doL1CaloHVCorrections.py:334
defineDB.jets
list jets
Definition: JetTagCalibration/share/defineDB.py:24
AsgTool.h
TruthParticle.h
TruthEventContainer.h
ParticleJetTools::LabelNames
Definition: ParticleJetLabelCommon.h:22