ATLAS Offline Software
Public Member Functions | Public Attributes | Protected Attributes | Private Attributes | List of all members
egammaMonitoring::RecoElectronHistograms Class Reference

#include <RecoElectronHistograms.h>

Inheritance diagram for egammaMonitoring::RecoElectronHistograms:
Collaboration diagram for egammaMonitoring::RecoElectronHistograms:

Public Member Functions

StatusCode initializePlots ()
 
void fill (const xAOD::Electron &elrec)
 
void isData (bool b=true)
 
void fill (const xAOD::IParticle &egamma)
 
void fill (const xAOD::IParticle &egamma, float mu)
 
void fill (const xAOD::IParticle &egamma)
 
void fill (const xAOD::IParticle &egamma, float mu)
 
void hasFwd (bool a=true)
 
 IHistograms ()
 
 IHistograms (std::string name, std::string title, std::string folder, ITHistSvc *&rootHistSvc)
 

Public Attributes

std::map< std::string, TH2D * > histo2DMap
 
std::map< std::string, TH3D * > histo3DMap
 
std::map< std::string, TH1D * > histoMap
 

Protected Attributes

std::string m_name
 
std::string m_title
 
std::string m_folder
 
ITHistSvc * m_rootHistSvc = nullptr
 

Private Attributes

bool m_isData = false
 
bool m_hasFwd = false
 

Detailed Description

Definition at line 16 of file RecoElectronHistograms.h.

Member Function Documentation

◆ fill() [1/5]

void RecoElectronHistograms::fill ( const xAOD::Electron elrec)

Definition at line 39 of file RecoElectronHistograms.cxx.

39  {
40 
42 
43  if (!m_isData) {
44  static const SG::AuxElement::ConstAccessor<int> accType("truthType");
45  static const SG::AuxElement::ConstAccessor<int> accOrigin("truthOrigin");
46  if (accOrigin.isAvailable(elrec))
47  histoMap["truthOrigin"]->Fill(accOrigin(elrec));
48  else
49  histoMap["truthOrigin"]->Fill(-1);
50  if (accType.isAvailable(elrec))
51  histoMap["truthType"]->Fill(accType(elrec));
52  else
53  histoMap["truthType"]->Fill(-1);
54  }
55 
56  histo2DMap["eta_nTracks"]->Fill(elrec.eta(),elrec.nTrackParticles());
57  if (elrec.nTrackParticles())
58  histo3DMap["eteta_eop"]->Fill(elrec.pt()*1e-3,std::abs(elrec.eta()),elrec.pt()/elrec.trackParticle()->pt());
59 
60 }

◆ fill() [2/5]

void egammaMonitoring::ParticleHistograms::fill ( const xAOD::IParticle egamma)
virtualinherited

Implements egammaMonitoring::IHistograms.

Reimplemented in egammaMonitoring::TruthPhotonHistograms.

Definition at line 41 of file ParticleHistograms.cxx.

41  {
43  }

◆ fill() [3/5]

void egammaMonitoring::ParticleHistograms::fill

Definition at line 23 of file ParticleHistograms.cxx.

41  {
43  }

◆ fill() [4/5]

void egammaMonitoring::ParticleHistograms::fill ( const xAOD::IParticle egamma,
float  mu 
)
virtualinherited

Implements egammaMonitoring::IHistograms.

Reimplemented in egammaMonitoring::TruthPhotonHistograms.

Definition at line 45 of file ParticleHistograms.cxx.

45  {
46 
47  double pT = egamma.pt()*1e-3;
48  if (pT > 0)
49  histoMap["pT"]->Fill(pT);
50  histoMap["eta"]->Fill(egamma.eta());
51  histoMap["phi"]->Fill(egamma.phi());
52 
53  if (pT > 15) {
54  histoMap["eta_15GeV"]->Fill(egamma.eta());
55  histoMap["phi_15GeV"]->Fill(egamma.phi());
56  }
57 
58  if (m_hasFwd && std::abs(egamma.eta()) < 4.) {
59  histoMap["pT_eta4"]->Fill(pT);
60  histoMap["phi_eta4"]->Fill(egamma.phi());
61  }
62 
63  }

◆ fill() [5/5]

void egammaMonitoring::ParticleHistograms::fill

Definition at line 24 of file ParticleHistograms.cxx.

45  {
46 
47  double pT = egamma.pt()*1e-3;
48  if (pT > 0)
49  histoMap["pT"]->Fill(pT);
50  histoMap["eta"]->Fill(egamma.eta());
51  histoMap["phi"]->Fill(egamma.phi());
52 
53  if (pT > 15) {
54  histoMap["eta_15GeV"]->Fill(egamma.eta());
55  histoMap["phi_15GeV"]->Fill(egamma.phi());
56  }
57 
58  if (m_hasFwd && std::abs(egamma.eta()) < 4.) {
59  histoMap["pT_eta4"]->Fill(pT);
60  histoMap["phi_eta4"]->Fill(egamma.phi());
61  }
62 
63  }

◆ hasFwd()

void egammaMonitoring::ParticleHistograms::hasFwd ( bool  a = true)
inlineinherited

Definition at line 26 of file ParticleHistograms.h.

26 { m_hasFwd = a; }

◆ IHistograms() [1/2]

egammaMonitoring::IHistograms::IHistograms
inherited

◆ IHistograms() [2/2]

egammaMonitoring::IHistograms::IHistograms
inlineinherited

Definition at line 23 of file IHistograms.h.

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

◆ initializePlots()

StatusCode RecoElectronHistograms::initializePlots ( )
virtual

Reimplemented from egammaMonitoring::ParticleHistograms.

Definition at line 14 of file RecoElectronHistograms.cxx.

14  {
15 
17 
18  const char* fN = m_name.c_str();
19 
20  if (!m_isData) {
21  histoMap["truthType"] = new TH1D(Form("%s_truthType",fN), ";truth type; Events", 41,-1,40);
22  histoMap["truthOrigin"] = new TH1D(Form("%s_truthOrigin",fN), ";truth origin; Events",51,-1,50);
23  ATH_CHECK(m_rootHistSvc->regHist(m_folder+"truthType", histoMap["truthType"]));
24  ATH_CHECK(m_rootHistSvc->regHist(m_folder+"truthOrigin", histoMap["truthOrigin"]));
25  }
26 
27  histo2DMap["eta_nTracks"] = new TH2D(Form("%s_eta_nTracks",fN),
28  ";#eta;n_{trk}; Events", 90, -4.5, 4.5, 10, 0,10);
29  ATH_CHECK(m_rootHistSvc->regHist(m_folder+"eta_nTracks", histo2DMap["eta_nTracks"]));
30 
31  histo3DMap["eteta_eop"] = new TH3D(Form("%s_eteta_eop",fN),
32  ";E_{T} [GeV];#eta;E/p; Events", 20, 0, 200, 25, 0, 2.5, 250, 0.5,3.);
33  ATH_CHECK(m_rootHistSvc->regHist(m_folder+"eteta_eop", histo3DMap["eteta_eop"]));
34 
35  return StatusCode::SUCCESS;
36 
37 }

◆ isData()

void egammaMonitoring::RecoElectronHistograms::isData ( bool  b = true)
inline

Definition at line 29 of file RecoElectronHistograms.h.

29 { m_isData = b; }

Member Data Documentation

◆ histo2DMap

std::map<std::string, TH2D*> egammaMonitoring::RecoElectronHistograms::histo2DMap

Definition at line 21 of file RecoElectronHistograms.h.

◆ histo3DMap

std::map<std::string, TH3D*> egammaMonitoring::RecoElectronHistograms::histo3DMap

Definition at line 22 of file RecoElectronHistograms.h.

◆ histoMap

std::map<std::string, TH1D*> egammaMonitoring::IHistograms::histoMap
inherited

Definition at line 39 of file IHistograms.h.

◆ m_folder

std::string egammaMonitoring::IHistograms::m_folder
protectedinherited

Definition at line 44 of file IHistograms.h.

◆ m_hasFwd

bool egammaMonitoring::ParticleHistograms::m_hasFwd = false
privateinherited

Definition at line 29 of file ParticleHistograms.h.

◆ m_isData

bool egammaMonitoring::RecoElectronHistograms::m_isData = false
private

Definition at line 32 of file RecoElectronHistograms.h.

◆ m_name

std::string egammaMonitoring::IHistograms::m_name
protectedinherited

Definition at line 42 of file IHistograms.h.

◆ m_rootHistSvc

ITHistSvc* egammaMonitoring::IHistograms::m_rootHistSvc = nullptr
protectedinherited

Definition at line 45 of file IHistograms.h.

◆ m_title

std::string egammaMonitoring::IHistograms::m_title
protectedinherited

Definition at line 43 of file IHistograms.h.


The documentation for this class was generated from the following files:
xAOD::TrackParticle_v1::pt
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Definition: TrackParticle_v1.cxx:73
CalculateHighPtTerm.pT
pT
Definition: ICHEP2016/CalculateHighPtTerm.py:57
egammaMonitoring::RecoElectronHistograms::histo2DMap
std::map< std::string, TH2D * > histo2DMap
Definition: RecoElectronHistograms.h:21
ParticleImpl::pt
virtual double pt() const
transverse momentum
Definition: ParticleImpl.h:554
TH3D
Definition: rootspy.cxx:505
egammaMonitoring::RecoElectronHistograms::histo3DMap
std::map< std::string, TH3D * > histo3DMap
Definition: RecoElectronHistograms.h:22
xAOD::Electron_v1::trackParticle
const xAOD::TrackParticle * trackParticle(size_t index=0) const
Pointer to the xAOD::TrackParticle/s that match the electron candidate.
Definition: Electron_v1.cxx:55
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:54
egammaMonitoring::ParticleHistograms::fill
void fill(const xAOD::IParticle &egamma)
Definition: ParticleHistograms.cxx:41
egammaMonitoring::IHistograms::m_rootHistSvc
ITHistSvc * m_rootHistSvc
Definition: IHistograms.h:45
xAOD::Electron_v1::nTrackParticles
size_t nTrackParticles() const
Return the number xAOD::TrackParticles that match the electron candidate.
Definition: Electron_v1.cxx:44
egamma
Definition: egamma.h:58
egammaMonitoring::IHistograms::m_folder
std::string m_folder
Definition: IHistograms.h:44
egammaMonitoring::ParticleHistograms::initializePlots
StatusCode initializePlots()
Definition: ParticleHistograms.cxx:13
covarianceTool.title
title
Definition: covarianceTool.py:542
ParticleImpl::phi
virtual double phi() const
phi in [-pi,pi[
Definition: ParticleImpl.h:524
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
ParticleImpl::eta
virtual double eta() const
pseudo rapidity
Definition: ParticleImpl.h:514
egammaMonitoring::RecoElectronHistograms::m_isData
bool m_isData
Definition: RecoElectronHistograms.h:32
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
a
TList * a
Definition: liststreamerinfos.cxx:10
xAOD::Egamma_v1::pt
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Definition: Egamma_v1.cxx:65
CaloCondBlobAlgs_fillNoiseFromASCII.folder
folder
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:56
egammaMonitoring::IHistograms::m_title
std::string m_title
Definition: IHistograms.h:43
xAOD::Egamma_v1::eta
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
Definition: Egamma_v1.cxx:70
egammaMonitoring::ParticleHistograms::m_hasFwd
bool m_hasFwd
Definition: ParticleHistograms.h:29
egammaMonitoring::IHistograms::m_name
std::string m_name
Definition: IHistograms.h:42
egammaMonitoring::IHistograms::histoMap
std::map< std::string, TH1D * > histoMap
Definition: IHistograms.h:37