 |
ATLAS Offline Software
|
Go to the documentation of this file.
37 const float eta0=
cl->eta0();
38 const float phi0=
cl->phi0();
40 if(modulator)
mod=modulator->getModulation(
phi0, eshape);
49 float DF_weight=HIEtaPhiWeightAcc(*
cl);
50 if(DF_weight!=0.)
mod/=DF_weight;
55 ATH_MSG_ERROR(
"No HIEventShape supplied, cannot do subtraction");
63 ATH_MSG_ERROR(
"No HIEventShapeIndex supplied, cannot do subtraction");
70 if(!
cl->hasSampling(
s))
continue;
85 eta=eta_unsubtr+(eta_unsubtr*E_subtr-E_eta_subtr)/
energy;
86 phi=phi_unsubtr+(phi_unsubtr*E_subtr-E_phi_subtr)/
energy;
94 float area=shape->
at(es_bin)->area();
104 << std::setw(8) << eta0
105 << std::setw(8) <<
phi0
106 << std::setw(10) << std::setprecision(3) << modulator->getModulation(
phi0, eshape)
107 << std::setw(10) << std::setprecision(3) <<
mod
108 << std::setw(10) << std::setprecision(3) << modulator->getModulation(
phi0, eshape)/
mod
109 << std::setw(10) << std::setprecision(3) <<
area
110 << std::setw(10) << std::setprecision(3) <<
rho*
area
111 << std::setw(10) << std::setprecision(3) << E_unsubtr*1
e-3
112 << std::setw(10) << std::setprecision(3) << E_subtr*1
e-3
113 << std::setw(10) << std::setprecision(3) << E_unsubtr*1
e-3/std::cosh(eta0)
114 << std::setw(10) << std::setprecision(3) << E_subtr*1
e-3/std::cosh(eta0));
127 float eta0=
cl->eta0();
135 if(!
cl->hasSampling(
s))
continue;
136 float esamp=
cl->eSample(
s);
137 float ET=esamp/std::cosh(eta0);
153 float HI_weight=HIEtaPhiWeightAcc(*
cl);
176 TFile*
f=TFile::Open(full_path.c_str());
180 return StatusCode::FAILURE;
183 m_h3W=(TH3F*)
f->GetObjectChecked(
"h3_w",
"TH3F");
186 ATH_MSG_FATAL(
"Cannot find TH3F m_h3W in config file " << full_path );
187 return StatusCode::FAILURE;
190 m_h3Eta=(TH3F*)
f->GetObjectChecked(
"h3_eta",
"TH3F");
193 ATH_MSG_FATAL(
"Cannot find TH3F m_h3Eta in config file " << full_path );
194 return StatusCode::FAILURE;
197 m_h3Phi=(TH3F*)
f->GetObjectChecked(
"h3_phi",
"TH3F");
200 ATH_MSG_FATAL(
"Cannot find TH3F m_h3Phi in config file " << full_path );
201 return StatusCode::FAILURE;
203 m_h3W->SetDirectory(0);
210 return StatusCode::SUCCESS;
251 float area_slice=
slice->area();
254 if(area_slice!=0.) area_sf-=area_cluster/area_slice;
255 slice->setNCells( std::floor(area_sf*
slice->nCells()) );
257 slice->setArea(area_slice-area_cluster);
259 slice->setRho(
slice->rho() - ET/area_cluster);
262 for(
unsigned int ih=0; ih<
slice->etCos().
size(); ih++)
265 float tmp_cos =
slice->etCos().at(ih);
268 float tmp_sin =
slice->etSin().at(ih);
Scalar phi() const
phi method
Scalar eta() const
pseudorapidity method
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)