ATLAS Offline Software
Loading...
Searching...
No Matches
HIJetClusterSubtractorTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3*/
4
5// HIJetClusterSubtractorTool.h
6
7#ifndef HIJETREC_HIJETCLUSTERSUBTRACTORTOOL_H
8#define HIJETREC_HIJETCLUSTERSUBTRACTORTOOL_H
9
23
25#include <map>
26#include "AsgTools/AsgTool.h"
27
28
29class TH3F;
30
32{
34
35 // FIX
36 //needs lookup for static geometric factors!
37
38public:
43 HIJetClusterSubtractorTool(const std::string& myname);
44 virtual void subtract(xAOD::IParticle::FourMom_t&, const xAOD::IParticle*, const xAOD::HIEventShapeContainer*, const HIEventShapeIndex*, const ToolHandle<IHIUEModulatorTool>&, const xAOD::HIEventShape* eshape) const override;
45 virtual void subtractWithMoments(xAOD::CaloCluster*, const xAOD::HIEventShapeContainer*, const HIEventShapeIndex* index, const ToolHandle<IHIUEModulatorTool>&, const xAOD::HIEventShape* eshape ) const override;
46 virtual void updateUsingCluster(xAOD::HIEventShapeContainer* shape, const HIEventShapeIndex* index, const xAOD::CaloCluster* cl) const override;
47
48 virtual StatusCode initialize() override;
49 virtual StatusCode initializeTool();
50
51 private:
52
53 bool m_init;
54
55 float getWeight(float eta, float phi, int sample) const;
56 float getWeightEta(float eta, float phi, int sample) const;
57 float getWeightPhi(float eta, float phi, int sample) const;
58 void updateSlice(xAOD::HIEventShape* slice, float ET, float phi0, float area_cluster) const;
59
60 Gaudi::Property< std::string > m_inputFile { this, "InputFile", "cluster.geo.HIJING_2018.root", "File containing cluster geometric moments." };
61
62 Gaudi::Property< std::string > m_configDir { this, "ConfigDir", "HIJetCorrection/", "Directory containing configuration file." };
63
64 TH3F* m_h3W;
65 TH3F* m_h3Eta;
66 TH3F* m_h3Phi;
67
68 Gaudi::Property< bool > m_useSamplings { this, "UseSamplings", true, "Boolean for samplings use" };
69
70};
71
72#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
virtual void subtractWithMoments(xAOD::CaloCluster *, const xAOD::HIEventShapeContainer *, const HIEventShapeIndex *index, const ToolHandle< IHIUEModulatorTool > &, const xAOD::HIEventShape *eshape) const override
Gaudi::Property< std::string > m_configDir
HIJetClusterSubtractorTool(const std::string &myname)
Implements method defined in base First argument is reference to four vector that is updated to refle...
void updateSlice(xAOD::HIEventShape *slice, float ET, float phi0, float area_cluster) const
ASG_TOOL_CLASS(HIJetClusterSubtractorTool, IHISubtractorTool)
Gaudi::Property< std::string > m_inputFile
virtual void updateUsingCluster(xAOD::HIEventShapeContainer *shape, const HIEventShapeIndex *index, const xAOD::CaloCluster *cl) const override
Method to update the shape based on a given cluster two sets of indices are passed by reference and u...
float getWeightPhi(float eta, float phi, int sample) const
virtual void subtract(xAOD::IParticle::FourMom_t &, const xAOD::IParticle *, const xAOD::HIEventShapeContainer *, const HIEventShapeIndex *, const ToolHandle< IHIUEModulatorTool > &, const xAOD::HIEventShape *eshape) const override
Abstract method where particle itself is not modified IParticle::FourMom_t containing kinematics afte...
float getWeight(float eta, float phi, int sample) const
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Gaudi::Property< bool > m_useSamplings
float getWeightEta(float eta, float phi, int sample) const
HIJetSubtractorToolBase(const std::string &myname)
Abstract interface for tools that implement constituent based subtraction.
Class providing the definition of the 4-vector interface.
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition index.py:1
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
HIEventShapeContainer_v2 HIEventShapeContainer
Define the latest version of the container.
HIEventShape_v2 HIEventShape
Definition of the latest event info version.