Commit f27f11c1 authored by Nataliia Kondrashova's avatar Nataliia Kondrashova Committed by Graeme Stewart
Browse files

update to the changes in OQ cut logic; fix coverity warnings (ZeeValidation-00-00-04)

parent 1df47ad2
......@@ -24,18 +24,18 @@ namespace ZeeValidation{
// Reco only information
std::string m_sParticleType;
TH1* z_mass[nLevels];
TH1* z_pt[nLevels];
TH1* z_y[nLevels];
TH1* dr_electrons[nLevels];
TH1* pt_central_electron[nLevels];
TH1* eta_central_electron[nLevels];
TH1* phi_central_electron[nLevels];
TH1* pt_fwd_electron[nLevels];
TH1* eta_fwd_electron[nLevels];
TH1* phi_fwd_electron[nLevels];
TH1* h_z_mass[nLevels];
TH1* h_z_pt[nLevels];
TH1* h_z_y[nLevels];
TH1* h_dr_electrons[nLevels];
TH1* h_pt_central_electron[nLevels];
TH1* h_eta_central_electron[nLevels];
TH1* h_phi_central_electron[nLevels];
TH1* h_pt_fwd_electron[nLevels];
TH1* h_eta_fwd_electron[nLevels];
TH1* h_phi_fwd_electron[nLevels];
private:
......
......@@ -22,7 +22,12 @@ namespace ZeeValidation{
void fillinAcc(const xAOD::Electron* electron, int level);
void fill(const xAOD::EventInfo* eventInfo, const xAOD::VertexContainer* vertices);
void finalize();
void fillShowerShape(const xAOD::Electron* electron);
void fillTrackCaloMatch(const xAOD::Electron* electron);
void fillIsolation(const xAOD::Electron* electron);
void fillHitInfo(const xAOD::Electron* electron);
void makeEfficiencyPlot(TH1* hDenom, TH1* hNom, TProfile* hEff);
//nLevels = 5 (Loose, Medium, Tight, OQ, Reco)
static const int nLevels = 5;
......@@ -31,29 +36,82 @@ namespace ZeeValidation{
// Reco only information
std::string m_sParticleType;
TH1* electron_n;
TH1* photon_n;
TH1* electron_author;
TH1* nvtx;
TH1* mu;
TH1* bcid;
TH1* track_n;
TH1* pv_x;
TH1* pv_y;
TH1* pv_z;
TH1* electron_pt[nLevels];
TH1* electron_eta[nLevels];
TH1* electron_phi[nLevels];
TH2* electron_etavsphi[nLevels];
TH1* electron_eff_pt[nLevels-1];
TH1* electron_eff_eta[nLevels-1];
TH1* electron_eff_phi[nLevels-1];
TH1* h_electron_n;
TH1* h_photon_n;
TH1* h_electron_author;
TH1* h_nvtx;
TH1* h_mu;
TH1* h_bcid;
TH1* h_track_n;
TH1* h_pv_x;
TH1* h_pv_y;
TH1* h_pv_z;
TH1* h_electron_pt[nLevels];
TH1* h_electron_eta[nLevels];
TH1* h_electron_phi[nLevels];
TProfile* h_electron_eff_pt[nLevels-1];
TProfile* h_electron_eff_eta[nLevels-1];
TProfile* h_electron_eff_phi[nLevels-1];
TH1* h_f1;
TH1* h_f3;
TH1* h_f1core;
TH1* h_f3core;
TH1* h_e233;
TH1* h_e237;
TH1* h_e277;
TH1* h_reta37;
TH1* h_weta1;
TH1* h_weta2;
TH1* h_wtots1;
TH1* h_ethad;
TH1* h_ethad1;
TH1* h_fethad;
TH1* h_fethad1;
TH1* h_e2tsts1;
TH1* h_fracs1;
TH1* h_emins1;
TH1* h_emaxs1;
TH1* h_demm1;
TH1* h_iso;
TH1* h_zvertex;
TH1* h_errz;
TH1* h_etap;
TH1* h_deta1;
TH1* h_deta2;
TH1* h_dphi1;
TH1* h_dphi2;
TH1* h_etcone20;
TH1* h_etcone30;
TH1* h_etcone40;
TH1* h_fetcone20;
TH1* h_fetcone30;
TH1* h_fetcone40;
TH1* h_ptcone20;
TH1* h_ptcone30;
TH1* h_ptcone40;
TH1* h_n_blayer_hits;
TH1* h_n_pixel_hits;
TH1* h_n_si_hits;
TH1* h_n_trt_hits;
TH1* h_n_trt_hits_high;
TH1* h_r_trt_hits;
TH1* h_n_blayer_hits_outliers;
TH1* h_n_pixel_hits_outliers;
TH1* h_n_si_hits_outliers;
TH1* h_n_trt_hits_outliers;
TH1* h_n_trt_hits_high_outliers;
TH1* h_r_trt_hits_outliers;
private:
virtual void initializePlots();
virtual void finalizePlots();
};
}
......
......@@ -8,6 +8,7 @@
#include "TrkValHistUtils/PlotBase.h"
#include "CLHEP/Units/SystemOfUnits.h"
#include "xAODBase/IParticle.h"
#include "xAODEgamma/Electron.h"
namespace ZeeValidation{
......@@ -16,8 +17,12 @@ namespace ZeeValidation{
TrueElectronsPlots(PlotBase* pParent, std::string sDir, std::string sParticleType);
void fill(const xAOD::IParticle* part, int level);
void fillinAcc(const xAOD::IParticle* part, int level);
void finalize();
void fillResponse(const xAOD::IParticle* part, const xAOD::Electron* electron);
void fillResponseCluster(const xAOD::IParticle* part, const xAOD::CaloCluster* cluster);
void makeEfficiencyPlot(TH1* hDenom, TH1* hNom, TProfile* hEff);
// Reco only information
std::string m_sParticleType;
......@@ -25,19 +30,30 @@ namespace ZeeValidation{
static const int nLevels = 7;
static const std::string cLevelLabel[nLevels];
TH1* electron_pt[nLevels];
TH1* electron_eta[nLevels];
TH1* electron_phi[nLevels];
TH2* electron_etavsphi[nLevels];
TH1* h_electron_pt[nLevels];
TH1* h_electron_eta[nLevels];
TH1* h_electron_phi[nLevels];
TH1* electron_eff_pt[nLevels-1];
TH1* electron_eff_eta[nLevels-1];
TH1* electron_eff_phi[nLevels-1];
TProfile* h_electron_eff_pt[nLevels-1];
TProfile* h_electron_eff_eta[nLevels-1];
TProfile* h_electron_eff_phi[nLevels-1];
TProfile* h_e_response_vs_e;
TProfile* h_e_cluster_response_vs_e;
TProfile* h_e_response_vs_eta;
TProfile* h_e_cluster_response_vs_eta;
TH1* h_dr_electron;
TH1* h_dphi_electron;
TH1* h_deta_electron;
TH1* h_dr_photon;
private:
virtual void initializePlots();
virtual void finalizePlots();
};
}
......
......@@ -8,6 +8,7 @@
#include "TrkValHistUtils/PlotBase.h"
#include "CLHEP/Units/SystemOfUnits.h"
#include "xAODBase/IParticle.h"
#include "xAODEgamma/Electron.h"
namespace ZeeValidation{
......@@ -15,26 +16,39 @@ namespace ZeeValidation{
public:
TrueFwdElectronsPlots(PlotBase* pParent, std::string sDir, std::string sParticleType);
void fill(const xAOD::IParticle* part, int level);
void finalize();
// Reco only information
void fillResponse(const xAOD::IParticle* part, const xAOD::Electron* electron);
void makeEfficiencyPlot(TH1* hDenom, TH1* hNom, TProfile* hEff);
std::string m_sParticleType;
//nLevels = 5 (Loose, Tight, MatchedEl, Truth)
static const int nLevels = 4;
static const std::string cLevelLabel[nLevels];
TH1* true_fwd_electron_pt[nLevels];
TH1* true_fwd_electron_eta[nLevels];
TH1* true_fwd_electron_phi[nLevels];
TH1* h_true_fwd_electron_pt[nLevels];
TH1* h_true_fwd_electron_eta[nLevels];
TH1* h_true_fwd_electron_abseta[nLevels];
TH1* h_true_fwd_electron_phi[nLevels];
TProfile* h_true_fwd_electron_eff_pt[nLevels-1];
TProfile* h_true_fwd_electron_eff_eta[nLevels-1];
TProfile* h_true_fwd_electron_eff_abseta[nLevels-1];
TProfile* h_true_fwd_electron_eff_phi[nLevels-1];
TProfile* h_fwd_e_response_vs_e;
TProfile* h_fwd_e_response_vs_eta;
TProfile* h_fwd_e_response_vs_abseta;
TH1* h_fwd_dr_electron;
TH1* h_fwd_dphi_electron;
TH1* h_fwd_deta_electron;
TH1* true_fwd_electron_eff_pt[nLevels-1];
TH1* true_fwd_electron_eff_eta[nLevels-1];
TH1* true_fwd_electron_eff_phi[nLevels-1];
private:
virtual void initializePlots();
virtual void finalizePlots();
};
}
......
......@@ -20,38 +20,38 @@ namespace ZeeValidation{
void fillElectronPlots( TLorentzVector& elec1, TLorentzVector& elec2, TLorentzVector& cluster1, TLorentzVector& cluster2, TLorentzVector& track1, TLorentzVector& track2,int charge1, int charge2, int level );
void fillGenPlots( int nel );
//nLevels = 5*2 ( Loose, Medium, Tight, OQ, Reco * OS/SS)
static const int nLevels = 10;
static const std::string cLevelLabel[nLevels];
std::string m_sParticleType;
TH1* n_el;
TH1* h_n_el;
TH1* z_mass[nLevels];
TH1* z_pt[nLevels];
TH1* z_y[nLevels];
TH1* h_z_mass[nLevels];
TH1* h_z_pt[nLevels];
TH1* h_z_y[nLevels];
TH1* dr_electrons[nLevels];
TH1* h_dr_electrons[nLevels];
TH1* ptclust_electron1[nLevels];
TH1* ptclust_electron2[nLevels];
TH1* etaclust_electron1[nLevels];
TH1* etaclust_electron2[nLevels];
TH1* h_ptclust_electron1[nLevels];
TH1* h_ptclust_electron2[nLevels];
TH1* h_etaclust_electron1[nLevels];
TH1* h_etaclust_electron2[nLevels];
TH1* ptclust_electrons[nLevels];
TH1* etaclust_electrons[nLevels];
TH1* pt_electrons[nLevels];
TH1* eta_electrons[nLevels];
TH1* phi_electrons[nLevels];
TH1* eoverp_electrons[nLevels];
TH1* eoverpq_electrons[nLevels];
TH1* h_ptclust_electrons[nLevels];
TH1* h_etaclust_electrons[nLevels];
TH1* h_pt_electrons[nLevels];
TH1* h_eta_electrons[nLevels];
TH1* h_phi_electrons[nLevels];
TH1* h_eoverp_electrons[nLevels];
TH1* h_eoverpq_electrons[nLevels];
private:
virtual void initializePlots();
};
}
......
......@@ -70,7 +70,7 @@ namespace ZeeValidation {
/// Default constructor:
ZeeValidationMonitoringTool();
// Containers
std::string m_eventInfoName;
std::string m_elecName;
......@@ -87,6 +87,13 @@ namespace ZeeValidation {
double m_EtaCrackLowCut, m_EtaCrackHighCut;
double m_dRminRecoTrue;
// Hists
ZeeValidation::ReconElectronsPlots m_ReconElectronsPlots;
ZeeValidation::TrueElectronsPlots m_TrueElectronsPlots;
ZeeValidation::TrueFwdElectronsPlots m_TrueFwdElectronsPlots;
ZeeValidation::ZeePlots m_ZeePlots;
ZeeValidation::FWDZeePlots m_FWDZeePlots;
//Matching True-Reco
void MatchElec(const xAOD::TruthParticle* truth_electron, const xAOD::ElectronContainer* electrons);
double drmin_elreco_truth;
......@@ -97,13 +104,6 @@ namespace ZeeValidation {
double drmin_phreco_truth;
bool matchedP;
// Hists
ZeeValidation::ReconElectronsPlots m_ReconElectronsPlots;
ZeeValidation::TrueElectronsPlots m_TrueElectronsPlots;
ZeeValidation::TrueFwdElectronsPlots m_TrueFwdElectronsPlots;
ZeeValidation::ZeePlots m_ZeePlots;
ZeeValidation::FWDZeePlots m_FWDZeePlots;
StatusCode book(PlotBase& plots);
};
......
......@@ -23,13 +23,13 @@ use xAODEventInfo xAODEventInfo-* Event/xAOD
use xAODEgamma xAODEgamma-* Event/xAOD
use xAODTracking xAODTracking-* Event/xAOD
use xAODTruth xAODTruth-* Event/xAOD
use xAODPrimitives xAODPrimitives-* Event/xAOD
#use StoreGate StoreGate-* Control
use TrkValHistUtils TrkValHistUtils-* Tracking/TrkValidation
private
use AthenaBaseComps AthenaBaseComps-* Control
use xAODPrimitives xAODPrimitives-* Event/xAOD
end_private
......
......@@ -8,9 +8,23 @@ using CLHEP::GeV;
namespace ZeeValidation{
FWDZeePlots::FWDZeePlots(PlotBase* pParent, std::string sDir, std::string sParticleType):PlotBase(pParent, sDir),
m_sParticleType(sParticleType)
{}
FWDZeePlots::FWDZeePlots(PlotBase* pParent, std::string sDir, std::string sParticleType):
PlotBase(pParent, sDir),
m_sParticleType(sParticleType)
{
for (int i = 0; i < nLevels; i++) {
h_z_mass[i] = NULL;
h_z_pt[i] = NULL;
h_z_y[i] = NULL;
h_dr_electrons[i] = NULL;
h_pt_central_electron[i] = NULL;
h_eta_central_electron[i] = NULL;
h_phi_central_electron[i] = NULL;
h_pt_fwd_electron[i] = NULL;
h_eta_fwd_electron[i] = NULL;
h_phi_fwd_electron[i] = NULL;
}
}
const std::string FWDZeePlots::cLevelLabel[nLevels] = {
"Reco",
......@@ -21,39 +35,39 @@ namespace ZeeValidation{
void FWDZeePlots::initializePlots(){
for (int i = 0; i < nLevels; i++) {
z_mass[i] = Book1D("ZMass"+ cLevelLabel[i] , "Mass of Z;Mass (GeV);Events", 50, 66., 116.);
z_pt[i] = Book1D("ZPt"+ cLevelLabel[i] , "P_{T} of Z;P_{T};Events", 120, 0., 120.);
z_y[i] = Book1D("ZY"+ cLevelLabel[i] , "#eta of Z;#eta;Events", 50, -5., 5.);
h_z_mass[i] = Book1D("ZMass"+ cLevelLabel[i] , "Mass of Z;Mass (GeV);Events", 50, 66., 116.);
h_z_pt[i] = Book1D("ZPt"+ cLevelLabel[i] , "P_{T} of Z;P_{T};Events", 60, 0., 120.);
h_z_y[i] = Book1D("ZY"+ cLevelLabel[i] , "#eta of Z;#eta;Events", 50, -5., 5.);
dr_electrons[i] = Book1D("DRElectrons"+ cLevelLabel[i] , " #DeltaR(electrons);Events", 50, 0., 6.);
h_dr_electrons[i] = Book1D("DRElectrons"+ cLevelLabel[i] , " #DeltaR(electrons);Events", 50, 0., 6.);
pt_central_electron[i] = Book1D("PtCentralElectron"+ cLevelLabel[i] , " P_{T}(electron);Events", 100, 20., 140.);
eta_central_electron[i] = Book1D("EtaCentralElectron"+ cLevelLabel[i] , " #eta(electron);Events", 50, -2.5, 2.5);
phi_central_electron[i] = Book1D("PhiCentralElectron"+ cLevelLabel[i] , " #varphi(electrons);Events", 50, -TMath::Pi(), TMath::Pi());
h_pt_central_electron[i] = Book1D("PtCentralElectron"+ cLevelLabel[i] , " P_{T}(electron);Events", 60, 20., 140.);
h_eta_central_electron[i] = Book1D("EtaCentralElectron"+ cLevelLabel[i] , " #eta(electron);Events", 50, -2.5, 2.5);
h_phi_central_electron[i] = Book1D("PhiCentralElectron"+ cLevelLabel[i] , " #varphi(electrons);Events", 60, -TMath::Pi(), TMath::Pi());
pt_fwd_electron[i] = Book1D("PtFwdElectron"+ cLevelLabel[i] , " P_{T}(electron);Events", 100, 20., 140.);
eta_fwd_electron[i] = Book1D("EtaFwdElectron"+ cLevelLabel[i] , " #eta(electron);Events", 50, -5.0, 5.0);
phi_fwd_electron[i] = Book1D("PhiFwd_Electron"+ cLevelLabel[i] , " #varphi(electron);Events", 50, -TMath::Pi(), TMath::Pi());
h_pt_fwd_electron[i] = Book1D("PtFwdElectron"+ cLevelLabel[i] , " P_{T}(electron);Events", 60, 20., 140.);
h_eta_fwd_electron[i] = Book1D("EtaFwdElectron"+ cLevelLabel[i] , " #eta(electron);Events", 50, -5.0, 5.0);
h_phi_fwd_electron[i] = Book1D("PhiFwd_Electron"+ cLevelLabel[i] , " #varphi(electron);Events", 60, -TMath::Pi(), TMath::Pi());
}
}
void FWDZeePlots::fillZPlots(TLorentzVector& z, int level){
z_mass[level] -> Fill(z.M()/GeV);
z_pt[level] -> Fill(z.Pt()/GeV);
z_y[level] -> Fill(z.Rapidity());
h_z_mass[level] -> Fill(z.M()/GeV);
h_z_pt[level] -> Fill(z.Pt()/GeV);
h_z_y[level] -> Fill(z.Rapidity());
}
void FWDZeePlots::fillElPlots(TLorentzVector& elec1, TLorentzVector& elec2, int level){
dr_electrons[level] -> Fill( elec1.DeltaR(elec2) );
h_dr_electrons[level] -> Fill( elec1.DeltaR(elec2) );
pt_central_electron[level] -> Fill( elec1.Perp()/GeV );
pt_fwd_electron[level] -> Fill( elec2.Perp()/GeV );
h_pt_central_electron[level] -> Fill( elec1.Perp()/GeV );
h_pt_fwd_electron[level] -> Fill( elec2.Perp()/GeV );
eta_central_electron[level] -> Fill( elec1.Rapidity() );
eta_fwd_electron[level] -> Fill( elec2.Rapidity() );
h_eta_central_electron[level] -> Fill( elec1.Rapidity() );
h_eta_fwd_electron[level] -> Fill( elec2.Rapidity() );
phi_central_electron[level] -> Fill( elec1.Phi() );
phi_fwd_electron[level] -> Fill( elec2.Phi() );
h_phi_central_electron[level] -> Fill( elec1.Phi() );
h_phi_fwd_electron[level] -> Fill( elec2.Phi() );
}
}
......@@ -8,10 +8,30 @@ using CLHEP::GeV;
namespace ZeeValidation{
TrueElectronsPlots::TrueElectronsPlots(PlotBase* pParent, std::string sDir, std::string sParticleType):PlotBase(pParent, sDir),
m_sParticleType(sParticleType)
{}
TrueElectronsPlots::TrueElectronsPlots(PlotBase* pParent, std::string sDir, std::string sParticleType):
PlotBase(pParent, sDir),
m_sParticleType(sParticleType),
h_e_response_vs_e(NULL),
h_e_cluster_response_vs_e(NULL),
h_e_response_vs_eta(NULL),
h_e_cluster_response_vs_eta(NULL) ,
h_dr_electron(NULL),
h_dphi_electron(NULL),
h_deta_electron(NULL),
h_dr_photon(NULL)
{
for (int i = 0; i < nLevels; i++) {
h_electron_pt[i] = NULL;
h_electron_eta[i] = NULL;
h_electron_phi[i] = NULL;
}
for (int i = 0; i < nLevels-1; i++) {
h_electron_eff_pt[i] = NULL;
h_electron_eff_eta[i] = NULL;
h_electron_eff_phi[i] = NULL;
}
}
//-------------------------------------------------
const std::string TrueElectronsPlots::cLevelLabel[nLevels] = {
"True",
"Assoc",
......@@ -21,42 +41,86 @@ namespace ZeeValidation{
"Medium",
"Tight"
};
//-------------------------------------------------
void TrueElectronsPlots::initializePlots(){
TH1::SetDefaultSumw2(kTRUE);
TH1::SetDefaultSumw2(kTRUE);
TProfile::SetDefaultSumw2(kTRUE);
for (int i = 0; i < nLevels; i++) {
electron_pt[i] = Book1D("Pt" + cLevelLabel[i], "P_{T} of "+ m_sParticleType + "; E_{T} (GeV);Events", 100, 20., 140.);
electron_eta[i] = Book1D("Eta" + cLevelLabel[i], "#eta of " + m_sParticleType + ";#eta;Events", 100, -2.5, 2.5);
electron_phi[i] = Book1D("Phi" + cLevelLabel[i], "#varphi of " + m_sParticleType + ";#varphi;Events", 100, -TMath::Pi(), TMath::Pi());
electron_etavsphi[i] = Book2D("EtaVSPhi" + cLevelLabel[i], "#eta vs #varphi of " + m_sParticleType + ";#eta;#varphi", 100, -2.5, 2.5, 100, -TMath::Pi(), TMath::Pi());
h_electron_pt[i] = Book1D("Pt" + cLevelLabel[i], "P_{T} of "+ m_sParticleType + "; P_{T} (GeV);Events", 60, 20., 140.);
h_electron_eta[i] = Book1D("Eta" + cLevelLabel[i], "#eta of " + m_sParticleType + ";#eta;Events", 50, -2.5, 2.5);
h_electron_phi[i] = Book1D("Phi" + cLevelLabel[i], "#varphi of " + m_sParticleType + ";#varphi;Events", 60, -TMath::Pi(), TMath::Pi());
}
for (int i = 0; i < nLevels-1; i++) {
electron_eff_pt[i] = Book1D("PtEff" + cLevelLabel[i+1] + cLevelLabel[0], cLevelLabel[i+1] + " Efficiency vs P_{T} of "+ m_sParticleType + "; E_{T} (GeV);" + cLevelLabel[i+1] + "/" + cLevelLabel[0], 100, 20., 140.);
electron_eff_eta[i] = Book1D("EtaEff" + cLevelLabel[i+1] + cLevelLabel[0], cLevelLabel[i+1] + " Efficiency vs #eta of " + m_sParticleType + ";#eta;" + cLevelLabel[i+1] + "/" + cLevelLabel[0], 100, -2.5, 2.5);
electron_eff_phi[i] = Book1D("PhiEff" + cLevelLabel[i+1] + cLevelLabel[0], cLevelLabel[i+1] + " Efficiency vs #varphi of " + m_sParticleType + ";#varphi;" + cLevelLabel[i+1] + "/" + cLevelLabel[0], 100, -TMath::Pi(), TMath::Pi());
for (int i = 0; i < nLevels-1; i++) {
h_electron_eff_pt[i] = BookTProfile("PtEff" + cLevelLabel[i+1] + cLevelLabel[0], cLevelLabel[i+1] + " Efficiency vs P_{T} of "+ m_sParticleType + "; E_{T} (GeV);" + cLevelLabel[i+1] + "/" + cLevelLabel[0], 60, 20., 140.);
h_electron_eff_eta[i] = BookTProfile("EtaEff" + cLevelLabel[i+1] + cLevelLabel[0], cLevelLabel[i+1] + " Efficiency vs #eta of " + m_sParticleType + ";#eta;" + cLevelLabel[i+1] + "/" + cLevelLabel[0], 50, -2.5, 2.5);
h_electron_eff_phi[i] = BookTProfile("PhiEff" + cLevelLabel[i+1] + cLevelLabel[0], cLevelLabel[i+1] + " Efficiency vs #varphi of " + m_sParticleType + ";#varphi;" + cLevelLabel[i+1] + "/" + cLevelLabel[0], 60, -TMath::Pi(), TMath::Pi());
}
h_e_response_vs_e = BookTProfile("EnergyResponseVsEnergy", "Energy response vs energy; E^{true}; E^{reco}-E^{true}/E^{true}", 20, 0., 200);
h_e_response_vs_eta = BookTProfile("EnergyResponseVsEta", "Energy response vs #eta; #eta; E^{reco}-E^{true}/E^{true}", 30, -3., 3.);
h_e_cluster_response_vs_e = BookTProfile("EnergyClusterResponseVsEnergy", "Energy of cluster response vs energy; E^{true}; E^{reco}-E^{true}/E^{true}", 20, 0., 200);
h_e_cluster_response_vs_eta = BookTProfile("EnergyClusterResponseVsEta", "Energy of cluster response vs #eta; #eta; E^{reco}-E^{true}/E^{true}", 30, -3., 3.);
h_dr_electron = Book1D("DeltaRElectron", "#DeltaR(truth particle, electron); #DeltaR; Events", 30, 0., 0.2);
h_dphi_electron = Book1D("DeltaPhiElectron", "#Delta #phi(truth particle, electron); #Delta #phi; Events", 20, -0.01, 0.01);
h_deta_electron = Book1D("DeltaEtaElectron", "#Delta #eta(truth particle, electron); #Delta #eta; Events", 20, -0.01, 0.01);
h_dr_photon = Book1D("DeltaRPhoton", "#DeltaR(truth particle, photon); #DeltaR; Events", 30, 0., 0.2);
}
//-------------------------------------------------
void TrueElectronsPlots::fill(const xAOD::IParticle* part, int level){
electron_eta[level] -> Fill(part -> eta());
electron_etavsphi[level] -> Fill(part -> eta(), part -> phi());
h_electron_eta[level] -> Fill(part -> eta());
}
//-------------------------------------------------