void EffStudy_Plots_mass() { TFile *f = new TFile("DY_200to3000_EE_74X_forDZ_Tree.root"); TTree *t = new TTree; t = (TTree*)f->Get("n1tree"); double genWeight; double lumi_Weight; double Ele1PT; double Ele2PT; int Ele1MediumID; int Ele2MediumID; int Ele1DZId; int Ele2DZId; double mass; t->SetBranchAddress("genWeight", &genWeight); t->SetBranchAddress("lumi_Weight", &lumi_Weight); t->SetBranchAddress("Ele1PT",&Ele1PT); t->SetBranchAddress("Ele2PT",&Ele2PT); t->SetBranchAddress("Ele1MediumID",&Ele1MediumID); t->SetBranchAddress("Ele2MediumID",&Ele2MediumID); t->SetBranchAddress("Ele1DZId",&Ele1DZId); t->SetBranchAddress("Ele2DZId",&Ele2DZId); t->SetBranchAddress("mass",&mass); // double NewBins[24] = {10,50,200,250,300,350,400,450,500,550,600,650,700,750,800,900,1000,1100,1200,1300,1400,1500,1600,1700}; double NewBins[12] = {50,200,300,400,500,600,800,1000,1200,1400,1600,1700}; Double_t xbins[16] = {200,250,300,350,400,450,500,550,600,650,700,750,800,1000,1500,3000}; TH1F *numPT = new TH1F("numPT","Medium ID",11,NewBins); TH1F *numPTnoDZ = new TH1F("numPTnoDZ","DZ Masking",11,NewBins); TH1F *numMass = new TH1F("numMass","Medium ID",15,xbins); TH1F *numMassnoDZ = new TH1F("numMassnoDZ","DZ Masking",15,xbins); int nentries = t->GetEntries(); cout<<"entries: "<GetEntry(k); if(Ele1MediumID == 1 && Ele2MediumID == 1) { numPT->Fill(Ele1PT,genWeight*lumi_Weight); numPT->Fill(Ele2PT,genWeight*lumi_Weight); numMass->Fill(mass,genWeight*lumi_Weight); } if(Ele1DZId == 1 && Ele2DZId == 1) { numPTnoDZ->Fill(Ele1PT,genWeight*lumi_Weight); numPTnoDZ->Fill(Ele2PT,genWeight*lumi_Weight); numMassnoDZ->Fill(mass,genWeight*lumi_Weight); } } for(int i = 1; i <= numMass->GetXaxis()->GetNbins(); i++) { cout << " Numerator = " << numMass->GetBinContent(i) << " " << " Deominator = " << numMassnoDZ->GetBinContent(i) << " " << "Efficiency = " << numMass->GetBinContent(i)/numMassnoDZ->GetBinContent(i) << endl; } //============================================================== mass graph ================= TMultiGraph *mg1 = new TMultiGraph(); TGraphAsymmErrors* grl1 = new TGraphAsymmErrors(); grl1->BayesDivide(numMass,numMassnoDZ,""); grl1->SetMarkerColor(kRed); grl1->SetMarkerStyle(21); grl1->SetMarkerSize(1.2); grl1->GetXaxis()->SetTitle("Electron Pt"); grl1->GetYaxis()->SetTitle("Ratio of Id Eff"); grl1->GetYaxis()->SetTitleSize(0.05); grl1->GetYaxis()->SetTitleOffset(1.5); mg1->SetTitle("Ratio of Id Eff;Mass; DZ Efficiency"); TCanvas *c1 = new TCanvas("c1","",200,10,600,500); c1->SetGridx(); c1->SetGridy(); mg1->Draw("APE"); mg1->SetMinimum(0.5); mg1->SetMaximum(1.015); mg1->GetXaxis()->CenterTitle(0); mg1->GetXaxis()->SetTitleOffset(1.2); mg1->GetYaxis()->CenterTitle(1); mg1->GetYaxis()->SetTitleOffset(1.4); c1->SaveAs("EffMass_DZMasking_200to3000.png"); }