ATLAS Offline Software
IHadronicCalibrationTool.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 #ifndef CALOINTERFACE_IHADRONICCALIBRATIONTOOL_H
6 #define CALOINTERFACE_IHADRONICCALIBRATIONTOOL_H
7 /***********************************************************************
8 Filename : IHadronicCalibrationTool.h
9 Author : Frank Paige
10 Created : August 2004
11 
12 Modified : Kyle Cranmer Feb. 2005.
13  - Rename old ICellWeightTool to IHadronicCalibrationTool.
14  - Strip down interface in ICellWeightTool
15 
16 DESCRIPTION:
17 
18  Pure interface base class for cell weight tools. Derived classes
19 must implement:
20  etCell: Return calibrated ET for given cell and weight.
21  etCryo: Return cryostat correction proportional to
22  sqrt(ET_ACCB3*ET_Tile1)
23  jetScale: Return scale factor for jets
24  wtCell: Return just weight without ET factor
25  wtCryo: Return just weight without sqrt factor
26 
27 Concrete implementations include:
28  H1WeightTool2003: Fit based on ET/cell used in 6.0.3/7.0.2.
29  H1WeightToolAug04: Fit based on E/volume used in 8.x/9.x.
30  H1WeightToolG4: Fit based on E/volume for DC2/G4
31 
32 Note the navigation weight factor is *not* in wtCell. One must include
33 this to get the right energy for a jet, e.g.
34 
35  NavigationToken<CaloCell,double> cellToken;
36  NavigationToken<CaloCell,double>::const_iterator cell = cellToken.begin();
37  NavigationToken<CaloCell,double>::const_iterator cellE = cellToken.end();
38  for( ; cell != cellE ; ++cell ) {
39  ...
40  double cellWt = cellToken.getParameter(cell);
41  double eCalib = cellWt * (*cell)->e() * wtCell(*cell);
42  ...
43  }
44 
45 It *is* included via the second argument of etcell, which is used by
46 JetRec::JetCellCalibratorTool.
47 
48 ***********************************************************************/
49 
51 #include "GaudiKernel/IAlgTool.h"
52 #include "GaudiKernel/extend_interfaces.h"
53 
54 class CaloCell;
55 
56 class IHadronicCalibrationTool : virtual public extend_interfaces<ICellWeightTool>
57 {
58  public:
60 
61  virtual double etCell(const CaloCell* thisCell, double weight) = 0;
62  virtual double etCryo(double etAccb3, double etTile1) = 0;
63  virtual double jetScale(double e, double eta) = 0;
64  virtual double wtCryo() = 0;
65 
66 };
67 
68 #endif
69 
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
IHadronicCalibrationTool
Definition: IHadronicCalibrationTool.h:57
ICellWeightTool.h
IHadronicCalibrationTool::DeclareInterfaceID
DeclareInterfaceID(IHadronicCalibrationTool, 1, 0)
IHadronicCalibrationTool::wtCryo
virtual double wtCryo()=0
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:189
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
IHadronicCalibrationTool::etCell
virtual double etCell(const CaloCell *thisCell, double weight)=0
IHadronicCalibrationTool::jetScale
virtual double jetScale(double e, double eta)=0
IHadronicCalibrationTool::etCryo
virtual double etCryo(double etAccb3, double etTile1)=0