|
ATLAS Offline Software
|
Go to the documentation of this file.
13 #include "CLHEP/Units/PhysicalConstants.h"
17 #include "GaudiKernel/MsgStream.h"
18 #include "GaudiKernel/StatusCode.h"
33 const double deta = 0.2;
34 const double dphi =
twopi / 64. ;
47 return StatusCode::SUCCESS;
84 the_aeta = std::abs (adj_eta);
87 the_aeta = std::abs (eta);
91 float the_aeta_boundaries;
93 the_aeta_boundaries = std::abs (adj_eta);
95 the_aeta_boundaries = std::abs (eta);
104 float eta_clus = cluster->
eta();
105 float phi_clus = cluster->
phi();
118 for ( ; f_cell!=l_cell; ++f_cell)
123 double phic =
cell->phi();
124 double etac =
cell->eta();
126 float diffeta = etac-eta_clus;
127 float diffphi = phic-phi_clus;
128 if (diffphi < -
pi) diffphi +=
twopi;
129 if (diffphi >
pi) diffphi -=
twopi;
131 if(fabs(diffeta)<deta && fabs(diffphi)<dphi){
132 eh_scint +=
cell->e();
161 float ec = cluster->
e();
175 (
const std::string&
name)
177 return this->setProperty (StringProperty (
"cells_name",
name));
185 int emptyTGEtaPosind[NBad] = {3,12,23,30,35,44,53,60};
186 float emptyTGEtaPos[NBad];
187 int emptyTGEtaNegind[NBad] = {4,13,20,28,37,45,54,61};
188 float emptyTGEtaNeg[NBad];
191 float modSize =
twopi / Nmodules;
192 float offset = modSize/2.;
194 for(
int i=0;
i<NBad;
i++){
195 float shift = (emptyTGEtaPosind[
i]-1)*modSize;
197 emptyTGEtaPos[
i] =
offset + shift;
199 shift = (emptyTGEtaNegind[
i]-1)*modSize;
201 emptyTGEtaNeg[
i] =
offset + shift;
208 for(
int ipos=0;ipos<NBad;ipos++){
209 float min = emptyTGEtaPos[ipos]-0.05;
210 float max = emptyTGEtaPos[ipos]+0.05;
217 for(
int ipos=0;ipos<NBad;ipos++){
218 float min = emptyTGEtaNeg[ipos]-0.05;
219 float max = emptyTGEtaNeg[ipos]+0.05;
Const iterator class for DataVector/DataList.
virtual StatusCode initialize() override
Standard Gaudi initialize method.
Scalar phi() const
phi method
virtual StatusCode setCaloCellContainerName(const std::string &name) override
Change the name of the CaloCellContainer used by this tool.
Constant< float > m_etamax_crack
Scalar eta() const
pseudorapidity method
const EventContext & ctx() const
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Constant< CxxUtils::Array< 2 > > m_correctionGoodPhi
Calibration constant: The tabulated array of correction weights, A and alpha.
virtual void setenergy(xAOD::CaloCluster *cluster, float energy) const
SG::ReadHandleKey< CaloCellContainer > m_cells_name
Property: The name of the container in which to look to find tile cells.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
virtual StatusCode initialize() override
Initialize method.
Constant< bool > m_use_raw_eta_boundaries
Constant< CxxUtils::Array< 2 > > m_correctionBadPhi
::StatusCode StatusCode
StatusCode definition for legacy code.
Constant< int > m_degree
Calibration constant: The interpolation degree.
virtual bool isGoodPhi(float eta, float phi) const
Principal data class for CaloCell clusters.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Constant< float > m_etamin_crack
Calibration constants: The range over which this correction is defined.
Constant< bool > m_use_raw_eta
Calibration constant: If true, tabulated values are in terms of raw (local) eta.
virtual void setE(double e)
Set energy.
Data object for each calorimeter readout cell.
virtual double eta() const
Retrieve eta independent of signal state.
float interpolate(const CaloRec::Array< 2 > &a, float x, unsigned int degree, unsigned int ycol=1, const CaloRec::Array< 1 > ®ions=CaloRec::Array< 1 >(), int n_points=-1, bool fixZero=false)
Polynomial interpolation in a table.
virtual double e() const
Retrieve energy independent of signal state.
Context object for retrieving ToolConstant values.
virtual void makeTheCorrection(const Context &myctx, xAOD::CaloCluster *cluster, const CaloDetDescrElement *elt, float eta, float adj_eta, float phi, float adj_phi, CaloSampling::CaloSample samp) const override
Virtual function for the correction-specific code.
Handle class for reading from StoreGate.
Polynomial interpolation in a table.
virtual double phi() const
Retrieve phi independent of signal state.