22 for (
int i = 0; i <
nLevels; i++) {
28 for (
int i = 0; i <
nLevels-1; i++) {
44 TH1::SetDefaultSumw2(kTRUE);
46 for (
int i = 0; i <
nLevels; i++) {
53 for (
int i = 0; i <
nLevels-1; i++) {
65 h_fwd_dr_electron =
Book1D(
"DeltaRFwdElectron",
"#DeltaR(truth particle, electron); #DeltaR; Events", 30, 0., 0.2);
66 h_fwd_dphi_electron =
Book1D(
"DeltaPhiFwdElectron",
"#Delta #phi(truth particle, electron); #Delta #phi; Events", 20, -0.06, 0.06);
67 h_fwd_deta_electron =
Book1D(
"DeltaEtaFwdElectron",
"#Delta #eta(truth particle, electron); #Delta #eta; Events", 20, -0.06, 0.06);
95 if (hDenom->GetNbinsX() != hNom->GetNbinsX())
return;
97 for (
int bin_i = 1; bin_i <= hDenom -> GetNbinsX(); ++bin_i){
98 if(hDenom -> GetBinContent(bin_i) == 0)
continue;
99 double binContent = hNom -> GetBinContent(bin_i) / hDenom -> GetBinContent(bin_i);
100 double binCenter = hNom -> GetBinCenter(bin_i);
102 hEff -> Fill(binCenter, binContent);
110 for (
int i = 0; i <
nLevels-1; i++) {
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
TH1D * Book1D(const std::string &name, const std::string &labels, int nBins, float start, float end, bool prependDir=true)
Book a TH1D histogram.
PlotBase(PlotBase *parent, const std::string &sDir)
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.
TProfile * h_fwd_e_response_vs_eta
TProfile * h_true_fwd_electron_eff_pt[nLevels-1]
TH1 * h_true_fwd_electron_eta[nLevels]
TH1 * h_true_fwd_electron_pt[nLevels]
TProfile * h_true_fwd_electron_eff_abseta[nLevels-1]
virtual void initializePlots()
TH1 * h_true_fwd_electron_abseta[nLevels]
std::string m_sParticleType
virtual void finalizePlots()
TProfile * h_fwd_e_response_vs_phi
void fillResponse(const xAOD::IParticle *part, const xAOD::Electron *electron)
TProfile * h_true_fwd_electron_eff_eta[nLevels-1]
TH1 * h_true_fwd_electron_phi[nLevels]
TH1 * h_fwd_deta_electron
void makeEfficiencyPlot(TH1 *hDenom, TH1 *hNom, TProfile *hEff)
TrueFwdElectronsPlots(PlotBase *pParent, const std::string &sDir, const std::string &sParticleType)
TProfile * h_fwd_e_response_vs_e
TProfile * h_true_fwd_electron_eff_phi[nLevels-1]
static const std::string cLevelLabel[nLevels]
TH1 * h_fwd_dphi_electron
TProfile * h_fwd_e_response_vs_abseta
void fill(const xAOD::IParticle *part, int level)
Class providing the definition of the 4-vector interface.
Electron_v1 Electron
Definition of the current "egamma version".