Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
39 const float eta0=
cl->eta0();
40 const float phi0=
cl->phi0();
42 if(modulator)
mod=modulator->getModulation(
phi0, eshape);
51 float DF_weight=HIEtaPhiWeightAcc(*
cl);
52 if(DF_weight!=0.)
mod/=DF_weight;
57 ATH_MSG_ERROR(
"No HIEventShape supplied, cannot do subtraction");
65 ATH_MSG_ERROR(
"No HIEventShapeIndex supplied, cannot do subtraction");
72 if(!
cl->hasSampling(
s))
continue;
87 eta=eta_unsubtr+(eta_unsubtr*E_subtr-E_eta_subtr)/
energy;
88 phi=phi_unsubtr+(phi_unsubtr*E_subtr-E_phi_subtr)/
energy;
96 float area=shape->
at(es_bin)->area();
106 << std::setw(8) << eta0
107 << std::setw(8) <<
phi0
108 << std::setw(10) << std::setprecision(3) << modulator->getModulation(
phi0, eshape)
109 << std::setw(10) << std::setprecision(3) <<
mod
110 << std::setw(10) << std::setprecision(3) << modulator->getModulation(
phi0, eshape)/
mod
111 << std::setw(10) << std::setprecision(3) <<
area
112 << std::setw(10) << std::setprecision(3) <<
rho*
area
113 << std::setw(10) << std::setprecision(3) << E_unsubtr*1
e-3
114 << std::setw(10) << std::setprecision(3) << E_subtr*1
e-3
115 << std::setw(10) << std::setprecision(3) << E_unsubtr*1
e-3/std::cosh(eta0)
116 << std::setw(10) << std::setprecision(3) << E_subtr*1
e-3/std::cosh(eta0));
129 float eta0=
cl->eta0();
137 if(!
cl->hasSampling(
s))
continue;
138 float esamp=
cl->eSample(
s);
139 float ET=esamp/std::cosh(eta0);
155 float HI_weight=HIEtaPhiWeightAcc(*
cl);
178 TFile*
f=TFile::Open(full_path.c_str());
182 return StatusCode::FAILURE;
185 m_h3W=(TH3F*)
f->GetObjectChecked(
"h3_w",
"TH3F");
188 ATH_MSG_FATAL(
"Cannot find TH3F m_h3W in config file " << full_path );
189 return StatusCode::FAILURE;
192 m_h3Eta=(TH3F*)
f->GetObjectChecked(
"h3_eta",
"TH3F");
195 ATH_MSG_FATAL(
"Cannot find TH3F m_h3Eta in config file " << full_path );
196 return StatusCode::FAILURE;
199 m_h3Phi=(TH3F*)
f->GetObjectChecked(
"h3_phi",
"TH3F");
202 ATH_MSG_FATAL(
"Cannot find TH3F m_h3Phi in config file " << full_path );
203 return StatusCode::FAILURE;
205 m_h3W->SetDirectory(0);
212 return StatusCode::SUCCESS;
253 float area_slice=
slice->area();
256 if(area_slice!=0.) area_sf-=area_cluster/area_slice;
257 slice->setNCells( std::floor(area_sf*
slice->nCells()) );
259 slice->setArea(area_slice-area_cluster);
261 slice->setRho(
slice->rho() - ET/area_cluster);
264 for(
unsigned int ih=0; ih<
slice->etCos().
size(); ih++)
267 float tmp_cos =
slice->etCos().at(ih);
270 float tmp_sin =
slice->etSin().at(ih);
Scalar phi() const
phi method
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
unsigned int findBinEta(float eta)
#define ATH_MSG_VERBOSE(x)
Class providing the definition of the 4-vector interface.
constexpr float getBinArea()
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Interface class for the HI reconstruction EDM.
Description of a calorimeter cluster.
constexpr xAOD::CaloCluster::State subtractedClusterState()
setRawEt setRawPhi nCells
::StatusCode StatusCode
StatusCode definition for legacy code.
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
constexpr xAOD::CaloCluster::State unsubtractedClusterState()
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
const T * at(size_type n) const
Access an element, as an rvalue.
Helper class to provide constant type-safe access to aux data.
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
void setClusterP4(const xAOD::CaloCluster::FourMom_t &p, xAOD::CaloCluster *cl, xAOD::CaloCluster::State s)