ATLAS Offline Software
Loading...
Searching...
No Matches
ElectronValidationPlots.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
7
8ElectronValidationPlots::ElectronValidationPlots(PlotBase* pParent, const std::string& sDir):PlotBase(pParent, sDir),
9 m_oCentralElecPlots(this,"Central/", "Central"),
10 m_oFrwdElecPlots(this, "Frwd/", "Forward"),
11 m_oTruthIsoPlots(this, "Truth/Iso/", "Truth Electron Prompt"),
12 author(nullptr),
13 res_et(nullptr),
14 res_eta(nullptr),
15 res_et_cut(nullptr),
16 res_eta_cut(nullptr),
17 res_et_cut_pt_20(nullptr),
18 res_eta_cut_pt_20(nullptr),
19 //pt_ratio(nullptr),
20 matrix(nullptr)
21
22{}
23
25
26 author = Book1D("author", "Electron Author ; author;Events", 20, -0.5, 19.5);
27 res_et = BookTProfile("res_et"," IsoElectron;E_{T}^{Truth}, [GeV];(E_{T} - E_{T}^{Truth})/E_{T}^{Truth}",100, 0., 200.);
28 res_eta = BookTProfile("res_eta"," IsoElectron;#eta;(E_{T} - E_{T}^{Truth})/E_{T}^{Truth}",50, -2.5, 2.5);
29 res_et_cut = BookTProfile("res_et_cut"," IsoElectron;E_{T}^{Truth}, [GeV];(E_{T} - E_{T}^{Truth})/E_{T}^{Truth}",100, 0., 200.);
30 res_eta_cut = BookTProfile("res_eta_cut"," IsoElectron;#eta;(E_{T} - E_{T}^{Truth})/E_{T}^{Truth}",50, -2.5, 2.5);
31 res_et_cut_pt_20 = BookTProfile("res_et_cut_pt_20"," Prompt Electron;E_{T}^{Truth}, [GeV];(E_{T} - E_{T}^{Truth})/E_{T}^{Truth}",100, 0., 200.);
32 res_eta_cut_pt_20 = BookTProfile("res_eta_cut_pt_20"," Prompt Electron;#eta;(E_{T} - E_{T}^{Truth})/E_{T}^{Truth}",50, -2.5, 2.5);
33 matrix = Book2D("matrix","reco vs truth pt",200,0.,200.,200,0.,200.);
34
35}
36
37void ElectronValidationPlots::fill(const xAOD::Electron& electron, const xAOD::EventInfo& eventInfo, bool isPrompt) {
38
39 float weight = 1.;
40 weight = eventInfo.beamSpotWeight();
41
42 author->Fill(electron.author(),weight);
43
44 if(electron.author()&xAOD::EgammaParameters::AuthorElectron||
46 m_oCentralElecPlots.fill(electron, eventInfo, isPrompt);
47 }
48 else if(electron.author()&xAOD::EgammaParameters::AuthorFwdElectron) {
49 m_oFrwdElecPlots.fill(electron, eventInfo, isPrompt);
50 }
51}
Egamma::ElectronFrwdPlots m_oFrwdElecPlots
Egamma::KinematicsPlots m_oTruthIsoPlots
ElectronValidationPlots(PlotBase *pParent, const std::string &sDir)
void fill(const xAOD::Electron &electron, const xAOD::EventInfo &eventInfo, bool isPrompt)
Egamma::ElectronPlots m_oCentralElecPlots
TH1D * Book1D(const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
Definition PlotBase.cxx:94
PlotBase(PlotBase *parent, const std::string &sDir)
Definition PlotBase.cxx:29
TProfile * BookTProfile(const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, float startY=-1, float endY=-1, bool prependDir=true, bool useRMS=false)
Book a TProfile histogram.
Definition PlotBase.cxx:186
TH2F * Book2D(const std::string &name, const std::string &labels, int nBinsX, float startX, float endX, int nBinsY, float startY, float endY, bool prependDir=true)
Book a TH2F histogram.
Definition PlotBase.cxx:123
float beamSpotWeight() const
Weight for beam spot size reweighting.
const uint16_t AuthorElectron
Object Reconstructed by standard cluster-based algorithm.
Definition EgammaDefs.h:24
const uint16_t AuthorAmbiguous
Object Reconstructed by standard cluster-based algorithm.
Definition EgammaDefs.h:32
const uint16_t AuthorFwdElectron
Electron reconstructed by the Forward cluster-based algorithm.
Definition EgammaDefs.h:30
EventInfo_v1 EventInfo
Definition of the latest event info version.
Electron_v1 Electron
Definition of the current "egamma version".