ATLAS Offline Software
Loading...
Searching...
No Matches
egammaMonitoring::RecoClusterHistograms Class Reference

#include <RecoClusterHistograms.h>

Collaboration diagram for egammaMonitoring::RecoClusterHistograms:

Public Member Functions

 RecoClusterHistograms (std::string name, std::string title, std::string folder, SmartIF< ITHistSvc > rootHistSvc)
StatusCode initializePlots ()
void fill (const xAOD::Egamma &egamma)

Public Attributes

std::map< std::string, TH3D * > m_histo3DMap

Protected Attributes

std::string m_name
std::string m_title
std::string m_folder
SmartIF< ITHistSvc > m_rootHistSvc

Detailed Description

Definition at line 19 of file RecoClusterHistograms.h.

Constructor & Destructor Documentation

◆ RecoClusterHistograms()

egammaMonitoring::RecoClusterHistograms::RecoClusterHistograms ( std::string name,
std::string title,
std::string folder,
SmartIF< ITHistSvc > rootHistSvc )
inline

Definition at line 23 of file RecoClusterHistograms.h.

26 :
27 m_name(std::move(name)),
28 m_title(std::move(title)),
29 m_folder(std::move(folder)),
30 m_rootHistSvc(std::move(rootHistSvc)) {}

Member Function Documentation

◆ fill()

void RecoClusterHistograms::fill ( const xAOD::Egamma & egamma)

Definition at line 38 of file RecoClusterHistograms.cxx.

38 {
39
40 const xAOD::CaloCluster *cluster = egamma.caloCluster();
41 // This should be a real error...
42 if (!cluster) {
43 return;
44 }
45
46 const CaloClusterCellLink* cellLinks = cluster->getCellLinks();
47 if (!cellLinks) {
48 return;
49 }
50
51 double et = egamma.pt()*1e-3;
52 double aeta = std::abs(egamma.eta());
53
54 std::map<int, int > cells_per_layer;
55 for (const CaloCell* cell : *cellLinks) {
56 if (cell) {
57 int layer = cell->caloDDE()->getLayer();
58 cells_per_layer[layer]++;
59 }
60 }
61
62 auto associatedTopoCluster = xAOD::EgammaHelpers::getAssociatedTopoClusters(cluster);
63 m_histo3DMap["hNToposvseteta"]->Fill(et,aeta,associatedTopoCluster.size());
64
65 for (int il = 0; il < 4; il++) {
66 int nc = cells_per_layer.find(il) != cells_per_layer.end() ? cells_per_layer[il] : 0;
67 m_histo3DMap[Form("hNcellsvseteta_Lr%i",il)]->Fill(et,aeta,nc);
68 m_histo3DMap[Form("hEvseteta_Lr%i",il)]->Fill(et,aeta,cluster->energyBE(il)*1e-3);
69 }
70
71}
float et(const xAOD::jFexSRJetRoI *j)
std::map< std::string, TH3D * > m_histo3DMap
const CaloClusterCellLink * getCellLinks() const
Get a pointer to the CaloClusterCellLink object (const version)
float energyBE(const unsigned layer) const
Get the energy in one layer of the EM Calo.
@ layer
Definition HitInfo.h:79
std::vector< const xAOD::CaloCluster * > getAssociatedTopoClusters(const xAOD::CaloCluster *cluster)
Return a vector of all the topo clusters associated with the egamma cluster.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.

◆ initializePlots()

StatusCode RecoClusterHistograms::initializePlots ( )

Definition at line 18 of file RecoClusterHistograms.cxx.

18 {
19
20 const char* fN = m_name.c_str();
21
22 for (int il = 0; il < 4; il++) {
23 TString hN = Form("hNcellsvseteta_Lr%i",il);
24 m_histo3DMap[hN.Data()] = new TH3D(Form("%s_%s",fN,hN.Data()),"",20,0,200,25,0,2.5,60,0,60);
25 ATH_CHECK(m_rootHistSvc->regHist(m_folder+hN.Data(), m_histo3DMap[hN.Data()]));
26 hN = Form("hEvseteta_Lr%i",il);
27 m_histo3DMap[hN.Data()] = new TH3D(Form("%s_%s",fN,hN.Data()),"",20,0,200,25,0,2.5,50,0,200);
28 ATH_CHECK(m_rootHistSvc->regHist(m_folder+hN.Data(), m_histo3DMap[hN.Data()]));
29 }
30 TString hN = "hNToposvseteta";
31 m_histo3DMap[hN.Data()] = new TH3D(Form("%s_%s",fN,hN.Data()),"",20,0,200,25,0,2.5,10,0,10);
32 ATH_CHECK(m_rootHistSvc->regHist(m_folder+hN.Data(), m_histo3DMap[hN.Data()]));
33
34 return StatusCode::SUCCESS;
35
36} // initializePlots
#define ATH_CHECK
Evaluate an expression and check for errors.

Member Data Documentation

◆ m_folder

std::string egammaMonitoring::RecoClusterHistograms::m_folder
protected

Definition at line 40 of file RecoClusterHistograms.h.

◆ m_histo3DMap

std::map<std::string, TH3D*> egammaMonitoring::RecoClusterHistograms::m_histo3DMap

Definition at line 32 of file RecoClusterHistograms.h.

◆ m_name

std::string egammaMonitoring::RecoClusterHistograms::m_name
protected

Definition at line 38 of file RecoClusterHistograms.h.

◆ m_rootHistSvc

SmartIF<ITHistSvc> egammaMonitoring::RecoClusterHistograms::m_rootHistSvc
protected

Definition at line 41 of file RecoClusterHistograms.h.

◆ m_title

std::string egammaMonitoring::RecoClusterHistograms::m_title
protected

Definition at line 39 of file RecoClusterHistograms.h.


The documentation for this class was generated from the following files: