ATLAS Offline Software
CaloCellRescaler.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "CaloCellRescaler.h"
6 #include "CaloEvent/CaloCell.h"
7 #include "CaloDetDescr/CaloDetDescrElement.h"
8 
10  const std::string& name,
11  const IInterface* parent) :
13  declareInterface<CaloCellCorrection>(this);
14  declareProperty("FactorToCellsEMB0", m_factorToCells[CaloCell_ID::PreSamplerB] = 1.0, "cells in emb0 are scaled by FactorToCellsEMB0");
15  declareProperty("FactorToCellsEMB1", m_factorToCells[CaloCell_ID::EMB1] = 1.0, "cells in emb1 are scaled by FactorToCellsEMB1");
16  declareProperty("FactorToCellsEMB2", m_factorToCells[CaloCell_ID::EMB2] = 1.0, "cells in emb2 are scaled by FactorToCellsEMB2");
17  declareProperty("FactorToCellsEMB3", m_factorToCells[CaloCell_ID::EMB3] = 1.0, "cells in emb3 are scaled by FactorToCellsEMB3");
18  declareProperty("FactorToCellsEME0", m_factorToCells[CaloCell_ID::PreSamplerE] = 1.0, "cells in eme0 are scaled by FactorToCellsEME0");
19  declareProperty("FactorToCellsEME1", m_factorToCells[CaloCell_ID::EME1] = 1.0, "cells in eme1 are scaled by FactorToCellsEME1");
20  declareProperty("FactorToCellsEME2", m_factorToCells[CaloCell_ID::EME2] = 1.0, "cells in eme2 are scaled by FactorToCellsEME2");
21  declareProperty("FactorToCellsEME3", m_factorToCells[CaloCell_ID::EME3] = 1.0, "cells in eme3 are scaled by FactorToCellsEME3");
22  declareProperty("FactorToCellsHEC0", m_factorToCells[CaloCell_ID::HEC0] = 1.0, "cells in hec0 are scaled by FactorToCellsHEC0");
23  declareProperty("FactorToCellsHEC1", m_factorToCells[CaloCell_ID::HEC1] = 1.0, "cells in hec1 are scaled by FactorToCellsHEC1");
24  declareProperty("FactorToCellsHEC2", m_factorToCells[CaloCell_ID::HEC2] = 1.0, "cells in hec2 are scaled by FactorToCellsHEC2");
25  declareProperty("FactorToCellsHEC3", m_factorToCells[CaloCell_ID::HEC3] = 1.0, "cells in hec3 are scaled by FactorToCellsHEC3");
26  declareProperty("FactorToCellsTILEB0",m_factorToCells[CaloCell_ID::TileBar0] = 1.0,"cells in tilebar0 are scaled by FactorToCellsTILEB0");
27  declareProperty("FactorToCellsTILEB1",m_factorToCells[CaloCell_ID::TileBar1] = 1.0,"cells in tilebar1 are scaled by FactorToCellsTILEB1");
28  declareProperty("FactorToCellsTILEB2",m_factorToCells[CaloCell_ID::TileBar2] = 1.0,"cells in tilebar2 are scaled by FactorToCellsTILEB2");
29  declareProperty("FactorToCellsTILEG1",m_factorToCells[CaloCell_ID::TileGap1] = 1.0,"cells in tilegap1 are scaled by FactorToCellsTILEG1");
30  declareProperty("FactorToCellsTILEG2",m_factorToCells[CaloCell_ID::TileGap2] = 1.0,"cells in tilegap2 are scaled by FactorToCellsTILEG2");
31  declareProperty("FactorToCellsTILEG3",m_factorToCells[CaloCell_ID::TileGap3] = 1.0,"cells in tilegap3 are scaled by FactorToCellsTILEG3");
32  declareProperty("FactorToCellsTILEE0",m_factorToCells[CaloCell_ID::TileExt0] = 1.0,"cells in tileext0 are scaled by FactorToCellsTILEE0");
33  declareProperty("FactorToCellsTILEE1",m_factorToCells[CaloCell_ID::TileExt1] = 1.0,"cells in tileext1 are scaled by FactorToCellsTILEE1");
34  declareProperty("FactorToCellsTILEE2",m_factorToCells[CaloCell_ID::TileExt2] = 1.0,"cells in tileext2 are scaled by FactorToCellsTILEE2");
35  declareProperty("FactorToCellsFCAL0", m_factorToCells[CaloCell_ID::FCAL0] = 1.0, "cells in fcal0 are scaled by FactorToCellsFCAL0");
36  declareProperty("FactorToCellsFCAL1", m_factorToCells[CaloCell_ID::FCAL1] = 1.0, "cells in fcal1 are scaled by FactorToCellsFCAL1");
37  declareProperty("FactorToCellsFCAL2", m_factorToCells[CaloCell_ID::FCAL2] = 1.0, "cells in fcal2 are scaled by FactorToCellsFCAl2");
38  declareProperty("FactorToCellsMBTS", m_factorToCells[CaloCell_ID::Unknown] = 1.0, "cells in MBTS are scaled by FactorToCellsMBTS");
39 }
40 
41 
43 
44 
46  ATH_MSG_INFO( " initialization " );
47  return StatusCode::SUCCESS;
48 }
49 
50 
52  const EventContext& /*ctx*/) const
53 {
54  const CaloDetDescrElement* caloDDE = theCell->caloDDE();
55  if (caloDDE) {
56  theCell->scaleEnergy( m_factorToCells[caloDDE->getSampling()] );
57  }
58  }
GetLCDefs::Unknown
@ Unknown
Definition: GetLCDefs.h:21
CaloCellRescaler.h
CaloCell_ID_FCS::TileExt2
@ TileExt2
Definition: FastCaloSim_CaloCell_ID.h:39
constants.EMB1
int EMB1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:53
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
CaloCell_ID_FCS::TileExt0
@ TileExt0
Definition: FastCaloSim_CaloCell_ID.h:37
CaloCell_ID_FCS::TileBar1
@ TileBar1
Definition: FastCaloSim_CaloCell_ID.h:32
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
CaloCellCorrection
Definition: CaloCellCorrection.h:51
CaloCell_ID_FCS::FCAL1
@ FCAL1
Definition: FastCaloSim_CaloCell_ID.h:41
CaloCell.h
CaloCellRescaler::initialize
virtual StatusCode initialize() override
Definition: CaloCellRescaler.cxx:45
CaloCellRescaler::~CaloCellRescaler
~CaloCellRescaler()
CaloCell_ID_FCS::HEC2
@ HEC2
Definition: FastCaloSim_CaloCell_ID.h:29
CaloCellRescaler::m_factorToCells
float m_factorToCells[CaloCell_ID::Unknown+1]
Definition: CaloCellRescaler.h:45
CaloCell_ID_FCS::TileGap3
@ TileGap3
Definition: FastCaloSim_CaloCell_ID.h:36
CaloCell_ID_FCS::HEC1
@ HEC1
Definition: FastCaloSim_CaloCell_ID.h:28
constants.EMB2
int EMB2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:54
CaloCell_ID_FCS::TileBar0
@ TileBar0
Definition: FastCaloSim_CaloCell_ID.h:31
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CaloCell_ID_FCS::TileGap2
@ TileGap2
Definition: FastCaloSim_CaloCell_ID.h:35
CaloCell::caloDDE
const CaloDetDescrElement * caloDDE() const
get pointer to CaloDetDescrElement (data member)
Definition: CaloCell.h:305
test_pyathena.parent
parent
Definition: test_pyathena.py:15
constants.EME1
int EME1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:55
CaloCell_ID_FCS::TileGap1
@ TileGap1
Definition: FastCaloSim_CaloCell_ID.h:34
CaloCell::scaleEnergy
virtual void scaleEnergy(float scale)
scale energy
Definition: CaloCell.cxx:146
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CaloCell_ID_FCS::TileExt1
@ TileExt1
Definition: FastCaloSim_CaloCell_ID.h:38
CaloCell_ID_FCS::EME3
@ EME3
Definition: FastCaloSim_CaloCell_ID.h:26
CaloCellRescaler::CaloCellRescaler
CaloCellRescaler(const std::string &type, const std::string &name, const IInterface *parent)
Definition: CaloCellRescaler.cxx:9
CaloCell_ID_FCS::HEC0
@ HEC0
Definition: FastCaloSim_CaloCell_ID.h:27
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
CaloDetDescrElement::getSampling
CaloCell_ID::CaloSample getSampling() const
cell sampling
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:395
CaloCell_ID_FCS::PreSamplerE
@ PreSamplerE
Definition: FastCaloSim_CaloCell_ID.h:23
CaloCell_ID_FCS::PreSamplerB
@ PreSamplerB
Definition: FastCaloSim_CaloCell_ID.h:19
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CaloCellRescaler::MakeCorrection
virtual void MakeCorrection(CaloCell *theCell, const EventContext &ctx) const override
Definition: CaloCellRescaler.cxx:51
CaloCell_ID_FCS::FCAL2
@ FCAL2
Definition: FastCaloSim_CaloCell_ID.h:42
CaloCell_ID_FCS::HEC3
@ HEC3
Definition: FastCaloSim_CaloCell_ID.h:30
CaloCell_ID_FCS::FCAL0
@ FCAL0
Definition: FastCaloSim_CaloCell_ID.h:40
CaloCell_ID_FCS::EMB3
@ EMB3
Definition: FastCaloSim_CaloCell_ID.h:22
CaloCell_ID_FCS::TileBar2
@ TileBar2
Definition: FastCaloSim_CaloCell_ID.h:33
constants.EME2
int EME2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:56