本文整理汇总了C++中TLegend::Clone方法的典型用法代码示例。如果您正苦于以下问题:C++ TLegend::Clone方法的具体用法?C++ TLegend::Clone怎么用?C++ TLegend::Clone使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TLegend
的用法示例。
在下文中一共展示了TLegend::Clone方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AddLayers
//_____________________________________________________
void GFHistManager::AddLayers(GFHistManager* other)
{
// append the layers from other to this, hists are not cloned, but legends?
if(!other) return;
const Int_t oldDepth = fDepth;
for(Int_t iLayer = 0; iLayer < other->GetNumLayers(); ++iLayer){
for(Int_t iPad = 0; iPad < other->GetNumHistsOf(iLayer); ++iPad){
GFHistArray* hists = other->GetHistsOf(iLayer, iPad);
this->AddHistsSame(hists, oldDepth + iLayer, iPad);
TLegend* leg = other->GetLegendOf(iLayer, iPad);
if(leg) this->AddLegend(static_cast<TLegend*>(leg->Clone()), iLayer, iPad);
}
}
}
示例2: AddLayer
//_____________________________________________________
void GFHistManager::AddLayer(GFHistManager* other, Int_t layer)
{
// append the layer 'layer' from other to this, hists are not cloned, but legends?
if(!other || layer >= other->GetNumLayers()) return;
const Int_t newLayer = fDepth;
for(Int_t iPad = 0; iPad < other->GetNumHistsOf(layer); ++iPad){
GFHistArray* hists = other->GetHistsOf(layer, iPad);
this->AddHist(hists->At(0), newLayer);
for(Int_t iHist = 1; iHist < hists->GetEntriesFast(); ++iHist){
this->AddHistSame(hists->At(iHist), newLayer, iPad);
}
TLegend* leg = other->GetLegendOf(layer, iPad);
if(leg) this->AddLegend(static_cast<TLegend*>(leg->Clone()), newLayer, iPad);
}
}
示例3: plotHistHi
void plotHistHi() {
gStyle->SetOptStat(0);
set_plot_style();
TFile *f = new TFile("./../root_files/hists.root");
// sim-to-reco hists
TH2F *hSim = (TH2F*) f->Get("hitrkEffAnalyzer/hsim"); hSim->GetYaxis()->SetRangeUser(0,10);
TH2F *hAcc = (TH2F*) f->Get("hitrkEffAnalyzer/hacc"); hAcc->GetYaxis()->SetRangeUser(0,10);
TH2F *hEff = (TH2F*) f->Get("hitrkEffAnalyzer/heff"); hEff->GetYaxis()->SetRangeUser(0,10);
TH2F *hMul = (TH2F*) f->Get("hitrkEffAnalyzer/hmul"); hMul->GetYaxis()->SetRangeUser(0,10);
// reco-to-sim hists
TH2F *hRec = (TH2F*) f->Get("hitrkEffAnalyzer/hrec"); hRec->GetYaxis()->SetRangeUser(0,10);
TH2F *hFak = (TH2F*) f->Get("hitrkEffAnalyzer/hfak"); hFak->GetYaxis()->SetRangeUser(0,10);
TH2F *hSec = (TH2F*) f->Get("hitrkEffAnalyzer/hsec"); hSec->GetYaxis()->SetRangeUser(0,10);
// ratio histograms
TH2F *rAcc = (TH2F*) hAcc->Clone("rAcc");
TH2F *rEff = (TH2F*) hEff->Clone("rEff");
TH2F *rMul = (TH2F*) hMul->Clone("rMul");
TH2F *rFak = (TH2F*) hFak->Clone("rFak");
TH2F *rSec = (TH2F*) hSec->Clone("rSec");
//TH2F *rDec = (TH2F*) hDec->Clone("rDec");
//---------------------------------------------
// acceptance fraction
TCanvas *c1 = new TCanvas("c1","Acceptance Fraction",600,500);
gPad->SetRightMargin(0.15);
rAcc->Divide(hAcc,hSim,1,1,"B");
rAcc->SetStats(0);
rAcc->SetMaximum(1.0); rAcc->SetMinimum(0.0);
rAcc->SetTitle("Geometrical Acceptance");
rAcc->Draw("colz");
// reco efficiency fraction
TCanvas *c2 = new TCanvas("c2","Reco Efficiency Fraction",600,500);
gPad->SetRightMargin(0.15);
rEff->Divide(hEff,hAcc,1,1,"B");
rEff->SetStats(0);
rEff->SetMaximum(1.0); rEff->SetMinimum(0.0);
rEff->SetTitle("Algorithmic Efficiency");
rEff->Draw("colz");
// multiple reco fraction
TCanvas *c3 = new TCanvas("c3","Multiple Reco Fraction",600,500);
gPad->SetRightMargin(0.15);
rMul->Divide(hMul,hAcc,1,1,"B");
rMul->SetStats(0);
rMul->SetMaximum(0.00049); rMul->SetMinimum(0.0);
rMul->SetTitle("Multiple Reconstruction Fraction");
rMul->Draw("colz");
// fake reco fraction
TCanvas *c4 = new TCanvas("c4","Fake Reco Fraction",600,500);
gPad->SetRightMargin(0.15);
rFak->Divide(hFak,hRec,1,1,"B");
rFak->SetStats(0);
rFak->SetMaximum(0.1); rFak->SetMinimum(0.0);
rFak->SetTitle("Fake Reconstruction Fraction");
rFak->Draw("colz");
// secondary reco fraction
TCanvas *c5 = new TCanvas("c5","Secondary Fraction",600,500);
gPad->SetRightMargin(0.15);
rSec->Divide(hSec,hRec,1,1,"B");
rSec->SetStats(0);
rSec->SetMaximum(0.05); rSec->SetMinimum(0.0);
rSec->SetTitle("Non-Primary Reconstruction Fraction");
rSec->Draw("colz");
//---------------------------------------------
// find bins corresponding to projections for below
Int_t ptbin04=hSim->GetYaxis()->FindBin(0.91);
Int_t ptbin20=hSim->GetYaxis()->FindBin(2.01);
Int_t ptbins=hSim->GetYaxis()->GetNbins();
Int_t etabin24m=hSim->GetXaxis()->FindBin(-2.39);
Int_t etabin24p=hSim->GetXaxis()->FindBin(2.39);
Int_t etabin10m=hSim->GetXaxis()->FindBin(-0.99);
Int_t etabin10p=hSim->GetXaxis()->FindBin(0.99);
cout << "etabin10m: " << etabin10m << " etabin10p: " << etabin10p << endl;
cout << "etabin10m: " << etabin24m << " etabin10p: " << etabin24p << endl;
// projected hists: pt > 0.9 GeV/c
TH1D* hSimEta = (TH1D*) hSim->ProjectionX("hSimEta",ptbin04,ptbins,"e");
TH1D* hAccEta = (TH1D*) hAcc->ProjectionX("hAccEta",ptbin04,ptbins,"e");
TH1D* hEffEta = (TH1D*) hEff->ProjectionX("hEffEta",ptbin04,ptbins,"e");
TH1D* hMulEta = (TH1D*) hMul->ProjectionX("hMulEta",ptbin04,ptbins,"e");
TH1D* hRecEta = (TH1D*) hRec->ProjectionX("hRecEta",ptbin04,ptbins,"e");
TH1D* hFakEta = (TH1D*) hFak->ProjectionX("hFakEta",ptbin04,ptbins,"e");
TH1D* hSecEta = (TH1D*) hSec->ProjectionX("hSecEta",ptbin04,ptbins,"e");
//.........这里部分代码省略.........
示例4: plotHist3D
void plotHist3D() {
RiceStyle();
gStyle->SetOptStat(0);
TFile *f = new TFile("../rootfile/PbPb_eff_MC_v1.root");
char ndir[256] = "HITrackCorrections";
double ptmax = 300.;
// sim-to-reco hists
TH3F *hSim = (TH3F*) f->Get(Form("%s/hsim3D",ndir)); hSim->GetYaxis()->SetRangeUser(0.2,ptmax);
TH3F *hEff = (TH3F*) f->Get(Form("%s/heff3D",ndir)); hEff->GetYaxis()->SetRangeUser(0.2,ptmax);
TH3F *hMul = (TH3F*) f->Get(Form("%s/hmul3D",ndir)); hMul->GetYaxis()->SetRangeUser(0.2,ptmax);
// reco-to-sim hists
TH3F *hRec = (TH3F*) f->Get(Form("%s/hrec3D",ndir)); hRec->GetYaxis()->SetRangeUser(0.2,ptmax);
TH3F *hFak = (TH3F*) f->Get(Form("%s/hfak3D",ndir)); hFak->GetYaxis()->SetRangeUser(0.2,ptmax);
TH3F *hSec = (TH3F*) f->Get(Form("%s/hsec3D",ndir)); hSec->GetYaxis()->SetRangeUser(0.2,ptmax);
// ratio histograms
TH3F *rEff = (TH3F*) hEff->Clone("rEff");
TH3F *rMul = (TH3F*) hMul->Clone("rMul");
TH3F *rFak = (TH3F*) hFak->Clone("rFak");
TH3F *rSec = (TH3F*) hSec->Clone("rSec");
//---------------------------------------------
//---------------------------------------------
// find bins corresponding to projections for below
int ptbin04=hSim->GetYaxis()->FindBin(0.41);
int ptbin10=hSim->GetYaxis()->FindBin(1.01);
int ptbins=hSim->GetYaxis()->GetNbins();
int etabin24m=hSim->GetXaxis()->FindBin(-2.39);
int etabin24p=hSim->GetXaxis()->FindBin(2.39);
int etabin10m=hSim->GetXaxis()->FindBin(-0.99);
int etabin10p=hSim->GetXaxis()->FindBin(0.99);
int occbin0 = hSim->GetZaxis()->FindBin(0);
int occbin50 = hSim->GetZaxis()->FindBin(99);
int occbin51 = hSim->GetZaxis()->FindBin(100);
int occbin100 = hSim->GetZaxis()->FindBin(199);
cout << "etabin10m: " << etabin10m << " etabin10p: " << etabin10p << endl;
cout << "etabin10m: " << etabin24m << " etabin10p: " << etabin24p << endl;
cout << "occbin0: " << occbin0 << "occbin50: " << occbin50 << endl;
// projected hists: pt > 1.0 GeV/c, cBin (0,50%)
TH1D* hSimEta = (TH1D*) hSim->ProjectionX("hSimEta",ptbin10,ptbins,occbin0,occbin50,"e");
TH1D* hEffEta = (TH1D*) hEff->ProjectionX("hEffEta",ptbin10,ptbins,occbin0,occbin50,"e");
TH1D* hMulEta = (TH1D*) hMul->ProjectionX("hMulEta",ptbin10,ptbins,occbin0,occbin50,"e");
TH1D* hRecEta = (TH1D*) hRec->ProjectionX("hRecEta",ptbin10,ptbins,occbin0,occbin50,"e");
TH1D* hFakEta = (TH1D*) hFak->ProjectionX("hFakEta",ptbin10,ptbins,occbin0,occbin50,"e");
TH1D* hSecEta = (TH1D*) hSec->ProjectionX("hSecEta",ptbin10,ptbins,occbin0,occbin50,"e");
// projected hists: pt > 1.0 GeV/c. cBin (50-100%)
TH1D* hSimEta2 = (TH1D*) hSim->ProjectionX("hSimEta2",ptbin10,ptbins,occbin50,occbin100,"e");
TH1D* hEffEta2 = (TH1D*) hEff->ProjectionX("hEffEta2",ptbin10,ptbins,occbin50,occbin100,"e");
TH1D* hMulEta2 = (TH1D*) hMul->ProjectionX("hMulEta2",ptbin10,ptbins,occbin50,occbin100,"e");
TH1D* hRecEta2 = (TH1D*) hRec->ProjectionX("hRecEta2",ptbin10,ptbins,occbin50,occbin100,"e");
TH1D* hFakEta2 = (TH1D*) hFak->ProjectionX("hFakEta2",ptbin10,ptbins,occbin50,occbin100,"e");
TH1D* hSecEta2 = (TH1D*) hSec->ProjectionX("hSecEta2",ptbin10,ptbins,occbin50,occbin100,"e");
TH1D* hDumEta = new TH1D("hDumEta",";#eta",60,-2.4,2.4); hDumEta->SetMaximum(1.0); hDumEta->SetTitle("p_{T} > 1.0");
hDumEta->GetXaxis()->CenterTitle(); hDumEta->GetYaxis()->SetTitleOffset(1.8);
TH1D* hDumEta2 = (TH1D*) hDumEta->Clone("hDumEta2"); hDumEta2->SetMaximum(0.1);
TH1D* hDumEta3 = (TH1D*) hDumEta->Clone("hDumEta3"); hDumEta3->SetMaximum(0.00049);
// projected hists: abs(eta) < 1.0, cBin(0-50%)
TH1D* hSimPt = (TH1D*) hSim->ProjectionY("hSimPt",etabin10m,etabin10p,occbin0,occbin50,"e");
TH1D* hEffPt = (TH1D*) hEff->ProjectionY("hEffPt",etabin10m,etabin10p,occbin0,occbin50,"e");
TH1D* hMulPt = (TH1D*) hMul->ProjectionY("hMulPt",etabin10m,etabin10p,occbin0,occbin50,"e");
TH1D* hRecPt = (TH1D*) hRec->ProjectionY("hRecPt",etabin10m,etabin10p,occbin0,occbin50,"e");
TH1D* hFakPt = (TH1D*) hFak->ProjectionY("hFakPt",etabin10m,etabin10p,occbin0,occbin50,"e");
TH1D* hSecPt = (TH1D*) hSec->ProjectionY("hSecPt",etabin10m,etabin10p,occbin0,occbin50,"e");
// projected hists: abs(eta) < 1.0, cBin(50-100%)
TH1D* hSimPt2 = (TH1D*) hSim->ProjectionY("hSimPt2",etabin10m,etabin10p,occbin50,occbin100,"e");
TH1D* hEffPt2 = (TH1D*) hEff->ProjectionY("hEffPt2",etabin10m,etabin10p,occbin50,occbin100,"e");
TH1D* hMulPt2 = (TH1D*) hMul->ProjectionY("hMulPt2",etabin10m,etabin10p,occbin50,occbin100,"e");
TH1D* hRecPt2 = (TH1D*) hRec->ProjectionY("hRecPt2",etabin10m,etabin10p,occbin50,occbin100,"e");
TH1D* hFakPt2 = (TH1D*) hFak->ProjectionY("hFakPt2",etabin10m,etabin10p,occbin50,occbin100,"e");
TH1D* hSecPt2 = (TH1D*) hSec->ProjectionY("hSecPt2",etabin10m,etabin10p,occbin50,occbin100,"e");
TH1D* hDumPt = new TH1D("hDumPt",";p_{T} [GeV/c]",80,0.1,300.0); hDumPt->SetMaximum(1.0);
hDumPt->GetXaxis()->CenterTitle(); hDumPt->GetYaxis()->SetTitleOffset(1.8); hDumPt->SetTitle("|#eta| < 1");
TH1D* hDumPt2 = (TH1D*) hDumPt->Clone("hDumPt2"); hDumPt2->SetMaximum(0.1);
TH1D* hDumPt3 = (TH1D*) hDumPt->Clone("hDumPt3"); hDumPt3->SetMaximum(0.00049);
// Efficiency
TGraphAsymmErrors *gEffEta = new TGraphAsymmErrors(); gEffEta->SetName("gEffEta");
gEffEta->BayesDivide(hEffEta,hSimEta);
gEffEta->SetMarkerStyle(25);
gEffEta->SetLineStyle(2);
gEffEta->SetLineColor(2);
gEffEta->SetMarkerColor(2);
TGraphAsymmErrors *gEffPt = new TGraphAsymmErrors(); gEffPt->SetName("gEffPt");
//.........这里部分代码省略.........
示例5: categories_sig
void categories_sig() {
gStyle->SetOptTitle(0);
gStyle->SetOptStat(0);
gStyle->SetCanvasColor(0);
gStyle->SetFrameBorderMode(0);
gStyle->SetPalette(1);
TText *text = new TText();
text->SetNDC();
text->SetTextSize(0.05);
TFile *file = TFile::Open("histograms_CMS-HGG_categories_sig.root");
file->cd();
TCanvas *c_bdtout = new TCanvas("c_bdtout","BDT output");
bdtout_all_tot = (TH1*)bdtout_cat0_tot->Clone();
bdtout_all_tot->Add(bdtout_cat1_tot);
bdtout_all_tot->Add(bdtout_cat2_tot);
bdtout_all_tot->Add(bdtout_cat3_tot);
cout << bdtout_all_tot->Integral() << endl;
cout << bdtout_all_tot->Integral(49,100)+bdtout_all_tot->GetBinContent(48)/2. << endl;
cout << bdtout_all_tot->GetBinLowEdge(49) << endl;
cout << bdtout_all_tot->GetBinLowEdge(48) << endl;
cout << (bdtout_all_tot->Integral(49,100)+bdtout_all_tot->GetBinContent(48)/2.)/bdtout_all_tot->Integral() << endl;
bdtout_passCiC_all_tot = (TH1*)bdtout_passCiC_cat0_tot->Clone();
bdtout_passCiC_all_tot->Add(bdtout_passCiC_cat1_tot);
bdtout_passCiC_all_tot->Add(bdtout_passCiC_cat2_tot);
bdtout_passCiC_all_tot->Add(bdtout_passCiC_cat3_tot);
bdtout_failpresel_cat0_tot->Rebin(2);
bdtout_failpresel_cat1_tot->Rebin(2);
bdtout_failpresel_cat2_tot->Rebin(2);
bdtout_failpresel_cat3_tot->Rebin(2);
bdtout_failpresel_all_tot = (TH1*)bdtout_failpresel_cat0_tot->Clone();
bdtout_failpresel_all_tot->Add(bdtout_failpresel_cat1_tot);
bdtout_failpresel_all_tot->Add(bdtout_failpresel_cat2_tot);
bdtout_failpresel_all_tot->Add(bdtout_failpresel_cat3_tot);
float nFail_m100180_bdtout005 = bdtout_all_tot->Integral(1,52) + bdtout_all_tot->GetBinContent(53)/2.;
float nFail_m100180 = bdtout_all_tot->Integral(1,100);
float frac_bdtout005 = nFail_m100180_bdtout005/nFail_m100180;
float frac_bdtout005_err = frac_err(nFail_m100180_bdtout005,nFail_m100180);
cout << bdtout_all_tot->Integral(1,52) << " " << bdtout_all_tot->GetBinContent(53)/2. << " " << bdtout_all_tot->Integral(1,100) << " " << bdtout_all_tot->GetBinLowEdge(53) << " " << frac_bdtout005 << " ± " << frac_bdtout005_err << endl;
bdtout_all_tot->SetLineColor(1);
bdtout_cat0_tot->SetLineColor(2);
bdtout_cat1_tot->SetLineColor(3);
bdtout_cat2_tot->SetLineColor(4);
bdtout_cat3_tot->SetLineColor(6);
bdtout_all_tot->SetLineWidth(2);
bdtout_cat0_tot->SetLineWidth(2);
bdtout_cat1_tot->SetLineWidth(2);
bdtout_cat2_tot->SetLineWidth(2);
bdtout_cat3_tot->SetLineWidth(2);
bdtout_cat0_tot->SetMarkerColor(2);
bdtout_cat1_tot->SetMarkerColor(3);
bdtout_cat2_tot->SetMarkerColor(4);
bdtout_cat3_tot->SetMarkerColor(6);
bdtout_all_tot->SetMarkerStyle(20);
bdtout_cat0_tot->SetMarkerStyle(20);
bdtout_cat1_tot->SetMarkerStyle(20);
bdtout_cat2_tot->SetMarkerStyle(20);
bdtout_cat3_tot->SetMarkerStyle(20);
bdtout_all_tot->SetMarkerSize(0.7);
bdtout_cat0_tot->SetMarkerSize(0.7);
bdtout_cat1_tot->SetMarkerSize(0.7);
bdtout_cat2_tot->SetMarkerSize(0.7);
bdtout_cat3_tot->SetMarkerSize(0.7);
bdtout_passCiC_all_tot->SetLineColor(1);
bdtout_passCiC_cat0_tot->SetLineColor(2);
bdtout_passCiC_cat1_tot->SetLineColor(3);
bdtout_passCiC_cat2_tot->SetLineColor(4);
bdtout_passCiC_cat3_tot->SetLineColor(6);
bdtout_passCiC_lowPt_cat0_tot->SetLineColor(2);
bdtout_passCiC_lowPt_cat1_tot->SetLineColor(3);
bdtout_passCiC_lowPt_cat2_tot->SetLineColor(4);
bdtout_passCiC_lowPt_cat3_tot->SetLineColor(6);
bdtout_passCiC_highPt_cat0_tot->SetLineColor(2);
bdtout_passCiC_highPt_cat1_tot->SetLineColor(3);
bdtout_passCiC_highPt_cat2_tot->SetLineColor(4);
bdtout_passCiC_highPt_cat3_tot->SetLineColor(6);
bdtout_failpresel_all_tot->SetLineColor(1);
bdtout_failpresel_cat0_tot->SetLineColor(2);
bdtout_failpresel_cat1_tot->SetLineColor(3);
bdtout_failpresel_cat2_tot->SetLineColor(4);
//.........这里部分代码省略.........
示例6: Loop
void AccTimesEff::Loop()
{
TStopwatch timer;
timer.Start();
// parameters /////////////////////////////////////////////////////////////
vector<TString> files;
files.push_back("file:////user/treis/mcsamples/ZprimeToEMu_M-500_noAccCuts_TuneZ2star_8TeV_madgraph_treis-Summer12_DR53X_PU_S10_START53_V7C1-v1_9999ev.root");
files.push_back("file:////user/treis/mcsamples/ZprimeToEMu_M-750_noAccCuts_TuneZ2star_8TeV_madgraph_treis-Summer12_DR53X_PU_S10_START53_V7C1-v1_10000ev.root");
files.push_back("file:////user/treis/mcsamples/ZprimeToEMu_M-1000_noAccCuts_TuneZ2star_8TeV_madgraph_treis-Summer12_DR53X_PU_S10_START53_V7C1-v1_9998ev.root");
files.push_back("file:////user/treis/mcsamples/ZprimeToEMu_M-1250_noAccCuts_TuneZ2star_8TeV_madgraph_treis-Summer12_DR53X_PU_S10_START53_V7C1-v1_9998ev.root");
files.push_back("file:////user/treis/mcsamples/ZprimeToEMu_M-1500_noAccCuts_TuneZ2star_8TeV_madgraph_treis-Summer12_DR53X_PU_S10_START53_V7C1-v1_9997ev.root");
files.push_back("file:////user/treis/mcsamples/ZprimeToEMu_M-1750_noAccCuts_TuneZ2star_8TeV_madgraph_treis-Summer12_DR53X_PU_S10_START53_V7C1-v1_9997ev.root");
files.push_back("file:////user/treis/mcsamples/ZprimeToEMu_M-2000_noAccCuts_TuneZ2star_8TeV_madgraph_treis-Summer12_DR53X_PU_S10_START53_V7C1-v1_9999ev.root");
files.push_back("file:////user/treis/mcsamples/ZprimeToEMu_M-2500_noAccCuts_TuneZ2star_8TeV_madgraph_treis-Summer12_DR53X_PU_S10_START53_V7C1-v1_9999ev.root");
files.push_back("file:////user/treis/mcsamples/ZprimeToEMu_M-3000_noAccCuts_TuneZ2star_8TeV_madgraph_treis-Summer12_DR53X_PU_S10_START53_V7C1-v1_10000ev.root");
files.push_back("file:////user/treis/mcsamples/ZprimeToEMu_M-3500_noAccCuts_TuneZ2star_8TeV_madgraph_treis-Summer12_DR53X_PU_S10_START53_V7C1-v1_9898ev.root");
files.push_back("file:////user/treis/mcsamples/ZprimeToEMu_M-4000_noAccCuts_TuneZ2star_8TeV_madgraph_treis-Summer12_DR53X_PU_S10_START53_V7C1-v1_9998ev.root");
files.push_back("file:////user/treis/mcsamples/ZprimeToEMu_M-5000_noAccCuts_TuneZ2star_8TeV_madgraph_treis-Summer12_DR53X_PU_S10_START53_V7C1-v1_9966ev.root");
string outfileName = "accTimesEffHistos";
// output file formats
const bool saveSpec = 0;
const bool saveAsPdf = 0;
const bool saveAsPng = 1;
const bool saveAsRoot = 0;
TString plotDir = "./plots/";
int font = 42; //62
// selection cuts /////////////////////////////////////////////////////////
float elePtCut = 35.;
float muPtCut = 35.;
float minInvMass = 0.;
TH1::SetDefaultSumw2(kTRUE);
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
TH1F *hGenEvts = new TH1F("hGenEvts", "hGenEvts", 145, 0., 5010.);
hGenEvts->GetXaxis()->SetTitle("M_{Z'}^{truth}");
hGenEvts->GetXaxis()->SetTitleFont(font);
hGenEvts->GetXaxis()->SetLabelFont(font);
hGenEvts->GetYaxis()->SetTitle("Events");
hGenEvts->GetYaxis()->SetTitleFont(font);
hGenEvts->GetYaxis()->SetLabelFont(font);
hGenEvts->GetYaxis()->SetTitleOffset(1.2);
hGenEvts->SetLineColor(kBlack);
hGenEvts->SetLineWidth(2);
hGenEvts->SetMarkerStyle(20);
hGenEvts->SetMarkerColor(kBlack);
TH1F *hGenEvtsEleInAcc = (TH1F*)hGenEvts->Clone("hGenEvtsEleInAcc");
TH1F *hGenEvtsEleInAccEB = (TH1F*)hGenEvts->Clone("hGenEvtsEleInAccEB");
TH1F *hGenEvtsEleInAccEE = (TH1F*)hGenEvts->Clone("hGenEvtsEleInAccEE");
TH1F *hGenEvtsMuInAcc = (TH1F*)hGenEvts->Clone("hGenEvtsMuInAcc");
TH1F *hGenEvtsInAcc = (TH1F*)hGenEvts->Clone("hGenEvtsInAcc");
TH1F *hTrgEvts = (TH1F*)hGenEvts->Clone("hTrgEvts");
hTrgEvts->SetTitle("hTrgEvts");
TH1F *hRecoEvts = (TH1F*)hGenEvts->Clone("hRecoEvts");
hRecoEvts->SetTitle("hRecoEvts");
TH1F *hRecoEvtsEB = (TH1F*)hRecoEvts->Clone("hRecoEvtsEB");
TH1F *hRecoEvtsEE = (TH1F*)hRecoEvts->Clone("hRecoEvtsEE");
TH1F *hRecoEleEvts = (TH1F*)hRecoEvts->Clone("hRecoEleEvts");
TH1F *hRecoEleEvtsEB = (TH1F*)hRecoEvts->Clone("hRecoEleEvtsEB");
TH1F *hRecoEleEvtsEE = (TH1F*)hRecoEvts->Clone("hRecoEleEvtsEE");
TH1F *hRecoMuEvts = (TH1F*)hRecoEvts->Clone("hRecoMuEvts");
TH1F *hRecoNoTrgEvts = (TH1F*)hGenEvts->Clone("hRecoNoTrgEvts");
hRecoNoTrgEvts->SetTitle("hRecoNoTrgEvts");
TH1F *hRecoNoTrgEvtsEB = (TH1F*)hRecoNoTrgEvts->Clone("hRecoNoTrgEvtsEB");
TH1F *hRecoNoTrgEvtsEE = (TH1F*)hRecoNoTrgEvts->Clone("hRecoNoTrgEvtsEE");
TH1F *hRecoNoTrgEleEvts = (TH1F*)hRecoNoTrgEvts->Clone("hRecoNoTrgEleEvts");
TH1F *hRecoNoTrgEleEvtsEB = (TH1F*)hRecoNoTrgEvts->Clone("hRecoNoTrgEleEvtsEB");
TH1F *hRecoNoTrgEleEvtsEE = (TH1F*)hRecoNoTrgEvts->Clone("hRecoNoTrgEleEvtsEE");
TH1F *hRecoNoTrgMuEvts = (TH1F*)hRecoNoTrgEvts->Clone("hRecoNoTrgMuEvts");
TH1F* hAcc;
TH1F* hAccEle;
TH1F* hAccEleEB;
TH1F* hAccEleEE;
TH1F* hAccMu;
TH1F* hAccTimesTrgEff;
TH1F* hTrgEff;
TH1F* hAccTimesEff;
TH1F* hAccTimesEffEB;
TH1F* hAccTimesEffEE;
TH1F* hAccTimesEffEle;
TH1F* hAccTimesEffEleEB;
TH1F* hAccTimesEffEleEE;
TH1F* hAccTimesEffMu;
TH1F* hAccTimesEffNoTrg;
//TH1F* hAccTimesEffNoTrgEB;
//TH1F* hAccTimesEffNoTrgEE;
TH1F* hAccTimesEffNoTrgEle;
TH1F* hAccTimesEffNoTrgEleEB;
TH1F* hAccTimesEffNoTrgEleEE;
TH1F* hAccTimesEffNoTrgMu;
TH1F* hEffAftTrg;
TH1F* hEffAftTrgEle;
TH1F* hEffAftTrgEleEB;
TH1F* hEffAftTrgEleEE;
TH1F* hEffAftTrgMu;
//.........这里部分代码省略.........