|
ATLAS Offline Software
|
Go to the documentation of this file.
10 #include "CaloDetDescr/CaloDetDescrElement.h"
51 m_h_cell_e =
new TH1D(
"h_Calo_cell_e",
"cell_e", 100,0.,500.);
55 m_h_cell_eta =
new TH1D(
"h_Calo_cell_eta",
"cell_eta", 50,-5.,5.);
59 m_h_cell_phi =
new TH1D(
"h_Calo_cell_phi",
"cell_phi", 50,-3.1416,3.1416);
63 m_h_cell_radius =
new TH1D(
"h_Calo_cell_radius",
"cell_radius", 100, 0., 6000.);
67 m_h_xy =
new TH2F(
"h_Calo_xy",
"xy", 100,-4000,4000,100, -4000, 4000);
71 m_h_zr =
new TH2D(
"h_Calo_zr",
"zr", 100,-7000.,7000.,100, 0., 6000.);
75 m_h_etaphi =
new TH2D(
"h_Calo_etaphi",
"eta_phi", 50,-5.,5.,50, -3.1416, 3.1416);
80 m_h_time_e =
new TH2D(
"h_Calo_time_e",
"energy vs time", 100, 0,50, 100,0,500);
83 m_h_eta_e =
new TH2D(
"h_Calo_eta_e",
"energy vs eta", 50, -5,5, 100,0,500);
86 m_h_phi_e =
new TH2D(
"h_Calo_phi_e",
"energy vs phi", 50, -3.1416,3.1416, 100,0,500);
89 m_h_r_e =
new TH2D(
"h_Calo_r_e",
"energy vs radius", 100, 0,6000, 100,0,500);
100 m_h_calib_eta =
new TH1D(
"h_calib_eta",
"calib. hits eta", 50,-5,5);
103 m_h_calib_phi =
new TH1D(
"h_calib_phi",
"calib. hits phi", 50,-3.1416,3.1416);
106 m_h_calib_rz =
new TH2D(
"h_calib_rz",
"calib. hits r vs z", 100,-7000,7000,1000, 0,6000);
109 m_h_calib_etaphi =
new TH2D(
"h_calib_etaphi",
"calib. hits eta vs phi",50,-5.,5., 50,-3.1416,3.1416);
112 m_h_calib_eEM =
new TH1D(
"h_calib_eEM",
"calib. hits EM energy", 100,0,100);
115 m_h_calib_eNonEM =
new TH1D(
"h_calib_nonEM",
"calib. hits non EM energy", 100,0,100);
118 m_h_calib_eInv =
new TH1D(
"h_calib_eInv",
"calib. hits invisible energy", 100,0,100);
121 m_h_calib_eEsc =
new TH1D(
"h_calib_eEsc",
"calib. hits escaped energy", 100,0,100);
124 m_h_calib_eTot =
new TH1D(
"h_calib_eTot",
"calib. hits energy", 100,0,100);
127 m_h_calib_eTotpartID =
new TH1D(
"h_calib_eTotpartID",
"calib. hits partID weighted with energy",600,0,300000);
144 m_tree =
new TTree(
"Calo",
"Calo");
172 return StatusCode::SUCCESS;
202 for (
const auto& i_hit : *hitVec) {
208 double tot_time = 0.;
209 for (
int t=0;
t<(i_hit).
size(); ++
t) tot_e += (i_hit).energy(
t);
210 for (
int t=0;
t<(i_hit).
size(); ++
t) tot_time += (i_hit).time(
t);
215 m_h_xy->Fill(ddElement->
x(), ddElement->
y());
216 m_h_zr->Fill(ddElement->
r(), ddElement->
r());
223 m_h_r_e->Fill(ddElement->
r(), tot_e);
232 m_time->push_back(tot_time);
243 std::string lArKey [4] = {
"LArHitEMB",
"LArHitEMEC",
"LArHitFCAL",
"LArHitHEC"};
244 for (
unsigned int i=0;
i<4;
i++) {
247 for (
auto hi : *iter ) {
249 double energy = hi->energy();
250 double time = hi->time();
251 double eta = hitElement->
eta();
252 double phi = hitElement->
phi();
253 double radius = hitElement->
r();
254 float x = hitElement->
x();
255 float y = hitElement->
y();
256 double z = hitElement->
z();
284 std::string LArCalibKey [3] = {
"LArCalibrationHitActive",
"LArCalibrationHitInactive",
"LArCalibrationHitDeadMaterial"};
285 for (
unsigned int j=0; j<3; j++) {
292 if (!geoHit)
continue;
294 double eta = Element->
eta();
295 double phi = Element->
phi();
297 double z = Element->
z();
298 double emEnergy = geoHit.
energyEM();
334 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
bool is_tile_aux(const Identifier &id) const
TH1 * m_h_calib_eTotpartID
const Identifier & identify(const UncalibratedMeasurement *meas)
Returns the associated identifier from the muon measurement.
std::vector< float > * m_calib_z
Adaptor for CaloCalibHits.
double energyEscaped() const
std::vector< float > * m_calib_partID
Scalar phi() const
phi method
virtual StatusCode initialize() override
Scalar eta() const
pseudorapidity method
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
std::vector< float > * m_calib_phi
std::vector< float > * m_cell_y
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
std::vector< float > * m_cell_radius
std::vector< float > * m_time
std::vector< float > * m_calib_radius
double energyNonEM() const
std::vector< float > * m_calib_eTot
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
ServiceHandle< ITHistSvc > m_thistSvc
Definition of CaloDetDescrManager.
std::vector< float > * m_calib_eEsc
const CaloDetDescrElement * getDetDescrElement() const
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
const TileDetDescrManager * m_tileMgr
std::vector< float > * m_calib_eInv
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
double energyInvisible() const
::StatusCode StatusCode
StatusCode definition for legacy code.
std::vector< float > * m_calib_eNonEM
TH1 * m_h_cell_eta
Simple variables by Ketevi.
BooleanProperty m_useTile
#define CHECK(...)
Evaluate an expression and check for errors.
StringProperty m_ntupleFileName
std::vector< float > * m_cell_z
CaloDetDescrElement * get_cell_element(unsigned int cell_hash) const
std::vector< float > * m_calib_eEM
std::vector< float > * m_cell_e
StatusCode initialize(bool used=true)
This class provides the client interface for accessing the detector description information common to...
def time(flags, cells_name, *args, **kw)
virtual StatusCode execute() override
double energyTotal() const
float eta() const
cell eta
std::vector< float > * m_cell_eta
CaloHitAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
float phi() const
cell phi
std::vector< float > * m_calib_eta
Identifier cell_id(const Identifier &any_id) const
std::vector< float > * m_cell_phi
std::vector< float > * m_cell_x