#ifndef ATLAS_AtlCtrlPlots
#include <AtlCtrlPlots.h>
#endif
#include <AtlEvent.h>
#include <TTree.h>
#include <TString.h>
#include <iostream>
#include <TROOT.h>
using namespace std;
#ifndef __CINT__
ClassImp(AtlCtrlPlots);
#endif
AtlCtrlPlots::AtlCtrlPlots(const char* name, const char* title) :
AtlAnalysisTool(name, title) {
fHistogramsNoEvtSel = new THashTable;
fHistogramsEvtSel = new THashTable;
fProcessMode = kPostAnalysis;
}
AtlCtrlPlots::~AtlCtrlPlots() {
fHistogramsNoEvtSel->Delete(); delete fHistogramsNoEvtSel;
fHistogramsEvtSel ->Delete(); delete fHistogramsEvtSel;
}
void AtlCtrlPlots::CopyFolder(TDirectory *dir_src,
TDirectory *dir_dest) {
TIter next(dir_src->GetList());
TObject *subdir_src = 0;
while ( (subdir_src = (TObject*)next()) ) {
if ( subdir_src->InheritsFrom("TDirectory")
&& (TDirectory*)subdir_src->IsFolder() ) {
CopyFolder((TDirectory*)subdir_src,
dir_dest->mkdir(subdir_src->GetName(),
subdir_src->GetTitle()));
}
}
}
void AtlCtrlPlots::BookHistograms() {
fDir_noevtsel = gDirectory->mkdir("NoEvtSel",
"Before event selection");
fDir_evtsel = gDirectory->mkdir("EvtSel",
"After event selection");
fDir_noevtsel->cd();
BookEnergySumsHistograms();
BookJetHistograms();
BookElectronHistograms();
BookMuonHistograms();
BookTauHistograms();
BookPhotonHistograms();
BookAtlFastHistograms();
CopyFolder(fDir_noevtsel, fDir_evtsel);
fDir_evtsel->cd();
TH1 *h1 = 0; TH1 *h2 = 0;
TIter next(fHistogramsNoEvtSel);
while ( (h1 = (TH1*)next()) ) {
h2 = (TH1*)h1->Clone();
fHistogramsEvtSel->Add(h2);
TString t1 = TString(h1->GetTitle()) + " (w/o event selection)";
TString t2 = TString(h2->GetTitle()) + " (after event selection)";
h1->SetTitle(t1);
h2->SetTitle(t2);
TString path = h1->GetDirectory()->GetPath();
path.ReplaceAll("/NoEvtSel", 9, "/EvtSel", 7);
h2->SetDirectory(gROOT->GetDirectory(path.Data()));
}
}
void AtlCtrlPlots::SetBranchStatus() {
fTree->SetBranchStatus("fN_MCParticles*", kTRUE);
fTree->SetBranchStatus("fMCParticles*", kTRUE);
fTree->SetBranchStatus("fTrigger*", kTRUE);
fTree->SetBranchStatus("fEventHeader*", kTRUE);
fTree->SetBranchStatus("fEnergySum*", kTRUE);
fTree->SetBranchStatus("fN_Cone4H1TowerJets*", kTRUE);
fTree->SetBranchStatus("fCone4H1TowerJets*", kTRUE);
fTree->SetBranchStatus("fN_MCCone4HadronJets*", kTRUE);
fTree->SetBranchStatus("fMCCone4HadronJets*", kTRUE);
fTree->SetBranchStatus("fN_Electrons*", kTRUE);
fTree->SetBranchStatus("fElectrons*", kTRUE);
fTree->SetBranchStatus("fN_Muons*", kTRUE);
fTree->SetBranchStatus("fMuons*", kTRUE);
fTree->SetBranchStatus("fN_Taus*", kTRUE);
fTree->SetBranchStatus("fTaus*", kTRUE);
fTree->SetBranchStatus("fN_Photons*", kTRUE);
fTree->SetBranchStatus("fPhotons*", kTRUE);
fTree->SetBranchStatus("fN_AtlFastElectrons*", kTRUE);
fTree->SetBranchStatus("fAtlFastElectrons*", kTRUE);
fTree->SetBranchStatus("fN_AtlFastMuons*", kTRUE);
fTree->SetBranchStatus("fAtlFastMuons*", kTRUE);
fTree->SetBranchStatus("fN_AtlFastPhotons*", kTRUE);
fTree->SetBranchStatus("fAtlFastPhotons*", kTRUE);
fTree->SetBranchStatus("fN_AtlFastJets*", kTRUE);
fTree->SetBranchStatus("fAtlFastJets*", kTRUE);
}
void AtlCtrlPlots::FillHistograms(Bool_t EvtSelection) {
FillJetHistograms(EvtSelection);
FillElectronHistograms(EvtSelection);
FillMuonHistograms(EvtSelection);
FillTauHistograms(EvtSelection);
FillPhotonHistograms(EvtSelection);
if(fEvent->IsMC()) FillAtlFastHistograms(EvtSelection);
FillEnergySumsHistograms(EvtSelection);
FillTriggerHistograms(EvtSelection);
}
void AtlCtrlPlots::BookEnergySumsHistograms() {
TH1F *h1 = 0;
TH2F *h2 = 0;
TDirectory *savdir = gDirectory;
gDirectory->mkdir("EnergySums", "Energy Sums Ctrl Plots");
gDirectory->cd("EnergySums");
h1 = new TH1F("h_Energy_Scalar_Sum",
"Energy Scalar Sum",
100, 0, 1000);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("Energy scalar sum(GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_Missing_Energy_Magnitude",
"Magnitude of the Missing Energy",
80, 0, 300);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("Missing Energy (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_Missing_Energy_PhiAngle",
"Phi Angle of the Missing Energy",
100, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi_{Missing Energy} (rad)");
h1->SetYTitle("Number of Entries");
h2 = new TH2F("h_Missing_Energy_xyPLANE",
"Ex_miss vs Ey_miss x-y plane",
100, -300., 300.,
100, -300., 300.);
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("E_{x,miss}");
h2->SetYTitle("E_{y,miss}");
h2->SetZTitle("Number of Entries");
h2 = new TH2F("h_Missing_Energy_PhiAngle_MCvsREC",
"Phi Angle of the Missing Energy, MC vs REC comparison",
100, -3.2, 3.2,
100, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#phi_{Missing Energy,MCTruthNonInt} (rad)");
h2->SetYTitle("#phi_{Missing Energy,REC} (rad)");
h1 = new TH1F("h_Missing_Energy_PhiAngle_DELTA_MC-REC",
"Phi Angle of the Missing Energy, MCTruthNonInt vs REC comparison",
100, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#Delta#phi_{MCTruthNonInt - REC}signed (rad)");
h1 = new TH1F("h_Missing_Energy_PhiAngle_DELTA_MC-REC_norm",
"Phi Angle of the Missing Energy, MCTruthNonInt vs REC comparison, MC-normalized",
100, -3, 3);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#Delta#phi_{MCTruthNonInt - REC}/#phi_{MCTruthNonInt}signed }");
h2 = new TH2F("h_Missing_Energy_Magnitude_MCvsREC",
"Magnitude of the Missing Energy, MCTruthNonInt vs REC comparison",
100, 0., 300.,
100, 0., 300.);
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("ME_{T,MCTruthNonInt} (GeV)");
h2->SetYTitle("ME_{T,REC} (GeV)");
h1 = new TH1F("h_Missing_Energy_Magnitude_DELTA_MC-REC",
"Magnitude of the Missing Energy, MCTruthNonInt - REC",
100, -100., 100.);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#DeltaMET_{MCTruthNonInt - REC}signed (GeV)");
h1 = new TH1F("h_Missing_Energy_Magnitude_DELTA_MC-REC_norm",
"Magnitude of the Missing Energy, MCTruthNonInt - REC comparison, MC-normalized",
100, -3., 3.);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#DeltaMET_{MCTruthNonInt - REC}signed (GeV)/#MET_{MCTruthNonInt}signed }");
h2 = new TH2F("h_Energy_Scalar_Sum_MCvsREC",
"Transverse Energies Scalar Sum, MC vs REC comparison",
100, 0., 1000.,
100, 0., 1000.);
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("E_Scalar_Sum_{MCTruthInt} (GeV)");
h2->SetYTitle("E_Scalar_Sum_{REC} (GeV)");
h1 = new TH1F("h_Energy_Scalar_Sum_DELTA_MC-REC",
"E_Scalar_Sum, MCTruthInt - REC",
50, -150., 150.);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#DeltaE_Scalar_Sum_{MCTruthInt - REC}signed (GeV)");
h2 = new TH2F("h_MCNonIntEta_RECPhiMET",
"Eta of MC non-interacting particles vs Phi(MET,REC)",
100, -5., 5.,
100, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#eta_{MCTruthNonInt} (rad)");
h2->SetYTitle("#phi_{Missing Energy,REC} (rad)");
h2 = new TH2F("h_MCNonIntEta_Phi",
"Eta vs Phi of MC non-interacting particles",
100, -5., 5.,
100, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#eta_{MCTruthNonInt} (rad)");
h2->SetYTitle("#phi_{MCTruthNonInt} (rad)");
savdir->cd();
}
void AtlCtrlPlots::BookJetHistograms() {
TH1F *h1 = 0;
TH2F *h2 = 0;
TProfile *prof1 = 0;
TDirectory *savdir = gDirectory;
gDirectory->mkdir("Jets", "Jet Ctrl Plots");
gDirectory->cd("Jets");
gDirectory->mkdir("AntiKt4H1Topo_Jets", "Jet Ctrl Plots");
gDirectory->cd("AntiKt4H1Topo_Jets");
h1 = new TH1F("h_antikt4H1topo_njets",
"No. of AntiKt4-H1-Topo Jets",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{Jets}");
h1->SetYTitle("Number of Entries");
h2 = new TH2F("h_antikt4H1topo_etaphi",
"AntiKt4-H1-Topo Jets #eta-#phi plane",
100, -5, 5, 128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#eta");
h2->SetYTitle("#phi");
h2->SetZTitle("Number of Entries");
h1 = new TH1F("h_antikt4H1topo_Et",
"AntiKt4-H1-Topo Jets Transverse Energy",
200, 0, 1000);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t} (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_antikt4H1topo_eta",
"AntiKt4-H1-Topo Jets #eta",
100, -5, 5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_antikt4H1topo_phi",
"AntiKt4-H1-Topo Jets #phi",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi");
h1->SetYTitle("Number of Entries");
gDirectory->mkdir("MC_vs_REC_PLOTS", "Truth vs Reconstructed Jets");
gDirectory->cd("MC_vs_REC_PLOTS");
h1 = new TH1F("h_MC_vs_REC_antikt4H1topo_DeltaEtaSigned",
"Eta difference between reconstructed Jet and MC best matched MCAntiKt4HadronJet",
100, -1, 1);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta_{DL} - #eta_{HL}");
h1 = new TH1F("h_MC_vs_REC_antikt4H1topo_DeltaEtaSigned_norm",
"Eta difference between reconstructed Jet and MC best matched MCAntiKt4HadronJet - normalized to MC quantity",
100, -1, 1);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta_{DL} - #eta_{HL} / #eta_{HL}");
h2 = new TH2F("h_MC_vs_REC_antikt4H1topo_Eta",
"2-Dim Plot: Eta_MC vs Eta_REC",
100, -4., 4.,
100, -4., 4. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#eta_{HL}");
h2->SetYTitle("#eta_{DL}");
h1 = new TH1F("h_MC_vs_REC_antikt4H1topo_DeltaPhiSigned",
"Phi difference between reconstructed Jet and MC best matched MCAntiKt4HadronJet",
100, -1, 1);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi_{DL} - #phi_{HL}");
h1 = new TH1F("h_MC_vs_REC_antikt4H1topo_DeltaPhiSigned_norm",
"Phi difference between reconstructed Jet and MC best matched MCAntiKt4HadronJet - normalized to MC quantity",
100, -1, 1);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi_{DL} - #phi_{HL}");
h2 = new TH2F("h_MC_vs_REC_antikt4H1topo_Phi",
"2-Dim Plot: Phi_MC vs Phi_REC",
100, -3.2, 3.2,
100, -3.2, 3.2 );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#phi_{HL}");
h2->SetYTitle("#phi_{DL}");
h1 = new TH1F("h_MC_vs_REC_antikt4H1topo_DeltaPtSigned",
"Pt difference between reconstructed Jet and MC best matched MCAntiKt4HadronJet",
100, -30, 30);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t,DL} - P_{t,HL}");
h1 = new TH1F("h_MC_vs_REC_antikt4H1topo_DeltaPtSigned_norm",
"Pt difference between reconstructed Jet and MC best matched MCAntiKt4HadronJet - normalized",
100, -2., 2.);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t,DL} - P_{t,HL}");
h2 = new TH2F("h_MC_vs_REC_antikt4H1topo_Pt",
"2-Dim Plot: Pt_MC vs Pt_REC",
100, 0 , 300. ,
100, 0, 300. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("P_{t,HL} (GeV)");
h2->SetYTitle("P_{t,DL} (GeV)");
h2 = new TH2F("h_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt",
"2-Dim Plot: Pt_MC vs DeltaPt",
100, 0 , 300. ,
100, -40., 40. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle(" P_{t,HL} (GeV)");
h2->SetYTitle(" P_{t,DL}- P_{t,HL} (GeV)");
h2 = new TH2F("h_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt",
"2-Dim Plot: EtaMC vs DeltaPt",
100, -3. , 3. ,
100, -40., 40. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle(" #eta_{HL}");
h2->SetYTitle(" P_{t,DL}- P_{t,HL} (GeV)");
h2 = new TH2F("h_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt_norm",
"2-Dim Plot: Pt_MC vs DeltaPt-norm",
100, 0 , 300. ,
100, -0.5, 0.5 );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle(" P_{t,HL}");
h2->SetYTitle(" P_{t,DL}- P_{t,HL}/P_{t,HL}");
h2 = new TH2F("h_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt_norm",
"2-Dim Plot: EtaMC vs DeltaPt",
100, -3. , 3. ,
100, -0.5, 0.5 );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle(" #eta_{HL}");
h2->SetYTitle(" P_{t,DL}- P_{t,HL}/P_{t,HL}");
Double_t bins[7];
bins[1]=25.;
for(int i=2;i<7;i++){
bins[i]=bins[i-1]*2;
}
prof1 = new TProfile("prof_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt",
"Profile: DeltaPt (Pt_MC)",
6, bins ,
-40., 40. ,"s");
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" P_{t,HL}(GeV)");
prof1->SetYTitle(" P_{t,DL} - P_{t,HL} (GeV)");
prof1 = new TProfile("prof_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt",
"2-Dim Plot: DeltaPt (EtaMC)",
100, -3. , 3. ,
-40., 40. );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #eta_{HL}");
prof1->SetYTitle(" P_{t,DL} - P_{t,HL}(GeV)");
prof1 = new TProfile("prof_MC_vs_REC_antikt4H1topo_PhiMC_vs_DeltaPt",
"2-Dim Plot: DeltaPt (EtaMC)",
100, -3.2 , 3.2 ,
-40., 40. );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #phi_{HL} (rad)");
prof1->SetYTitle(" P_{t,DL} - P_{t,HL} (GeV)");
prof1 = new TProfile("prof_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt_norm",
"Profile: DeltaPt (Pt_MC) -norm",
6, bins ,
-0.5, 0.5 ,"s");
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" P_{t,HL} (GeV)");
prof1->SetYTitle(" P_{t,DL} - P_{t,HL}/P_{t,HL}");
prof1 = new TProfile("prof_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt_norm",
"Profile: DeltaPt (EtaMC) -norm",
100, -3. , 3. ,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #eta_{HL}");
prof1->SetYTitle(" P_{t,DL} - P_{t,HL}/P_{t,HL}");
prof1 = new TProfile("prof_MC_vs_REC_antikt4H1topo_PhiMC_vs_DeltaPt_norm",
"Profile: DeltaPt (phiMC) -norm",
6, bins ,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #phi_{HL} (rad)");
prof1->SetYTitle(" P_{t,DL} - P_{t,HL}/P_{t,HL}");
gDirectory->cd("../..");
gDirectory->mkdir("Cone4H1tower_Jets", "Jet Ctrl Plots");
gDirectory->cd("Cone4H1tower_Jets");
h1 = new TH1F("h_cone4H1tower_njets",
"No. of Cone4-H1-Tower Jets",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{Jets}");
h1->SetYTitle("Number of Entries");
h2 = new TH2F("h_cone4H1tower_etaphi",
"Cone4-H1-Tower Jets #eta-#phi plane",
100, -5, 5, 128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#eta");
h2->SetYTitle("#phi");
h2->SetZTitle("Number of Entries");
h1 = new TH1F("h_cone4H1tower_Et",
"Cone4-H1-Tower Jets Transverse Energy",
200, 0, 1000);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t} (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_cone4H1tower_eta",
"Cone4-H1-Tower Jets #eta",
100, -5, 5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_cone4H1tower_phi",
"Cone4-H1-Tower Jets #phi",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi");
h1->SetYTitle("Number of Entries");
gDirectory->mkdir("MC_vs_REC_PLOTS", "Truth vs Reconstructed Jets");
gDirectory->cd("MC_vs_REC_PLOTS");
h1 = new TH1F("h_MC_vs_REC_cone4H1tower_DeltaEtaSigned",
"Eta difference between reconstructed Jet and MC best matched MCCone4HadronJet",
100, -1, 1);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta_{DL} - #eta_{HL}");
h1 = new TH1F("h_MC_vs_REC_cone4H1tower_DeltaEtaSigned_norm",
"Eta difference between reconstructed Jet and MC best matched MCCone4HadronJet - normalized to MC quantity",
100, -1, 1);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta_{DL} - #eta_{HL} / #eta_{HL}");
h2 = new TH2F("h_MC_vs_REC_cone4H1tower_Eta",
"2-Dim Plot: Eta_MC vs Eta_REC",
100, -4., 4.,
100, -4., 4. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#eta_{HL}");
h2->SetYTitle("#eta_{DL}");
h1 = new TH1F("h_MC_vs_REC_cone4H1tower_DeltaPhiSigned",
"Phi difference between reconstructed Jet and MC best matched MCCone4HadronJet",
100, -1, 1);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi_{DL} - #phi_{HL}");
h1 = new TH1F("h_MC_vs_REC_cone4H1tower_DeltaPhiSigned_norm",
"Phi difference between reconstructed Jet and MC best matched MCCone4HadronJet - normalized to MC quantity",
100, -1, 1);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi_{DL} - #phi_{HL}");
h2 = new TH2F("h_MC_vs_REC_cone4H1tower_Phi",
"2-Dim Plot: Phi_MC vs Phi_REC",
100, -3.2, 3.2,
100, -3.2, 3.2 );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#phi_{HL}");
h2->SetYTitle("#phi_{DL}");
h1 = new TH1F("h_MC_vs_REC_cone4H1tower_DeltaPtSigned",
"Pt difference between reconstructed Jet and MC best matched MCCone4HadronJet",
100, -30, 30);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t,DL} - P_{t,HL}");
h1 = new TH1F("h_MC_vs_REC_cone4H1tower_DeltaPtSigned_norm",
"Pt difference between reconstructed Jet and MC best matched MCCone4HadronJet - normalized",
100, -2., 2.);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t,DL} - P_{t,HL}");
h2 = new TH2F("h_MC_vs_REC_cone4H1tower_Pt",
"2-Dim Plot: Pt_MC vs Pt_REC",
100, 0 , 300. ,
100, 0, 300. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("P_{t,HL} (GeV)");
h2->SetYTitle("P_{t,DL} (GeV)");
h2 = new TH2F("h_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt",
"2-Dim Plot: Pt_MC vs DeltaPt",
100, 0 , 300. ,
100, -40., 40. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle(" P_{t,HL} (GeV)");
h2->SetYTitle(" P_{t,DL}- P_{t,HL} (GeV)");
h2 = new TH2F("h_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt",
"2-Dim Plot: EtaMC vs DeltaPt",
100, -3. , 3. ,
100, -40., 40. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle(" #eta_{HL}");
h2->SetYTitle(" P_{t,DL}- P_{t,HL} (GeV)");
h2 = new TH2F("h_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt_norm",
"2-Dim Plot: Pt_MC vs DeltaPt-norm",
100, 0 , 300. ,
100, -0.5, 0.5 );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle(" P_{t,HL}");
h2->SetYTitle(" P_{t,DL}- P_{t,HL}/P_{t,HL}");
h2 = new TH2F("h_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt_norm",
"2-Dim Plot: EtaMC vs DeltaPt",
100, -3. , 3. ,
100, -0.5, 0.5 );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle(" #eta_{HL}");
h2->SetYTitle(" P_{t,DL}- P_{t,HL}/P_{t,HL}");
bins[1]=25.;
for(int i=2;i<7;i++){
bins[i]=bins[i-1]*2;
}
prof1 = new TProfile("prof_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt",
"Profile: DeltaPt (Pt_MC)",
6, bins ,
-40., 40. ,"s");
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" P_{t,HL}(GeV)");
prof1->SetYTitle(" P_{t,DL} - P_{t,HL} (GeV)");
prof1 = new TProfile("prof_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt",
"2-Dim Plot: DeltaPt (EtaMC)",
100, -3. , 3. ,
-40., 40. );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #eta_{HL}");
prof1->SetYTitle(" P_{t,DL} - P_{t,HL}(GeV)");
prof1 = new TProfile("prof_MC_vs_REC_cone4H1tower_PhiMC_vs_DeltaPt",
"2-Dim Plot: DeltaPt (EtaMC)",
100, -3.2 , 3.2 ,
-40., 40. );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #phi_{HL} (rad)");
prof1->SetYTitle(" P_{t,DL} - P_{t,HL} (GeV)");
prof1 = new TProfile("prof_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt_norm",
"Profile: DeltaPt (Pt_MC) -norm",
6, bins ,
-0.5, 0.5 ,"s");
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" P_{t,HL} (GeV)");
prof1->SetYTitle(" P_{t,DL} - P_{t,HL}/P_{t,HL}");
prof1 = new TProfile("prof_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt_norm",
"Profile: DeltaPt (EtaMC) -norm",
100, -3. , 3. ,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #eta_{HL}");
prof1->SetYTitle(" P_{t,DL} - P_{t,HL}/P_{t,HL}");
prof1 = new TProfile("prof_MC_vs_REC_cone4H1tower_PhiMC_vs_DeltaPt_norm",
"Profile: DeltaPt (phiMC) -norm",
6, bins ,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #phi_{HL} (rad)");
prof1->SetYTitle(" P_{t,DL} - P_{t,HL}/P_{t,HL}");
gDirectory->cd("../");
savdir->cd();
}
void AtlCtrlPlots::BookElectronHistograms() {
TH1F *h1 = 0;
TH2F *h2 = 0;
TProfile *prof1 = 0;
TDirectory *savdir = gDirectory;
gDirectory->mkdir("Electrons", "Electron Ctrl Plots");
gDirectory->cd("Electrons");
h1 = new TH1F("h_electron_author",
"Electron Author",
AtlEMShower::fgNAuthors, 0, AtlEMShower::fgNAuthors);
fHistogramsNoEvtSel->Add(h1);
h1->SetYTitle("Number of Entries");
TAxis *axis = h1->GetXaxis();
for ( Int_t k = 0; k < AtlEMShower::fgNAuthors; k++ ) {
axis->SetBinLabel(k+1, AtlEMShower::fgAuthorNames[k]);
}
h1 = new TH1F("h_electron_isem",
"Electron IsEM-Flag",
AtlEMShower::fgNIsEM, 0, AtlEMShower::fgNIsEM);
fHistogramsNoEvtSel->Add(h1);
h1->SetYTitle("Number of Entries");
axis = h1->GetXaxis();
for ( Int_t k = 0; k < AtlEMShower::fgNIsEM; k++ ) {
axis->SetBinLabel(k+1, AtlEMShower::fgIsEMNames[k]);
}
for ( Int_t i_author = 0; i_author < AtlEMShower::fgNAuthors; i_author++ ) {
if ( 1<<i_author & AtlEMShower::kInvalid ) continue;
TString author_name = AtlEMShower::fgAuthorNames[i_author];
gDirectory->mkdir(author_name.Data(),Form("%s Electron Ctrl Plots",author_name.Data()));
gDirectory->cd(author_name.Data());
for ( Int_t i_isem = 0; i_isem < AtlEMShower::fgNIsEM; i_isem++ ) {
if ( 1<<i_isem & kInvalid ) continue;
TString isemflag_name = AtlEMShower::fgIsEMNames[i_isem];
TString isemflag_author = Form("%s_%s",isemflag_name.Data(),author_name.Data());
gDirectory->mkdir(isemflag_name.Data(),Form("%s %s Electron Ctrl Plots",
isemflag_name.Data(),author_name.Data()));
gDirectory->cd(isemflag_name.Data());
gDirectory->mkdir("MC_vs_REC_plots",
Form("Truth vs Reconstructed %s %s Electrons",
isemflag_name.Data(),author_name.Data()));
gDirectory->cd("MC_vs_REC_plots");
h1 = new TH1F(Form("h_MC_vs_REC_%s_electrons_DeltaEtaSigned",
isemflag_author.Data()),
Form("#eta difference between reconstructed %s %s electron and MC best matching particle",isemflag_name.Data(),author_name.Data()),
100, -0.05, 0.05);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta_{REC} - #eta_{MC}");
h1 = new TH1F(Form("h_MC_vs_REC_%s_electrons_DeltaEtaSigned_norm",
isemflag_author.Data()),
Form("#eta difference between reconstructed %s %s electron and MC best matching particle, normalized to MC-truth",
isemflag_name.Data(),author_name.Data()),
100, -0.2, 0.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta_{REC} - #eta_{MC} / #eta_{MC}");
h2 = new TH2F(Form("h_MC_vs_REC_%s_electrons_Eta",isemflag_author.Data()),
Form("2-Dim Plot: #eta_{MC} vs #eta_{REC} of %s %s electrons",
isemflag_name.Data(),author_name.Data()),
100, -5., 5.,
100, -5., 5. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#eta_{MC}");
h2->SetYTitle("#eta_{REC}");
h1 = new TH1F(Form("h_MC_vs_REC_%s_electrons_DeltaPhiSigned",isemflag_author.Data()),
Form("#phi difference between reconstructed %s %s electron and MC best matching particle",isemflag_name.Data(),author_name.Data()),
100, -0.05, 0.05);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi_{REC} - #phi_{MC} (rad)");
h1 = new TH1F(Form("h_MC_vs_REC_%s_electrons_DeltaPhiSigned_norm",
isemflag_author.Data()),
Form("#phi difference between reconstructed %s %s electron and MC best matching particle, normalized to MC-truth",
isemflag_name.Data(),author_name.Data()),
100, -0.05, 0.05);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi_{REC} - #phi_{MC} / #phi_{MC}");
h2 = new TH2F(Form("h_MC_vs_REC_%s_electrons_Phi",isemflag_author.Data()),
Form("2-Dim Plot: #phi_{MC} vs #phi_{REC} of %s %s electrons",
isemflag_name.Data(),author_name.Data()),
100, -3.2, 3.2,
100, -3.2, 3.2 );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#phi_{MC} (rad)");
h2->SetYTitle("#phi_{REC}(rad)");
h1 = new TH1F(Form("h_MC_vs_REC_%s_electrons_DeltaPtSigned",isemflag_author.Data()),
Form("p_{t} difference between reconstructed %s %s electron and MC best matching particle",isemflag_name.Data(),author_name.Data()),
100, -20, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("p_{t,REC} - p_{t,MC} (GeV)");
h1 = new TH1F(Form("h_MC_vs_REC_%s_electrons_DeltaPtSigned_norm",
isemflag_author.Data()),
Form("p_{t} difference between reconstructed %s %s electron and MC best matching particle, normalized to MC-truth",
isemflag_name.Data(),author_name.Data()),
100, -0.5, 0.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("p_{t,REC} - p_{t,MC} / p_{t,MC}");
h2 = new TH2F(Form("h_MC_vs_REC_%s_electrons_Pt",isemflag_author.Data()),
Form("2-Dim Plot: p_{t,MC} vs p_{t,REC} of %s %s electrons",
isemflag_name.Data(),author_name.Data()),
100, 0, 300.,
100, 0, 300. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("p_{t,MC} (GeV)");
h2->SetYTitle("p_{t,REC} (GeV)");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_electrons_PtMC_vs_DeltaPt",
isemflag_author.Data()),
Form("Profile: #Delta p_{t} vs p_{t,MC} of %s %s electrons",isemflag_name.Data(),author_name.Data()),
100, 0, 300.,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" p_{t,MC} (GeV)");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC} (GeV)");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_electrons_EtaMC_vs_DeltaPt",
isemflag_author.Data()),
Form("Profile: #Delta p_{t} vs #eta_{MC} of %s %s electrons",isemflag_name.Data(),author_name.Data()),
100, -5., 5.,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #eta_{MC}");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC} (GeV)");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_electrons_PhiMC_vs_DeltaPt",
isemflag_author.Data()),
Form("Profile: #Delta p_{t} vs #phi_{MC} of %s %s electrons",isemflag_name.Data(),author_name.Data()),
100, -3.2, 3.2,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #phi_{MC} (rad)");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC} (GeV)");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_electrons_PtMC_vs_DeltaPt_norm",
isemflag_author.Data()),
Form("Profile: #Delta p_{t} (norm.) vs p_{t,MC} of %s %s electrons",isemflag_name.Data(),author_name.Data()),
100, 0, 300.,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" p_{t,MC} (GeV)");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC}/p_{t,MC}");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_electrons_EtaMC_vs_DeltaPt_norm",
isemflag_author.Data()),
Form("Profile: #Delta p_{t} (norm.) vs #eta_{MC} of %s %s electrons",isemflag_name.Data(),author_name.Data()),
100, -5., 5.,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #eta_{MC}");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC}/p_{t,MC}");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_electrons_PhiMC_vs_DeltaPt_norm",
isemflag_author.Data()),
Form("Profile: #Delta p_{t} (norm.) vs #phi_{MC} of %s %s electrons",isemflag_name.Data(),author_name.Data()),
100, -3.2, 3.2,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #phi_{MC} (rad)");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC}/p_{t,MC}");
gDirectory->cd("..");
gDirectory->mkdir("Both", Form("%s %s charge-incl. Electron/Positron Ctrl Plots",
isemflag_name.Data(),author_name.Data()));
gDirectory->cd("Both");
h1 = new TH1F(Form("h_%s_electron_eta",isemflag_author.Data()),
Form("%s %s Incl. Electron Pseudo-Rapidity",
isemflag_name.Data(),author_name.Data()),
100, -5., 5.);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_electron_phi",isemflag_author.Data()),
Form("%s %s Incl. Electron Azimuth",
isemflag_name.Data(),author_name.Data()),
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_electron_pt",isemflag_author.Data()),
Form("%s %s Incl. Electron Transverse Momentum",
isemflag_name.Data(),author_name.Data()),
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("p_{t} (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_electron_EtCone20",isemflag_author.Data()),
Form("E_{t} inside cone of dR=0.2 (%s %s electrons)",
isemflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t}-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_electron_EtCone30",isemflag_author.Data()),
Form("E_{t} inside cone of dR=0.3 (%s %s electrons)",
isemflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t}-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_electron_EtCone40",isemflag_author.Data()),
Form("E_{t} inside cone of dR=0.4 (%s %s electrons)",
isemflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t}-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_electron_EtCone45",isemflag_author.Data()),
Form("E_{t} inside cone of dR=0.45 (%s %s electrons)",
isemflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t}-cone (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("..");
gDirectory->mkdir("Eplus", Form("%s %s Positron Ctrl Plots",
isemflag_name.Data(),author_name.Data()));
gDirectory->cd("Eplus");
h1 = new TH1F(Form("h_%s_eplus_eta",isemflag_author.Data()),
Form("%s %s e^{+} Pseudo-Rapidity",
isemflag_name.Data(),author_name.Data()),
100, -5., 5.);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_eplus_phi",isemflag_author.Data()),
Form("%s %s e^{+} Azimuth",
isemflag_name.Data(),author_name.Data()),
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_eplus_pt",isemflag_author.Data()),
Form("%s %s e^{+} Transverse Momentum",
isemflag_name.Data(),author_name.Data()),
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("p_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("..");
gDirectory->mkdir("Eminus", Form("%s %s Electron Ctrl Plots",
isemflag_name.Data(),author_name.Data()));
gDirectory->cd("Eminus");
h1 = new TH1F(Form("h_%s_eminus_eta",isemflag_author.Data()),
Form("%s %s e^{-} Pseudo-Rapidity",
isemflag_name.Data(),author_name.Data()),
100, -5., 5.);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_eminus_phi",isemflag_author.Data()),
Form("%s %s e^{-} Azimuth",
isemflag_name.Data(),author_name.Data()),
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_eminus_pt",isemflag_author.Data()),
Form("%s %s e^{-} Transverse Momentum",
isemflag_name.Data(),author_name.Data()),
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("p_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../../");
}
gDirectory->cd("..");
}
gDirectory->mkdir("N_electrons","Number of incl. Electrons/Positrons (Ctrl Plots)");
gDirectory->cd("N_electrons");
h1 = new TH1F("h_all_electron_n","No. of all Incl. Electrons",20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{e}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_all_eplus_n","No. of all Incl. e^{+}",20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{e^{+}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_all_eminus_n","No. of all Incl. e^{-}",20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{e^{-}}");
h1->SetYTitle("Number of Entries");
gDirectory->cd("..");
savdir->cd();
}
void AtlCtrlPlots::BookMuonHistograms() {
TH1F *h1 = 0;
TH2F *h2 = 0;
TProfile *prof1 = 0;
TDirectory *savdir = gDirectory;
gDirectory->mkdir("Muons", "Muon Ctrl Plots");
gDirectory->cd("Muons");
h1 = new TH1F("h_muon_author",
"Muon Author",
AtlMuon::fgNAuthors, 0, AtlMuon::fgNAuthors);
fHistogramsNoEvtSel->Add(h1);
h1->SetYTitle("Number of Entries");
TAxis *axis = h1->GetXaxis();
for ( Int_t i = 0; i < AtlMuon::fgNAuthors; i++ ) {
axis->SetBinLabel(i+1, AtlMuon::fgAuthorNames[i]);
}
h1 = new TH1F("h_muon_quality",
"Muon Quality-Flag",
AtlMuon::fgNQuality, 0, AtlMuon::fgNQuality);
fHistogramsNoEvtSel->Add(h1);
h1->SetYTitle("Number of Entries");
axis = h1->GetXaxis();
for ( Int_t k = 0; k < AtlMuon::fgNQuality; k++ ) {
axis->SetBinLabel(k+1, AtlMuon::fgQualityNames[k]);
}
for ( Int_t i_author = 0; i_author < AtlMuon::fgNAuthors; i_author++ ) {
if ( 1<<i_author & AtlMuon::kInvalid ) continue;
TString author_name = AtlMuon::fgAuthorNames[i_author];
gDirectory->mkdir(author_name.Data(),Form("%s Muon Ctrl Plots",author_name.Data()));
gDirectory->cd(author_name.Data());
for ( Int_t i_quality = 0; i_quality < AtlMuon::fgNQuality; i_quality++ ) {
if ( 1<<i_quality & kInvalid ) continue;
TString qualityflag_name = AtlMuon::fgQualityNames[i_quality];
TString qualityflag_author = Form("%s_%s",qualityflag_name.Data(),author_name.Data());
gDirectory->mkdir(qualityflag_name.Data(),Form("%s %s Muon Ctrl Plots",
qualityflag_name.Data(),author_name.Data()));
gDirectory->cd(qualityflag_name.Data());
gDirectory->mkdir("MC_vs_REC_plots",
Form("Truth vs Reconstructed %s %s Muons",
qualityflag_name.Data(),author_name.Data()));
gDirectory->cd("MC_vs_REC_plots");
h1 = new TH1F(Form("h_MC_vs_REC_%s_muons_DeltaEtaSigned",
qualityflag_author.Data()),
Form("#eta difference between reconstructed %s %s muon and MC best matching particle",qualityflag_name.Data(),author_name.Data()),
100, -0.05, 0.05);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta_{REC} - #eta_{MC}");
h1 = new TH1F(Form("h_MC_vs_REC_%s_muons_DeltaEtaSigned_norm",
qualityflag_author.Data()),
Form("#eta difference between reconstructed %s %s muon and MC best matching particle, normalized to MC-truth",
qualityflag_name.Data(),author_name.Data()),
100, -0.2, 0.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta_{REC} - #eta_{MC} / #eta_{MC}");
h2 = new TH2F(Form("h_MC_vs_REC_%s_muons_Eta",qualityflag_author.Data()),
Form("2-Dim Plot: #eta_{MC} vs #eta_{REC} of %s %s muons",
qualityflag_name.Data(),author_name.Data()),
100, -5., 5.,
100, -5., 5. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#eta_{MC}");
h2->SetYTitle("#eta_{REC}");
h1 = new TH1F(Form("h_MC_vs_REC_%s_muons_DeltaPhiSigned",qualityflag_author.Data()),
Form("#phi difference between reconstructed %s %s muon and MC best matching particle",qualityflag_name.Data(),author_name.Data()),
100, -0.05, 0.05);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi_{REC} - #phi_{MC} (rad)");
h1 = new TH1F(Form("h_MC_vs_REC_%s_muons_DeltaPhiSigned_norm",
qualityflag_author.Data()),
Form("#phi difference between reconstructed %s %s muon and MC best matching particle, normalized to MC-truth",
qualityflag_name.Data(),author_name.Data()),
100, -0.05, 0.05);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi_{REC} - #phi_{MC} / #phi_{MC}");
h2 = new TH2F(Form("h_MC_vs_REC_%s_muons_Phi",qualityflag_author.Data()),
Form("2-Dim Plot: #phi_{MC} vs #phi_{REC} of %s %s muons",
qualityflag_name.Data(),author_name.Data()),
100, -3.2, 3.2,
100, -3.2, 3.2 );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#phi_{MC} (rad)");
h2->SetYTitle("#phi_{REC}(rad)");
h1 = new TH1F(Form("h_MC_vs_REC_%s_muons_DeltaPtSigned",qualityflag_author.Data()),
Form("p_{t} difference between reconstructed %s %s muon and MC best matching particle",qualityflag_name.Data(),author_name.Data()),
100, -20, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("p_{t,REC} - p_{t,MC} (GeV)");
h1 = new TH1F(Form("h_MC_vs_REC_%s_muons_DeltaPtSigned_norm",
qualityflag_author.Data()),
Form("p_{t} difference between reconstructed %s %s muon and MC best matching particle, normalized to MC-truth",
qualityflag_name.Data(),author_name.Data()),
100, -0.5, 0.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("p_{t,REC} - p_{t,MC} / p_{t,MC}");
h2 = new TH2F(Form("h_MC_vs_REC_%s_muons_Pt",qualityflag_author.Data()),
Form("2-Dim Plot: p_{t,MC} vs p_{t,REC} of %s %s muons",
qualityflag_name.Data(),author_name.Data()),
100, 0, 300.,
100, 0, 300. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("p_{t,MC} (GeV)");
h2->SetYTitle("p_{t,REC} (GeV)");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_muons_PtMC_vs_DeltaPt",
qualityflag_author.Data()),
Form("#Delta p_{t} vs p_{t,MC} of %s %s muons",qualityflag_name.Data(),author_name.Data()),
100, 0, 300.,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" p_{t,MC} (GeV)");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC} (GeV)");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_muons_EtaMC_vs_DeltaPt",
qualityflag_author.Data()),
Form("#Delta p_{t} vs #eta_{MC} of %s %s muons",qualityflag_name.Data(),author_name.Data()),
100, -5., 5.,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #eta_{MC}");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC} (GeV)");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_muons_PhiMC_vs_DeltaPt",
qualityflag_author.Data()),
Form("#Delta p_{t} vs #phi_{MC} of %s %s muons",qualityflag_name.Data(),author_name.Data()),
100, -3.2, 3.2,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #phi_{MC} (rad)");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC} (GeV)");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_muons_PtMC_vs_DeltaPt_norm",
qualityflag_author.Data()),
Form("#Delta p_{t} (norm.) vs p_{t,MC} of %s %s muons",qualityflag_name.Data(),author_name.Data()),
100, 0, 300.,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" p_{t,MC} (GeV)");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC}/p_{t,MC}");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_muons_EtaMC_vs_DeltaPt_norm",
qualityflag_author.Data()),
Form("#Delta p_{t} (norm.) vs #eta_{MC} of %s %s muons",qualityflag_name.Data(),author_name.Data()),
100, -5., 5.,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #eta_{MC}");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC}/p_{t,MC}");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_muons_PhiMC_vs_DeltaPt_norm",
qualityflag_author.Data()),
Form("#Delta p_{t} (norm.) vs #phi_{MC} of %s %s muons",qualityflag_name.Data(),author_name.Data()),
100, -3.2, 3.2,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #phi_{MC} (rad)");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC}/p_{t,MC}");
gDirectory->cd("..");
gDirectory->mkdir("Both", Form("%s %s charge-incl. Mu-/Mu+ Ctrl Plots",
qualityflag_name.Data(),author_name.Data()));
gDirectory->cd("Both");
h1 = new TH1F(Form("h_%s_muon_eta",qualityflag_author.Data()),
Form("%s %s Incl. Muon Pseudo-Rapidity",
qualityflag_name.Data(),author_name.Data()),
100, -5., 5.);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_phi",qualityflag_author.Data()),
Form("%s %s Incl. Muon Azimuth",
qualityflag_name.Data(),author_name.Data()),
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_pt",qualityflag_author.Data()),
Form("%s %s Incl. Muon Transverse Momentum",
qualityflag_name.Data(),author_name.Data()),
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("p_{t} (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_EtCone10",qualityflag_author.Data()),
Form("E_{t} inside cone of dR=0.1 (%s %s muons)",
qualityflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t}-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_EtCone20",qualityflag_author.Data()),
Form("E_{t} inside cone of dR=0.2 (%s %s muons)",
qualityflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t}-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_EtCone30",qualityflag_author.Data()),
Form("E_{t} inside cone of dR=0.3 (%s %s muons)",
qualityflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t}-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_EtCone40",qualityflag_author.Data()),
Form("E_{t} inside cone of dR=0.4 (%s %s muons)",
qualityflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t}-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_PtTrkCone10",qualityflag_author.Data()),
Form("SumPt of charged tracks inside cone of dR=0.1 (%s %s muons)",
qualityflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("( #sum P_{t}^{chg} )-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_PtTrkCone20",qualityflag_author.Data()),
Form("SumPt of charged tracks inside cone of dR=0.2 (%s %s muons)",
qualityflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("( #sum P_{t}^{chg} )-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_PtTrkCone30",qualityflag_author.Data()),
Form("SumPt of charged tracks inside cone of dR=0.3 (%s %s muons)",
qualityflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("( #sum P_{t}^{chg} )-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_PtTrkCone40",qualityflag_author.Data()),
Form("SumPt of charged tracks inside cone of dR=0.4 (%s %s muons)",
qualityflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("( #sum P_{t}^{chg} )-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_NtrkCone10",qualityflag_author.Data()),
Form("No. of charged tracks inside cone of dR=0.1 (%s %s muons)",
qualityflag_name.Data(),author_name.Data()),
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{trk}-cone");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_NtrkCone20",qualityflag_author.Data()),
Form("No. of charged tracks inside cone of dR=0.2 (%s %s muons)",
qualityflag_name.Data(),author_name.Data()),
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{trk}-cone");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_NtrkCone30",qualityflag_author.Data()),
Form("No. of charged tracks inside cone of dR=0.3 (%s %s muons)",
qualityflag_name.Data(),author_name.Data()),
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{trk}-cone");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_NtrkCone40",qualityflag_author.Data()),
Form("No. of charged tracks inside cone of dR=0.4 (%s %s muons)",
qualityflag_name.Data(),author_name.Data()),
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{trk}-cone");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muon_chi2",qualityflag_author.Data()),
Form("Track-Segment Matching for %s %s Muons",
qualityflag_name.Data(),author_name.Data()),
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#chi^{2}/NDoF");
h1->SetYTitle("Number of Entries");
gDirectory->cd("..");
gDirectory->mkdir("Muplus", Form("%s %s Mu+ Ctrl Plots",
qualityflag_name.Data(),author_name.Data()));
gDirectory->cd("Muplus");
h1 = new TH1F(Form("h_%s_muplus_eta",qualityflag_author.Data()),
Form("%s %s #mu^{+} Pseudo-Rapidity",
qualityflag_name.Data(),author_name.Data()),
100, -5., 5.);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muplus_phi",qualityflag_author.Data()),
Form("%s %s #mu^{+} Azimuth",
qualityflag_name.Data(),author_name.Data()),
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muplus_pt",qualityflag_author.Data()),
Form("%s %s #mu^{+} Transverse Momentum",
qualityflag_name.Data(),author_name.Data()),
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("p_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("..");
gDirectory->mkdir("Muminus", Form("%s %s Muon Ctrl Plots",
qualityflag_name.Data(),author_name.Data()));
gDirectory->cd("Muminus");
h1 = new TH1F(Form("h_%s_muminus_eta",qualityflag_author.Data()),
Form("%s %s #mu^{-} Pseudo-Rapidity",
qualityflag_name.Data(),author_name.Data()),
100, -5., 5.);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muminus_phi",qualityflag_author.Data()),
Form("%s %s #mu^{-} Azimuth",
qualityflag_name.Data(),author_name.Data()),
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_muminus_pt",qualityflag_author.Data()),
Form("%s %s #mu^{-} Transverse Momentum",
qualityflag_name.Data(),author_name.Data()),
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("p_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../../");
}
gDirectory->cd("..");
}
gDirectory->mkdir("N_muons","Number of incl. Mu-/Mu+ (Ctrl Plots)");
gDirectory->cd("N_muons");
h1 = new TH1F("h_all_muon_n","No. of all Incl. Muons",20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#mu}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_all_muplus_n","No. of all Incl. #mu^{+}",20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#mu^{+}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_all_muminus_n","No. of all Incl. #mu^{-}",20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#mu^{-}}");
h1->SetYTitle("Number of Entries");
gDirectory->cd("..");
savdir->cd();
}
void AtlCtrlPlots::BookTauHistograms() {
TH1F *h1 = 0;
TDirectory *savdir = gDirectory;
gDirectory->mkdir("Tauons", "Tauon Ctrl Plots");
gDirectory->cd("Tauons");
gDirectory->mkdir("TauRec", "TauRec Tauon Ctrl Plots");
gDirectory->cd("TauRec");
gDirectory->mkdir("TauCutTight", "TauCutTight TauRec Tauon Ctrl Plots");
gDirectory->cd("TauCutTight");
gDirectory->mkdir("Both", " TauCutTight TauRec incl. Tauon/Antitauon Ctrl Plots");
gDirectory->cd("Both");
h1 = new TH1F("h_tauctight_taurec_tauon_n",
"No. of TauCutTight TauRec Incl. Tauons",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_taurec_tauon_eta",
"TauCutTight TauRec Incl. Tauon Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_taurec_tauon_phi",
"TauCutTight TauRec Incl. Tauon Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_taurec_tauon_pt",
"TauCutTight TauRec Incl. Tauon Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Tauplus", "TauCutTight TauRec Antitauon Ctrl Plots");
gDirectory->cd("Tauplus");
h1 = new TH1F("h_tauctight_taurec_tauplus_n",
"No. of TauCutTight TauRec #tau^{+}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau^{+}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_taurec_tauplus_eta",
"TauCutTight TauRec #tau^{+} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_taurec_tauplus_phi",
"TauCutTight TauRec #tau^{+} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_taurec_tauplus_pt",
"TauCutTight TauRec #tau^{+} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Tauminus", "TauCutTight TauRec Tauon Ctrl Plots");
gDirectory->cd("Tauminus");
h1 = new TH1F("h_tauctight_taurec_tauminus_n",
"No. of TauCutTight TauRec #tau^{-}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau^{-}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_taurec_tauminus_eta",
"TauCutTight TauRec #tau^{-} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_taurec_tauminus_phi",
"TauCutTight TauRec #tau^{-} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_taurec_tauminus_pt",
"TauCutTight TauRec #tau^{-} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../../");
gDirectory->mkdir("TauCutMedium", "TauCutMedium TauRec Tauon Ctrl Plots");
gDirectory->cd("TauCutMedium");
gDirectory->mkdir("Both", "TauCutMedium TauRec incl. Tauon/Antitauon Ctrl Plots");
gDirectory->cd("Both");
h1 = new TH1F("h_taucmedium_taurec_tauon_n",
"No. of TauCutMedium TauRec Incl. Tauons",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_taurec_tauon_eta",
"TauCutMedium TauRec Incl. Tauon Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_taurec_tauon_phi",
"TauCutMedium TauRec Incl. Tauon Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_taurec_tauon_pt",
"TauCutMedium TauRec Incl. Tauon Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Tauplus", "TauCutMedium TauRec Antitauon Ctrl Plots");
gDirectory->cd("Tauplus");
h1 = new TH1F("h_taucmedium_taurec_tauplus_n",
"No. of TauCutMedium TauRec #tau^{+}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau^{+}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_taurec_tauplus_eta",
"TauCutMedium TauRec #tau^{+} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_taurec_tauplus_phi",
"TauCutMedium TauRec #tau^{+} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_taurec_tauplus_pt",
"TauCutMedium TauRec #tau^{+} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Tauminus", "TauCutMedium TauRec Tauon Ctrl Plots");
gDirectory->cd("Tauminus");
h1 = new TH1F("h_taucmedium_taurec_tauminus_n",
"No. of TauCutMedium TauRec #tau^{-}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau^{-}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_taurec_tauminus_eta",
"TauCutMedium TauRec #tau^{-} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_taurec_tauminus_phi",
"TauCutMedium TauRec #tau^{-} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_taurec_tauminus_pt",
"TauCutMedium TauRec #tau^{-} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../../");
gDirectory->mkdir("TauCutLoose", "TauCutLoose TauRec Tauon Ctrl Plots");
gDirectory->cd("TauCutLoose");
gDirectory->mkdir("Both", "TauCutLoose TauRec incl. Tauon/Antitauon Ctrl Plots");
gDirectory->cd("Both");
h1 = new TH1F("h_taucloose_taurec_tauon_n",
"No. of TauCutLoose TauRec Incl. Tauons",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_taurec_tauon_eta",
"TauCutLoose TauRec Incl. Tauon Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_taurec_tauon_phi",
"TauCutLoose TauRec Incl. Tauon Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_taurec_tauon_pt",
"TauCutLoose TauRec Incl. Tauon Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Tauplus", "TauCutLoose TauRec Antitauon Ctrl Plots");
gDirectory->cd("Tauplus");
h1 = new TH1F("h_taucloose_taurec_tauplus_n",
"No. of TauCutLoose TauRec #tau^{+}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau^{+}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_taurec_tauplus_eta",
"TauCutLoose TauRec #tau^{+} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_taurec_tauplus_phi",
"TauCutLoose TauRec #tau^{+} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_taurec_tauplus_pt",
"TauCutLoose TauRec #tau^{+} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Tauminus", "TauCutLoose TauRec Tauon Ctrl Plots");
gDirectory->cd("Tauminus");
h1 = new TH1F("h_taucloose_taurec_tauminus_n",
"No. of TauCutLoose TauRec #tau^{-}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau^{-}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_taurec_tauminus_eta",
"TauCutLoose TauRec #tau^{-} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_taurec_tauminus_phi",
"TauCutLoose TauRec #tau^{-} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_taurec_tauminus_pt",
"TauCutLoose TauRec #tau^{-} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../../../");
gDirectory->mkdir("Tau1P3P", "Tau1P3P Tauon Ctrl Plots");
gDirectory->cd("Tau1P3P");
gDirectory->mkdir("TauCutTight", "TauCutTight Tau1P3P Tauon Ctrl Plots");
gDirectory->cd("TauCutTight");
gDirectory->mkdir("Both", "TauCutTight Tau1P3P incl. Tauon/Antitauon Ctrl Plots");
gDirectory->cd("Both");
h1 = new TH1F("h_tauctight_1p3p_tauon_n",
"No. of TauCutTight Tau1P3P Incl. Tauons",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_1p3p_tauon_eta",
"TauCutTight Tau1P3P Incl. Tauon Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_1p3p_tauon_phi",
"TauCutTight Tau1P3P Incl. Tauon Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_1p3p_tauon_pt",
"TauCutTight Tau1P3P Incl. Tauon Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Tauplus", "TauCutTight Tau1P3P Antitauon Ctrl Plots");
gDirectory->cd("Tauplus");
h1 = new TH1F("h_tauctight_1p3p_tauplus_n",
"No. of TauCutTight Tau1P3P #tau^{+}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau^{+}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_1p3p_tauplus_eta",
"TauCutTight Tau1P3P #tau^{+} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_1p3p_tauplus_phi",
"TauCutTight Tau1P3P #tau^{+} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_1p3p_tauplus_pt",
"TauCutTight Tau1P3P #tau^{+} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Tauminus", "TauCutTight Tau1P3P Tauon Ctrl Plots");
gDirectory->cd("Tauminus");
h1 = new TH1F("h_tauctight_1p3p_tauminus_n",
"No. of TauCutTight Tau1P3P #tau^{-}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau^{-}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_1p3p_tauminus_eta",
"TauCutTight Tau1P3P #tau^{-} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_1p3p_tauminus_phi",
"TauCutTight Tau1P3P #tau^{-} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_tauctight_1p3p_tauminus_pt",
"TauCutTight Tau1P3P #tau^{-} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../../");
gDirectory->mkdir("TauCutMedium", "TauCutMedium Tau1P3P Tauon Ctrl Plots");
gDirectory->cd("TauCutMedium");
gDirectory->mkdir("Both", "TauCutMedium Tau1P3P incl. Tauon/Antitauon Ctrl Plots");
gDirectory->cd("Both");
h1 = new TH1F("h_taucmedium_1p3p_tauon_n",
"No. of TauCutMedium Tau1P3P Incl. Tauons",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_1p3p_tauon_eta",
"TauCutMedium Tau1P3P Incl. Tauon Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_1p3p_tauon_phi",
"TauCutMedium Tau1P3P Incl. Tauon Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_1p3p_tauon_pt",
"TauCutMedium Tau1P3P Incl. Tauon Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Tauplus", "TauCutMedium Tau1P3P Antitauon Ctrl Plots");
gDirectory->cd("Tauplus");
h1 = new TH1F("h_taucmedium_1p3p_tauplus_n",
"No. of TauCutMedium Tau1P3P #tau^{+}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau^{+}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_1p3p_tauplus_eta",
"TauCutMedium Tau1P3P #tau^{+} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_1p3p_tauplus_phi",
"TauCutMedium Tau1P3P #tau^{+} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_1p3p_tauplus_pt",
"TauCutMedium Tau1P3P #tau^{+} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Tauminus", "TauCutMedium Tau1P3P Tauon Ctrl Plots");
gDirectory->cd("Tauminus");
h1 = new TH1F("h_taucmedium_1p3p_tauminus_n",
"No. of TauCutMedium Tau1P3P #tau^{-}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau^{-}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_1p3p_tauminus_eta",
"TauCutMedium Tau1P3P #tau^{-} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_1p3p_tauminus_phi",
"TauCutMedium Tau1P3P #tau^{-} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucmedium_1p3p_tauminus_pt",
"TauCutMedium Tau1P3P #tau^{-} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../../");
gDirectory->mkdir("TauCutLoose", "TauCutLoose Tau1P3P Tauon Ctrl Plots");
gDirectory->cd("TauCutLoose");
gDirectory->mkdir("Both", "TauCutLoose Tau1P3P incl. Tauon/Antitauon Ctrl Plots");
gDirectory->cd("Both");
h1 = new TH1F("h_taucloose_1p3p_tauon_n",
"No. of TauCutLoose Tau1P3P Incl. Tauons",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_1p3p_tauon_eta",
"TauCutLoose Tau1P3P Incl. Tauon Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_1p3p_tauon_phi",
"TauCutLoose Tau1P3P Incl. Tauon Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_1p3p_tauon_pt",
"TauCutLoose Tau1P3P Incl. Tauon Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Tauplus", "TauCutLoose Tau1P3P Antitauon Ctrl Plots");
gDirectory->cd("Tauplus");
h1 = new TH1F("h_taucloose_1p3p_tauplus_n",
"No. of TauCutLoose Tau1P3P #tau^{+}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau^{+}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_1p3p_tauplus_eta",
"TauCutLoose Tau1P3P #tau^{+} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_1p3p_tauplus_phi",
"TauCutLoose Tau1P3P #tau^{+} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_1p3p_tauplus_pt",
"TauCutLoose Tau1P3P #tau^{+} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Tauminus", "TauCutLoose Tau1P3P Tauon Ctrl Plots");
gDirectory->cd("Tauminus");
h1 = new TH1F("h_taucloose_1p3p_tauminus_n",
"No. of TauCutLoose Tau1P3P #tau^{-}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#tau^{-}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_1p3p_tauminus_eta",
"TauCutLoose Tau1P3P #tau^{-} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_1p3p_tauminus_phi",
"TauCutLoose Tau1P3P #tau^{-} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_taucloose_1p3p_tauminus_pt",
"TauCutLoose Tau1P3P #tau^{-} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
savdir->cd();
}
void AtlCtrlPlots::BookPhotonHistograms() {
TH1F *h1 = 0;
TH2F *h2 = 0;
TProfile *prof1 = 0;
TDirectory *savdir = gDirectory;
gDirectory->mkdir("Photons", "Photon Ctrl Plots");
gDirectory->cd("Photons");
h1 = new TH1F("h_photon_author",
"Photon Author",
AtlEMShower::fgNAuthors, 0, AtlEMShower::fgNAuthors);
fHistogramsNoEvtSel->Add(h1);
h1->SetYTitle("Number of Entries");
TAxis *axis = h1->GetXaxis();
for ( Int_t k = 0; k < AtlEMShower::fgNAuthors; k++ )
axis->SetBinLabel(k+1, AtlEMShower::fgAuthorNames[k]);
h1 = new TH1F("h_photon_isem",
"Photon IsEM-Flag",
AtlEMShower::fgNIsEM, 0, AtlEMShower::fgNIsEM);
fHistogramsNoEvtSel->Add(h1);
h1->SetYTitle("Number of Entries");
axis = h1->GetXaxis();
for ( Int_t k = 0; k < AtlEMShower::fgNIsEM; k++ )
axis->SetBinLabel(k+1, AtlEMShower::fgIsEMNames[k]);
for ( Int_t i_author = 0; i_author < AtlEMShower::fgNAuthors; i_author++ ) {
if ( 1<<i_author & AtlEMShower::kInvalid ) continue;
TString author_name = AtlEMShower::fgAuthorNames[i_author];
gDirectory->mkdir(author_name.Data(),Form("%s Photon Ctrl Plots",author_name.Data()));
gDirectory->cd(author_name.Data());
for ( Int_t i_isem = 0; i_isem < AtlEMShower::fgNIsEM; i_isem++ ) {
if ( 1<<i_isem & AtlEMShower::kInvalid ) continue;
TString isemflag_name = AtlEMShower::fgIsEMNames[i_isem];
TString isemflag_author = Form("%s_%s",isemflag_name.Data(),author_name.Data());
gDirectory->mkdir(isemflag_name.Data(),Form("%s %s Photon Ctrl Plots",
isemflag_name.Data(),author_name.Data()));
gDirectory->cd(isemflag_name.Data());
gDirectory->mkdir("MC_vs_REC_plots",
Form("Truth vs Reconstructed %s %s Photons",
isemflag_name.Data(),author_name.Data()));
gDirectory->cd("MC_vs_REC_plots");
h1 = new TH1F(Form("h_MC_vs_REC_%s_photons_DeltaEtaSigned",
isemflag_author.Data()),
Form("#eta difference between reconstructed %s %s photon and MC best matching particle",isemflag_name.Data(),author_name.Data()),
100, -0.05, 0.05);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta_{REC} - #eta_{MC}");
h1 = new TH1F(Form("h_MC_vs_REC_%s_photons_DeltaEtaSigned_norm",
isemflag_author.Data()),
Form("#eta difference between reconstructed %s %s photon and MC best matching particle, normalized to MC-truth",
isemflag_name.Data(),author_name.Data()),
100, -0.2, 0.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta_{REC} - #eta_{MC} / #eta_{MC}");
h2 = new TH2F(Form("h_MC_vs_REC_%s_photons_Eta",isemflag_author.Data()),
Form("2-Dim Plot: #eta_{MC} vs #eta_{REC} of %s %s photons",
isemflag_name.Data(),author_name.Data()),
100, -5., 5.,
100, -5., 5. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#eta_{MC}");
h2->SetYTitle("#eta_{REC}");
h1 = new TH1F(Form("h_MC_vs_REC_%s_photons_DeltaPhiSigned",isemflag_author.Data()),
Form("#phi difference between reconstructed %s %s photon and MC best matching particle",isemflag_name.Data(),author_name.Data()),
100, -0.05, 0.05);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi_{REC} - #phi_{MC} (rad)");
h1 = new TH1F(Form("h_MC_vs_REC_%s_photons_DeltaPhiSigned_norm",
isemflag_author.Data()),
Form("#phi difference between reconstructed %s %s photon and MC best matching particle, normalized to MC-truth",
isemflag_name.Data(),author_name.Data()),
100, -0.05, 0.05);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi_{REC} - #phi_{MC} / #phi_{MC}");
h2 = new TH2F(Form("h_MC_vs_REC_%s_photons_Phi",isemflag_author.Data()),
Form("2-Dim Plot: #phi_{MC} vs #phi_{REC} of %s %s photons",
isemflag_name.Data(),author_name.Data()),
100, -3.2, 3.2,
100, -3.2, 3.2 );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#phi_{MC} (rad)");
h2->SetYTitle("#phi_{REC}(rad)");
h1 = new TH1F(Form("h_MC_vs_REC_%s_photons_DeltaPtSigned",isemflag_author.Data()),
Form("p_{t} difference between reconstructed %s %s photon and MC best matching particle",isemflag_name.Data(),author_name.Data()),
100, -20, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("p_{t,REC} - p_{t,MC} (GeV)");
h1 = new TH1F(Form("h_MC_vs_REC_%s_photons_DeltaPtSigned_norm",
isemflag_author.Data()),
Form("p_{t} difference between reconstructed %s %s photon and MC best matching particle, normalized to MC-truth",
isemflag_name.Data(),author_name.Data()),
100, -0.5, 0.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("p_{t,REC} - p_{t,MC} / p_{t,MC}");
h2 = new TH2F(Form("h_MC_vs_REC_%s_photons_Pt",isemflag_author.Data()),
Form("2-Dim Plot: p_{t,MC} vs p_{t,REC} of %s %s photons",
isemflag_name.Data(),author_name.Data()),
100, 0, 300.,
100, 0, 300. );
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("p_{t,MC} (GeV)");
h2->SetYTitle("p_{t,REC} (GeV)");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_photons_PtMC_vs_DeltaPt",
isemflag_author.Data()),
Form("#Delta p_{t} vs p_{t,MC} of %s %s photons",isemflag_name.Data(),author_name.Data()),
100, 0, 300.,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" p_{t,MC} (GeV)");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC} (GeV)");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_photons_EtaMC_vs_DeltaPt",
isemflag_author.Data()),
Form("#Delta p_{t} vs #eta_{MC} of %s %s photons",isemflag_name.Data(),author_name.Data()),
100, -5., 5.,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #eta_{MC}");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC} (GeV)");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_photons_PhiMC_vs_DeltaPt",
isemflag_author.Data()),
Form("#Delta p_{t} vs #phi_{MC} of %s %s photons",isemflag_name.Data(),author_name.Data()),
100, -3.2, 3.2,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #phi_{MC} (rad)");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC} (GeV)");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_photons_PtMC_vs_DeltaPt_norm",
isemflag_author.Data()),
Form("#Delta p_{t} (norm.) vs p_{t,MC} of %s %s photons",isemflag_name.Data(),author_name.Data()),
100, 0, 300.,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" p_{t,MC} (GeV)");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC}/p_{t,MC}");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_photons_EtaMC_vs_DeltaPt_norm",
isemflag_author.Data()),
Form("#Delta p_{t} (norm.) vs #eta_{MC} of %s %s photons",isemflag_name.Data(),author_name.Data()),
100, -5., 5.,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #eta_{MC}");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC}/p_{t,MC}");
prof1 = new TProfile(Form("prof_MC_vs_REC_%s_photons_PhiMC_vs_DeltaPt_norm",
isemflag_author.Data()),
Form("#Delta p_{t} (norm.) vs #phi_{MC} of %s %s photons",isemflag_name.Data(),author_name.Data()),
100, -3.2, 3.2,
-0.5, 0.5 );
fHistogramsNoEvtSel->Add(prof1);
prof1->SetXTitle(" #phi_{MC} (rad)");
prof1->SetYTitle(" p_{t,REC}-p_{t,MC}/p_{t,MC}");
gDirectory->cd("..");
gDirectory->mkdir("RecoPhotons", Form("%s %s Photon Ctrl Plots",
isemflag_name.Data(),author_name.Data()));
gDirectory->cd("RecoPhotons");
h1 = new TH1F(Form("h_%s_photon_eta",isemflag_author.Data()),
Form("%s %s Photon Pseudo-Rapidity",
isemflag_name.Data(),author_name.Data()),
100, -5., 5.);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_photon_phi",isemflag_author.Data()),
Form("%s %s Photon Azimuth",
isemflag_name.Data(),author_name.Data()),
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_photon_pt",isemflag_author.Data()),
Form("%s %s Photon Transverse Momentum",
isemflag_name.Data(),author_name.Data()),
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("p_{t} (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_photon_EtCone20",isemflag_author.Data()),
Form("E_{t} inside cone of dR=0.2 (%s %s photons)",
isemflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t}-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_photon_EtCone30",isemflag_author.Data()),
Form("E_{t} inside cone of dR=0.3 (%s %s photons)",
isemflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t}-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_photon_EtCone40",isemflag_author.Data()),
Form("E_{t} inside cone of dR=0.4 (%s %s photons)",
isemflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t}-cone (GeV)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F(Form("h_%s_photon_EtCone45",isemflag_author.Data()),
Form("E_{t} inside cone of dR=0.45 (%s %s photons)",
isemflag_name.Data(),author_name.Data()),
50, 0, 100);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t}-cone (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../../");
}
gDirectory->cd("..");
}
gDirectory->mkdir("N_photons","Number of inclusive photons (Ctrl Plots)");
gDirectory->cd("N_photons");
h1 = new TH1F("h_all_photon_n","No. of all Photons",20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#gamma}");
h1->SetYTitle("Number of Entries");
gDirectory->cd("..");
savdir->cd();
}
void AtlCtrlPlots::BookAtlFastHistograms() {
TH1F *h1 = 0;
TH2F *h2 = 0;
TDirectory *savdir = gDirectory;
gDirectory->mkdir("AtlFast", "AtlFast Ctrl Plots");
gDirectory->cd("AtlFast");
gDirectory->mkdir("Electrons", "Electron Ctrl Plots");
gDirectory->cd("Electrons");
h1 = new TH1F("h_atlfast_electron_n",
"No. of Electrons",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{e}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_electron_eta",
"Electron Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_electron_phi",
"Electron Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_electron_pt",
"Electron Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->mkdir("Eplus", "Positron Ctrl Plots");
gDirectory->cd("Eplus");
h1 = new TH1F("h_atlfast_eplus_n",
"No. of e^{+}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{e^{+}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_eplus_eta",
"e^{+} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_eplus_phi",
"e^{+} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_eplus_pt",
"e^{+} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Eminus", "Positron Ctrl Plots");
gDirectory->cd("Eminus");
h1 = new TH1F("h_atlfast_eminus_n",
"No. of e^{-}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{e^{-}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_eminus_eta",
"e^{-} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_eminus_phi",
"e^{-} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_eminus_pt",
"e^{-} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
savdir->cd();
gDirectory->cd("AtlFast");
gDirectory->mkdir("Photons", "Photon Ctrl Plots");
gDirectory->cd("Photons");
h1 = new TH1F("h_atlfast_photon_n",
"No. of Photons",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#gamma}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_photon_eta",
"Photon Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_photon_phi",
"Photon Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_photon_pt",
"Photon Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
savdir->cd();
gDirectory->cd("AtlFast");
gDirectory->mkdir("Muons", "Muon Ctrl Plots");
gDirectory->cd("Muons");
h1 = new TH1F("h_atlfast_muon_n",
"No. of Muons",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#mu}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_muon_eta",
"Muon Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_muon_phi",
"Muon Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_muon_pt",
"Muon Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->mkdir("Mu_plus", "Mu_plus Ctrl Plots");
gDirectory->cd("Mu_plus");
h1 = new TH1F("h_atlfast_muplus_n",
"No. of #mu^{+}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#mu^{+}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_muplus_eta",
"#mu^{+} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_muplus_phi",
"#mu^{+} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_muplus_pt",
"#mu^{+} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
gDirectory->cd("../");
gDirectory->mkdir("Mu_minus", "Mu_minus Ctrl Plots");
gDirectory->cd("Mu_minus");
h1 = new TH1F("h_atlfast_muminus_n",
"No. of #mu^{-}",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{#mu^{-}}");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_muminus_eta",
"#mu^{-} Pseudo-Rapidity",
100, -2.5, 2.5);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#eta");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_muminus_phi",
"#mu^{-} Azimuth",
128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("#phi (rad)");
h1->SetYTitle("Number of Entries");
h1 = new TH1F("h_atlfast_muminus_pt",
"#mu^{-} Transverse Momentum",
200, 0, 200);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("P_{t} (GeV)");
h1->SetYTitle("Number of Entries");
savdir->cd();
gDirectory->cd("AtlFast");
gDirectory->mkdir("Jets", "Jet Ctrl Plots");
gDirectory->cd("Jets");
h1 = new TH1F("h_atlfast_njets",
"No. of AtlFast Jets",
20, 0, 20);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("N_{Jets}");
h1->SetYTitle("Number of Entries");
h2 = new TH2F("h_atlfast_etaphi",
"AtlFast Jets #eta-#phi plane",
100, -5, 5, 128, -3.2, 3.2);
fHistogramsNoEvtSel->Add(h2);
h2->SetXTitle("#eta");
h2->SetYTitle("#phi");
h2->SetZTitle("Number of Entries");
h1 = new TH1F("h_atlfast_Et",
"AtlFast Jets Transverse Energy",
200, 0, 1000);
fHistogramsNoEvtSel->Add(h1);
h1->SetXTitle("E_{t} (GeV)");
h1->SetYTitle("Number of Entries");
savdir->cd();
}
void AtlCtrlPlots::FillJetHistograms(Bool_t EvtSelection) {
TH1F *h_n_antikt4H1topo = (TH1F*)GetHistogram("h_antikt4H1topo_njets", EvtSelection);
TH2F *h_etaphi_antikt4H1topo = (TH2F*)GetHistogram("h_antikt4H1topo_etaphi", EvtSelection);
TH1F *h_Et_antikt4H1topo = (TH1F*)GetHistogram("h_antikt4H1topo_Et", EvtSelection);
TH1F *h_eta_antikt4H1topo = (TH1F*)GetHistogram("h_antikt4H1topo_eta", EvtSelection);
TH1F *h_phi_antikt4H1topo = (TH1F*)GetHistogram("h_antikt4H1topo_phi", EvtSelection);
TH1F *h_MC_vs_REC_antikt4H1topo_DeltaEtaSigned = (TH1F*)GetHistogram("h_MC_vs_REC_antikt4H1topo_DeltaEtaSigned", EvtSelection);
TH1F *h_MC_vs_REC_antikt4H1topo_DeltaEtaSigned_norm = (TH1F*)GetHistogram("h_MC_vs_REC_antikt4H1topo_DeltaEtaSigned_norm", EvtSelection);
TH2F *h_MC_vs_REC_antikt4H1topo_Eta = (TH2F*)GetHistogram("h_MC_vs_REC_antikt4H1topo_Eta", EvtSelection);
TH1F *h_MC_vs_REC_antikt4H1topo_DeltaPhiSigned = (TH1F*)GetHistogram("h_MC_vs_REC_antikt4H1topo_DeltaPhiSigned", EvtSelection);
TH1F *h_MC_vs_REC_antikt4H1topo_DeltaPhiSigned_norm = (TH1F*)GetHistogram("h_MC_vs_REC_antikt4H1topo_DeltaPhiSigned_norm", EvtSelection);
TH2F *h_MC_vs_REC_antikt4H1topo_Phi = (TH2F*)GetHistogram("h_MC_vs_REC_antikt4H1topo_Phi", EvtSelection);
TH1F *h_MC_vs_REC_antikt4H1topo_DeltaPtSigned = (TH1F*)GetHistogram("h_MC_vs_REC_antikt4H1topo_DeltaPtSigned", EvtSelection);
TH1F *h_MC_vs_REC_antikt4H1topo_DeltaPtSigned_norm = (TH1F*)GetHistogram("h_MC_vs_REC_antikt4H1topo_DeltaPtSigned_norm", EvtSelection);
TH2F *h_MC_vs_REC_antikt4H1topo_Pt = (TH2F*)GetHistogram("h_MC_vs_REC_antikt4H1topo_Pt", EvtSelection);
TH2F *h_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt = (TH2F*)GetHistogram("h_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt", EvtSelection);
TProfile *prof_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt = (TProfile*)GetHistogram("prof_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt", EvtSelection);
TH2F *h_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt = (TH2F*)GetHistogram("h_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt", EvtSelection);
TProfile *prof_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt = (TProfile*)GetHistogram("prof_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt", EvtSelection);
TProfile *prof_MC_vs_REC_antikt4H1topo_PhiMC_vs_DeltaPt = (TProfile*)GetHistogram("prof_MC_vs_REC_antikt4H1topo_PhiMC_vs_DeltaPt", EvtSelection);
TH2F *h_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt_norm = (TH2F*)GetHistogram("h_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt_norm" , EvtSelection);
TProfile *prof_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt_norm = (TProfile*)GetHistogram("prof_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt_norm" , EvtSelection);
TH2F *h_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt_norm = (TH2F*)GetHistogram("h_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt_norm", EvtSelection);
TProfile *prof_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt_norm = (TProfile*)GetHistogram("prof_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt_norm", EvtSelection);
TProfile *prof_MC_vs_REC_antikt4H1topo_PhiMC_vs_DeltaPt_norm = (TProfile*)GetHistogram("prof_MC_vs_REC_antikt4H1topo_PhiMC_vs_DeltaPt_norm", EvtSelection);
TH1F *h_n_cone4H1tower = (TH1F*)GetHistogram("h_cone4H1tower_njets", EvtSelection);
TH2F *h_etaphi_cone4H1tower = (TH2F*)GetHistogram("h_cone4H1tower_etaphi", EvtSelection);
TH1F *h_Et_cone4H1tower = (TH1F*)GetHistogram("h_cone4H1tower_Et", EvtSelection);
TH1F *h_eta_cone4H1tower = (TH1F*)GetHistogram("h_cone4H1tower_eta", EvtSelection);
TH1F *h_phi_cone4H1tower = (TH1F*)GetHistogram("h_cone4H1tower_phi", EvtSelection);
TH1F *h_MC_vs_REC_cone4H1tower_DeltaEtaSigned = (TH1F*)GetHistogram("h_MC_vs_REC_cone4H1tower_DeltaEtaSigned", EvtSelection);
TH1F *h_MC_vs_REC_cone4H1tower_DeltaEtaSigned_norm = (TH1F*)GetHistogram("h_MC_vs_REC_cone4H1tower_DeltaEtaSigned_norm", EvtSelection);
TH2F *h_MC_vs_REC_cone4H1tower_Eta = (TH2F*)GetHistogram("h_MC_vs_REC_cone4H1tower_Eta", EvtSelection);
TH1F *h_MC_vs_REC_cone4H1tower_DeltaPhiSigned = (TH1F*)GetHistogram("h_MC_vs_REC_cone4H1tower_DeltaPhiSigned", EvtSelection);
TH1F *h_MC_vs_REC_cone4H1tower_DeltaPhiSigned_norm = (TH1F*)GetHistogram("h_MC_vs_REC_cone4H1tower_DeltaPhiSigned_norm", EvtSelection);
TH2F *h_MC_vs_REC_cone4H1tower_Phi = (TH2F*)GetHistogram("h_MC_vs_REC_cone4H1tower_Phi", EvtSelection);
TH1F *h_MC_vs_REC_cone4H1tower_DeltaPtSigned = (TH1F*)GetHistogram("h_MC_vs_REC_cone4H1tower_DeltaPtSigned", EvtSelection);
TH1F *h_MC_vs_REC_cone4H1tower_DeltaPtSigned_norm = (TH1F*)GetHistogram("h_MC_vs_REC_cone4H1tower_DeltaPtSigned_norm", EvtSelection);
TH2F *h_MC_vs_REC_cone4H1tower_Pt = (TH2F*)GetHistogram("h_MC_vs_REC_cone4H1tower_Pt", EvtSelection);
TH2F *h_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt = (TH2F*)GetHistogram("h_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt", EvtSelection);
TProfile *prof_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt = (TProfile*)GetHistogram("prof_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt", EvtSelection);
TH2F *h_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt = (TH2F*)GetHistogram("h_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt", EvtSelection);
TProfile *prof_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt = (TProfile*)GetHistogram("prof_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt", EvtSelection);
TProfile *prof_MC_vs_REC_cone4H1tower_PhiMC_vs_DeltaPt = (TProfile*)GetHistogram("prof_MC_vs_REC_cone4H1tower_PhiMC_vs_DeltaPt", EvtSelection);
TH2F *h_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt_norm = (TH2F*)GetHistogram("h_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt_norm" , EvtSelection);
TProfile *prof_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt_norm = (TProfile*)GetHistogram("prof_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt_norm" , EvtSelection);
TH2F *h_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt_norm = (TH2F*)GetHistogram("h_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt_norm", EvtSelection);
TProfile *prof_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt_norm = (TProfile*)GetHistogram("prof_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt_norm", EvtSelection);
TProfile *prof_MC_vs_REC_cone4H1tower_PhiMC_vs_DeltaPt_norm = (TProfile*)GetHistogram("prof_MC_vs_REC_cone4H1tower_PhiMC_vs_DeltaPt_norm", EvtSelection);
Int_t njets_antikt4H1topo = fEvent->GetN_AntiKt4H1TopoJets();
h_n_antikt4H1topo->Fill(njets_antikt4H1topo);
Int_t njets_cone4H1tower = fEvent->GetN_Cone4H1TowerJets();
h_n_cone4H1tower->Fill(njets_cone4H1tower);
HepJet *jet_mc = 0;
Float_t eta_jet = 0.;
Float_t phi_jet = 0.;
Float_t et_jet = 0.;
Float_t eta_mc = 0.;
Float_t phi_mc = 0.;
Float_t et_mc = 0.;
for ( Int_t i = 0; i < njets_antikt4H1topo; i++ ) {
AtlJet *jet = (AtlJet*)fEvent->GetAntiKt4H1TopoJets()->At(i);
eta_jet = jet->Eta();
phi_jet = jet->Phi();
et_jet = jet->Et();
h_etaphi_antikt4H1topo->Fill(jet->Eta(), jet->Phi(), GetTagEvtWeight());
h_Et_antikt4H1topo->Fill(jet->Et(), GetTagEvtWeight());
h_eta_antikt4H1topo->Fill(jet->Eta(), GetTagEvtWeight());
h_phi_antikt4H1topo->Fill(jet->Phi(), GetTagEvtWeight());
if(fEvent->IsMC()) {
jet_mc = (HepJet*)fEvent->FindMatchedMCJet(jet,0.2,0.2);
if(jet_mc !=0) {
phi_mc = jet_mc->Phi();
et_mc = jet_mc->Pt();
eta_mc = jet_mc->Eta();
h_MC_vs_REC_antikt4H1topo_Eta -> Fill( eta_mc, eta_jet , GetTagEvtWeight());
h_MC_vs_REC_antikt4H1topo_DeltaEtaSigned -> Fill( eta_jet - eta_mc , GetTagEvtWeight());
if(eta_mc!=0) h_MC_vs_REC_antikt4H1topo_DeltaEtaSigned_norm -> Fill( (eta_jet - eta_mc)/eta_mc , GetTagEvtWeight());
h_MC_vs_REC_antikt4H1topo_Phi -> Fill( phi_mc, phi_jet , GetTagEvtWeight());
h_MC_vs_REC_antikt4H1topo_DeltaPhiSigned -> Fill( phi_jet - phi_mc , GetTagEvtWeight());
if(phi_mc!=0) h_MC_vs_REC_antikt4H1topo_DeltaPhiSigned_norm -> Fill( (phi_jet - phi_mc)/phi_mc , GetTagEvtWeight());
h_MC_vs_REC_antikt4H1topo_Pt -> Fill( et_mc, et_jet , GetTagEvtWeight());
h_MC_vs_REC_antikt4H1topo_DeltaPtSigned -> Fill( et_jet - et_mc , GetTagEvtWeight());
if(et_mc!=0) {
h_MC_vs_REC_antikt4H1topo_DeltaPtSigned_norm -> Fill( (et_jet - et_mc)/et_mc , GetTagEvtWeight());
h_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt -> Fill( et_mc, (et_jet - et_mc) , GetTagEvtWeight());
h_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt -> Fill( eta_mc, (et_jet - et_mc) , GetTagEvtWeight());
prof_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt -> Fill( et_mc, (et_jet - et_mc) , GetTagEvtWeight());
prof_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt -> Fill( eta_mc, (et_jet - et_mc) , GetTagEvtWeight());
prof_MC_vs_REC_antikt4H1topo_PhiMC_vs_DeltaPt -> Fill( phi_mc, (et_jet - et_mc) , GetTagEvtWeight());
h_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt_norm -> Fill( et_mc, (et_jet - et_mc)/et_mc , GetTagEvtWeight());
h_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt_norm -> Fill( eta_mc, (et_jet - et_mc)/et_mc , GetTagEvtWeight());
prof_MC_vs_REC_antikt4H1topo_PtMC_vs_DeltaPt_norm -> Fill( et_mc, (et_jet - et_mc)/et_mc , GetTagEvtWeight());
prof_MC_vs_REC_antikt4H1topo_EtaMC_vs_DeltaPt_norm -> Fill( eta_mc, (et_jet - et_mc)/et_mc , GetTagEvtWeight());
prof_MC_vs_REC_antikt4H1topo_PhiMC_vs_DeltaPt_norm -> Fill( phi_mc, (et_jet - et_mc)/et_mc , GetTagEvtWeight());
}
}
}
}
for ( Int_t j = 0; j < njets_cone4H1tower; j++ ) {
AtlJet *jet = (AtlJet*)fEvent->GetCone4H1TowerJets()->At(j);
eta_jet = jet->Eta();
phi_jet = jet->Phi();
et_jet = jet->Et();
h_etaphi_cone4H1tower->Fill(jet->Eta(), jet->Phi(), GetTagEvtWeight());
h_Et_cone4H1tower->Fill(jet->Et(), GetTagEvtWeight());
h_eta_cone4H1tower->Fill(jet->Eta(), GetTagEvtWeight());
h_phi_cone4H1tower->Fill(jet->Phi(), GetTagEvtWeight());
if(fEvent->IsMC()) {
jet_mc = (HepJet*)fEvent->FindMatchedMCJet(jet,0.2,0.2);
if(jet_mc !=0) {
phi_mc = jet_mc->Phi();
et_mc = jet_mc->Pt();
eta_mc = jet_mc->Eta();
h_MC_vs_REC_cone4H1tower_Eta -> Fill( eta_mc, eta_jet , GetTagEvtWeight());
h_MC_vs_REC_cone4H1tower_DeltaEtaSigned -> Fill( eta_jet - eta_mc , GetTagEvtWeight());
if(eta_mc!=0) h_MC_vs_REC_cone4H1tower_DeltaEtaSigned_norm -> Fill( (eta_jet - eta_mc)/eta_mc , GetTagEvtWeight());
h_MC_vs_REC_cone4H1tower_Phi -> Fill( phi_mc, phi_jet , GetTagEvtWeight());
h_MC_vs_REC_cone4H1tower_DeltaPhiSigned -> Fill( phi_jet - phi_mc , GetTagEvtWeight());
if(phi_mc!=0) h_MC_vs_REC_cone4H1tower_DeltaPhiSigned_norm -> Fill( (phi_jet - phi_mc)/phi_mc , GetTagEvtWeight());
h_MC_vs_REC_cone4H1tower_Pt -> Fill( et_mc, et_jet , GetTagEvtWeight());
h_MC_vs_REC_cone4H1tower_DeltaPtSigned -> Fill( et_jet - et_mc , GetTagEvtWeight());
if(et_mc!=0) {
h_MC_vs_REC_cone4H1tower_DeltaPtSigned_norm -> Fill( (et_jet - et_mc)/et_mc , GetTagEvtWeight());
h_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt -> Fill( et_mc, (et_jet - et_mc) , GetTagEvtWeight());
h_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt -> Fill( eta_mc, (et_jet - et_mc) , GetTagEvtWeight());
prof_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt -> Fill( et_mc, (et_jet - et_mc) , GetTagEvtWeight());
prof_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt -> Fill( eta_mc, (et_jet - et_mc) , GetTagEvtWeight());
prof_MC_vs_REC_cone4H1tower_PhiMC_vs_DeltaPt -> Fill( phi_mc, (et_jet - et_mc) , GetTagEvtWeight());
h_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt_norm -> Fill( et_mc, (et_jet - et_mc)/et_mc , GetTagEvtWeight());
h_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt_norm -> Fill( eta_mc, (et_jet - et_mc)/et_mc , GetTagEvtWeight());
prof_MC_vs_REC_cone4H1tower_PtMC_vs_DeltaPt_norm -> Fill( et_mc, (et_jet - et_mc)/et_mc , GetTagEvtWeight());
prof_MC_vs_REC_cone4H1tower_EtaMC_vs_DeltaPt_norm -> Fill( eta_mc, (et_jet - et_mc)/et_mc , GetTagEvtWeight());
prof_MC_vs_REC_cone4H1tower_PhiMC_vs_DeltaPt_norm -> Fill( phi_mc, (et_jet - et_mc)/et_mc , GetTagEvtWeight());
}
}
}
}
}
void AtlCtrlPlots::FillEnergySumsHistograms(Bool_t EvtSelection) {
Float_t norm_DeltaPhi=0,norm_DeltaMag=0;
TH1F *h_Energy_Scalar_Sum = (TH1F*)GetHistogram("h_Energy_Scalar_Sum", EvtSelection);
TH1F *h_Missing_Energy_Magnitude = (TH1F*)GetHistogram("h_Missing_Energy_Magnitude", EvtSelection);
TH1F *h_Missing_Energy_PhiAngle = (TH1F*)GetHistogram("h_Missing_Energy_PhiAngle", EvtSelection);
TH2F *h_Missing_Energy_xyPLANE = (TH2F*)GetHistogram("h_Missing_Energy_xyPLANE", EvtSelection);
TH1F *h_Missing_Energy_PhiAngle_DELTA_MC_REC = 0;
TH1F *h_Missing_Energy_PhiAngle_DELTA_MC_REC_norm = 0;
TH2F *h_Missing_Energy_PhiAngle_MCvsREC = 0;
TH1F *h_Missing_Energy_Magnitude_DELTA_MC_REC = 0;
TH1F *h_Missing_Energy_Magnitude_DELTA_MC_REC_norm = 0;
TH2F *h_Missing_Energy_Magnitude_MCvsREC = 0;
TH1F *h_Energy_Scalar_Sum_DELTA_MC_REC = 0;
TH2F *h_Energy_Scalar_Sum_MCvsREC = 0;
TH2F *h_MCNonIntEta_RECPhiMET = 0;
TH2F *h_MCNonIntEta_Phi = 0;
if(fEvent->IsMC()) {
h_Missing_Energy_PhiAngle_DELTA_MC_REC = (TH1F*)GetHistogram("h_Missing_Energy_PhiAngle_DELTA_MC-REC", EvtSelection);
h_Missing_Energy_PhiAngle_DELTA_MC_REC_norm = (TH1F*)GetHistogram("h_Missing_Energy_PhiAngle_DELTA_MC-REC_norm", EvtSelection);
h_Missing_Energy_PhiAngle_MCvsREC = (TH2F*)GetHistogram("h_Missing_Energy_PhiAngle_MCvsREC", EvtSelection);
h_Missing_Energy_Magnitude_DELTA_MC_REC = (TH1F*)GetHistogram("h_Missing_Energy_Magnitude_DELTA_MC-REC", EvtSelection);
h_Missing_Energy_Magnitude_DELTA_MC_REC_norm = (TH1F*)GetHistogram("h_Missing_Energy_Magnitude_DELTA_MC-REC_norm", EvtSelection);
h_Missing_Energy_Magnitude_MCvsREC = (TH2F*)GetHistogram("h_Missing_Energy_Magnitude_MCvsREC", EvtSelection);
h_Energy_Scalar_Sum_DELTA_MC_REC = (TH1F*)GetHistogram("h_Energy_Scalar_Sum_DELTA_MC-REC", EvtSelection);
h_Energy_Scalar_Sum_MCvsREC = (TH2F*)GetHistogram("h_Energy_Scalar_Sum_MCvsREC", EvtSelection);
h_MCNonIntEta_RECPhiMET = (TH2F*)GetHistogram("h_MCNonIntEta_RECPhiMET", EvtSelection);
h_MCNonIntEta_Phi = (TH2F*)GetHistogram("h_MCNonIntEta_Phi", EvtSelection);
}
h_Energy_Scalar_Sum ->Fill( fEvent->GetEnergySum()->GetSumEt(), GetTagEvtWeight() );
if(fEvent->IsMC()) {
h_Energy_Scalar_Sum_DELTA_MC_REC -> Fill( (fEvent->GetEnergySum()->GetMCIntSumEt()) - ( fEvent->GetEnergySum()->GetSumEt() ), GetTagEvtWeight() );
h_Energy_Scalar_Sum_MCvsREC -> Fill( fEvent->GetEnergySum()->GetMCIntSumEt(), fEvent->GetEnergySum()->GetSumEt() , GetTagEvtWeight() );
}
if( fEvent->GetEnergySum()->GetMissingEt().Mod() != 0. ) {
h_Missing_Energy_Magnitude ->Fill( fEvent->GetEnergySum()->GetMissingEt().Mod(), GetTagEvtWeight() );
h_Missing_Energy_PhiAngle ->Fill( fEvent->GetEnergySum()->MissingEt_Phi(), GetTagEvtWeight() );
h_Missing_Energy_xyPLANE ->Fill( fEvent->GetEnergySum()->GetMissingEt().Px(),
fEvent->GetEnergySum()->GetMissingEt().Py(), GetTagEvtWeight() );
if(fEvent->IsMC()) {
h_Missing_Energy_PhiAngle_DELTA_MC_REC ->Fill( fEvent->GetEnergySum()->GetMCNonIntMissingEt().DeltaPhi( fEvent->GetEnergySum()->GetMissingEt() ),
GetTagEvtWeight());
h_Missing_Energy_PhiAngle_MCvsREC ->Fill( fEvent->GetEnergySum()->MCNonIntMissingEt_Phi(),
fEvent->GetEnergySum()->MissingEt_Phi(),
GetTagEvtWeight() );
h_Missing_Energy_Magnitude_DELTA_MC_REC ->Fill(fEvent->GetEnergySum()->GetMCNonIntMissingEt().Mod() - fEvent->GetEnergySum()->GetMissingEt().Mod(),
GetTagEvtWeight());
h_Missing_Energy_PhiAngle_DELTA_MC_REC ->Fill(fEvent->GetEnergySum()->GetMCNonIntMissingEt().DeltaPhi( fEvent->GetEnergySum()->GetMissingEt() )
,GetTagEvtWeight());
h_Missing_Energy_PhiAngle_MCvsREC ->Fill( fEvent->GetEnergySum()->MCNonIntMissingEt_Phi(),
fEvent->GetEnergySum()->MissingEt_Phi(), GetTagEvtWeight() );
h_Missing_Energy_Magnitude_DELTA_MC_REC->Fill(fEvent->GetEnergySum()->GetMCNonIntMissingEt().Mod() - fEvent->GetEnergySum()->GetMissingEt().Mod(),
GetTagEvtWeight());
h_Missing_Energy_Magnitude_MCvsREC ->Fill(fEvent->GetEnergySum()->GetMCNonIntMissingEt().Mod(),
fEvent->GetEnergySum()->GetMissingEt().Mod(), GetTagEvtWeight() );
h_MCNonIntEta_RECPhiMET -> Fill( fEvent->GetMCSumEnergy_NonInt_Eta(),
fEvent->GetEnergySum()->MissingEt_Phi(), GetTagEvtWeight() );
h_MCNonIntEta_Phi -> Fill( fEvent->GetMCSumEnergy_NonInt_Eta(),
fEvent->GetMCSumEnergy_NonInt_Phi(), GetTagEvtWeight() );
}
}
if(fEvent->IsMC()) {
h_Missing_Energy_Magnitude_MCvsREC ->Fill(fEvent->GetEnergySum()->GetMCNonIntMissingEt().Mod(),
fEvent->GetEnergySum()->GetMissingEt().Mod(),
GetTagEvtWeight() );
h_Energy_Scalar_Sum_DELTA_MC_REC ->Fill( (fEvent->GetEnergySum()->GetMCIntSumEt())
- ( fEvent->GetEnergySum()->GetSumEt() ),
GetTagEvtWeight() );
h_Energy_Scalar_Sum_MCvsREC ->Fill( fEvent->GetEnergySum()->GetMCIntSumEt(),
fEvent->GetEnergySum()->GetSumEt(),
GetTagEvtWeight() );
if( (fEvent->GetEnergySum()->GetMCNonIntMissingEt().Mod()!=0) && (fEvent->GetEnergySum()->GetMCNonIntMissingEt().Phi()!=0) ) {
norm_DeltaPhi = (fEvent->GetEnergySum()->GetMCNonIntMissingEt().DeltaPhi( fEvent->GetEnergySum()->GetMissingEt()) ) / (fEvent->GetEnergySum()->GetMCNonIntMissingEt().Phi());
norm_DeltaMag = (fEvent->GetEnergySum()->GetMCNonIntMissingEt().Mod() - fEvent->GetEnergySum()->GetMissingEt().Mod())/ (fEvent->GetEnergySum()->GetMCNonIntMissingEt().Mod());
h_Missing_Energy_Magnitude_DELTA_MC_REC_norm ->Fill( norm_DeltaMag, GetTagEvtWeight());
h_Missing_Energy_PhiAngle_DELTA_MC_REC_norm ->Fill( norm_DeltaPhi , GetTagEvtWeight());
}
}
}
void AtlCtrlPlots::BookTriggerHistograms(Bool_t EvtSelection) {
TDirectory *savdir = gDirectory;
if ( EvtSelection ) {
fDir_evtsel->cd();
gDirectory->mkdir("Trigger", "Trigger Ctrl Plots");
gDirectory->cd("Trigger");
} else {
fDir_noevtsel->cd();
gDirectory->mkdir("Trigger", "Trigger Ctrl Plots");
gDirectory->cd("Trigger");
}
AtlTriggerConf *trig_conf = AtlTrigger::GetTriggerConf();
Int_t nitems_l1 = trig_conf->GetN_TriggerItems(AtlTriggerConf::kL1);
Int_t nitems_hlt = trig_conf->GetN_TriggerItems(AtlTriggerConf::kHLT);
Int_t nbins_l1 = Int_t(nitems_l1*1.1);
TH1F *h_l1 = new TH1F("h_trigger_l1",
"No. of Passed L1 Triggers",
nbins_l1, 0, nbins_l1);
if ( EvtSelection ) {
fHistogramsEvtSel->Add(h_l1);
} else {
fHistogramsNoEvtSel->Add(h_l1);
}
h_l1->SetYTitle("Number of Entries");
TAxis *axis = h_l1->GetXaxis();
for ( Int_t i = 0; i < nitems_l1; i++ ) {
axis->SetBinLabel(i+1, trig_conf->GetL1ItemName(i, fEvent->RunNr()));
}
h_l1->SetStats(kFALSE);
Int_t nbins_hlt = Int_t(nitems_hlt*1.1);
TH1F *h_hlt = new TH1F("h_trigger_hlt",
"No. of Passed Higher Level Triggers",
nbins_hlt, 0, nbins_hlt);
if ( EvtSelection ) {
fHistogramsEvtSel->Add(h_hlt);
} else {
fHistogramsNoEvtSel->Add(h_hlt);
}
h_hlt->SetYTitle("Number of Entries");
axis = h_hlt->GetXaxis();
for ( Int_t i = 0; i < nitems_hlt; i++ ) {
axis->SetBinLabel(i+1, trig_conf->GetHLTItemName(i, fEvent->RunNr()));
}
h_hlt->SetStats(kFALSE);
savdir->cd();
}
void AtlCtrlPlots::FillTriggerHistograms(Bool_t EvtSelection) {
TH1F *h_l1 = (TH1F*)GetHistogram("h_trigger_l1", EvtSelection);
if ( h_l1 == 0 ) {
BookTriggerHistograms(EvtSelection);
h_l1 = (TH1F*)GetHistogram("h_trigger_l1", EvtSelection);
}
TH1F *h_hlt = (TH1F*)GetHistogram("h_trigger_hlt", EvtSelection);
AtlTriggerConf *trig_conf = AtlTrigger::GetTriggerConf();
Int_t nitems_l1 = trig_conf->GetN_TriggerItems(AtlTriggerConf::kL1);
Int_t nitems_hlt = trig_conf->GetN_TriggerItems(AtlTriggerConf::kHLT);
for ( Int_t i = 0; i < nitems_l1; i++ ) {
if ( ((AtlTriggerItem*)fEvent->GetTrigger()->GetL1Items()
->At(i))->HasPassed() ) {
h_l1->AddBinContent(i+1);
}
}
for ( Int_t i = 0; i < nitems_hlt; i++ ) {
if ( ((AtlTriggerItem*)fEvent->GetTrigger()->GetHLTItems()
->At(i))->HasPassed() ) {
h_hlt->AddBinContent(i+1);
}
}
}
void AtlCtrlPlots::FillElectronHistograms(Bool_t EvtSelection) {
TH1F *h_el_author = (TH1F*)GetHistogram("h_electron_author", EvtSelection);
TH1F *h_el_isem = (TH1F*)GetHistogram("h_electron_isem", EvtSelection);
TH1F *h_MC_vs_REC_electrons_DeltaEtaSigned[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_MC_vs_REC_electrons_DeltaEtaSigned_norm[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH2F *h_MC_vs_REC_electrons_Eta[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_MC_vs_REC_electrons_DeltaPhiSigned[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_MC_vs_REC_electrons_DeltaPhiSigned_norm[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH2F *h_MC_vs_REC_electrons_Phi[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_MC_vs_REC_electrons_DeltaPtSigned[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_MC_vs_REC_electrons_DeltaPtSigned_norm[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH2F *h_MC_vs_REC_electrons_Pt[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TProfile *prof_MC_vs_REC_electrons_PtMC_vs_DeltaPt[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TProfile *prof_MC_vs_REC_electrons_EtaMC_vs_DeltaPt[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TProfile *prof_MC_vs_REC_electrons_PhiMC_vs_DeltaPt[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TProfile *prof_MC_vs_REC_electrons_PtMC_vs_DeltaPt_norm[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TProfile *prof_MC_vs_REC_electrons_EtaMC_vs_DeltaPt_norm[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TProfile *prof_MC_vs_REC_electrons_PhiMC_vs_DeltaPt_norm[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_electrons_all_n;
TH1F *h_electrons_all_eta[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_electrons_all_phi[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_electrons_all_pt[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_electrons_etcone20[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_electrons_etcone30[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_electrons_etcone40[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_electrons_etcone45[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_electrons_plus_n;
TH1F *h_electrons_plus_eta[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_electrons_plus_phi[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_electrons_plus_pt[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_electrons_minus_n;
TH1F *h_electrons_minus_eta[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_electrons_minus_phi[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_electrons_minus_pt[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
h_electrons_all_n = (TH1F*)GetHistogram("h_all_electron_n",EvtSelection);
h_electrons_plus_n = (TH1F*)GetHistogram("h_all_eplus_n", EvtSelection);
h_electrons_minus_n = (TH1F*)GetHistogram("h_all_eminus_n", EvtSelection);
for ( Int_t i_author = 0; i_author < AtlEMShower::fgNAuthors; i_author++ ) {
if ( 1<<i_author & AtlEMShower::kInvalid ) continue;
TString author_name = AtlEMShower::fgAuthorNames[i_author];
for ( Int_t i_isem = 0; i_isem < AtlEMShower::fgNIsEM; i_isem++ ) {
if ( 1<<i_isem & AtlEMShower::kInvalid ) continue;
TString isemflag_name = AtlEMShower::fgIsEMNames[i_isem];
TString isemflag_author = Form("%s_%s",isemflag_name.Data(),author_name.Data());
if(fEvent->IsMC()) {
h_MC_vs_REC_electrons_DeltaEtaSigned[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_electrons_DeltaEtaSigned",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_electrons_DeltaEtaSigned_norm[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_electrons_DeltaEtaSigned_norm",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_electrons_Eta[i_author][i_isem]
= (TH2F*)GetHistogram(Form("h_MC_vs_REC_%s_electrons_Eta",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_electrons_DeltaPhiSigned[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_electrons_DeltaPhiSigned",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_electrons_DeltaPhiSigned_norm[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_electrons_DeltaPhiSigned_norm",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_electrons_Phi[i_author][i_isem]
= (TH2F*)GetHistogram(Form("h_MC_vs_REC_%s_electrons_Phi",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_electrons_DeltaPtSigned[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_electrons_DeltaPtSigned",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_electrons_DeltaPtSigned_norm[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_electrons_DeltaPtSigned_norm",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_electrons_Pt[i_author][i_isem]
= (TH2F*)GetHistogram(Form("h_MC_vs_REC_%s_electrons_Pt",
isemflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_electrons_PtMC_vs_DeltaPt[i_author][i_isem]
= (TProfile*)GetHistogram(Form("prof_MC_vs_REC_%s_electrons_PtMC_vs_DeltaPt",
isemflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_electrons_EtaMC_vs_DeltaPt[i_author][i_isem]
= (TProfile*)GetHistogram(Form("prof_MC_vs_REC_%s_electrons_EtaMC_vs_DeltaPt",
isemflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_electrons_PhiMC_vs_DeltaPt[i_author][i_isem]
= (TProfile*)GetHistogram(Form("prof_MC_vs_REC_%s_electrons_PhiMC_vs_DeltaPt",
isemflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_electrons_PtMC_vs_DeltaPt_norm[i_author][i_isem]
= (TProfile*)GetHistogram(
Form("prof_MC_vs_REC_%s_electrons_PtMC_vs_DeltaPt_norm",
isemflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_electrons_EtaMC_vs_DeltaPt_norm[i_author][i_isem]
= (TProfile*)GetHistogram(
Form("prof_MC_vs_REC_%s_electrons_EtaMC_vs_DeltaPt_norm",
isemflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_electrons_PhiMC_vs_DeltaPt_norm[i_author][i_isem]
= (TProfile*)GetHistogram(
Form("prof_MC_vs_REC_%s_electrons_PhiMC_vs_DeltaPt_norm",
isemflag_author.Data()),
EvtSelection);
}
h_electrons_all_eta[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_electron_eta",
isemflag_author.Data()),
EvtSelection);
h_electrons_all_phi[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_electron_phi",
isemflag_author.Data()),
EvtSelection);
h_electrons_all_pt[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_electron_pt",
isemflag_author.Data()),
EvtSelection);
h_electrons_etcone20[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_electron_EtCone20",
isemflag_author.Data()),
EvtSelection);
h_electrons_etcone30[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_electron_EtCone30",
isemflag_author.Data()),
EvtSelection);
h_electrons_etcone40[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_electron_EtCone40",
isemflag_author.Data()),
EvtSelection);
h_electrons_etcone45[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_electron_EtCone45",
isemflag_author.Data()),
EvtSelection);
h_electrons_plus_eta[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_eplus_eta",isemflag_author.Data()),
EvtSelection);
h_electrons_plus_phi[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_eplus_phi",isemflag_author.Data()),
EvtSelection);
h_electrons_plus_pt[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_eplus_pt",isemflag_author.Data()),
EvtSelection);
h_electrons_minus_eta[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_eminus_eta",isemflag_author.Data()),
EvtSelection);
h_electrons_minus_phi[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_eminus_phi",isemflag_author.Data()),
EvtSelection);
h_electrons_minus_pt[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_eminus_pt",isemflag_author.Data()),
EvtSelection);
}
}
Int_t n_electrons = fEvent->GetN_Electrons();
Int_t n_electrons_plus = 0;
Int_t n_electrons_minus = 0;
AtlElectron *el = 0;
HepMCParticle *el_mc = 0;
Float_t eta_mc = 0.;
Float_t phi_mc = 0.;
Float_t pt_mc = 0.;
Float_t eta = 0.;
Float_t phi = 0.;
Float_t pt = 0.;
Bool_t eplus;
for ( Int_t i = 0; i < n_electrons; i++ ) {
el = (AtlElectron*)fEvent->GetElectrons()->At(i);
pt = el->Pt();
eta = el->Eta();
phi = el->Phi();
eplus = el->IsPositive();
if ( eplus ) {
n_electrons_plus++;
} else {
n_electrons_minus++;
}
AtlEMShower::EAuthor author = el->GetAuthor();
for ( Int_t j = 0; j < AtlEMShower::fgNAuthors; j++ ) {
if ( author & (1<<j) ) h_el_author->
AddBinContent(j+1, GetTagEvtWeight());
}
AtlEMShower::EIsEM isem = el->GetIsEM();
for ( Int_t j = 0; j < AtlEMShower::fgNIsEM; j++ ) {
if ( isem & (1<<j) ) h_el_isem->
AddBinContent(j+1, GetTagEvtWeight());
}
for ( Int_t i_author = 0; i_author < AtlEMShower::fgNAuthors; i_author++ ) {
if ( 1<<i_author & AtlEMShower::kInvalid ) continue;
TString author_name = AtlEMShower::fgAuthorNames[i_author];
for ( Int_t i_isem = 0; i_isem < AtlEMShower::fgNIsEM; i_isem++ ) {
if ( 1<<i_isem & AtlEMShower::kInvalid ) continue;
TString isemflag_name = AtlEMShower::fgIsEMNames[i_isem];
if ( (author & 1<<i_author) && (isem & 1<<i_isem) ) {
if(fEvent->IsMC()) {
el_mc = (HepMCParticle*)fEvent->FindMatchedMCParticle(el);
if(el_mc != 0) {
phi_mc = el_mc->Phi();
pt_mc = el_mc->Pt();
eta_mc = el_mc->Eta();
h_MC_vs_REC_electrons_Eta[i_author][i_isem]
-> Fill(eta_mc, eta , GetTagEvtWeight());
h_MC_vs_REC_electrons_DeltaEtaSigned[i_author][i_isem]
-> Fill(eta - eta_mc , GetTagEvtWeight());
if(eta_mc!=0) h_MC_vs_REC_electrons_DeltaEtaSigned_norm[i_author][i_isem]
-> Fill( (eta - eta_mc)/eta_mc, GetTagEvtWeight());
h_MC_vs_REC_electrons_Phi[i_author][i_isem]
-> Fill(phi_mc, phi , GetTagEvtWeight());
h_MC_vs_REC_electrons_DeltaPhiSigned[i_author][i_isem]
-> Fill(phi - phi_mc , GetTagEvtWeight());
if(phi_mc!=0) h_MC_vs_REC_electrons_DeltaPhiSigned_norm[i_author][i_isem]
-> Fill( (phi - phi_mc)/phi_mc, GetTagEvtWeight());
h_MC_vs_REC_electrons_Pt[i_author][i_isem]
-> Fill(pt_mc, pt , GetTagEvtWeight());
h_MC_vs_REC_electrons_DeltaPtSigned[i_author][i_isem]
-> Fill(pt - pt_mc, GetTagEvtWeight());
if(pt_mc!=0){
h_MC_vs_REC_electrons_DeltaPtSigned_norm[i_author][i_isem]
-> Fill( (pt - pt_mc)/pt_mc , GetTagEvtWeight());
prof_MC_vs_REC_electrons_PtMC_vs_DeltaPt_norm[i_author][i_isem]
-> Fill( pt_mc, (pt - pt_mc)/pt_mc , GetTagEvtWeight());
prof_MC_vs_REC_electrons_EtaMC_vs_DeltaPt_norm[i_author][i_isem]
-> Fill( eta_mc, (pt - pt_mc)/pt_mc , GetTagEvtWeight());
prof_MC_vs_REC_electrons_PhiMC_vs_DeltaPt_norm[i_author][i_isem]
-> Fill( phi_mc, (pt - pt_mc)/pt_mc , GetTagEvtWeight());
prof_MC_vs_REC_electrons_PtMC_vs_DeltaPt[i_author][i_isem]
-> Fill( pt_mc, (pt - pt_mc) , GetTagEvtWeight());
prof_MC_vs_REC_electrons_EtaMC_vs_DeltaPt[i_author][i_isem]
-> Fill( eta_mc, (pt - pt_mc) , GetTagEvtWeight());
prof_MC_vs_REC_electrons_PhiMC_vs_DeltaPt[i_author][i_isem]
-> Fill( phi_mc, (pt - pt_mc) , GetTagEvtWeight());
}
}
}
h_electrons_all_eta[i_author][i_isem]->Fill(eta, GetTagEvtWeight());
h_electrons_all_phi[i_author][i_isem]->Fill(phi, GetTagEvtWeight());
h_electrons_all_pt[i_author][i_isem]->Fill(pt, GetTagEvtWeight());
h_electrons_etcone20[i_author][i_isem]->Fill(el->GetEtCone20(), GetTagEvtWeight());
h_electrons_etcone30[i_author][i_isem]->Fill(el->GetEtCone30(), GetTagEvtWeight());
h_electrons_etcone40[i_author][i_isem]->Fill(el->GetEtCone40(), GetTagEvtWeight());
h_electrons_etcone45[i_author][i_isem]->Fill(el->GetEtCone45(), GetTagEvtWeight());
if ( eplus ) {
h_electrons_plus_eta[i_author][i_isem]->Fill(eta, GetTagEvtWeight());
h_electrons_plus_phi[i_author][i_isem]->Fill(phi, GetTagEvtWeight());
h_electrons_plus_pt[i_author][i_isem]->Fill(pt, GetTagEvtWeight());
} else {
h_electrons_minus_eta[i_author][i_isem]->Fill(eta, GetTagEvtWeight());
h_electrons_minus_phi[i_author][i_isem]->Fill(phi, GetTagEvtWeight());
h_electrons_minus_pt[i_author][i_isem]->Fill(pt, GetTagEvtWeight());
}
}
}
}
}
h_electrons_all_n ->Fill(n_electrons , GetTagEvtWeight());
h_electrons_plus_n ->Fill(n_electrons_plus , GetTagEvtWeight());
h_electrons_minus_n->Fill(n_electrons_minus, GetTagEvtWeight());
}
void AtlCtrlPlots::FillMuonHistograms(Bool_t EvtSelection) {
TH1F *h_mu_author = (TH1F*)GetHistogram("h_muon_author", EvtSelection);
TH1F *h_mu_quality = (TH1F*)GetHistogram("h_muon_quality", EvtSelection);
TH1F *h_MC_vs_REC_muons_DeltaEtaSigned[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_MC_vs_REC_muons_DeltaEtaSigned_norm[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH2F *h_MC_vs_REC_muons_Eta[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_MC_vs_REC_muons_DeltaPhiSigned[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_MC_vs_REC_muons_DeltaPhiSigned_norm[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH2F *h_MC_vs_REC_muons_Phi[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_MC_vs_REC_muons_DeltaPtSigned[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_MC_vs_REC_muons_DeltaPtSigned_norm[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH2F *h_MC_vs_REC_muons_Pt[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TProfile *prof_MC_vs_REC_muons_PtMC_vs_DeltaPt[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TProfile *prof_MC_vs_REC_muons_EtaMC_vs_DeltaPt[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TProfile *prof_MC_vs_REC_muons_PhiMC_vs_DeltaPt[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TProfile *prof_MC_vs_REC_muons_PtMC_vs_DeltaPt_norm[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TProfile *prof_MC_vs_REC_muons_EtaMC_vs_DeltaPt_norm[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TProfile *prof_MC_vs_REC_muons_PhiMC_vs_DeltaPt_norm[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_all_n;
TH1F *h_muons_all_eta[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_all_phi[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_all_pt[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_etcone10[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_etcone20[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_etcone30[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_etcone40[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_ptcone10[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_ptcone20[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_ptcone30[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_ptcone40[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_ntrkcone10[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_ntrkcone20[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_ntrkcone30[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_ntrkcone40[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_chi2[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_plus_n;
TH1F *h_muons_plus_eta[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_plus_phi[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_plus_pt[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_minus_n;
TH1F *h_muons_minus_eta[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_minus_phi[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
TH1F *h_muons_minus_pt[AtlMuon::fgNAuthors][AtlMuon::fgNQuality];
h_muons_all_n = (TH1F*)GetHistogram("h_all_muon_n",EvtSelection);
h_muons_plus_n = (TH1F*)GetHistogram("h_all_muplus_n", EvtSelection);
h_muons_minus_n = (TH1F*)GetHistogram("h_all_muminus_n", EvtSelection);
for ( Int_t i_author = 0; i_author < AtlMuon::fgNAuthors; i_author++ ) {
if ( 1<<i_author & AtlMuon::kInvalid ) continue;
TString author_name = AtlMuon::fgAuthorNames[i_author];
for ( Int_t i_quality = 0; i_quality < AtlMuon::fgNQuality; i_quality++ ) {
if ( 1<<i_quality & AtlMuon::kInvalid ) continue;
TString qualityflag_name = AtlMuon::fgQualityNames[i_quality];
TString qualityflag_author = Form("%s_%s",qualityflag_name.Data(),author_name.Data());
if(fEvent->IsMC()) {
h_MC_vs_REC_muons_DeltaEtaSigned[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_muons_DeltaEtaSigned",
qualityflag_author.Data()),
EvtSelection);
h_MC_vs_REC_muons_DeltaEtaSigned_norm[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_muons_DeltaEtaSigned_norm",
qualityflag_author.Data()),
EvtSelection);
h_MC_vs_REC_muons_Eta[i_author][i_quality]
= (TH2F*)GetHistogram(Form("h_MC_vs_REC_%s_muons_Eta",
qualityflag_author.Data()),
EvtSelection);
h_MC_vs_REC_muons_DeltaPhiSigned[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_muons_DeltaPhiSigned",
qualityflag_author.Data()),
EvtSelection);
h_MC_vs_REC_muons_DeltaPhiSigned_norm[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_muons_DeltaPhiSigned_norm",
qualityflag_author.Data()),
EvtSelection);
h_MC_vs_REC_muons_Phi[i_author][i_quality]
= (TH2F*)GetHistogram(Form("h_MC_vs_REC_%s_muons_Phi",
qualityflag_author.Data()),
EvtSelection);
h_MC_vs_REC_muons_DeltaPtSigned[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_muons_DeltaPtSigned",
qualityflag_author.Data()),
EvtSelection);
h_MC_vs_REC_muons_DeltaPtSigned_norm[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_muons_DeltaPtSigned_norm",
qualityflag_author.Data()),
EvtSelection);
h_MC_vs_REC_muons_Pt[i_author][i_quality]
= (TH2F*)GetHistogram(Form("h_MC_vs_REC_%s_muons_Pt",
qualityflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_muons_PtMC_vs_DeltaPt[i_author][i_quality]
= (TProfile*)GetHistogram(Form("prof_MC_vs_REC_%s_muons_PtMC_vs_DeltaPt",
qualityflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_muons_EtaMC_vs_DeltaPt[i_author][i_quality]
= (TProfile*)GetHistogram(Form("prof_MC_vs_REC_%s_muons_EtaMC_vs_DeltaPt",
qualityflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_muons_PhiMC_vs_DeltaPt[i_author][i_quality]
= (TProfile*)GetHistogram(Form("prof_MC_vs_REC_%s_muons_PhiMC_vs_DeltaPt",
qualityflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_muons_PtMC_vs_DeltaPt_norm[i_author][i_quality]
= (TProfile*)GetHistogram(
Form("prof_MC_vs_REC_%s_muons_PtMC_vs_DeltaPt_norm",
qualityflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_muons_EtaMC_vs_DeltaPt_norm[i_author][i_quality]
= (TProfile*)GetHistogram(
Form("prof_MC_vs_REC_%s_muons_EtaMC_vs_DeltaPt_norm",
qualityflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_muons_PhiMC_vs_DeltaPt_norm[i_author][i_quality]
= (TProfile*)GetHistogram(
Form("prof_MC_vs_REC_%s_muons_PhiMC_vs_DeltaPt_norm",
qualityflag_author.Data()),
EvtSelection);
}
h_muons_all_eta[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_eta",
qualityflag_author.Data()),
EvtSelection);
h_muons_all_phi[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_phi",
qualityflag_author.Data()),
EvtSelection);
h_muons_all_pt[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_pt",
qualityflag_author.Data()),
EvtSelection);
h_muons_etcone10[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_EtCone10",
qualityflag_author.Data()),
EvtSelection);
h_muons_etcone20[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_EtCone20",
qualityflag_author.Data()),
EvtSelection);
h_muons_etcone30[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_EtCone30",
qualityflag_author.Data()),
EvtSelection);
h_muons_etcone40[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_EtCone40",
qualityflag_author.Data()),
EvtSelection);
h_muons_ptcone10[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_PtTrkCone10",
qualityflag_author.Data()),
EvtSelection);
h_muons_ptcone20[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_PtTrkCone20",
qualityflag_author.Data()),
EvtSelection);
h_muons_ptcone30[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_PtTrkCone30",
qualityflag_author.Data()),
EvtSelection);
h_muons_ptcone40[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_PtTrkCone40",
qualityflag_author.Data()),
EvtSelection);
h_muons_ntrkcone10[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_NtrkCone10",
qualityflag_author.Data()),
EvtSelection);
h_muons_ntrkcone20[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_NtrkCone20",
qualityflag_author.Data()),
EvtSelection);
h_muons_ntrkcone30[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_NtrkCone30",
qualityflag_author.Data()),
EvtSelection);
h_muons_ntrkcone40[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_NtrkCone40",
qualityflag_author.Data()),
EvtSelection);
h_muons_chi2[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muon_chi2",
qualityflag_author.Data()),
EvtSelection);
h_muons_plus_eta[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muplus_eta",qualityflag_author.Data()),
EvtSelection);
h_muons_plus_phi[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muplus_phi",qualityflag_author.Data()),
EvtSelection);
h_muons_plus_pt[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muplus_pt",qualityflag_author.Data()),
EvtSelection);
h_muons_minus_eta[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muminus_eta",qualityflag_author.Data()),
EvtSelection);
h_muons_minus_phi[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muminus_phi",qualityflag_author.Data()),
EvtSelection);
h_muons_minus_pt[i_author][i_quality]
= (TH1F*)GetHistogram(Form("h_%s_muminus_pt",qualityflag_author.Data()),
EvtSelection);
}
}
Int_t n_muons = fEvent->GetN_Muons();
Int_t n_muons_plus = 0;
Int_t n_muons_minus = 0;
AtlMuon *mu = 0;
HepMCParticle *mu_mc = 0;
TString mu_author;
TString mu_quality;
Float_t eta_mc = 0.;
Float_t phi_mc = 0.;
Float_t pt_mc = 0.;
Float_t eta = 0.;
Float_t phi = 0.;
Float_t pt = 0.;
Bool_t muplus;
for ( Int_t i = 0; i < n_muons; i++ ) {
mu = (AtlMuon*)fEvent->GetMuons()->At(i);
pt = mu->Pt();
eta = mu->Eta();
phi = mu->Phi();
muplus = mu->IsPositive();
if ( muplus ) {
n_muons_plus++;
} else {
n_muons_minus++;
}
AtlMuon::EAuthor author = mu->GetAuthor();
for ( Int_t j = 0; j < AtlMuon::fgNAuthors; j++ ) {
if ( author & (1<<j) ) h_mu_author->
AddBinContent(j+1, GetTagEvtWeight());
}
AtlMuon::EQuality quality = mu->GetQuality();
for ( Int_t k = 0; k < AtlMuon::fgNQuality; k++ ) {
if ( quality & (1<<k) ) h_mu_quality->
AddBinContent(k+1, GetTagEvtWeight());
}
for ( Int_t i_author = 0; i_author < AtlMuon::fgNAuthors; i_author++ ) {
if ( 1<<i_author & AtlMuon::kInvalid ) continue;
TString author_name = AtlMuon::fgAuthorNames[i_author];
for ( Int_t i_quality = 0; i_quality < AtlMuon::fgNQuality; i_quality++ ) {
if ( 1<<i_quality & AtlMuon::kInvalid ) continue;
TString qualityflag_name = AtlMuon::fgQualityNames[i_quality];
if ( (author & 1<<i_author) && (quality & 1<<i_quality) ) {
if(fEvent->IsMC()) {
mu_mc = (HepMCParticle*)fEvent->FindMatchedMCParticle(mu);
if(mu_mc != 0) {
phi_mc = mu_mc->Phi();
pt_mc = mu_mc->Pt();
eta_mc = mu_mc->Eta();
h_MC_vs_REC_muons_Eta[i_author][i_quality]
-> Fill(eta_mc, eta , GetTagEvtWeight());
h_MC_vs_REC_muons_DeltaEtaSigned[i_author][i_quality]
-> Fill(eta - eta_mc , GetTagEvtWeight());
if(eta_mc!=0) h_MC_vs_REC_muons_DeltaEtaSigned_norm[i_author][i_quality]
-> Fill( (eta - eta_mc)/eta_mc, GetTagEvtWeight());
h_MC_vs_REC_muons_Phi[i_author][i_quality]
-> Fill(phi_mc, phi , GetTagEvtWeight());
h_MC_vs_REC_muons_DeltaPhiSigned[i_author][i_quality]
-> Fill(phi - phi_mc , GetTagEvtWeight());
if(phi_mc!=0) h_MC_vs_REC_muons_DeltaPhiSigned_norm[i_author][i_quality]
-> Fill( (phi - phi_mc)/phi_mc, GetTagEvtWeight());
h_MC_vs_REC_muons_Pt[i_author][i_quality]
-> Fill(pt_mc, pt , GetTagEvtWeight());
h_MC_vs_REC_muons_DeltaPtSigned[i_author][i_quality]
-> Fill(pt - pt_mc, GetTagEvtWeight());
if(pt_mc!=0){
h_MC_vs_REC_muons_DeltaPtSigned_norm[i_author][i_quality]
-> Fill( (pt - pt_mc)/pt_mc , GetTagEvtWeight());
prof_MC_vs_REC_muons_PtMC_vs_DeltaPt_norm[i_author][i_quality]
-> Fill( pt_mc, (pt - pt_mc)/pt_mc , GetTagEvtWeight());
prof_MC_vs_REC_muons_EtaMC_vs_DeltaPt_norm[i_author][i_quality]
-> Fill( eta_mc, (pt - pt_mc)/pt_mc , GetTagEvtWeight());
prof_MC_vs_REC_muons_PhiMC_vs_DeltaPt_norm[i_author][i_quality]
-> Fill( phi_mc, (pt - pt_mc)/pt_mc , GetTagEvtWeight());
prof_MC_vs_REC_muons_PtMC_vs_DeltaPt[i_author][i_quality]
-> Fill( pt_mc, (pt - pt_mc) , GetTagEvtWeight());
prof_MC_vs_REC_muons_EtaMC_vs_DeltaPt[i_author][i_quality]
-> Fill( eta_mc, (pt - pt_mc) , GetTagEvtWeight());
prof_MC_vs_REC_muons_PhiMC_vs_DeltaPt[i_author][i_quality]
-> Fill( phi_mc, (pt - pt_mc) , GetTagEvtWeight());
}
}
}
h_muons_all_eta[i_author][i_quality]->Fill(eta, GetTagEvtWeight());
h_muons_all_phi[i_author][i_quality]->Fill(phi, GetTagEvtWeight());
h_muons_all_pt[i_author][i_quality]->Fill(pt, GetTagEvtWeight());
h_muons_etcone10[i_author][i_quality]->Fill(mu->GetEtCone10(), GetTagEvtWeight());
h_muons_etcone20[i_author][i_quality]->Fill(mu->GetEtCone20(), GetTagEvtWeight());
h_muons_etcone30[i_author][i_quality]->Fill(mu->GetEtCone30(), GetTagEvtWeight());
h_muons_etcone40[i_author][i_quality]->Fill(mu->GetEtCone40(), GetTagEvtWeight());
if ( muplus ) {
h_muons_plus_eta[i_author][i_quality]->Fill(eta, GetTagEvtWeight());
h_muons_plus_phi[i_author][i_quality]->Fill(phi, GetTagEvtWeight());
h_muons_plus_pt[i_author][i_quality]->Fill(pt, GetTagEvtWeight());
} else {
h_muons_minus_eta[i_author][i_quality]->Fill(eta, GetTagEvtWeight());
h_muons_minus_phi[i_author][i_quality]->Fill(phi, GetTagEvtWeight());
h_muons_minus_pt[i_author][i_quality]->Fill(pt, GetTagEvtWeight());
}
}
}
}
}
h_muons_all_n ->Fill(n_muons , GetTagEvtWeight());
h_muons_plus_n ->Fill(n_muons_plus , GetTagEvtWeight());
h_muons_minus_n->Fill(n_muons_minus, GetTagEvtWeight());
}
void AtlCtrlPlots::FillTauHistograms(Bool_t EvtSelection) {
TH1F *h_tauctight_taurec_all_n = (TH1F*)GetHistogram("h_tauctight_taurec_tauon_n", EvtSelection);
TH1F *h_tauctight_taurec_all_eta = (TH1F*)GetHistogram("h_tauctight_taurec_tauon_eta", EvtSelection);
TH1F *h_tauctight_taurec_all_phi = (TH1F*)GetHistogram("h_tauctight_taurec_tauon_phi", EvtSelection);
TH1F *h_tauctight_taurec_all_pt = (TH1F*)GetHistogram("h_tauctight_taurec_tauon_pt", EvtSelection);
TH1F *h_tauctight_taurec_plus_n = (TH1F*)GetHistogram("h_tauctight_taurec_tauplus_n", EvtSelection);
TH1F *h_tauctight_taurec_plus_eta = (TH1F*)GetHistogram("h_tauctight_taurec_tauplus_eta", EvtSelection);
TH1F *h_tauctight_taurec_plus_phi = (TH1F*)GetHistogram("h_tauctight_taurec_tauplus_phi", EvtSelection);
TH1F *h_tauctight_taurec_plus_pt = (TH1F*)GetHistogram("h_tauctight_taurec_tauplus_pt", EvtSelection);
TH1F *h_tauctight_taurec_minus_n = (TH1F*)GetHistogram("h_tauctight_taurec_tauminus_n", EvtSelection);
TH1F *h_tauctight_taurec_minus_eta = (TH1F*)GetHistogram("h_tauctight_taurec_tauminus_eta", EvtSelection);
TH1F *h_tauctight_taurec_minus_phi = (TH1F*)GetHistogram("h_tauctight_taurec_tauminus_phi", EvtSelection);
TH1F *h_tauctight_taurec_minus_pt = (TH1F*)GetHistogram("h_tauctight_taurec_tauminus_pt", EvtSelection);
TH1F *h_taucmedium_taurec_all_n = (TH1F*)GetHistogram("h_taucmedium_taurec_tauon_n", EvtSelection);
TH1F *h_taucmedium_taurec_all_eta = (TH1F*)GetHistogram("h_taucmedium_taurec_tauon_eta", EvtSelection);
TH1F *h_taucmedium_taurec_all_phi = (TH1F*)GetHistogram("h_taucmedium_taurec_tauon_phi", EvtSelection);
TH1F *h_taucmedium_taurec_all_pt = (TH1F*)GetHistogram("h_taucmedium_taurec_tauon_pt", EvtSelection);
TH1F *h_taucmedium_taurec_plus_n = (TH1F*)GetHistogram("h_taucmedium_taurec_tauplus_n", EvtSelection);
TH1F *h_taucmedium_taurec_plus_eta = (TH1F*)GetHistogram("h_taucmedium_taurec_tauplus_eta", EvtSelection);
TH1F *h_taucmedium_taurec_plus_phi = (TH1F*)GetHistogram("h_taucmedium_taurec_tauplus_phi", EvtSelection);
TH1F *h_taucmedium_taurec_plus_pt = (TH1F*)GetHistogram("h_taucmedium_taurec_tauplus_pt", EvtSelection);
TH1F *h_taucmedium_taurec_minus_n = (TH1F*)GetHistogram("h_taucmedium_taurec_tauminus_n", EvtSelection);
TH1F *h_taucmedium_taurec_minus_eta = (TH1F*)GetHistogram("h_taucmedium_taurec_tauminus_eta", EvtSelection);
TH1F *h_taucmedium_taurec_minus_phi = (TH1F*)GetHistogram("h_taucmedium_taurec_tauminus_phi", EvtSelection);
TH1F *h_taucmedium_taurec_minus_pt = (TH1F*)GetHistogram("h_taucmedium_taurec_tauminus_pt", EvtSelection);
TH1F *h_taucloose_taurec_all_n = (TH1F*)GetHistogram("h_taucloose_taurec_tauon_n", EvtSelection);
TH1F *h_taucloose_taurec_all_eta = (TH1F*)GetHistogram("h_taucloose_taurec_tauon_eta", EvtSelection);
TH1F *h_taucloose_taurec_all_phi = (TH1F*)GetHistogram("h_taucloose_taurec_tauon_phi", EvtSelection);
TH1F *h_taucloose_taurec_all_pt = (TH1F*)GetHistogram("h_taucloose_taurec_tauon_pt", EvtSelection);
TH1F *h_taucloose_taurec_plus_n = (TH1F*)GetHistogram("h_taucloose_taurec_tauplus_n", EvtSelection);
TH1F *h_taucloose_taurec_plus_eta = (TH1F*)GetHistogram("h_taucloose_taurec_tauplus_eta", EvtSelection);
TH1F *h_taucloose_taurec_plus_phi = (TH1F*)GetHistogram("h_taucloose_taurec_tauplus_phi", EvtSelection);
TH1F *h_taucloose_taurec_plus_pt = (TH1F*)GetHistogram("h_taucloose_taurec_tauplus_pt", EvtSelection);
TH1F *h_taucloose_taurec_minus_n = (TH1F*)GetHistogram("h_taucloose_taurec_tauminus_n", EvtSelection);
TH1F *h_taucloose_taurec_minus_eta = (TH1F*)GetHistogram("h_taucloose_taurec_tauminus_eta", EvtSelection);
TH1F *h_taucloose_taurec_minus_phi = (TH1F*)GetHistogram("h_taucloose_taurec_tauminus_phi", EvtSelection);
TH1F *h_taucloose_taurec_minus_pt = (TH1F*)GetHistogram("h_taucloose_taurec_tauminus_pt", EvtSelection);
TH1F *h_tauctight_1p3p_all_n = (TH1F*)GetHistogram("h_tauctight_1p3p_tauon_n", EvtSelection);
TH1F *h_tauctight_1p3p_all_eta = (TH1F*)GetHistogram("h_tauctight_1p3p_tauon_eta", EvtSelection);
TH1F *h_tauctight_1p3p_all_phi = (TH1F*)GetHistogram("h_tauctight_1p3p_tauon_phi", EvtSelection);
TH1F *h_tauctight_1p3p_all_pt = (TH1F*)GetHistogram("h_tauctight_1p3p_tauon_pt", EvtSelection);
TH1F *h_tauctight_1p3p_plus_n = (TH1F*)GetHistogram("h_tauctight_1p3p_tauplus_n", EvtSelection);
TH1F *h_tauctight_1p3p_plus_eta = (TH1F*)GetHistogram("h_tauctight_1p3p_tauplus_eta", EvtSelection);
TH1F *h_tauctight_1p3p_plus_phi = (TH1F*)GetHistogram("h_tauctight_1p3p_tauplus_phi", EvtSelection);
TH1F *h_tauctight_1p3p_plus_pt = (TH1F*)GetHistogram("h_tauctight_1p3p_tauplus_pt", EvtSelection);
TH1F *h_tauctight_1p3p_minus_n = (TH1F*)GetHistogram("h_tauctight_1p3p_tauminus_n", EvtSelection);
TH1F *h_tauctight_1p3p_minus_eta = (TH1F*)GetHistogram("h_tauctight_1p3p_tauminus_eta", EvtSelection);
TH1F *h_tauctight_1p3p_minus_phi = (TH1F*)GetHistogram("h_tauctight_1p3p_tauminus_phi", EvtSelection);
TH1F *h_tauctight_1p3p_minus_pt = (TH1F*)GetHistogram("h_tauctight_1p3p_tauminus_pt", EvtSelection);
TH1F *h_taucmedium_1p3p_all_n = (TH1F*)GetHistogram("h_taucmedium_1p3p_tauon_n", EvtSelection);
TH1F *h_taucmedium_1p3p_all_eta = (TH1F*)GetHistogram("h_taucmedium_1p3p_tauon_eta", EvtSelection);
TH1F *h_taucmedium_1p3p_all_phi = (TH1F*)GetHistogram("h_taucmedium_1p3p_tauon_phi", EvtSelection);
TH1F *h_taucmedium_1p3p_all_pt = (TH1F*)GetHistogram("h_taucmedium_1p3p_tauon_pt", EvtSelection);
TH1F *h_taucmedium_1p3p_plus_n = (TH1F*)GetHistogram("h_taucmedium_1p3p_tauplus_n", EvtSelection);
TH1F *h_taucmedium_1p3p_plus_eta = (TH1F*)GetHistogram("h_taucmedium_1p3p_tauplus_eta", EvtSelection);
TH1F *h_taucmedium_1p3p_plus_phi = (TH1F*)GetHistogram("h_taucmedium_1p3p_tauplus_phi", EvtSelection);
TH1F *h_taucmedium_1p3p_plus_pt = (TH1F*)GetHistogram("h_taucmedium_1p3p_tauplus_pt", EvtSelection);
TH1F *h_taucmedium_1p3p_minus_n = (TH1F*)GetHistogram("h_taucmedium_1p3p_tauminus_n", EvtSelection);
TH1F *h_taucmedium_1p3p_minus_eta = (TH1F*)GetHistogram("h_taucmedium_1p3p_tauminus_eta", EvtSelection);
TH1F *h_taucmedium_1p3p_minus_phi = (TH1F*)GetHistogram("h_taucmedium_1p3p_tauminus_phi", EvtSelection);
TH1F *h_taucmedium_1p3p_minus_pt = (TH1F*)GetHistogram("h_taucmedium_1p3p_tauminus_pt", EvtSelection);
TH1F *h_taucloose_1p3p_all_n = (TH1F*)GetHistogram("h_taucloose_1p3p_tauon_n", EvtSelection);
TH1F *h_taucloose_1p3p_all_eta = (TH1F*)GetHistogram("h_taucloose_1p3p_tauon_eta", EvtSelection);
TH1F *h_taucloose_1p3p_all_phi = (TH1F*)GetHistogram("h_taucloose_1p3p_tauon_phi", EvtSelection);
TH1F *h_taucloose_1p3p_all_pt = (TH1F*)GetHistogram("h_taucloose_1p3p_tauon_pt", EvtSelection);
TH1F *h_taucloose_1p3p_plus_n = (TH1F*)GetHistogram("h_taucloose_1p3p_tauplus_n", EvtSelection);
TH1F *h_taucloose_1p3p_plus_eta = (TH1F*)GetHistogram("h_taucloose_1p3p_tauplus_eta", EvtSelection);
TH1F *h_taucloose_1p3p_plus_phi = (TH1F*)GetHistogram("h_taucloose_1p3p_tauplus_phi", EvtSelection);
TH1F *h_taucloose_1p3p_plus_pt = (TH1F*)GetHistogram("h_taucloose_1p3p_tauplus_pt", EvtSelection);
TH1F *h_taucloose_1p3p_minus_n = (TH1F*)GetHistogram("h_taucloose_1p3p_tauminus_n", EvtSelection);
TH1F *h_taucloose_1p3p_minus_eta = (TH1F*)GetHistogram("h_taucloose_1p3p_tauminus_eta", EvtSelection);
TH1F *h_taucloose_1p3p_minus_phi = (TH1F*)GetHistogram("h_taucloose_1p3p_tauminus_phi", EvtSelection);
TH1F *h_taucloose_1p3p_minus_pt = (TH1F*)GetHistogram("h_taucloose_1p3p_tauminus_pt", EvtSelection);
AtlTau *tau = 0;
Int_t n_tauctight_taurec = 0;
Int_t n_tauctight_taurec_plus = 0;
Int_t n_tauctight_taurec_minus = 0;
Int_t n_taucmedium_taurec = 0;
Int_t n_taucmedium_taurec_plus = 0;
Int_t n_taucmedium_taurec_minus = 0;
Int_t n_taucloose_taurec = 0;
Int_t n_taucloose_taurec_plus = 0;
Int_t n_taucloose_taurec_minus = 0;
Int_t n_tauctight_1p3p = 0;
Int_t n_tauctight_1p3p_plus = 0;
Int_t n_tauctight_1p3p_minus = 0;
Int_t n_taucmedium_1p3p = 0;
Int_t n_taucmedium_1p3p_plus = 0;
Int_t n_taucmedium_1p3p_minus = 0;
Int_t n_taucloose_1p3p = 0;
Int_t n_taucloose_1p3p_plus = 0;
Int_t n_taucloose_1p3p_minus = 0;
Float_t eta = 0.;
Float_t phi = 0.;
Float_t pt = 0.;
Bool_t taurec;
Bool_t tau_1p3p;
Bool_t tauctight;
Bool_t taucmedium;
Bool_t taucloose;
Bool_t tauplus;
for ( Int_t i = 0; i < fEvent->GetN_Taus(); i++ ) {
tau = (AtlTau*)fEvent->GetTaus()->At(i);
pt = tau->Pt();
eta = tau->Eta();
phi = tau->Phi();
taurec = tau->IsTauRec();
tau_1p3p = tau->IsTau1P3P();
tauplus = tau->IsTauPlus();
if( taurec ) {
if( tauctight ) {
n_tauctight_taurec++;
h_tauctight_taurec_all_eta->Fill(eta, GetTagEvtWeight());
h_tauctight_taurec_all_phi->Fill(phi, GetTagEvtWeight());
h_tauctight_taurec_all_pt ->Fill(pt, GetTagEvtWeight());
if ( tauplus ) {
n_tauctight_taurec_plus++;
h_tauctight_taurec_plus_eta->Fill(eta, GetTagEvtWeight());
h_tauctight_taurec_plus_phi->Fill(phi, GetTagEvtWeight());
h_tauctight_taurec_plus_pt ->Fill(pt, GetTagEvtWeight());
} else {
n_tauctight_taurec_minus++;
h_tauctight_taurec_minus_eta->Fill(eta, GetTagEvtWeight());
h_tauctight_taurec_minus_phi->Fill(phi, GetTagEvtWeight());
h_tauctight_taurec_minus_pt ->Fill(pt, GetTagEvtWeight());
}
}
if( taucmedium ) {
n_taucmedium_taurec++;
h_taucmedium_taurec_all_eta->Fill(eta, GetTagEvtWeight());
h_taucmedium_taurec_all_phi->Fill(phi, GetTagEvtWeight());
h_taucmedium_taurec_all_pt ->Fill(pt, GetTagEvtWeight());
if ( tauplus ) {
n_taucmedium_taurec_plus++;
h_taucmedium_taurec_plus_eta->Fill(eta, GetTagEvtWeight());
h_taucmedium_taurec_plus_phi->Fill(phi, GetTagEvtWeight());
h_taucmedium_taurec_plus_pt ->Fill(pt, GetTagEvtWeight());
} else {
n_taucmedium_taurec_minus++;
h_taucmedium_taurec_minus_eta->Fill(eta, GetTagEvtWeight());
h_taucmedium_taurec_minus_phi->Fill(phi, GetTagEvtWeight());
h_taucmedium_taurec_minus_pt ->Fill(pt, GetTagEvtWeight());
}
}
if( taucloose ) {
n_taucloose_taurec++;
h_taucloose_taurec_all_eta->Fill(eta, GetTagEvtWeight());
h_taucloose_taurec_all_phi->Fill(phi, GetTagEvtWeight());
h_taucloose_taurec_all_pt ->Fill(pt, GetTagEvtWeight());
if ( tauplus ) {
n_taucloose_taurec_plus++;
h_taucloose_taurec_plus_eta->Fill(eta, GetTagEvtWeight());
h_taucloose_taurec_plus_phi->Fill(phi, GetTagEvtWeight());
h_taucloose_taurec_plus_pt ->Fill(pt, GetTagEvtWeight());
} else {
n_taucloose_taurec_minus++;
h_taucloose_taurec_minus_eta->Fill(eta, GetTagEvtWeight());
h_taucloose_taurec_minus_phi->Fill(phi, GetTagEvtWeight());
h_taucloose_taurec_minus_pt ->Fill(pt, GetTagEvtWeight());
}
}
}
if( tau_1p3p ) {
if( tauctight ) {
n_tauctight_1p3p++;
h_tauctight_1p3p_all_eta->Fill(eta, GetTagEvtWeight());
h_tauctight_1p3p_all_phi->Fill(phi, GetTagEvtWeight());
h_tauctight_1p3p_all_pt ->Fill(pt, GetTagEvtWeight());
if ( tauplus ) {
n_tauctight_1p3p_plus++;
h_tauctight_1p3p_plus_eta->Fill(eta, GetTagEvtWeight());
h_tauctight_1p3p_plus_phi->Fill(phi, GetTagEvtWeight());
h_tauctight_1p3p_plus_pt ->Fill(pt, GetTagEvtWeight());
} else {
n_tauctight_1p3p_minus++;
h_tauctight_1p3p_minus_eta->Fill(eta, GetTagEvtWeight());
h_tauctight_1p3p_minus_phi->Fill(phi, GetTagEvtWeight());
h_tauctight_1p3p_minus_pt ->Fill(pt, GetTagEvtWeight());
}
}
if( taucmedium ) {
n_taucmedium_1p3p++;
h_taucmedium_1p3p_all_eta->Fill(eta, GetTagEvtWeight());
h_taucmedium_1p3p_all_phi->Fill(phi, GetTagEvtWeight());
h_taucmedium_1p3p_all_pt ->Fill(pt, GetTagEvtWeight());
if ( tauplus ) {
n_taucmedium_1p3p_plus++;
h_taucmedium_1p3p_plus_eta->Fill(eta, GetTagEvtWeight());
h_taucmedium_1p3p_plus_phi->Fill(phi, GetTagEvtWeight());
h_taucmedium_1p3p_plus_pt ->Fill(pt, GetTagEvtWeight());
} else {
n_taucmedium_1p3p_minus++;
h_taucmedium_1p3p_minus_eta->Fill(eta, GetTagEvtWeight());
h_taucmedium_1p3p_minus_phi->Fill(phi, GetTagEvtWeight());
h_taucmedium_1p3p_minus_pt ->Fill(pt, GetTagEvtWeight());
}
}
if( taucloose ) {
n_taucloose_1p3p++;
h_taucloose_1p3p_all_eta->Fill(eta, GetTagEvtWeight());
h_taucloose_1p3p_all_phi->Fill(phi, GetTagEvtWeight());
h_taucloose_1p3p_all_pt ->Fill(pt, GetTagEvtWeight());
if ( tauplus ) {
n_taucloose_1p3p_plus++;
h_taucloose_1p3p_plus_eta->Fill(eta, GetTagEvtWeight());
h_taucloose_1p3p_plus_phi->Fill(phi, GetTagEvtWeight());
h_taucloose_1p3p_plus_pt ->Fill(pt, GetTagEvtWeight());
} else {
n_taucloose_1p3p_minus++;
h_taucloose_1p3p_minus_eta->Fill(eta, GetTagEvtWeight());
h_taucloose_1p3p_minus_phi->Fill(phi, GetTagEvtWeight());
h_taucloose_1p3p_minus_pt ->Fill(pt, GetTagEvtWeight());
}
}
}
}
h_tauctight_taurec_all_n->Fill(n_tauctight_taurec, GetTagEvtWeight());
h_tauctight_taurec_plus_n->Fill(n_tauctight_taurec_plus, GetTagEvtWeight());
h_tauctight_taurec_minus_n->Fill(n_tauctight_taurec_minus, GetTagEvtWeight());
h_taucmedium_taurec_all_n->Fill(n_taucmedium_taurec, GetTagEvtWeight());
h_taucmedium_taurec_plus_n->Fill(n_taucmedium_taurec_plus, GetTagEvtWeight());
h_taucmedium_taurec_minus_n->Fill(n_taucmedium_taurec_minus, GetTagEvtWeight());
h_taucloose_taurec_all_n->Fill(n_taucloose_taurec, GetTagEvtWeight());
h_taucloose_taurec_plus_n->Fill(n_taucloose_taurec_plus, GetTagEvtWeight());
h_taucloose_taurec_minus_n->Fill(n_taucloose_taurec_minus, GetTagEvtWeight());
h_tauctight_1p3p_all_n->Fill(n_tauctight_1p3p, GetTagEvtWeight());
h_tauctight_1p3p_plus_n->Fill(n_tauctight_1p3p_plus, GetTagEvtWeight());
h_tauctight_1p3p_minus_n->Fill(n_tauctight_1p3p_minus, GetTagEvtWeight());
h_taucmedium_1p3p_all_n->Fill(n_taucmedium_1p3p, GetTagEvtWeight());
h_taucmedium_1p3p_plus_n->Fill(n_taucmedium_1p3p_plus, GetTagEvtWeight());
h_taucmedium_1p3p_minus_n->Fill(n_taucmedium_1p3p_minus, GetTagEvtWeight());
h_taucloose_1p3p_all_n->Fill(n_taucloose_1p3p, GetTagEvtWeight());
h_taucloose_1p3p_plus_n->Fill(n_taucloose_1p3p_plus, GetTagEvtWeight());
h_taucloose_1p3p_minus_n->Fill(n_taucloose_1p3p_minus, GetTagEvtWeight());
}
void AtlCtrlPlots::FillPhotonHistograms(Bool_t EvtSelection) {
TH1F *h_ph_author = (TH1F*)GetHistogram("h_photon_author", EvtSelection);
TH1F *h_ph_isem = (TH1F*)GetHistogram("h_photon_isem", EvtSelection);
TH1F *h_MC_vs_REC_photons_DeltaEtaSigned[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_MC_vs_REC_photons_DeltaEtaSigned_norm[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH2F *h_MC_vs_REC_photons_Eta[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_MC_vs_REC_photons_DeltaPhiSigned[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_MC_vs_REC_photons_DeltaPhiSigned_norm[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH2F *h_MC_vs_REC_photons_Phi[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_MC_vs_REC_photons_DeltaPtSigned[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_MC_vs_REC_photons_DeltaPtSigned_norm[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH2F *h_MC_vs_REC_photons_Pt[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TProfile *prof_MC_vs_REC_photons_PtMC_vs_DeltaPt[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TProfile *prof_MC_vs_REC_photons_EtaMC_vs_DeltaPt[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TProfile *prof_MC_vs_REC_photons_PhiMC_vs_DeltaPt[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TProfile *prof_MC_vs_REC_photons_PtMC_vs_DeltaPt_norm[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TProfile *prof_MC_vs_REC_photons_EtaMC_vs_DeltaPt_norm[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TProfile *prof_MC_vs_REC_photons_PhiMC_vs_DeltaPt_norm[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_photons_all_n;
TH1F *h_photons_all_eta[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_photons_all_phi[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_photons_all_pt[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_photons_etcone20[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_photons_etcone30[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_photons_etcone40[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
TH1F *h_photons_etcone45[AtlEMShower::fgNAuthors][AtlEMShower::fgNIsEM];
h_photons_all_n = (TH1F*)GetHistogram("h_all_photon_n",EvtSelection);
for ( Int_t i_author = 0; i_author < AtlEMShower::fgNAuthors; i_author++ ) {
if ( 1<<i_author & AtlEMShower::kInvalid ) continue;
TString author_name = AtlEMShower::fgAuthorNames[i_author];
for ( Int_t i_isem = 0; i_isem < AtlEMShower::fgNIsEM; i_isem++ ) {
if ( 1<<i_isem & AtlEMShower::kInvalid ) continue;
TString isemflag_name = AtlEMShower::fgIsEMNames[i_isem];
TString isemflag_author = Form("%s_%s",isemflag_name.Data(),author_name.Data());
if(fEvent->IsMC()) {
h_MC_vs_REC_photons_DeltaEtaSigned[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_photons_DeltaEtaSigned",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_photons_DeltaEtaSigned_norm[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_photons_DeltaEtaSigned_norm",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_photons_Eta[i_author][i_isem]
= (TH2F*)GetHistogram(Form("h_MC_vs_REC_%s_photons_Eta",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_photons_DeltaPhiSigned[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_photons_DeltaPhiSigned",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_photons_DeltaPhiSigned_norm[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_photons_DeltaPhiSigned_norm",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_photons_Phi[i_author][i_isem]
= (TH2F*)GetHistogram(Form("h_MC_vs_REC_%s_photons_Phi",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_photons_DeltaPtSigned[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_photons_DeltaPtSigned",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_photons_DeltaPtSigned_norm[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_MC_vs_REC_%s_photons_DeltaPtSigned_norm",
isemflag_author.Data()),
EvtSelection);
h_MC_vs_REC_photons_Pt[i_author][i_isem]
= (TH2F*)GetHistogram(Form("h_MC_vs_REC_%s_photons_Pt",
isemflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_photons_PtMC_vs_DeltaPt[i_author][i_isem]
= (TProfile*)GetHistogram(Form("prof_MC_vs_REC_%s_photons_PtMC_vs_DeltaPt",
isemflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_photons_EtaMC_vs_DeltaPt[i_author][i_isem]
= (TProfile*)GetHistogram(Form("prof_MC_vs_REC_%s_photons_EtaMC_vs_DeltaPt",
isemflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_photons_PhiMC_vs_DeltaPt[i_author][i_isem]
= (TProfile*)GetHistogram(Form("prof_MC_vs_REC_%s_photons_PhiMC_vs_DeltaPt",
isemflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_photons_PtMC_vs_DeltaPt_norm[i_author][i_isem]
= (TProfile*)GetHistogram(
Form("prof_MC_vs_REC_%s_photons_PtMC_vs_DeltaPt_norm",
isemflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_photons_EtaMC_vs_DeltaPt_norm[i_author][i_isem]
= (TProfile*)GetHistogram(
Form("prof_MC_vs_REC_%s_photons_EtaMC_vs_DeltaPt_norm",
isemflag_author.Data()),
EvtSelection);
prof_MC_vs_REC_photons_PhiMC_vs_DeltaPt_norm[i_author][i_isem]
= (TProfile*)GetHistogram(
Form("prof_MC_vs_REC_%s_photons_PhiMC_vs_DeltaPt_norm",
isemflag_author.Data()),
EvtSelection);
}
h_photons_all_eta[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_photon_eta",
isemflag_author.Data()),
EvtSelection);
h_photons_all_phi[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_photon_phi",
isemflag_author.Data()),
EvtSelection);
h_photons_all_pt[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_photon_pt",
isemflag_author.Data()),
EvtSelection);
h_photons_etcone20[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_photon_EtCone20",
isemflag_author.Data()),
EvtSelection);
h_photons_etcone30[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_photon_EtCone30",
isemflag_author.Data()),
EvtSelection);
h_photons_etcone40[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_photon_EtCone40",
isemflag_author.Data()),
EvtSelection);
h_photons_etcone45[i_author][i_isem]
= (TH1F*)GetHistogram(Form("h_%s_photon_EtCone45",
isemflag_author.Data()),
EvtSelection);
}
}
AtlPhoton *ph = 0;
HepMCParticle *ph_mc = 0;
Float_t eta_mc = 0.;
Float_t phi_mc = 0.;
Float_t pt_mc = 0.;
Float_t eta = 0.;
Float_t phi = 0.;
Float_t pt = 0.;
Int_t n_photons = fEvent->GetN_Photons();
for ( Int_t i = 0; i < n_photons; i++ ) {
ph = (AtlPhoton*)fEvent->GetPhotons()->At(i);
pt = ph->Pt();
eta = ph->Eta();
phi = ph->Phi();
AtlEMShower::EAuthor author = ph->GetAuthor();
for ( Int_t j = 0; j < AtlEMShower::fgNAuthors; j++ ) {
if ( author & (1<<j) ) h_ph_author->AddBinContent(j+1, GetTagEvtWeight());
}
AtlEMShower::EIsEM isem = ph->GetIsEM();
for ( Int_t j = 0; j < AtlEMShower::fgNIsEM; j++ ) {
if ( isem & (1<<j) ) h_ph_isem->AddBinContent(j+1, GetTagEvtWeight());
}
for ( Int_t i_author = 0; i_author < AtlEMShower::fgNAuthors; i_author++ ) {
TString author_name = AtlEMShower::fgAuthorNames[i_author];
if ( 1<<i_author & AtlEMShower::kInvalid ) continue;
for ( Int_t i_isem = 0; i_isem < AtlEMShower::fgNIsEM; i_isem++ ) {
if ( 1<<i_isem & AtlEMShower::kInvalid ) continue;
TString isemflag_name = AtlEMShower::fgIsEMNames[i_isem];
if ( (author & 1<<i_author) && (isem & 1<<i_isem) ) {
if(fEvent->IsMC()) {
ph_mc = (HepMCParticle*)fEvent->FindMatchedMCParticle(ph);
if(ph_mc != 0) {
phi_mc = ph_mc->Phi();
pt_mc = ph_mc->Pt();
eta_mc = ph_mc->Eta();
h_MC_vs_REC_photons_Eta[i_author][i_isem]
-> Fill(eta_mc, eta , GetTagEvtWeight());
h_MC_vs_REC_photons_DeltaEtaSigned[i_author][i_isem]
-> Fill(eta - eta_mc , GetTagEvtWeight());
if(eta_mc!=0) h_MC_vs_REC_photons_DeltaEtaSigned_norm[i_author][i_isem]
-> Fill( (eta - eta_mc)/eta_mc, GetTagEvtWeight());
h_MC_vs_REC_photons_Phi[i_author][i_isem]
-> Fill(phi_mc, phi , GetTagEvtWeight());
h_MC_vs_REC_photons_DeltaPhiSigned[i_author][i_isem]
-> Fill(phi - phi_mc , GetTagEvtWeight());
if(phi_mc!=0) h_MC_vs_REC_photons_DeltaPhiSigned_norm[i_author][i_isem]
-> Fill( (phi - phi_mc)/phi_mc, GetTagEvtWeight());
h_MC_vs_REC_photons_Pt[i_author][i_isem]
-> Fill(pt_mc, pt , GetTagEvtWeight());
h_MC_vs_REC_photons_DeltaPtSigned[i_author][i_isem]
-> Fill(pt - pt_mc, GetTagEvtWeight());
if(pt_mc!=0){
h_MC_vs_REC_photons_DeltaPtSigned_norm[i_author][i_isem]
-> Fill( (pt - pt_mc)/pt_mc , GetTagEvtWeight());
prof_MC_vs_REC_photons_PtMC_vs_DeltaPt_norm[i_author][i_isem]
-> Fill( pt_mc, (pt - pt_mc)/pt_mc , GetTagEvtWeight());
prof_MC_vs_REC_photons_EtaMC_vs_DeltaPt_norm[i_author][i_isem]
-> Fill( eta_mc, (pt - pt_mc)/pt_mc , GetTagEvtWeight());
prof_MC_vs_REC_photons_PhiMC_vs_DeltaPt_norm[i_author][i_isem]
-> Fill( phi_mc, (pt - pt_mc)/pt_mc , GetTagEvtWeight());
prof_MC_vs_REC_photons_PtMC_vs_DeltaPt[i_author][i_isem]
-> Fill( pt_mc, (pt - pt_mc) , GetTagEvtWeight());
prof_MC_vs_REC_photons_EtaMC_vs_DeltaPt[i_author][i_isem]
-> Fill( eta_mc, (pt - pt_mc) , GetTagEvtWeight());
prof_MC_vs_REC_photons_PhiMC_vs_DeltaPt[i_author][i_isem]
-> Fill( phi_mc, (pt - pt_mc) , GetTagEvtWeight());
}
}
}
h_photons_all_eta[i_author][i_isem]->Fill(eta, GetTagEvtWeight());
h_photons_all_phi[i_author][i_isem]->Fill(phi, GetTagEvtWeight());
h_photons_all_pt [i_author][i_isem]->Fill(pt, GetTagEvtWeight());
h_photons_etcone20[i_author][i_isem]
->Fill(ph->GetEtCone20(), GetTagEvtWeight());
h_photons_etcone30[i_author][i_isem]
->Fill(ph->GetEtCone30(), GetTagEvtWeight());
h_photons_etcone40[i_author][i_isem]
->Fill(ph->GetEtCone40(), GetTagEvtWeight());
h_photons_etcone45[i_author][i_isem]
->Fill(ph->GetEtCone45(), GetTagEvtWeight());
}
}
}
}
h_photons_all_n->Fill(n_photons, GetTagEvtWeight());
}
void AtlCtrlPlots::FillAtlFastHistograms(Bool_t EvtSelection) {
TH1F *h_el_all_n = (TH1F*)GetHistogram("h_atlfast_electron_n",
EvtSelection);
TH1F *h_el_all_eta = (TH1F*)GetHistogram("h_atlfast_electron_eta",
EvtSelection);
TH1F *h_el_all_phi = (TH1F*)GetHistogram("h_atlfast_electron_phi",
EvtSelection);
TH1F *h_el_all_pt = (TH1F*)GetHistogram("h_atlfast_electron_pt",
EvtSelection);
TH1F *h_el_plus_n = (TH1F*)GetHistogram("h_atlfast_eplus_n",
EvtSelection);
TH1F *h_el_plus_eta = (TH1F*)GetHistogram("h_atlfast_eplus_eta",
EvtSelection);
TH1F *h_el_plus_phi = (TH1F*)GetHistogram("h_atlfast_eplus_phi",
EvtSelection);
TH1F *h_el_plus_pt = (TH1F*)GetHistogram("h_atlfast_eplus_pt",
EvtSelection);
TH1F *h_el_minus_n = (TH1F*)GetHistogram("h_atlfast_eminus_n",
EvtSelection);
TH1F *h_el_minus_eta = (TH1F*)GetHistogram("h_atlfast_eminus_eta",
EvtSelection);
TH1F *h_el_minus_phi = (TH1F*)GetHistogram("h_atlfast_eminus_phi",
EvtSelection);
TH1F *h_el_minus_pt = (TH1F*)GetHistogram("h_atlfast_eminus_pt",
EvtSelection);
AtlFastElectron *el = 0;
Int_t n_el_plus = 0; Int_t n_el_minus = 0;
Float_t el_eta = 0.;
Float_t el_phi = 0.;
Float_t el_pt = 0.;
for ( Int_t i = 0; i < fEvent->GetN_AtlFastElectrons(); i++ ) {
el = (AtlFastElectron*)fEvent->GetAtlFastElectrons()->At(i);
el_phi = el->Phi();
el_pt = el->Pt();
el_eta = el->Eta();
h_el_all_eta->Fill(el_eta, GetTagEvtWeight());
h_el_all_phi->Fill(el_phi, GetTagEvtWeight());
h_el_all_pt ->Fill(el_pt, GetTagEvtWeight());
if ( el->IsPositive() ) {
n_el_plus++;
h_el_plus_eta->Fill(el_eta, GetTagEvtWeight());
h_el_plus_phi->Fill(el_phi, GetTagEvtWeight());
h_el_plus_pt ->Fill(el_pt, GetTagEvtWeight());
} else {
n_el_minus++;
h_el_minus_eta->Fill(el_eta, GetTagEvtWeight());
h_el_minus_phi->Fill(el_phi, GetTagEvtWeight());
h_el_minus_pt ->Fill(el_pt, GetTagEvtWeight());
}
}
h_el_all_n ->Fill(fEvent->GetN_AtlFastElectrons(), GetTagEvtWeight());
h_el_plus_n ->Fill(n_el_plus, GetTagEvtWeight());
h_el_minus_n->Fill(n_el_minus, GetTagEvtWeight());
TH1F *h_ph_n = (TH1F*)GetHistogram("h_atlfast_photon_n", EvtSelection);
TH1F *h_ph_eta = (TH1F*)GetHistogram("h_atlfast_photon_eta", EvtSelection);
TH1F *h_ph_phi = (TH1F*)GetHistogram("h_atlfast_photon_phi", EvtSelection);
TH1F *h_ph_pt = (TH1F*)GetHistogram("h_atlfast_photon_pt", EvtSelection);
AtlFastPhoton *gamma = 0;
Float_t gamma_pt = 0.;
Float_t gamma_eta = 0.;
for ( Int_t i = 0; i < fEvent->GetN_AtlFastPhotons(); i++ ) {
gamma = (AtlFastPhoton*)fEvent->GetAtlFastPhotons()->At(i);
gamma_pt = gamma->Pt();
gamma_eta = gamma->Eta();
h_ph_eta->Fill(gamma->Eta(), GetTagEvtWeight());
h_ph_phi->Fill(gamma->Phi(), GetTagEvtWeight());
h_ph_pt ->Fill(gamma->Pt(), GetTagEvtWeight());
h_ph_eta->Fill(gamma_eta, GetTagEvtWeight());
h_ph_phi->Fill(gamma->Phi(), GetTagEvtWeight());
h_ph_pt ->Fill(gamma_pt, GetTagEvtWeight());
}
h_ph_n ->Fill(fEvent->GetN_AtlFastPhotons(), GetTagEvtWeight());
TH1F *h_mu_all_n = (TH1F*)GetHistogram("h_atlfast_muon_n",
EvtSelection);
TH1F *h_mu_all_eta = (TH1F*)GetHistogram("h_atlfast_muon_eta",
EvtSelection);
TH1F *h_mu_all_phi = (TH1F*)GetHistogram("h_atlfast_muon_phi",
EvtSelection);
TH1F *h_mu_all_pt = (TH1F*)GetHistogram("h_atlfast_muon_pt",
EvtSelection);
TH1F *h_mu_plus_n = (TH1F*)GetHistogram("h_atlfast_muplus_n",
EvtSelection);
TH1F *h_mu_plus_eta = (TH1F*)GetHistogram("h_atlfast_muplus_eta",
EvtSelection);
TH1F *h_mu_plus_phi = (TH1F*)GetHistogram("h_atlfast_muplus_phi",
EvtSelection);
TH1F *h_mu_plus_pt = (TH1F*)GetHistogram("h_atlfast_muplus_pt",
EvtSelection);
TH1F *h_mu_minus_n = (TH1F*)GetHistogram("h_atlfast_muminus_n",
EvtSelection);
TH1F *h_mu_minus_eta = (TH1F*)GetHistogram("h_atlfast_muminus_eta",
EvtSelection);
TH1F *h_mu_minus_phi = (TH1F*)GetHistogram("h_atlfast_muminus_phi",
EvtSelection);
TH1F *h_mu_minus_pt = (TH1F*)GetHistogram("h_atlfast_muminus_pt",
EvtSelection);
AtlFastMuon *mu = 0;
Int_t n_mu_plus = 0; Int_t n_mu_minus = 0;
Float_t mu_eta = 0.;
Float_t mu_phi = 0.;
Float_t mu_pt = 0.;
for ( Int_t i = 0; i < fEvent->GetN_AtlFastMuons(); i++ ) {
mu = (AtlFastMuon*)fEvent->GetAtlFastMuons()->At(i);
mu_phi = mu->Phi();
mu_pt = mu->Pt();
mu_eta = mu->Eta();
h_mu_all_eta->Fill(mu_eta, GetTagEvtWeight());
h_mu_all_phi->Fill(mu_phi, GetTagEvtWeight());
h_mu_all_pt ->Fill(mu_pt, GetTagEvtWeight());
if ( mu->IsPositive() ) {
n_mu_plus++;
h_mu_plus_eta->Fill(mu_eta, GetTagEvtWeight());
h_mu_plus_phi->Fill(mu_phi, GetTagEvtWeight());
h_mu_plus_pt ->Fill(mu_pt, GetTagEvtWeight());
} else {
n_mu_minus++;
h_mu_minus_eta->Fill(mu_eta, GetTagEvtWeight());
h_mu_minus_phi->Fill(mu_phi, GetTagEvtWeight());
h_mu_minus_pt ->Fill(mu_pt, GetTagEvtWeight());
}
}
h_mu_all_n ->Fill(fEvent->GetN_AtlFastMuons(), GetTagEvtWeight());
h_mu_plus_n ->Fill(n_mu_plus, GetTagEvtWeight());
h_mu_minus_n->Fill(n_mu_minus, GetTagEvtWeight());
TH1F *h_jet_n = (TH1F*)GetHistogram("h_atlfast_njets",
EvtSelection);
TH2F *h_jet_etaphi = (TH2F*)GetHistogram("h_atlfast_etaphi",
EvtSelection);
TH1F *h_jet_Et = (TH1F*)GetHistogram("h_atlfast_Et",
EvtSelection);
h_jet_n->Fill(fEvent->GetN_AtlFastJets());
Float_t jet_Et = 0.;
Float_t jet_eta = 0.;
for ( Int_t i = 0; i < fEvent->GetN_AtlFastJets(); i++ ) {
AtlFastJet *jet = (AtlFastJet*)fEvent->GetAtlFastJets()->At(i);
jet_Et = jet->Et();
if ( jet_Et != 0. ) {
jet_eta = jet->Eta();
} else {
jet_eta = ( jet->Pz() > 0. ) ? 10e10 : -10e10;
}
h_jet_etaphi->Fill(jet_eta, jet->Phi(), GetTagEvtWeight());
h_jet_Et->Fill(jet_Et, GetTagEvtWeight());
}
}