ATLAS Offline Software
Loading...
Searching...
No Matches
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/***********************************************************************
8Filename : IHadronicCalibrationTool.h
9Author : Frank Paige
10Created : August 2004
11
12Modified : Kyle Cranmer Feb. 2005.
13 - Rename old ICellWeightTool to IHadronicCalibrationTool.
14 - Strip down interface in ICellWeightTool
15
16DESCRIPTION:
17
18 Pure interface base class for cell weight tools. Derived classes
19must 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
27Concrete 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
32Note the navigation weight factor is *not* in wtCell. One must include
33this 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
45It *is* included via the second argument of etcell, which is used by
46JetRec::JetCellCalibratorTool.
47
48***********************************************************************/
49
51#include "GaudiKernel/IAlgTool.h"
52#include "GaudiKernel/extend_interfaces.h"
53
54class CaloCell;
55
56class 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
Scalar eta() const
pseudorapidity method
Data object for each calorimeter readout cell.
Definition CaloCell.h:57
virtual double etCryo(double etAccb3, double etTile1)=0
virtual double wtCryo()=0
DeclareInterfaceID(IHadronicCalibrationTool, 1, 0)
virtual double jetScale(double e, double eta)=0
virtual double etCell(const CaloCell *thisCell, double weight)=0