9#include "CaloDetDescr/CaloDetDescrElement.h"
45 m_h_cell_e =
new TH1D(
"h_Calo_cell_e",
"cell_e", 100,0.,500.);
49 m_h_cell_eta =
new TH1D(
"h_Calo_cell_eta",
"cell_eta", 50,-5.,5.);
53 m_h_cell_phi =
new TH1D(
"h_Calo_cell_phi",
"cell_phi", 50,-3.1416,3.1416);
57 m_h_cell_radius =
new TH1D(
"h_Calo_cell_radius",
"cell_radius", 100, 0., 6000.);
61 m_h_cell_layer =
new TH1D(
"h_Calo_cell_layer",
"cell_layer", 24, -0.5, 23.5);
69 m_h_cell_phi_Eweight =
new TH1D(
"h_Calo_cell_phi_Eweight",
"cell_phi_Eweight", 50,-3.1416,3.1416);
81 m_h_xy =
new TH2F(
"h_Calo_xy",
"xy", 100,-4000,4000,100, -4000, 4000);
85 m_h_zr =
new TH2D(
"h_Calo_zr",
"zr", 100,-7000.,7000.,100, 0., 6000.);
89 m_h_etaphi =
new TH2D(
"h_Calo_etaphi",
"eta_phi", 50,-5.,5.,50, -3.1416, 3.1416);
94 m_h_time_e =
new TH2D(
"h_Calo_time_e",
"energy vs time", 100, 0,50, 100,0,500);
97 m_h_eta_e =
new TH2D(
"h_Calo_eta_e",
"energy vs eta", 50, -5,5, 100,0,500);
100 m_h_phi_e =
new TH2D(
"h_Calo_phi_e",
"energy vs phi", 50, -3.1416,3.1416, 100,0,500);
103 m_h_r_e =
new TH2D(
"h_Calo_r_e",
"energy vs radius", 100, 0,6000, 100,0,500);
114 m_h_calib_eta =
new TH1D(
"h_calib_eta",
"calib. hits eta", 50,-5,5);
117 m_h_calib_phi =
new TH1D(
"h_calib_phi",
"calib. hits phi", 50,-3.1416,3.1416);
120 m_h_calib_zr =
new TH2D(
"h_calib_zr",
"calib. hits z vs r", 100,-7000,7000,1000, 0,6000);
123 m_h_calib_etaphi =
new TH2D(
"h_calib_etaphi",
"calib. hits eta vs phi",50,-5.,5., 50,-3.1416,3.1416);
126 m_h_calib_eEM =
new TH1D(
"h_calib_eEM",
"calib. hits EM energy", 100,0,100);
129 m_h_calib_eNonEM =
new TH1D(
"h_calib_nonEM",
"calib. hits non EM energy", 100,0,100);
132 m_h_calib_eInv =
new TH1D(
"h_calib_eInv",
"calib. hits invisible energy", 100,0,100);
135 m_h_calib_eEsc =
new TH1D(
"h_calib_eEsc",
"calib. hits escaped energy", 100,0,100);
138 m_h_calib_eTot =
new TH1D(
"h_calib_eTot",
"calib. hits energy", 100,0,100);
141 m_h_calib_eTotpartID =
new TH1D(
"h_calib_eTotpartID",
"calib. hits partID weighted with energy",600,0,300000);
158 m_tree =
new TTree(
"Calo",
"Calo");
182 return StatusCode::SUCCESS;
209 const EventContext& ctx{Gaudi::Hive::currentContext()};
214 for (
const auto& i_hit : *hitVec) {
220 double tot_time = 0.;
221 for (
int t=0; t<(i_hit).size(); ++t) tot_e += (i_hit).energy(t);
222 for (
int t=0; t<(i_hit).size(); ++t) tot_time += (i_hit).time(t);
232 m_h_xy->Fill(ddElement->
x(), ddElement->
y());
233 m_h_zr->Fill(ddElement->
z(), ddElement->
r());
240 m_h_r_e->Fill(ddElement->
r(), tot_e);
250 m_time->push_back(tot_time);
263 for (
auto hi : *iter ) {
265 double energy = hi->energy();
266 double time = hi->time();
267 double eta = hitElement->
eta();
268 double phi = hitElement->
phi();
269 double radius = hitElement->
r();
271 float x = hitElement->
x();
272 float y = hitElement->
y();
273 double z = hitElement->
z();
312 if (!geoHit)
continue;
315 double eta = Element->eta();
316 double phi = Element->phi();
317 double radius = Element->r();
318 double z = Element->z();
319 double emEnergy = geoHit.
energyEM();
358 return StatusCode::SUCCESS;
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
Definition of CaloDetDescrManager.
#define CHECK(...)
Evaluate an expression and check for errors.
AtlasHitsVector< TileHit > TileHitVector
const ServiceHandle< StoreGateSvc > & detStore() const
const ServiceHandle< ITHistSvc > & histSvc() const
The standard THistSvc (for writing histograms and TTrees and more to a root file) Returns (kind of) a...
This class groups all DetDescr information related to a CaloCell.
CaloCell_ID::CaloSample getSampling() const
cell sampling
float eta() const
cell eta
float phi() const
cell phi
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
This class provides the client interface for accessing the detector description information common to...
std::vector< float > * m_calib_eTot
std::vector< float > * m_cell_y
std::vector< float > * m_cell_z
TH1 * m_h_cell_layer_Eweight
SG::ReadHandleKeyArray< LArHitContainer > m_caloKeys
std::vector< float > * m_cell_x
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
std::vector< float > * m_cell_phi
std::vector< float > * m_calib_z
std::vector< float > * m_calib_phi
std::vector< float > * m_calib_eInv
TH1 * m_h_cell_eta
Simple variables by Ketevi.
BooleanProperty m_useTile
std::vector< float > * m_calib_eEM
std::vector< float > * m_calib_eEsc
virtual StatusCode execute() override
const TileDetDescrManager * m_tileMgr
SG::ReadHandleKeyArray< CaloCalibrationHitContainer > m_caloCalibKeys
SG::ReadHandleKey< TileHitVector > m_tileKey
std::vector< float > * m_calib_radius
std::vector< int > * m_cell_layer
std::vector< float > * m_cell_radius
TH1 * m_h_cell_phi_Eweight
std::vector< float > * m_calib_partID
TH1 * m_h_cell_radius_Eweight
std::vector< float > * m_calib_eta
std::vector< float > * m_cell_e
virtual StatusCode initialize() override
std::vector< float > * m_time
std::vector< float > * m_cell_eta
TH1 * m_h_calib_eTotpartID
TH1 * m_h_cell_eta_Eweight
StringProperty m_ntupleFileName
std::vector< float > * m_calib_eNonEM
Adaptor for CaloCalibHits.
double energyTotal() const
const CaloDetDescrElement * getDetDescrElement() const
double energyNonEM() const
double energyEscaped() const
double energyInvisible() const
const T * get(const ReadCondHandleKey< T > &key, const EventContext &ctx)
Convenience function to retrieve an object given a ReadCondHandleKey.