ATLAS Offline Software
TauCalibrateLC.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TAURECTOOLS_TAUCALIBRATELC_H
6 #define TAURECTOOLS_TAUCALIBRATELC_H
7 
12 
13 class TH1;
14 class TF1;
15 
25 
26  public:
27 
29 
30  TauCalibrateLC(const std::string& name="TauCalibrateLC");
32 
33  virtual StatusCode initialize() override;
34  virtual StatusCode execute(xAOD::TauJet& tau) const override;
35 
36 
37  private:
38  static const int s_nProngBins = 2;
39 
40  std::vector<std::vector<std::unique_ptr<TF1>>> m_calibFunc;
41  std::vector<std::unique_ptr<TH1>> m_slopeNPVHist;
42  std::unique_ptr<TH1> m_etaBinHist = nullptr;
43 
44  int m_nEtaBins=0;
45  double m_averageNPV=0;
46 
47  std::string m_calibrationFile; // energy calibration file
48  bool m_doVertexCorrection; // switch for vertex correction
49 
51  "averageInteractionsPerCrossingKey",
52  "EventInfo.averageInteractionsPerCrossing",
53  "Decoration for Average Interaction Per Crossing"};
54 
56  "Key_vertexInputContainer",
57  "PrimaryVertices",
58  "input vertex container key"};
59 };
60 
61 #endif // TAURECTOOLS_TAUCALIBRATELC_H
ASG_TOOL_CLASS2
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
Definition: AsgToolMacros.h:77
TauCalibrateLC::s_nProngBins
static const int s_nProngBins
Definition: TauCalibrateLC.h:38
TauRecToolBase.h
TauRecToolBase
The base class for all tau tools.
Definition: TauRecToolBase.h:21
TauCalibrateLC::m_aveIntPerXKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_aveIntPerXKey
Definition: TauCalibrateLC.h:50
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
TauCalibrateLC::TauCalibrateLC
TauCalibrateLC(const std::string &name="TauCalibrateLC")
Definition: TauCalibrateLC.cxx:18
TauCalibrateLC
Implementation of tau energy scale (TES) with eta and pile-up correction.
Definition: TauCalibrateLC.h:24
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
TauCalibrateLC::m_etaBinHist
std::unique_ptr< TH1 > m_etaBinHist
Definition: TauCalibrateLC.h:42
TauCalibrateLC::initialize
virtual StatusCode initialize() override
Tool initializer.
Definition: TauCalibrateLC.cxx:29
TauCalibrateLC::m_vertexInputContainer
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexInputContainer
Definition: TauCalibrateLC.h:55
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.
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
TauCalibrateLC::m_nEtaBins
int m_nEtaBins
Definition: TauCalibrateLC.h:44
TauCalibrateLC::execute
virtual StatusCode execute(xAOD::TauJet &tau) const override
Execute - called for each tau candidate.
Definition: TauCalibrateLC.cxx:103
TauCalibrateLC::m_averageNPV
double m_averageNPV
Definition: TauCalibrateLC.h:45
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TauCalibrateLC::m_slopeNPVHist
std::vector< std::unique_ptr< TH1 > > m_slopeNPVHist
Definition: TauCalibrateLC.h:41
ITauToolBase
The base class for all tau tools.
Definition: ITauToolBase.h:30
EventInfo.h
TauCalibrateLC::~TauCalibrateLC
~TauCalibrateLC()
Definition: TauCalibrateLC.cxx:25
TH1
Definition: rootspy.cxx:268
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
TauCalibrateLC::m_calibrationFile
std::string m_calibrationFile
Definition: TauCalibrateLC.h:47
TauCalibrateLC::m_doVertexCorrection
bool m_doVertexCorrection
Definition: TauCalibrateLC.h:48
TauCalibrateLC::m_calibFunc
std::vector< std::vector< std::unique_ptr< TF1 > > > m_calibFunc
Definition: TauCalibrateLC.h:40