ATLAS Offline Software
IJetTileCorrectionTool.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef JETTILECORRECTION_IJETTILECORRECTIONTOOL_H
8 #define JETTILECORRECTION_IJETTILECORRECTIONTOOL_H
9 
10 // Framework include(s):
12 
13 // EDM include(s):
14 #include "xAODJet/Jet.h"
15 
16 // Local include(s):
18 
19 
20 //eta-phi (parametrization) coordinates
21 typedef std::pair<int,int> IPair;
22 
23 namespace JTC{
24 
25  enum class PART : unsigned int {LB, EB};
26 
27  enum class TS : unsigned int {GOOD,EDGE,CORE,UNKNOWN};
28 
29  enum class TYPE : unsigned int {User, DB};
30 
31  struct Hole{
32  double eta1;
33  double eta2;
34  double phi1;
35  double phi2;
36  std::pair<int,int> iov;
37  };
38 
39  struct Region{
40 
44  float cfactor;
47 
48  Region(Hole h, IPair pair, PART p, float cf, TS st, TYPE t)
49  : hole(h),
50  ep(pair),
51  part(p),
52  cfactor(cf),
53  status(st),
54  type(t)
55  {}
56 
57  bool operator < (const Region& r) const {
58  return (this->cfactor < r.cfactor);
59  }
60  bool operator > (const Region& r) const {
61  return (this->cfactor > r.cfactor);
62  }
63  };
64 
65 }
66 
67 namespace CP {
68 
78  class IJetTileCorrectionTool : public virtual ISystematicsTool {
79 
82 
83  public:
86 
89  xAOD::Jet*& output ) = 0;
90 
91 
92  //status helpers
93  virtual JTC::TS getTileStatus(const xAOD::Jet& jet) = 0;
94  virtual StatusCode addTileStatus(const xAOD::Jet& jet) = 0;
95 
96  //DR helper
97  virtual void setRJET(float r) = 0; //Set Jet Radius.
98  //NOTE: Only for checking overlap! The correction is only derived for EMTopo R=0.4 jets at the moment.
99 
100  }; // class IJetTileCorrectionTool
101 
102 } // namespace CP
103 
104 #endif // JETTILECORRECTION_IJETTILECORRECTIONTOOL_H
CP::IJetTileCorrectionTool::addTileStatus
virtual StatusCode addTileStatus(const xAOD::Jet &jet)=0
JTC::TS
TS
Definition: IJetTileCorrectionTool.h:27
JTC::Hole::iov
std::pair< int, int > iov
Definition: IJetTileCorrectionTool.h:36
beamspotman.r
def r
Definition: beamspotman.py:676
Jet.h
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
JTC::Region::cfactor
float cfactor
Definition: IJetTileCorrectionTool.h:44
CP::IJetTileCorrectionTool::applyCorrection
virtual CorrectionCode applyCorrection(xAOD::Jet &jet)=0
Declare the interface that the class provides.
JTC::TS::UNKNOWN
@ UNKNOWN
JTC::Region::operator<
bool operator<(const Region &r) const
Definition: IJetTileCorrectionTool.h:57
JTC::Hole::phi1
double phi1
Definition: IJetTileCorrectionTool.h:34
CP::IJetTileCorrectionTool::setRJET
virtual void setRJET(float r)=0
JTC::TYPE::User
@ User
JTC::TYPE
TYPE
Definition: IJetTileCorrectionTool.h:29
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
IPair
std::pair< int, int > IPair
Definition: IJetTileCorrectionTool.h:21
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
JTC::Region::part
PART part
Definition: IJetTileCorrectionTool.h:43
xAOD::unsigned
unsigned
Definition: RingSetConf_v1.cxx:662
JTC::Region::type
TYPE type
Definition: IJetTileCorrectionTool.h:46
JTC::Region::operator>
bool operator>(const Region &r) const
Definition: IJetTileCorrectionTool.h:60
ISystematicsTool.h
JTC::Hole::phi2
double phi2
Definition: IJetTileCorrectionTool.h:35
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
CP::IJetTileCorrectionTool
Interface for the tool correcting for dead Tile modules.
Definition: IJetTileCorrectionTool.h:78
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
JTC::TS::EDGE
@ EDGE
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
JTC::TYPE::DB
@ DB
CP::IJetTileCorrectionTool::getTileStatus
virtual JTC::TS getTileStatus(const xAOD::Jet &jet)=0
merge.output
output
Definition: merge.py:17
JTC::Region::Region
Region(Hole h, IPair pair, PART p, float cf, TS st, TYPE t)
Definition: IJetTileCorrectionTool.h:48
JTC::Region
Definition: IJetTileCorrectionTool.h:39
JTC::Hole
Definition: IJetTileCorrectionTool.h:31
JTC::PART::EB
@ EB
JTC
Definition: IJetTileCorrectionTool.h:23
CP::ISystematicsTool
Interface for all CP tools supporting systematic variations.
Definition: ISystematicsTool.h:32
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
JTC::Hole::eta1
double eta1
Definition: IJetTileCorrectionTool.h:32
h
JTC::Region::status
TS status
Definition: IJetTileCorrectionTool.h:45
JTC::Region::ep
IPair ep
Definition: IJetTileCorrectionTool.h:42
CP::CorrectionCode
Return value from object correction CP tools.
Definition: CorrectionCode.h:31
JTC::PART
PART
Definition: IJetTileCorrectionTool.h:25
JTC::TS::GOOD
@ GOOD
CP::IJetTileCorrectionTool::correctedCopy
virtual CorrectionCode correctedCopy(const xAOD::Jet &input, xAOD::Jet *&output)=0
Create a corrected copy from a constant jet.
JTC::Hole::eta2
double eta2
Definition: IJetTileCorrectionTool.h:33
CorrectionCode.h
JTC::Region::hole
Hole hole
Definition: IJetTileCorrectionTool.h:41
JTC::PART::LB
@ LB
JTC::TS::CORE
@ CORE