ATLAS Offline Software
CaloHitAnalysis.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // Base class
6 #include "CaloHitAnalysis.h"
7 
8 // Section of includes for LAr calo tests
10 #include "CaloDetDescr/CaloDetDescrElement.h"
12 
13 // Section of includes for tile calo tests
15 #include "CaloIdentifier/TileID.h"
16 #include "TileSimEvent/TileHit.h"
18 
19 //Section of includes for Calibrated Calo hits
22 
23 #include "TString.h"
24 #include "TH1.h"
25 #include "TH2.h"
26 #include "TTree.h"
27 
28 #include <algorithm>
29 #include <math.h>
30 #include <functional>
31 #include <iostream>
32 
33 CaloHitAnalysis::CaloHitAnalysis(const std::string& name, ISvcLocator* pSvcLocator)
34  : AthAlgorithm(name, pSvcLocator)
35 {
36 }
37 
38 
40  ATH_MSG_DEBUG( "Initializing CaloHitAnalysis" );
41  if (m_useTile) {
42 
45  }
46  // Grab the Ntuple and histogramming service for the tree
47  CHECK( m_thistSvc.retrieve() );
48 
50 
51  m_h_cell_e = new TH1D("h_Calo_cell_e", "cell_e", 100,0.,500.);
52  m_h_cell_e->StatOverflows();
53  CHECK(m_thistSvc->regHist( m_path+m_h_cell_e->GetName(), m_h_cell_e));
54 
55  m_h_cell_eta = new TH1D("h_Calo_cell_eta", "cell_eta", 50,-5.,5.);
56  m_h_cell_eta->StatOverflows();
57  CHECK(m_thistSvc->regHist( m_path+m_h_cell_eta->GetName(), m_h_cell_eta));
58 
59  m_h_cell_phi = new TH1D("h_Calo_cell_phi", "cell_phi", 50,-3.1416,3.1416);
60  m_h_cell_phi->StatOverflows();
61  CHECK(m_thistSvc->regHist( m_path+m_h_cell_phi->GetName(), m_h_cell_phi));
62 
63  m_h_cell_radius = new TH1D("h_Calo_cell_radius", "cell_radius", 100, 0., 6000.);
64  m_h_cell_radius->StatOverflows();
65  CHECK(m_thistSvc->regHist( m_path+m_h_cell_radius->GetName(), m_h_cell_radius));
66 
67  m_h_xy = new TH2F("h_Calo_xy", "xy", 100,-4000,4000,100, -4000, 4000);
68  m_h_xy->StatOverflows();
69  CHECK(m_thistSvc->regHist( m_path+m_h_xy->GetName(), m_h_xy));
70 
71  m_h_zr = new TH2D("h_Calo_zr", "zr", 100,-7000.,7000.,100, 0., 6000.);
72  m_h_zr->StatOverflows();
73  CHECK(m_thistSvc->regHist( m_path+m_h_zr->GetName(), m_h_zr));
74 
75  m_h_etaphi = new TH2D("h_Calo_etaphi", "eta_phi", 50,-5.,5.,50, -3.1416, 3.1416);
76  m_h_etaphi->StatOverflows();
77  CHECK(m_thistSvc->regHist( m_path+m_h_etaphi->GetName(), m_h_etaphi));
78 
79  //These histograms will be filled only if expert mode is set on
80  m_h_time_e = new TH2D("h_Calo_time_e", "energy vs time", 100, 0,50, 100,0,500);
81  m_h_time_e->StatOverflows();
82 
83  m_h_eta_e = new TH2D("h_Calo_eta_e", "energy vs eta", 50, -5,5, 100,0,500);
84  m_h_eta_e->StatOverflows();
85 
86  m_h_phi_e = new TH2D("h_Calo_phi_e", "energy vs phi", 50, -3.1416,3.1416, 100,0,500);
87  m_h_phi_e->StatOverflows();
88 
89  m_h_r_e = new TH2D("h_Calo_r_e", "energy vs radius", 100, 0,6000, 100,0,500);
90  m_h_r_e->StatOverflows();
91 
92  if (m_expert) {
93  CHECK(m_thistSvc->regHist(m_path + m_h_time_e->GetName(), m_h_time_e));
94  CHECK(m_thistSvc->regHist(m_path + m_h_eta_e->GetName(), m_h_eta_e));
95  CHECK(m_thistSvc->regHist(m_path + m_h_phi_e->GetName(), m_h_phi_e));
96  CHECK(m_thistSvc->regHist(m_path + m_h_r_e->GetName(), m_h_r_e));
97  }
98 
99  //Histograms for calibrated hits
100  m_h_calib_eta = new TH1D("h_calib_eta", "calib. hits eta", 50,-5,5);
101  m_h_calib_eta->StatOverflows();
102 
103  m_h_calib_phi = new TH1D("h_calib_phi", "calib. hits phi", 50,-3.1416,3.1416);
104  m_h_calib_phi->StatOverflows();
105 
106  m_h_calib_rz = new TH2D("h_calib_rz", "calib. hits r vs z", 100,-7000,7000,1000, 0,6000);
107  m_h_calib_rz->StatOverflows();
108 
109  m_h_calib_etaphi = new TH2D("h_calib_etaphi", "calib. hits eta vs phi",50,-5.,5., 50,-3.1416,3.1416);
110  m_h_calib_etaphi->StatOverflows();
111 
112  m_h_calib_eEM = new TH1D("h_calib_eEM", "calib. hits EM energy", 100,0,100);
113  m_h_calib_eEM->StatOverflows();
114 
115  m_h_calib_eNonEM = new TH1D("h_calib_nonEM", "calib. hits non EM energy", 100,0,100);
116  m_h_calib_eNonEM->StatOverflows();
117 
118  m_h_calib_eInv = new TH1D("h_calib_eInv", "calib. hits invisible energy", 100,0,100);
119  m_h_calib_eInv->StatOverflows();
120 
121  m_h_calib_eEsc = new TH1D("h_calib_eEsc", "calib. hits escaped energy", 100,0,100);
122  m_h_calib_eEsc->StatOverflows();
123 
124  m_h_calib_eTot = new TH1D("h_calib_eTot", "calib. hits energy", 100,0,100);
125  m_h_calib_eTot->StatOverflows();
126 
127  m_h_calib_eTotpartID = new TH1D("h_calib_eTotpartID", "calib. hits partID weighted with energy",600,0,300000);
128  m_h_calib_eTotpartID->StatOverflows();
129 
130  if (m_calib) {
131  CHECK(m_thistSvc->regHist(m_path + m_h_calib_eta->GetName(), m_h_calib_eta));
132  CHECK(m_thistSvc->regHist(m_path + m_h_calib_phi->GetName(), m_h_calib_phi));
133  CHECK(m_thistSvc->regHist(m_path + m_h_calib_rz->GetName(), m_h_calib_rz));
134  CHECK(m_thistSvc->regHist(m_path + m_h_calib_etaphi->GetName(), m_h_calib_etaphi));
135  CHECK(m_thistSvc->regHist(m_path + m_h_calib_eEM->GetName(), m_h_calib_eEM));
136  CHECK(m_thistSvc->regHist(m_path + m_h_calib_eNonEM->GetName(), m_h_calib_eNonEM));
137  CHECK(m_thistSvc->regHist(m_path + m_h_calib_eInv->GetName(), m_h_calib_eInv));
138  CHECK(m_thistSvc->regHist(m_path + m_h_calib_eEsc->GetName(), m_h_calib_eEsc));
139  CHECK(m_thistSvc->regHist(m_path + m_h_calib_eTot->GetName(), m_h_calib_eTot));
141  }
142 
144  m_tree = new TTree("Calo", "Calo");
145  std::string fullNtupleName = "/" + m_ntupleFileName + "/";
146  CHECK( m_thistSvc->regTree(fullNtupleName, m_tree) );
147 
148  if (m_tree) {
149  m_tree->Branch("CellEta", &m_cell_eta);
150  m_tree->Branch("CellPhi", &m_cell_phi);
151  m_tree->Branch("CellX", &m_cell_x);
152  m_tree->Branch("CellY", &m_cell_y);
153  m_tree->Branch("CellZ", &m_cell_z);
154  m_tree->Branch("CellE", &m_cell_e);
155  m_tree->Branch("CellRadius", &m_cell_radius);
156  m_tree->Branch("Time", &m_time);
157  m_tree->Branch("CalibEta", &m_calib_eta);
158  m_tree->Branch("CalibPhi", &m_calib_phi);
159  m_tree->Branch("CalibRadius", &m_calib_radius);
160  m_tree->Branch("CalibZ", &m_calib_z);
161  m_tree->Branch("Calib_eEM", &m_calib_eEM);
162  m_tree->Branch("Calib_eNonEM", &m_calib_eNonEM);
163  m_tree->Branch("Calib_eInv", &m_calib_eInv);
164  m_tree->Branch("Calib_eEsc", &m_calib_eEsc);
165  m_tree->Branch("Calib_eTot", &m_calib_eTot);
166  m_tree->Branch("Calib_partID", &m_calib_partID);
167  }
168  else {
169  ATH_MSG_ERROR( "No tree found!" );
170  }
171 
172  return StatusCode::SUCCESS;
173 }
174 
175 
177  ATH_MSG_DEBUG( "In CaloHitAnalysis::execute()" );
178 
179  m_cell_eta->clear();
180  m_cell_phi->clear();
181  m_cell_e->clear();
182  m_cell_x->clear();
183  m_cell_y->clear();
184  m_cell_z->clear();
185  m_cell_radius->clear();
186  m_time->clear();
187  m_calib_eta->clear();
188  m_calib_phi->clear();
189  m_calib_radius->clear();
190  m_calib_z->clear();
191  m_calib_eEM->clear();
192  m_calib_eNonEM->clear();
193  m_calib_eInv->clear();
194  m_calib_eEsc->clear();
195  m_calib_eTot->clear();
196  m_calib_partID->clear();
197 
198  if (m_useTile) {
199  const TileHitVector* hitVec;
200  //const TileHitVector* hitVec;
201  if (evtStore()->retrieve(hitVec,"TileHitVec") == StatusCode::SUCCESS && m_tileMgr && m_tileID) {
202  for (const auto& i_hit : *hitVec) {
203  Identifier pmt_id = (i_hit).identify();
204  Identifier cell_id = m_tileID->cell_id(pmt_id);
205  const CaloDetDescrElement* ddElement = (m_tileID->is_tile_aux(cell_id)) ? 0 : m_tileMgr->get_cell_element(cell_id);
206  if (ddElement) {
207  double tot_e = 0.;
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);
211  m_h_cell_e->Fill(tot_e);
212  m_h_cell_eta->Fill(ddElement->eta());
213  m_h_cell_phi->Fill(ddElement->phi()) ;
214  m_h_cell_radius->Fill(ddElement->z());
215  m_h_xy->Fill(ddElement->x(), ddElement->y());
216  m_h_zr->Fill(ddElement->r(), ddElement->r());
217  m_h_etaphi->Fill(ddElement->eta(), ddElement->phi());
218 
219  if (m_expert) {
220  m_h_time_e->Fill(tot_time, tot_e);
221  m_h_eta_e->Fill(ddElement->eta(), tot_e);
222  m_h_phi_e->Fill(ddElement->phi(), tot_e);
223  m_h_r_e->Fill(ddElement->r(), tot_e);
224  }
225  m_cell_eta->push_back(ddElement->eta());
226  m_cell_phi->push_back(ddElement->phi());
227  m_cell_e->push_back(tot_e);
228  m_cell_x->push_back(ddElement->x());
229  m_cell_y->push_back(ddElement->y());
230  m_cell_z->push_back(ddElement->z());
231  m_cell_radius->push_back(ddElement->r());
232  m_time->push_back(tot_time);
233  }
234  }
235  }
236  } // DoTile
237 
238  if (m_useLAr) {
240  ATH_CHECK(caloMgrHandle.isValid());
241  const CaloDetDescrManager* caloMgr = *caloMgrHandle;
242 
243  std::string lArKey [4] = {"LArHitEMB", "LArHitEMEC", "LArHitFCAL", "LArHitHEC"};
244  for (unsigned int i=0; i<4; i++) {
245  const LArHitContainer* iter;
246  if (evtStore()->retrieve(iter,lArKey[i]) == StatusCode::SUCCESS) {
247  for (auto hi : *iter ) {
248  const CaloDetDescrElement *hitElement = caloMgr->get_element(hi->cellID());
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();
257 
258  m_h_cell_e->Fill( energy );
259  m_h_cell_eta->Fill( eta );
260  m_h_cell_phi->Fill( phi );
261  m_h_cell_radius->Fill( radius );
262  m_h_xy->Fill(x,y);
263  m_h_zr->Fill(z,radius);
264  m_h_etaphi->Fill(eta, phi);
265  if (m_expert) {
266  m_h_time_e->Fill(time, energy);
267  m_h_eta_e->Fill(eta, energy);
268  m_h_phi_e->Fill(phi, energy);
269  m_h_r_e->Fill(radius, energy);
270  }
271  m_cell_eta->push_back(eta);
272  m_cell_phi->push_back(phi);
273  m_cell_e->push_back(energy);
274  m_cell_x->push_back(x);
275  m_cell_y->push_back(y);
276  m_cell_z->push_back(z);
277  m_cell_radius->push_back(radius);
278  m_time->push_back(time);
279  } // End while hits
280  } // End statuscode success upon retrieval of hits
281  } // End detector type loop
282 
283  //For calibrated hits
284  std::string LArCalibKey [3] = {"LArCalibrationHitActive", "LArCalibrationHitInactive","LArCalibrationHitDeadMaterial"};
285  for (unsigned int j=0; j<3; j++) {
286  if (!m_calib) continue;
288  if (evtStore()->retrieve(iterator, LArCalibKey[j]) == StatusCode::SUCCESS) {
289  //Not tested
290  for (auto hit_i : *iterator) {
291  GeoCaloCalibHit geoHit(*hit_i, LArCalibKey[j], caloMgr);
292  if (!geoHit) continue;
293  const CaloDetDescrElement* Element = geoHit.getDetDescrElement();
294  double eta = Element->eta();
295  double phi = Element->phi();
296  double radius = Element->r();
297  double z = Element->z();
298  double emEnergy = geoHit.energyEM();
299  double nonEmEnergy = geoHit.energyNonEM();
300  double invEnergy = geoHit.energyInvisible();
301  double escEnergy = geoHit.energyEscaped();
302  double totEnergy = geoHit.energyTotal();
303  double particleID = HepMC::barcode(*hit_i);
304 
305  m_h_calib_eta->Fill(eta);
306  m_h_calib_phi->Fill(phi);
307  m_h_calib_rz->Fill(z,radius);
308  m_h_calib_etaphi->Fill(eta,phi);
309  m_h_calib_eEM->Fill(emEnergy);
310  m_h_calib_eNonEM->Fill(nonEmEnergy);
311  m_h_calib_eInv->Fill(invEnergy);
312  m_h_calib_eEsc->Fill(escEnergy);
313  m_h_calib_eTot->Fill(totEnergy);
314  m_h_calib_eTotpartID->Fill(particleID, totEnergy);
315 
316  m_calib_eta->push_back(eta);
317  m_calib_phi->push_back(phi);
318  m_calib_radius->push_back(radius);
319  m_calib_z->push_back(z);
320  m_calib_eEM->push_back(emEnergy);
321  m_calib_eNonEM->push_back(nonEmEnergy);
322  m_calib_eInv->push_back(invEnergy);
323  m_calib_eEsc->push_back(escEnergy);
324  m_calib_eTot->push_back(totEnergy);
325  m_calib_partID->push_back(particleID);
326  }
327  }
328  }
329  } // DoLAr
330 
331 
332  if (m_tree) m_tree->Fill();
333 
334  return StatusCode::SUCCESS;
335 }
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
Tile_Base_ID::is_tile_aux
bool is_tile_aux(const Identifier &id) const
Definition: Tile_Base_ID.cxx:232
CaloCalibrationHitContainer
Definition: CaloCalibrationHitContainer.h:25
CaloHitAnalysis::m_h_calib_eTotpartID
TH1 * m_h_calib_eTotpartID
Definition: CaloHitAnalysis.h:60
xAOD::identify
const Identifier & identify(const UncalibratedMeasurement *meas)
Returns the associated identifier from the muon measurement.
Definition: MuonSpectrometer/MuonPhaseII/Event/xAOD/xAODMuonPrepData/Root/UtilFunctions.cxx:61
CaloHitAnalysis::m_h_time_e
TH2 * m_h_time_e
Definition: CaloHitAnalysis.h:47
CaloHitAnalysis::m_calib_z
std::vector< float > * m_calib_z
Definition: CaloHitAnalysis.h:76
GeoCaloCalibHit
Adaptor for CaloCalibHits.
Definition: GeoCaloCalibHit.h:26
GeoCaloCalibHit::energyEscaped
double energyEscaped() const
CaloHitAnalysis::m_calib_partID
std::vector< float > * m_calib_partID
Definition: CaloHitAnalysis.h:82
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
CaloDetDescrElement::y
float y() const
cell y
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:365
GeoCaloCalibHit::energyEM
double energyEM() const
CaloHitAnalysis::m_h_cell_e
TH1 * m_h_cell_e
Definition: CaloHitAnalysis.h:42
CaloHitAnalysis::initialize
virtual StatusCode initialize() override
Definition: CaloHitAnalysis.cxx:39
CaloHitAnalysis::m_h_cell_radius
TH1 * m_h_cell_radius
Definition: CaloHitAnalysis.h:43
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
CaloHitAnalysis::m_h_calib_eta
TH1 * m_h_calib_eta
Definition: CaloHitAnalysis.h:51
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
CaloHitAnalysis::m_calib_phi
std::vector< float > * m_calib_phi
Definition: CaloHitAnalysis.h:74
CaloHitAnalysis::m_cell_y
std::vector< float > * m_cell_y
Definition: CaloHitAnalysis.h:68
CaloDetDescrManager_Base::get_element
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
Definition: CaloDetDescrManager.cxx:159
AtlasHitsVector
Definition: AtlasHitsVector.h:33
CaloHitAnalysis::m_h_calib_eEsc
TH1 * m_h_calib_eEsc
Definition: CaloHitAnalysis.h:58
CaloHitAnalysis::m_cell_radius
std::vector< float > * m_cell_radius
Definition: CaloHitAnalysis.h:71
CaloHitAnalysis::m_time
std::vector< float > * m_time
Definition: CaloHitAnalysis.h:72
CaloHitAnalysis::m_h_calib_eInv
TH1 * m_h_calib_eInv
Definition: CaloHitAnalysis.h:57
CaloHitAnalysis::m_calib_radius
std::vector< float > * m_calib_radius
Definition: CaloHitAnalysis.h:75
LArHitContainer
Hit collection.
Definition: LArHitContainer.h:26
CaloHitAnalysis::m_h_calib_etaphi
TH2 * m_h_calib_etaphi
Definition: CaloHitAnalysis.h:54
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
GeoCaloCalibHit::energyNonEM
double energyNonEM() const
CaloHitAnalysis::m_calib_eTot
std::vector< float > * m_calib_eTot
Definition: CaloHitAnalysis.h:81
GeoCaloCalibHit.h
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
x
#define x
CaloHitAnalysis::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: CaloHitAnalysis.h:93
CaloHitAnalysis::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: CaloHitAnalysis.h:92
CaloCalibrationHitContainer.h
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
TileID.h
TileDetDescrManager.h
CaloHitAnalysis::m_calib_eEsc
std::vector< float > * m_calib_eEsc
Definition: CaloHitAnalysis.h:80
GeoCaloCalibHit::getDetDescrElement
const CaloDetDescrElement * getDetDescrElement() const
AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
CaloHitAnalysis::m_tileMgr
const TileDetDescrManager * m_tileMgr
Definition: CaloHitAnalysis.h:63
CaloHitAnalysis::m_h_calib_eNonEM
TH1 * m_h_calib_eNonEM
Definition: CaloHitAnalysis.h:56
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
CaloHitAnalysis::m_h_calib_rz
TH2 * m_h_calib_rz
Definition: CaloHitAnalysis.h:53
CaloHitAnalysis::m_calib_eInv
std::vector< float > * m_calib_eInv
Definition: CaloHitAnalysis.h:79
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
CaloHitAnalysis::m_useLAr
BooleanProperty m_useLAr
Definition: CaloHitAnalysis.h:86
CaloHitAnalysis::m_path
StringProperty m_path
Definition: CaloHitAnalysis.h:91
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
GeoCaloCalibHit::energyInvisible
double energyInvisible() const
lumiFormat.i
int i
Definition: lumiFormat.py:85
z
#define z
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
CaloHitAnalysis::m_h_etaphi
TH2 * m_h_etaphi
Definition: CaloHitAnalysis.h:46
HepMC::barcode
int barcode(const T *p)
Definition: Barcode.h:16
CaloHitAnalysis::m_calib_eNonEM
std::vector< float > * m_calib_eNonEM
Definition: CaloHitAnalysis.h:78
CaloHitAnalysis::m_h_cell_eta
TH1 * m_h_cell_eta
Simple variables by Ketevi.
Definition: CaloHitAnalysis.h:40
CaloHitAnalysis::m_h_eta_e
TH2 * m_h_eta_e
Definition: CaloHitAnalysis.h:48
CaloHitAnalysis::m_useTile
BooleanProperty m_useTile
Definition: CaloHitAnalysis.h:87
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
CaloHitAnalysis::m_h_cell_phi
TH1 * m_h_cell_phi
Definition: CaloHitAnalysis.h:41
AthAlgorithm
Definition: AthAlgorithm.h:47
CaloHitAnalysis::m_ntupleFileName
StringProperty m_ntupleFileName
Definition: CaloHitAnalysis.h:90
CaloHitAnalysis::m_cell_z
std::vector< float > * m_cell_z
Definition: CaloHitAnalysis.h:69
TileDetDescrManager::get_cell_element
CaloDetDescrElement * get_cell_element(unsigned int cell_hash) const
Definition: TileDetDescrManager.h:156
TileHitVector.h
TileHit.h
CaloHitAnalysis::m_calib_eEM
std::vector< float > * m_calib_eEM
Definition: CaloHitAnalysis.h:77
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
CaloHitAnalysis::m_cell_e
std::vector< float > * m_cell_e
Definition: CaloHitAnalysis.h:70
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
CaloHitAnalysis::m_h_xy
TH2 * m_h_xy
Definition: CaloHitAnalysis.h:44
CaloHitAnalysis::m_h_calib_eEM
TH1 * m_h_calib_eEM
Definition: CaloHitAnalysis.h:55
CaloHitAnalysis::m_tree
TTree * m_tree
Definition: CaloHitAnalysis.h:89
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
CaloDetDescrElement::x
float x() const
cell x
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:363
CaloHitAnalysis.h
y
#define y
CaloDetDescrManager
This class provides the client interface for accessing the detector description information common to...
Definition: CaloDetDescrManager.h:473
CaloHitAnalysis::m_h_calib_eTot
TH1 * m_h_calib_eTot
Definition: CaloHitAnalysis.h:59
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
CaloHitAnalysis::execute
virtual StatusCode execute() override
Definition: CaloHitAnalysis.cxx:176
LArHitContainer.h
CaloDetDescrElement::z
float z() const
cell z
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:367
GeoCaloCalibHit::energyTotal
double energyTotal() const
CaloHitAnalysis::m_expert
BooleanProperty m_expert
Definition: CaloHitAnalysis.h:84
CaloDetDescrElement::eta
float eta() const
cell eta
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:344
CaloHitAnalysis::m_cell_eta
std::vector< float > * m_cell_eta
Definition: CaloHitAnalysis.h:65
CaloHitAnalysis::m_h_r_e
TH2 * m_h_r_e
Definition: CaloHitAnalysis.h:50
CaloHitAnalysis::CaloHitAnalysis
CaloHitAnalysis(const std::string &name, ISvcLocator *pSvcLocator)
Definition: CaloHitAnalysis.cxx:33
CaloDetDescrElement::phi
float phi() const
cell phi
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:346
CaloHitAnalysis::m_calib_eta
std::vector< float > * m_calib_eta
Definition: CaloHitAnalysis.h:73
CaloHitAnalysis::m_h_phi_e
TH2 * m_h_phi_e
Definition: CaloHitAnalysis.h:49
CaloDetDescrElement::r
float r() const
cell r
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:348
Tile_Base_ID::cell_id
Identifier cell_id(const Identifier &any_id) const
Definition: Tile_Base_ID.cxx:581
CaloHitAnalysis::m_cell_phi
std::vector< float > * m_cell_phi
Definition: CaloHitAnalysis.h:66
CaloHitAnalysis::m_calib
BooleanProperty m_calib
Definition: CaloHitAnalysis.h:85
CaloHitAnalysis::m_h_calib_phi
TH1 * m_h_calib_phi
Definition: CaloHitAnalysis.h:52
CaloHitAnalysis::m_tileID
const TileID * m_tileID
Definition: CaloHitAnalysis.h:62
CaloHitAnalysis::m_h_zr
TH2 * m_h_zr
Definition: CaloHitAnalysis.h:45
CaloHitAnalysis::m_cell_x
std::vector< float > * m_cell_x
Definition: CaloHitAnalysis.h:67
Identifier
Definition: IdentifierFieldParser.cxx:14