ATLAS Offline Software
Loading...
Searching...
No Matches
HIJetSubtractorToolBase.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// HIJetSubtractorToolBase.h
6
7#ifndef HIJETREC_HIJETSUBTRACTORTOOLBASE_H
8#define HIJETREC_HIJETSUBTRACTORTOOLBASE_H
9
19
21#include "AsgTools/AsgTool.h"
22
24{
26public:
27
28 HIJetSubtractorToolBase(const std::string& myname);
30 inline float minEnergyForMoments() const {return m_EminMoment;};
31 inline float minEnergySigForMoments() const {return m_EsigMoment;};
32 inline bool usesCells() const {return m_useCells;};
33
34
35 inline const xAOD::HIEventShapeContainer* getShape() const {return m_shape;};
36 inline const HIEventShapeIndex* getIndex() const {return m_index;};
37 inline const IHIUEModulatorTool* getModulator() const {return m_modulator;};
38 inline void setShape(const xAOD::HIEventShapeContainer* s) {m_shape=s;};
39 inline void setIndex(const HIEventShapeIndex* ind) {m_index=ind;};
40 inline void setModulator(const IHIUEModulatorTool* mod) {m_modulator=mod;};
41
42 virtual StatusCode configureEvent(const xAOD::HIEventShapeContainer* shape, const HIEventShapeIndex* index, const IHIUEModulatorTool* modulator);
43
44private:
45
46 Gaudi::Property< float > m_EminMoment { this, "MinimumEnergyForMoments", 50., "> E, cluster given tower coordinates" };
47 Gaudi::Property< float > m_EsigMoment { this, "MinimumSignificanceForMoments", 0.1, "if E after subtr / E total < this cut, cluster given tower coordinates" };
48 Gaudi::Property< bool > m_updateClusters { this, "UpdateClusters", false, "If true set cluster kinematics to reflect subtraction" };
49 Gaudi::Property< bool > m_useCells { this, "UseCells", true, "Boolean switch for cells usage" };
50
54
55protected:
56
57 inline void setMinEnergyForMoment(float min_E) { m_EminMoment=min_E; };
58 inline void setUpdateClusters(bool up) { m_updateClusters=up; };
59
60 inline bool UpdateClusters() const { return m_updateClusters; };
61
62 void setSubtractedEtaPhi(float E, float& eta, float& phi, float eta0, float phi0, float sig) const;
63
64 inline void setUseCells(bool v) {m_useCells=v;};
65
66};
67
68#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Gaudi::Property< float > m_EminMoment
void setSubtractedEtaPhi(float E, float &eta, float &phi, float eta0, float phi0, float sig) const
void setModulator(const IHIUEModulatorTool *mod)
HIJetSubtractorToolBase(const std::string &myname)
const IHIUEModulatorTool * getModulator() const
void setMinEnergyForMoment(float min_E)
const HIEventShapeIndex * m_index
Gaudi::Property< float > m_EsigMoment
const xAOD::HIEventShapeContainer * m_shape
void setIndex(const HIEventShapeIndex *ind)
const xAOD::HIEventShapeContainer * getShape() const
const IHIUEModulatorTool * m_modulator
const HIEventShapeIndex * getIndex() const
Gaudi::Property< bool > m_useCells
Gaudi::Property< bool > m_updateClusters
virtual StatusCode configureEvent(const xAOD::HIEventShapeContainer *shape, const HIEventShapeIndex *index, const IHIUEModulatorTool *modulator)
void setShape(const xAOD::HIEventShapeContainer *s)
Abstract interface for tools that implement constituent based subtraction.
Abstract interface for tools that can provide UE modulation given an HIEventShape.
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Definition index.py:1
HIEventShapeContainer_v2 HIEventShapeContainer
Define the latest version of the container.