ATLAS Offline Software
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 
29 class TH3F;
30 
32 {
34 
35  // FIX
36  //needs lookup for static geometric factors!
37 
38 public:
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 
67 
68  Gaudi::Property< bool > m_useSamplings { this, "UseSamplings", true, "Boolean for samplings use" };
69 
70 };
71 
72 #endif
HIJetClusterSubtractorTool::ASG_TOOL_CLASS
ASG_TOOL_CLASS(HIJetClusterSubtractorTool, IHISubtractorTool)
HIJetClusterSubtractorTool::m_h3W
TH3F * m_h3W
Definition: HIJetClusterSubtractorTool.h:64
HIJetClusterSubtractorTool::getWeightEta
float getWeightEta(float eta, float phi, int sample) const
Definition: HIJetClusterSubtractorTool.cxx:228
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
index
Definition: index.py:1
InDetAccessor::phi0
@ phi0
Definition: InDetAccessor.h:33
HIJetClusterSubtractorTool::HIJetClusterSubtractorTool
HIJetClusterSubtractorTool(const std::string &myname)
Implements method defined in base First argument is reference to four vector that is updated to refle...
Definition: HIJetClusterSubtractorTool.cxx:17
HIJetClusterSubtractorTool::updateSlice
void updateSlice(xAOD::HIEventShape *slice, float ET, float phi0, float area_cluster) const
Definition: HIJetClusterSubtractorTool.cxx:237
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
HIJetClusterSubtractorTool::m_h3Eta
TH3F * m_h3Eta
Definition: HIJetClusterSubtractorTool.h:65
xAOD::IParticle::FourMom_t
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:68
HIJetClusterSubtractorTool::m_init
bool m_init
Definition: HIJetClusterSubtractorTool.h:53
xAOD::HIEventShape_v2
Interface class for the HI reconstruction EDM.
Definition: HIEventShape_v2.h:31
xAOD::CaloCluster_v1
Description of a calorimeter cluster.
Definition: CaloCluster_v1.h:59
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:100
perfmonmt-refit.slice
slice
Definition: perfmonmt-refit.py:52
HIJetClusterSubtractorTool::updateUsingCluster
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...
Definition: HIJetClusterSubtractorTool.cxx:126
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
HIJetClusterSubtractorTool::m_useSamplings
Gaudi::Property< bool > m_useSamplings
Definition: HIJetClusterSubtractorTool.h:68
HIJetClusterSubtractorTool::subtractWithMoments
virtual void subtractWithMoments(xAOD::CaloCluster *, const xAOD::HIEventShapeContainer *, const HIEventShapeIndex *index, const ToolHandle< IHIUEModulatorTool > &, const xAOD::HIEventShape *eshape) const override
Definition: HIJetClusterSubtractorTool.cxx:164
HIJetSubtractorToolBase
Abstract base for JetModifiers applying constituent based subtraction.
Definition: HIJetSubtractorToolBase.h:24
HIJetClusterSubtractorTool::getWeightPhi
float getWeightPhi(float eta, float phi, int sample) const
Definition: HIJetClusterSubtractorTool.cxx:232
HIJetSubtractorToolBase.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
HIJetClusterSubtractorTool
Concrete implementation of HIJetSubtractorToolBase. Class used by HIClusterSubtraction and HIJetConst...
Definition: HIJetClusterSubtractorTool.h:32
TH3F
Definition: rootspy.cxx:495
HIEventShapeIndex
Definition: HIEventShapeIndex.h:17
HIJetClusterSubtractorTool::m_inputFile
Gaudi::Property< std::string > m_inputFile
Definition: HIJetClusterSubtractorTool.h:60
HIJetClusterSubtractorTool::m_h3Phi
TH3F * m_h3Phi
Definition: HIJetClusterSubtractorTool.h:66
HIJetClusterSubtractorTool::initializeTool
virtual StatusCode initializeTool()
Definition: HIJetClusterSubtractorTool.cxx:171
IHISubtractorTool
Abstract interface for tools that implement constituent based subtraction.
Definition: IHISubtractorTool.h:31
HIJetClusterSubtractorTool::getWeight
float getWeight(float eta, float phi, int sample) const
Definition: HIJetClusterSubtractorTool.cxx:224
HIJetClusterSubtractorTool::m_configDir
Gaudi::Property< std::string > m_configDir
Definition: HIJetClusterSubtractorTool.h:62
HIJetClusterSubtractorTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: HIJetClusterSubtractorTool.cxx:217
HIJetClusterSubtractorTool::subtract
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...
Definition: HIJetClusterSubtractorTool.cxx:28
AsgTool.h
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26