void dataMC_ratio(int mBins = 30, // Z mass double mLow = 60, // Z mass double mHigh = 120, // Z mass int ptBins = 120, // 195, double ptLow = 0, // 50, // 50, double ptHigh = 600, // 950, // 2000, int rBins = 48, // Z rapidity double rLow = -2.4, // Z rapidity double rHigh = 2.4, // Z rapidity bool isSave = true) { //double xbins_pt[nptBins+1] = {0.001, 2.5, 5, 7.5, 10, 12.5, 15, 17.5, 20, 30, 40, 50, 70, 90, 110, 150, 190, 250, 600}; //double xbins_pt[nptBins+1] = {0.001, 2.5, 5, 7.5, 10, 12.5, 15, 17.5, 20, 30}; // From bin1 double xbins_pt[nptBins+1] = {30, 40, 50, 70, 90, 110, 150, 190, 250, 600}; // After bin9 TFile *Hist_out = new TFile("histo_withecalreprocessing.root","RECREATE"); gROOT->Clear(); gStyle->SetOptStat(0); //gStyle->SetOptStat(111111); loadGeneral(); // --------------------------------------------------------------------------- // local variables TString png = "png/"; TString root= "root/"; // --------------------------------------------------------------------------- // --------------------------------------------------------------------------- // Fill the data // TFile* fileData = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_5_ecalpatch1/Data/ntuplesWITHdz/SingleMuRun2012A_190949_191090_191367_193112_193116.root"); //TFile* fileData = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_5_ecalpatch1/Data/ntuplesWITHdz/fullselection/data2012A_LowPU.root"); TFile* fileData = new TFile("./fullselection/data2012A_LowPU.root"); TTree* treeData = (TTree*) fileData -> Get("tree"); TH1F* hMassData = new TH1F("hMassData", "", mBins, mLow, mHigh); TH1F* hPtData = new TH1F("hPtData" , "", nptBins, xbins_pt); TH1F* hPt20BData = new TH1F("hPt20BData" , "", ptBins, ptLow, ptHigh); TH1F* hRapidityData = new TH1F("hRapidityData", "", rBins, rLow, rHigh); TH1F* hVertexData = new TH1F("hVertexData", "", 25, 0, 25); std::cout << "Filling Collisions Data Events\n"; fillHistos(treeData, hMassData, hPtData, hPt20BData, hRapidityData, hVertexData, mLow, mHigh, ptLow, ptHigh, 0); hPtData->SetBinContent(1,hPtData->GetBinContent(1)/2.5); hPtData->SetBinContent(2,hPtData->GetBinContent(2)/2.5); hPtData->SetBinContent(3,hPtData->GetBinContent(3)/2.5); hPtData->SetBinContent(4,hPtData->GetBinContent(4)/2.5); hPtData->SetBinContent(5,hPtData->GetBinContent(5)/2.5); hPtData->SetBinContent(6,hPtData->GetBinContent(6)/2.5); hPtData->SetBinContent(7,hPtData->GetBinContent(7)/2.5); hPtData->SetBinContent(8,hPtData->GetBinContent(8)/2.5); hPtData->SetBinContent(9,hPtData->GetBinContent(9)/10.0); hPtData->SetBinContent(10,hPtData->GetBinContent(10)/10.0); hPtData->SetBinContent(11,hPtData->GetBinContent(11)/10.0); hPtData->SetBinContent(12,hPtData->GetBinContent(12)/20.0); hPtData->SetBinContent(13,hPtData->GetBinContent(13)/20.0); hPtData->SetBinContent(14,hPtData->GetBinContent(14)/20.0); hPtData->SetBinContent(15,hPtData->GetBinContent(15)/40.0); hPtData->SetBinContent(16,hPtData->GetBinContent(16)/40.0); hPtData->SetBinContent(17,hPtData->GetBinContent(17)/60.0); hPtData->SetBinContent(18,hPtData->GetBinContent(18)/350.0); // --------------------------------------------------------------------------- // --------------------------------------------------------------------------- // Fill the DYToMuMu MC // TFile* fileMC_dymumu = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/DYToMuMu/mergeFile/DYToMuMu_merged.root"); //TFile* fileMC_dymumu = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/fullselection/DYToMuMu.root"); TFile* fileMC_dymumu = new TFile("./fullselection/DYToMuMu.root"); //TFile* fileMC_dymumu = new TFile("./DYToMuMu_merged.root"); TTree* treeMC_dymumu = (TTree*) fileMC_dymumu -> Get("tree"); TH1F* hMassMC_dymumu = new TH1F("hMassMC_dymumu", "", mBins, mLow, mHigh); TH1F* hPtMC_dymumu = new TH1F("hPtMC_dymumu", "", nptBins, xbins_pt); TH1F* hPt20BMC_dymumu = new TH1F("hPt20BMC_dymumu", "", ptBins, ptLow, ptHigh); TH1F* hRapidityMC_dymumu = new TH1F("hRapidityMC_dymumu", "", rBins, rLow, rHigh); TH1F* hVertexMC_dymumu = new TH1F("hVertexMC_dymumu", "", 25, 0, 25); std::cout << "filling DYToMuMu events\n"; fillHistos(treeMC_dymumu, hMassMC_dymumu, hPtMC_dymumu, hPt20BMC_dymumu, hRapidityMC_dymumu, hVertexMC_dymumu, mLow, mHigh, ptLow, ptHigh, 0); hPtMC_dymumu->SetBinContent(1,hPtMC_dymumu->GetBinContent(1)/2.5); hPtMC_dymumu->SetBinContent(2,hPtMC_dymumu->GetBinContent(2)/2.5); hPtMC_dymumu->SetBinContent(3,hPtMC_dymumu->GetBinContent(3)/2.5); hPtMC_dymumu->SetBinContent(4,hPtMC_dymumu->GetBinContent(4)/2.5); hPtMC_dymumu->SetBinContent(5,hPtMC_dymumu->GetBinContent(5)/2.5); hPtMC_dymumu->SetBinContent(6,hPtMC_dymumu->GetBinContent(6)/2.5); hPtMC_dymumu->SetBinContent(7,hPtMC_dymumu->GetBinContent(7)/2.5); hPtMC_dymumu->SetBinContent(8,hPtMC_dymumu->GetBinContent(8)/2.5); hPtMC_dymumu->SetBinContent(9,hPtMC_dymumu->GetBinContent(9)/10.0); hPtMC_dymumu->SetBinContent(10,hPtMC_dymumu->GetBinContent(10)/10.0); hPtMC_dymumu->SetBinContent(11,hPtMC_dymumu->GetBinContent(11)/10.0); hPtMC_dymumu->SetBinContent(12,hPtMC_dymumu->GetBinContent(12)/20.0); hPtMC_dymumu->SetBinContent(13,hPtMC_dymumu->GetBinContent(13)/20.0); hPtMC_dymumu->SetBinContent(14,hPtMC_dymumu->GetBinContent(14)/20.0); hPtMC_dymumu->SetBinContent(15,hPtMC_dymumu->GetBinContent(15)/40.0); hPtMC_dymumu->SetBinContent(16,hPtMC_dymumu->GetBinContent(16)/40.0); hPtMC_dymumu->SetBinContent(17,hPtMC_dymumu->GetBinContent(17)/60.0); hPtMC_dymumu->SetBinContent(18,hPtMC_dymumu->GetBinContent(18)/350.0); // Fill the TTbarJets MC // TFile* fileMC_ttbarjets = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/TTJets/mergeFile/TTJets_merged.root"); //TFile* fileMC_ttbarjets = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/fullselection/TTJets.root"); TFile* fileMC_ttbarjets = new TFile("./fullselection/TTJets.root"); TTree* treeMC_ttbarjets = (TTree*) fileMC_ttbarjets -> Get("tree"); TH1F* hMassMC_ttbarjets = new TH1F("hMassMC_ttbarjets", "", mBins, mLow, mHigh); TH1F* hPtMC_ttbarjets = new TH1F("hPtMC_ttbarjets", "", nptBins, xbins_pt); TH1F* hPt20BMC_ttbarjets = new TH1F("hPt20BMC_ttbarjets", "", ptBins, ptLow, ptHigh); TH1F* hRapidityMC_ttbarjets = new TH1F("hRapidityMC_ttbarjets", "", rBins, rLow, rHigh); TH1F* hVertexMC_ttbarjets = new TH1F("hVertexMC_ttbarjets", "", 25, 0, 25); std::cout << "filling TTbar+Jets events\n"; fillHistos(treeMC_ttbarjets, hMassMC_ttbarjets, hPtMC_ttbarjets, hPt20BMC_ttbarjets, hRapidityMC_ttbarjets, hVertexMC_ttbarjets, mLow, mHigh, ptLow, ptHigh, 0); hPtMC_ttbarjets->SetBinContent(1,hPtMC_ttbarjets->GetBinContent(1)/2.5); hPtMC_ttbarjets->SetBinContent(2,hPtMC_ttbarjets->GetBinContent(2)/2.5); hPtMC_ttbarjets->SetBinContent(3,hPtMC_ttbarjets->GetBinContent(3)/2.5); hPtMC_ttbarjets->SetBinContent(4,hPtMC_ttbarjets->GetBinContent(4)/2.5); hPtMC_ttbarjets->SetBinContent(5,hPtMC_ttbarjets->GetBinContent(5)/2.5); hPtMC_ttbarjets->SetBinContent(6,hPtMC_ttbarjets->GetBinContent(6)/2.5); hPtMC_ttbarjets->SetBinContent(7,hPtMC_ttbarjets->GetBinContent(7)/2.5); hPtMC_ttbarjets->SetBinContent(8,hPtMC_ttbarjets->GetBinContent(8)/2.5); hPtMC_ttbarjets->SetBinContent(9,hPtMC_ttbarjets->GetBinContent(9)/10.0); hPtMC_ttbarjets->SetBinContent(10,hPtMC_ttbarjets->GetBinContent(10)/10.0); hPtMC_ttbarjets->SetBinContent(11,hPtMC_ttbarjets->GetBinContent(11)/10.0); hPtMC_ttbarjets->SetBinContent(12,hPtMC_ttbarjets->GetBinContent(12)/20.0); hPtMC_ttbarjets->SetBinContent(13,hPtMC_ttbarjets->GetBinContent(13)/20.0); hPtMC_ttbarjets->SetBinContent(14,hPtMC_ttbarjets->GetBinContent(14)/20.0); hPtMC_ttbarjets->SetBinContent(15,hPtMC_ttbarjets->GetBinContent(15)/40.0); hPtMC_ttbarjets->SetBinContent(16,hPtMC_ttbarjets->GetBinContent(16)/40.0); hPtMC_ttbarjets->SetBinContent(17,hPtMC_ttbarjets->GetBinContent(17)/60.0); hPtMC_ttbarjets->SetBinContent(18,hPtMC_ttbarjets->GetBinContent(18)/350.0); //// Fill the ZTauTau MC // TFile* fileMC_ztautau = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/DYToTauTau/mergeFile/DYToTauTau_merged.root"); //TFile* fileMC_ztautau = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/fullselection/DYToTauTau.root"); TFile* fileMC_ztautau = new TFile("./fullselection/DYToTauTau.root"); TTree* treeMC_ztautau = (TTree*) fileMC_ztautau -> Get("tree"); TH1F* hMassMC_ztautau = new TH1F("hMassMC_ztautau", "", mBins, mLow, mHigh); TH1F* hPtMC_ztautau = new TH1F("hPtMC_ztautau", "", nptBins, xbins_pt); TH1F* hPt20BMC_ztautau = new TH1F("hPt20BMC_ztautau", "", ptBins, ptLow, ptHigh); TH1F* hRapidityMC_ztautau = new TH1F("hRapidityMC_ztautau", "", rBins, rLow, rHigh); TH1F* hVertexMC_ztautau = new TH1F("hVertexMC_ztautau", "", 25, 0, 25); std::cout << "filling ZToTauTau events\n"; fillHistos(treeMC_ztautau, hMassMC_ztautau, hPtMC_ztautau, hPt20BMC_ztautau, hRapidityMC_ztautau, hVertexMC_ztautau, mLow, mHigh, ptLow, ptHigh, 0); hPtMC_ztautau->SetBinContent(1,hPtMC_ztautau->GetBinContent(1)/2.5); hPtMC_ztautau->SetBinContent(2,hPtMC_ztautau->GetBinContent(2)/2.5); hPtMC_ztautau->SetBinContent(3,hPtMC_ztautau->GetBinContent(3)/2.5); hPtMC_ztautau->SetBinContent(4,hPtMC_ztautau->GetBinContent(4)/2.5); hPtMC_ztautau->SetBinContent(5,hPtMC_ztautau->GetBinContent(5)/2.5); hPtMC_ztautau->SetBinContent(6,hPtMC_ztautau->GetBinContent(6)/2.5); hPtMC_ztautau->SetBinContent(7,hPtMC_ztautau->GetBinContent(7)/2.5); hPtMC_ztautau->SetBinContent(8,hPtMC_ztautau->GetBinContent(8)/2.5); hPtMC_ztautau->SetBinContent(9,hPtMC_ztautau->GetBinContent(9)/10.0); hPtMC_ztautau->SetBinContent(10,hPtMC_ztautau->GetBinContent(10)/10.0); hPtMC_ztautau->SetBinContent(11,hPtMC_ztautau->GetBinContent(11)/10.0); hPtMC_ztautau->SetBinContent(12,hPtMC_ztautau->GetBinContent(12)/20.0); hPtMC_ztautau->SetBinContent(13,hPtMC_ztautau->GetBinContent(13)/20.0); hPtMC_ztautau->SetBinContent(14,hPtMC_ztautau->GetBinContent(14)/20.0); hPtMC_ztautau->SetBinContent(15,hPtMC_ztautau->GetBinContent(15)/40.0); hPtMC_ztautau->SetBinContent(16,hPtMC_ztautau->GetBinContent(16)/40.0); hPtMC_ztautau->SetBinContent(17,hPtMC_ztautau->GetBinContent(17)/60.0); hPtMC_ztautau->SetBinContent(18,hPtMC_ztautau->GetBinContent(18)/350.0); // Fill the WZ MC // TFile* fileMC_WZ = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/WZ/mergeFile/WZ_merged.root"); //TFile* fileMC_WZ = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/fullselection/WZ.root"); TFile* fileMC_WZ = new TFile("./fullselection/WZ.root"); TTree* treeMC_WZ = (TTree*) fileMC_WZ -> Get("tree"); TH1F* hMassMC_WZ = new TH1F("hMassMC_WZ", "", mBins, mLow, mHigh); TH1F* hPtMC_WZ = new TH1F("hPtMC_WZ", "", nptBins, xbins_pt); TH1F* hPt20BMC_WZ = new TH1F("hPt20BMC_WZ", "", ptBins, ptLow, ptHigh); TH1F* hRapidityMC_WZ = new TH1F("hRapidityMC_WZ", "", rBins, rLow, rHigh); TH1F* hVertexMC_WZ = new TH1F("hVertexMC_WZ", "", 25, 0, 25); std::cout << "filling WZ events\n"; fillHistos(treeMC_WZ, hMassMC_WZ, hPtMC_WZ, hPt20BMC_WZ, hRapidityMC_WZ, hVertexMC_WZ, mLow, mHigh, ptLow, ptHigh, 0); hPtMC_WZ->SetBinContent(1,hPtMC_WZ->GetBinContent(1)/2.5); hPtMC_WZ->SetBinContent(2,hPtMC_WZ->GetBinContent(2)/2.5); hPtMC_WZ->SetBinContent(3,hPtMC_WZ->GetBinContent(3)/2.5); hPtMC_WZ->SetBinContent(4,hPtMC_WZ->GetBinContent(4)/2.5); hPtMC_WZ->SetBinContent(5,hPtMC_WZ->GetBinContent(5)/2.5); hPtMC_WZ->SetBinContent(6,hPtMC_WZ->GetBinContent(6)/2.5); hPtMC_WZ->SetBinContent(7,hPtMC_WZ->GetBinContent(7)/2.5); hPtMC_WZ->SetBinContent(8,hPtMC_WZ->GetBinContent(8)/2.5); hPtMC_WZ->SetBinContent(9,hPtMC_WZ->GetBinContent(9)/10.0); hPtMC_WZ->SetBinContent(10,hPtMC_WZ->GetBinContent(10)/10.0); hPtMC_WZ->SetBinContent(11,hPtMC_WZ->GetBinContent(11)/10.0); hPtMC_WZ->SetBinContent(12,hPtMC_WZ->GetBinContent(12)/20.0); hPtMC_WZ->SetBinContent(13,hPtMC_WZ->GetBinContent(13)/20.0); hPtMC_WZ->SetBinContent(14,hPtMC_WZ->GetBinContent(14)/20.0); hPtMC_WZ->SetBinContent(15,hPtMC_WZ->GetBinContent(15)/40.0); hPtMC_WZ->SetBinContent(16,hPtMC_WZ->GetBinContent(16)/40.0); hPtMC_WZ->SetBinContent(17,hPtMC_WZ->GetBinContent(17)/60.0); hPtMC_WZ->SetBinContent(18,hPtMC_WZ->GetBinContent(18)/350.0); // Fill the ZZ MC // TFile* fileMC_ZZ = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/ZZ/mergeFile/ZZ_merged.root"); //TFile* fileMC_ZZ = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/fullselection/ZZ.root"); TFile* fileMC_ZZ = new TFile("./fullselection/ZZ.root"); TTree* treeMC_ZZ = (TTree*) fileMC_ZZ -> Get("tree"); TH1F* hMassMC_ZZ = new TH1F("hMassMC_ZZ", "", mBins, mLow, mHigh); TH1F* hPtMC_ZZ = new TH1F("hPtMC_ZZ", "", nptBins, xbins_pt); TH1F* hPt20BMC_ZZ = new TH1F("hPt20BMC_ZZ", "", ptBins, ptLow, ptHigh); TH1F* hRapidityMC_ZZ = new TH1F("hRapidityMC_ZZ", "", rBins, rLow, rHigh); TH1F* hVertexMC_ZZ = new TH1F("hVertexMC_ZZ", "", 25, 0, 25); std::cout << "filling ZZ events\n"; fillHistos(treeMC_ZZ, hMassMC_ZZ, hPtMC_ZZ, hPt20BMC_ZZ, hRapidityMC_ZZ, hVertexMC_ZZ, mLow, mHigh, ptLow, ptHigh, 0); hPtMC_ZZ->SetBinContent(1,hPtMC_ZZ->GetBinContent(1)/2.5); hPtMC_ZZ->SetBinContent(2,hPtMC_ZZ->GetBinContent(2)/2.5); hPtMC_ZZ->SetBinContent(3,hPtMC_ZZ->GetBinContent(3)/2.5); hPtMC_ZZ->SetBinContent(4,hPtMC_ZZ->GetBinContent(4)/2.5); hPtMC_ZZ->SetBinContent(5,hPtMC_ZZ->GetBinContent(5)/2.5); hPtMC_ZZ->SetBinContent(6,hPtMC_ZZ->GetBinContent(6)/2.5); hPtMC_ZZ->SetBinContent(7,hPtMC_ZZ->GetBinContent(7)/2.5); hPtMC_ZZ->SetBinContent(8,hPtMC_ZZ->GetBinContent(8)/2.5); hPtMC_ZZ->SetBinContent(9,hPtMC_ZZ->GetBinContent(9)/10.0); hPtMC_ZZ->SetBinContent(10,hPtMC_ZZ->GetBinContent(10)/10.0); hPtMC_ZZ->SetBinContent(11,hPtMC_ZZ->GetBinContent(11)/10.0); hPtMC_ZZ->SetBinContent(12,hPtMC_ZZ->GetBinContent(12)/20.0); hPtMC_ZZ->SetBinContent(13,hPtMC_ZZ->GetBinContent(13)/20.0); hPtMC_ZZ->SetBinContent(14,hPtMC_ZZ->GetBinContent(14)/20.0); hPtMC_ZZ->SetBinContent(15,hPtMC_ZZ->GetBinContent(15)/40.0); hPtMC_ZZ->SetBinContent(16,hPtMC_ZZ->GetBinContent(16)/40.0); hPtMC_ZZ->SetBinContent(17,hPtMC_ZZ->GetBinContent(17)/60.0); hPtMC_ZZ->SetBinContent(18,hPtMC_ZZ->GetBinContent(18)/350.0); // Fill the WW MC // TFile* fileMC_WW = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/WW/mergeFile/WW_merged.root"); //TFile* fileMC_WW = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/fullselection/WW.root"); TFile* fileMC_WW = new TFile("./fullselection/WW.root"); TTree* treeMC_WW = (TTree*) fileMC_WW -> Get("tree"); TH1F* hMassMC_WW = new TH1F("hMassMC_WW", "", mBins, mLow, mHigh); TH1F* hPtMC_WW = new TH1F("hPtMC_WW", "", nptBins, xbins_pt); TH1F* hPt20BMC_WW = new TH1F("hPt20BMC_WW", "", ptBins, ptLow, ptHigh); TH1F* hRapidityMC_WW = new TH1F("hRapidityMC_WW", "", rBins, rLow, rHigh); TH1F* hVertexMC_WW = new TH1F("hVertexMC_WW", "", 25, 0, 25); std::cout << "filling WW events\n"; fillHistos(treeMC_WW, hMassMC_WW, hPtMC_WW, hPt20BMC_WW, hRapidityMC_WW, hVertexMC_WW, mLow, mHigh, ptLow, ptHigh, 0); hPtMC_WW->SetBinContent(1,hPtMC_WW->GetBinContent(1)/2.5); hPtMC_WW->SetBinContent(2,hPtMC_WW->GetBinContent(2)/2.5); hPtMC_WW->SetBinContent(3,hPtMC_WW->GetBinContent(3)/2.5); hPtMC_WW->SetBinContent(4,hPtMC_WW->GetBinContent(4)/2.5); hPtMC_WW->SetBinContent(5,hPtMC_WW->GetBinContent(5)/2.5); hPtMC_WW->SetBinContent(6,hPtMC_WW->GetBinContent(6)/2.5); hPtMC_WW->SetBinContent(7,hPtMC_WW->GetBinContent(7)/2.5); hPtMC_WW->SetBinContent(8,hPtMC_WW->GetBinContent(8)/2.5); hPtMC_WW->SetBinContent(9,hPtMC_WW->GetBinContent(9)/10.0); hPtMC_WW->SetBinContent(10,hPtMC_WW->GetBinContent(10)/10.0); hPtMC_WW->SetBinContent(11,hPtMC_WW->GetBinContent(11)/10.0); hPtMC_WW->SetBinContent(12,hPtMC_WW->GetBinContent(12)/20.0); hPtMC_WW->SetBinContent(13,hPtMC_WW->GetBinContent(13)/20.0); hPtMC_WW->SetBinContent(14,hPtMC_WW->GetBinContent(14)/20.0); hPtMC_WW->SetBinContent(15,hPtMC_WW->GetBinContent(15)/40.0); hPtMC_WW->SetBinContent(16,hPtMC_WW->GetBinContent(16)/40.0); hPtMC_WW->SetBinContent(17,hPtMC_WW->GetBinContent(17)/60.0); hPtMC_WW->SetBinContent(18,hPtMC_WW->GetBinContent(18)/350.0); // Fill the WJetsToLNu MC // TFile* fileMC_WJetsToLNu = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/WJetsToLNu/mergeFile/WJetsToLNu_merged.root"); //TFile* fileMC_WJetsToLNu = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/fullselection/WJetsToLNu.root"); TFile* fileMC_WJetsToLNu = new TFile("./fullselection/WJetsToLNu.root"); TTree* treeMC_WJetsToLNu = (TTree*) fileMC_WJetsToLNu -> Get("tree"); TH1F* hMassMC_WJetsToLNu = new TH1F("hMassMC_WJetsToLNu", "", mBins, mLow, mHigh); TH1F* hPtMC_WJetsToLNu = new TH1F("hPtMC_WJetsToLNu", "", nptBins, xbins_pt); TH1F* hPt20BMC_WJetsToLNu = new TH1F("hPt20BMC_WJetsToLNu", "", ptBins, ptLow, ptHigh); TH1F* hRapidityMC_WJetsToLNu = new TH1F("hRapidityMC_WJetsToLNu", "", rBins, rLow, rHigh); TH1F* hVertexMC_WJetsToLNu = new TH1F("hVertexMC_WJetsToLNu", "", 25, 0, 25); std::cout << "filling WJetsToLNu events\n"; fillHistos(treeMC_WJetsToLNu, hMassMC_WJetsToLNu, hPtMC_WJetsToLNu, hPt20BMC_WJetsToLNu, hRapidityMC_WJetsToLNu, hVertexMC_WJetsToLNu, mLow, mHigh, ptLow, ptHigh, 0); hPtMC_WJetsToLNu->SetBinContent(1,hPtMC_WJetsToLNu->GetBinContent(1)/2.5); hPtMC_WJetsToLNu->SetBinContent(2,hPtMC_WJetsToLNu->GetBinContent(2)/2.5); hPtMC_WJetsToLNu->SetBinContent(3,hPtMC_WJetsToLNu->GetBinContent(3)/2.5); hPtMC_WJetsToLNu->SetBinContent(4,hPtMC_WJetsToLNu->GetBinContent(4)/2.5); hPtMC_WJetsToLNu->SetBinContent(5,hPtMC_WJetsToLNu->GetBinContent(5)/2.5); hPtMC_WJetsToLNu->SetBinContent(6,hPtMC_WJetsToLNu->GetBinContent(6)/2.5); hPtMC_WJetsToLNu->SetBinContent(7,hPtMC_WJetsToLNu->GetBinContent(7)/2.5); hPtMC_WJetsToLNu->SetBinContent(8,hPtMC_WJetsToLNu->GetBinContent(8)/2.5); hPtMC_WJetsToLNu->SetBinContent(9,hPtMC_WJetsToLNu->GetBinContent(9)/10.0); hPtMC_WJetsToLNu->SetBinContent(10,hPtMC_WJetsToLNu->GetBinContent(10)/10.0); hPtMC_WJetsToLNu->SetBinContent(11,hPtMC_WJetsToLNu->GetBinContent(11)/10.0); hPtMC_WJetsToLNu->SetBinContent(12,hPtMC_WJetsToLNu->GetBinContent(12)/20.0); hPtMC_WJetsToLNu->SetBinContent(13,hPtMC_WJetsToLNu->GetBinContent(13)/20.0); hPtMC_WJetsToLNu->SetBinContent(14,hPtMC_WJetsToLNu->GetBinContent(14)/20.0); hPtMC_WJetsToLNu->SetBinContent(15,hPtMC_WJetsToLNu->GetBinContent(15)/40.0); hPtMC_WJetsToLNu->SetBinContent(16,hPtMC_WJetsToLNu->GetBinContent(16)/40.0); hPtMC_WJetsToLNu->SetBinContent(17,hPtMC_WJetsToLNu->GetBinContent(17)/60.0); hPtMC_WJetsToLNu->SetBinContent(18,hPtMC_WJetsToLNu->GetBinContent(18)/350.0); //Fill QCD MC // TFile* fileMC_QCD = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/QCD/mergeFile/QCD_Pt_20_MuEnrichedPt_15_merged.root"); //TFile* fileMC_QCD = new TFile("/data/uftrig01b/nwickram/root/CMSSW_5_2_4_patch3/MC/ntuplesWITHdz/fullselection/QCD.root"); TFile* fileMC_QCD = new TFile("./fullselection/QCD.root"); TTree* treeMC_QCD = (TTree*) fileMC_QCD -> Get("tree"); TH1F* hMassMC_QCD = new TH1F("hMassMC_QCD", "", mBins, mLow, mHigh); TH1F* hPtMC_QCD = new TH1F("hPtMC_QCD", "", nptBins, xbins_pt); TH1F* hPt20BMC_QCD = new TH1F("hPt20BMC_QCD", "", ptBins, ptLow, ptHigh); TH1F* hRapidityMC_QCD = new TH1F("hRapidityMC_QCD", "", rBins, rLow, rHigh); TH1F* hVertexMC_QCD = new TH1F("hVertexMC_QCD", "", 25, 0, 25); std::cout << "filling QCD events\n"; fillHistos(treeMC_QCD, hMassMC_QCD, hPtMC_QCD, hPt20BMC_QCD, hRapidityMC_QCD, hVertexMC_QCD, mLow, mHigh, ptLow, ptHigh, 0); hPtMC_QCD->SetBinContent(1,hPtMC_QCD->GetBinContent(1)/2.5); hPtMC_QCD->SetBinContent(2,hPtMC_QCD->GetBinContent(2)/2.5); hPtMC_QCD->SetBinContent(3,hPtMC_QCD->GetBinContent(3)/2.5); hPtMC_QCD->SetBinContent(4,hPtMC_QCD->GetBinContent(4)/2.5); hPtMC_QCD->SetBinContent(5,hPtMC_QCD->GetBinContent(5)/2.5); hPtMC_QCD->SetBinContent(6,hPtMC_QCD->GetBinContent(6)/2.5); hPtMC_QCD->SetBinContent(7,hPtMC_QCD->GetBinContent(7)/2.5); hPtMC_QCD->SetBinContent(8,hPtMC_QCD->GetBinContent(8)/2.5); hPtMC_QCD->SetBinContent(9,hPtMC_QCD->GetBinContent(9)/10.0); hPtMC_QCD->SetBinContent(10,hPtMC_QCD->GetBinContent(10)/10.0); hPtMC_QCD->SetBinContent(11,hPtMC_QCD->GetBinContent(11)/10.0); hPtMC_QCD->SetBinContent(12,hPtMC_QCD->GetBinContent(12)/20.0); hPtMC_QCD->SetBinContent(13,hPtMC_QCD->GetBinContent(13)/20.0); hPtMC_QCD->SetBinContent(14,hPtMC_QCD->GetBinContent(14)/20.0); hPtMC_QCD->SetBinContent(15,hPtMC_QCD->GetBinContent(15)/40.0); hPtMC_QCD->SetBinContent(16,hPtMC_QCD->GetBinContent(16)/40.0); hPtMC_QCD->SetBinContent(17,hPtMC_QCD->GetBinContent(17)/60.0); hPtMC_QCD->SetBinContent(18,hPtMC_QCD->GetBinContent(18)/350.0); TH1F* hMassMC_allBkg = new TH1F("hMassMC_allBkg", "", mBins, mLow, mHigh); THStack* sMassMC_allBkg = new THStack("sMassMC_allBkg",""); TH1F* hPt20BMC_allBkg = new TH1F("hPt20BMC_allBkg", "", ptBins, ptLow, ptHigh); THStack* sPt20BMC_allBkg = new THStack("sPt20BMC_allBkg",""); TH1F* hPtMC_allBkg = new TH1F("hPtMC_allBkg", "", nptBins, xbins_pt); TH1F* hPtMC_EWKBkg = new TH1F("hPtMC_EWKBkg", "", nptBins, xbins_pt); THStack* sPtMC_allBkg = new THStack("sPtMC_allBkg",""); THStack* sPtMC_EWKBkg = new THStack("sPtMC_EWKBkg",""); TH1F* hRapidityMC_allBkg = new TH1F("hRapidityMC_allBkg", "", rBins, rLow, rHigh); THStack* sRapidityMC_allBkg = new THStack("sRapidityMC_allBkg",""); TH1F* hVertexMC_allBkg = new TH1F("hVertexMC_allBkg", "", 25, 0, 25); THStack* sVertexMC_allBkg = new THStack("sVertexMC_allBkg",""); //------------------------------------------------------- //event counting before scaling std::cout << "Event Counting before luminosity rescaling:" << std::endl; outLatex(hMassData, "data"); outLatex(hMassMC_dymumu, "DYToMuMu"); outLatex(hMassMC_ttbarjets, "TTJets"); outLatex(hMassMC_ztautau, "Ztautau"); outLatex(hMassMC_WW, "WW"); outLatex(hMassMC_WZ, "WZ"); outLatex(hMassMC_ZZ, "ZZ"); outLatex(hMassMC_WJetsToLNu, "WJetsToLNu"); outLatex(hMassMC_QCD, "QCD"); // ------------------------------------------------------------------------------ // ------------------------------------------------------------------------------ // Rescaling the MC to match the luminosity std::cout << "xsec (Z/gamma + Jets, M_ll>50 GeV): " << xsec_dymumu << " pb" << std::endl; hMassMC_dymumu -> Scale(intLumi_invpb*xsec_dymumu/nMCEvDYToMuMu); hMassMC_ttbarjets -> Scale(intLumi_invpb*xsec_ttbarjets/nMCEvTTbarJets); hMassMC_ztautau -> Scale(intLumi_invpb*xsec_ztautau/nMCEvZtautau); hMassMC_WW -> Scale(intLumi_invpb*xsec_WW/nMCEvWW); hMassMC_WZ -> Scale(intLumi_invpb*xsec_WZ/nMCEvWZ); hMassMC_ZZ -> Scale(intLumi_invpb*xsec_ZZ/nMCEvZZ); hMassMC_WJetsToLNu -> Scale(intLumi_invpb*xsec_WJetsToLNu/nMCEvWJetsToLNu); hMassMC_QCD -> Scale(intLumi_invpb*xsec_QCD/nMCEvQCD); hPtMC_dymumu -> Scale(intLumi_invpb*xsec_dymumu/nMCEvDYToMuMu); hPtMC_ttbarjets -> Scale(intLumi_invpb*xsec_ttbarjets/nMCEvTTbarJets); hPtMC_ztautau -> Scale(intLumi_invpb*xsec_ztautau/nMCEvZtautau); hPtMC_WW -> Scale(intLumi_invpb*xsec_WW/nMCEvWW); hPtMC_WZ -> Scale(intLumi_invpb*xsec_WZ/nMCEvWZ); hPtMC_ZZ -> Scale(intLumi_invpb*xsec_ZZ/nMCEvZZ); hPtMC_WJetsToLNu -> Scale(intLumi_invpb*xsec_WJetsToLNu/nMCEvWJetsToLNu); hPtMC_QCD -> Scale(intLumi_invpb*xsec_QCD/nMCEvQCD); hPt20BMC_dymumu -> Scale(intLumi_invpb*xsec_dymumu/nMCEvDYToMuMu); hPt20BMC_ttbarjets -> Scale(intLumi_invpb*xsec_ttbarjets/nMCEvTTbarJets); hPt20BMC_ztautau -> Scale(intLumi_invpb*xsec_ztautau/nMCEvZtautau); hPt20BMC_WW -> Scale(intLumi_invpb*xsec_WW/nMCEvWW); hPt20BMC_WZ -> Scale(intLumi_invpb*xsec_WZ/nMCEvWZ); hPt20BMC_ZZ -> Scale(intLumi_invpb*xsec_ZZ/nMCEvZZ); hPt20BMC_WJetsToLNu -> Scale(intLumi_invpb*xsec_WJetsToLNu/nMCEvWJetsToLNu); hPt20BMC_QCD -> Scale(intLumi_invpb*xsec_QCD/nMCEvQCD); hRapidityMC_dymumu -> Scale(intLumi_invpb*xsec_dymumu/nMCEvDYToMuMu); hRapidityMC_ttbarjets -> Scale(intLumi_invpb*xsec_ttbarjets/nMCEvTTbarJets); hRapidityMC_ztautau -> Scale(intLumi_invpb*xsec_ztautau/nMCEvZtautau); hRapidityMC_WW -> Scale(intLumi_invpb*xsec_WW/nMCEvWW); hRapidityMC_WZ -> Scale(intLumi_invpb*xsec_WZ/nMCEvWZ); hRapidityMC_ZZ -> Scale(intLumi_invpb*xsec_ZZ/nMCEvZZ); hRapidityMC_WJetsToLNu -> Scale(intLumi_invpb*xsec_WJetsToLNu/nMCEvWJetsToLNu); hRapidityMC_QCD -> Scale(intLumi_invpb*xsec_QCD/nMCEvQCD); hVertexMC_dymumu -> Scale(intLumi_invpb*xsec_dymumu/nMCEvDYToMuMu); hVertexMC_ttbarjets -> Scale(intLumi_invpb*xsec_ttbarjets/nMCEvTTbarJets); hVertexMC_ztautau -> Scale(intLumi_invpb*xsec_ztautau/nMCEvZtautau); hVertexMC_WW -> Scale(intLumi_invpb*xsec_WW/nMCEvWW); hVertexMC_WZ -> Scale(intLumi_invpb*xsec_WZ/nMCEvWZ); hVertexMC_ZZ -> Scale(intLumi_invpb*xsec_ZZ/nMCEvZZ); hVertexMC_WJetsToLNu -> Scale(intLumi_invpb*xsec_WJetsToLNu/nMCEvWJetsToLNu); hVertexMC_QCD -> Scale(intLumi_invpb*xsec_QCD/nMCEvQCD); /* double bkgSum = hMassMC_dyjets -> Integral()+ hMassMC_ttbarjets -> Integral()+ hMassMC_ztautau -> Integral()+ hMassMC_WW -> Integral()+ hMassMC_WZ -> Integral()+ hMassMC_ZZ -> Integral(); //rescale to the number of events found in data double rescale = hMassData -> Integral()/bkgSum; hMassMC_dyjets -> Scale(rescale); hMassMC_ttbarjets -> Scale(rescale); hMassMC_ztautau -> Scale(rescale); hMassMC_WW -> Scale(rescale); hMassMC_WZ -> Scale(rescale); hMassMC_ZZ -> Scale(rescale); // end rescaling */ std::cout << "Event Counting after luminosity rescaling:" << std::endl; outLatex(hMassData, "data"); outLatex(hMassMC_dymumu, "DYToMuMu"); outLatex(hMassMC_ttbarjets, "TTJets"); outLatex(hMassMC_ztautau, "Ztautau"); outLatex(hMassMC_WW, "WW"); outLatex(hMassMC_WZ, "WZ"); outLatex(hMassMC_ZZ, "ZZ"); outLatex(hMassMC_WJetsToLNu, "WJetsToLNu"); outLatex(hMassMC_QCD, "QCD"); // ------------------------------------------------------------------------------ double entriesPerBinMass = (mHigh-mLow)/mBins; char yAxisNameMass[128]; sprintf(yAxisNameMass,"Entries/%3.2f GeV/c^{2}",entriesPerBinMass); double entriesPerBinPt = (ptHigh-ptLow)/ptBins; char yAxisNamePt[128]; sprintf(yAxisNamePt,"Entries/%3.2f GeV",entriesPerBinPt); double entriesPerBinRapidity = (rHigh-rLow)/rBins; char yAxisNameRapidity[128]; sprintf(yAxisNameRapidity,"Entries/%3.2f",entriesPerBinRapidity); double entriesPerBinVertex = 1; char yAxisNameVertex[128]; sprintf(yAxisNameVertex,"Entries/%3.2f",entriesPerBinVertex); hPtMC_EWKBkg->Add(hPtMC_ttbarjets); sPtMC_EWKBkg->Add(hPtMC_ttbarjets); hPtMC_EWKBkg->Add(hPtMC_ztautau); sPtMC_EWKBkg->Add(hPtMC_ztautau); hPtMC_EWKBkg->Add(hPtMC_WJetsToLNu); sPtMC_EWKBkg->Add(hPtMC_WJetsToLNu); hPtMC_EWKBkg->Add(hPtMC_ZZ); sPtMC_EWKBkg->Add(hPtMC_ZZ); hPtMC_EWKBkg->Add(hPtMC_WZ); sPtMC_EWKBkg->Add(hPtMC_WZ); hPtMC_EWKBkg->Add(hPtMC_WW); sPtMC_EWKBkg->Add(hPtMC_WW); // define the tlegend //TLegend* tl = new TLegend(0.71, 0.62, 0.90, 0.90); //TLegend* tl = new TLegend(0.60, 0.57, 0.86, 0.86); TLegend* tl = new TLegend(0.60, 0.47, 0.86, 0.76); tl->SetFillColor(0); tl->SetLineColor(0); tl->AddEntry(hPtData ,"Data","lpe"); //tl->AddEntry(hPtMC_dymumu,"DYToMuMu","f"); tl->AddEntry(hPtMC_dymumu,"DY#rightarrow #mu^{+}#mu^{-}","f"); //tl->AddEntry(hPtMC_QCD," QCD","f"); tl->AddEntry(hPtMC_EWKBkg,"EW+t#bar{t}","f"); //tl->AddEntry(hPtMC_WW," WW","f"); //tl->AddEntry(hPtMC_WZ," WZ","f"); //tl->AddEntry(hPtMC_ZZ," ZZ","f"); //tl->AddEntry(hPtMC_WJetsToLNu," WJets","f"); //tl->AddEntry(hPtMC_ztautau ,"DYToTauTau","f"); //tl->AddEntry(hPtMC_ttbarjets," t #bar{t}","f"); // define MC contribution color and style //mass hMassMC_dymumu -> SetFillColor(798);//yellow hMassMC_dymumu -> SetFillStyle(1001); hMassMC_ttbarjets -> SetFillColor(30);//green hMassMC_ttbarjets -> SetFillStyle(1001); hMassMC_ztautau -> SetFillColor(51);//violet hMassMC_ztautau -> SetFillStyle(1001); hMassMC_WW -> SetFillColor(41);//brown hMassMC_WW -> SetFillStyle(1001); hMassMC_WZ -> SetFillColor(44);// hMassMC_WZ -> SetFillStyle(1001); hMassMC_ZZ -> SetFillColor(47);// hMassMC_ZZ -> SetFillStyle(1001); hMassMC_WJetsToLNu ->SetFillColor(2); //red hMassMC_WJetsToLNu ->SetFillStyle(1001); hMassMC_QCD -> SetFillColor(kMagenta+3);// hMassMC_QCD -> SetFillStyle(1001); //pt hPtMC_dymumu -> SetFillColor(798);//yellow hPtMC_dymumu -> SetFillStyle(1001); hPtMC_ttbarjets -> SetFillColor(30);//green hPtMC_ttbarjets -> SetFillStyle(1001); hPtMC_ztautau -> SetFillColor(51);//violet hPtMC_ztautau -> SetFillStyle(1001); hPtMC_WW -> SetFillColor(41);//brown hPtMC_WW -> SetFillStyle(1001); hPtMC_WZ -> SetFillColor(44);// hPtMC_WZ -> SetFillStyle(1001); hPtMC_ZZ -> SetFillColor(47);// hPtMC_ZZ -> SetFillStyle(1001); hPtMC_WJetsToLNu ->SetFillColor(2); //red hPtMC_WJetsToLNu ->SetFillStyle(1001); hPtMC_QCD -> SetFillColor(kMagenta+3);// hPtMC_QCD -> SetFillStyle(1001); hPtMC_EWKBkg -> SetFillColor(kOrange+7);// hPtMC_EWKBkg -> SetFillStyle(1001); //pt 20 bin hPt20BMC_dymumu -> SetFillColor(798);//yellow hPt20BMC_dymumu -> SetFillStyle(1001); hPt20BMC_ttbarjets -> SetFillColor(30);//green hPt20BMC_ttbarjets -> SetFillStyle(1001); hPt20BMC_ztautau -> SetFillColor(51);//violet hPt20BMC_ztautau -> SetFillStyle(1001); hPt20BMC_WW -> SetFillColor(41);//brown hPt20BMC_WW -> SetFillStyle(1001); hPt20BMC_WZ -> SetFillColor(44);// hPt20BMC_WZ -> SetFillStyle(1001); hPt20BMC_ZZ -> SetFillColor(47);// hPt20BMC_ZZ -> SetFillStyle(1001); hPt20BMC_WJetsToLNu ->SetFillColor(2); //red hPt20BMC_WJetsToLNu ->SetFillStyle(1001); hPt20BMC_QCD -> SetFillColor(kMagenta+3);// hPt20BMC_QCD -> SetFillStyle(1001); //Rapidity hRapidityMC_dymumu -> SetFillColor(798);//yellow hRapidityMC_dymumu -> SetFillStyle(1001); hRapidityMC_ttbarjets -> SetFillColor(30);//green hRapidityMC_ttbarjets -> SetFillStyle(1001); hRapidityMC_ztautau -> SetFillColor(51);//violet hRapidityMC_ztautau -> SetFillStyle(1001); hRapidityMC_WW -> SetFillColor(41);//brown hRapidityMC_WW -> SetFillStyle(1001); hRapidityMC_WZ -> SetFillColor(44);// hRapidityMC_WZ -> SetFillStyle(1001); hRapidityMC_ZZ -> SetFillColor(47);// hRapidityMC_ZZ -> SetFillStyle(1001); hRapidityMC_WJetsToLNu ->SetFillColor(2); //red hRapidityMC_WJetsToLNu ->SetFillStyle(1001); hRapidityMC_QCD -> SetFillColor(kMagenta+3);// hRapidityMC_QCD -> SetFillStyle(1001); //Vertex hVertexMC_dymumu -> SetFillColor(798);//yellow hVertexMC_dymumu -> SetFillStyle(1001); hVertexMC_ttbarjets -> SetFillColor(30);//green hVertexMC_ttbarjets -> SetFillStyle(1001); hVertexMC_ztautau -> SetFillColor(51);//violet hVertexMC_ztautau -> SetFillStyle(1001); hVertexMC_WW -> SetFillColor(41);//brown hVertexMC_WW -> SetFillStyle(1001); hVertexMC_WZ -> SetFillColor(44);// hVertexMC_WZ -> SetFillStyle(1001); hVertexMC_ZZ -> SetFillColor(47);// hVertexMC_ZZ -> SetFillStyle(1001); hVertexMC_WJetsToLNu ->SetFillColor(2); //red hVertexMC_WJetsToLNu ->SetFillStyle(1001); hVertexMC_QCD -> SetFillColor(kMagenta+3);// hVertexMC_QCD -> SetFillStyle(1001); // ------------------------------------------------------------------------------ // Mass Plot Linear Scale //TCanvas* cmass1 = new TCanvas("cmass1","",0,0,750,700); TCanvas* cmass1 = new TCanvas("cmass1","",800,800); cmass1->cd(); cmass1 -> SetLogy(); // gPad->SetLogy(); // Log plots on both axes. // gPad->SetLogx(); hMassData -> SetTitle("CMS Preliminary, 18.4 pb^{-1} at #sqrt{s}=8 TeV"); hMassData -> SetTitle("#int 18.4 pb^{-1} at #sqrt{s}=8 TeV"); hMassData -> GetXaxis() -> SetTitle("Mass (#mu#mu) [GeV/c^{2}]"); hMassData -> GetYaxis() -> SetTitle(yAxisNameMass); hMassData -> GetYaxis() -> SetTitleOffset(1.5); hMassData -> SetMarkerSize(1); hMassData -> SetMarkerStyle(20); hMassData -> SetMinimum(0.01); //hMassData -> Draw("pe"); //sMassMC_allBkg -> Draw("same"); //hMassData -> Draw("pe same"); //hMassData -> Draw("AXIS same"); zrap_Prelim(0.85,0.9,0.4,0.17); zrap_Lumi(0.35,0.89,36); //tl->Draw("same"); hMassMC_allBkg->Add(hMassMC_ttbarjets); sMassMC_allBkg->Add(hMassMC_ttbarjets); hMassMC_allBkg->Add(hMassMC_ztautau); sMassMC_allBkg->Add(hMassMC_ztautau); hMassMC_allBkg->Add(hMassMC_WJetsToLNu); sMassMC_allBkg->Add(hMassMC_WJetsToLNu); hMassMC_allBkg->Add(hMassMC_QCD); sMassMC_allBkg->Add(hMassMC_QCD); hMassMC_allBkg->Add(hMassMC_ZZ); sMassMC_allBkg->Add(hMassMC_ZZ); hMassMC_allBkg->Add(hMassMC_WZ); sMassMC_allBkg->Add(hMassMC_WZ); hMassMC_allBkg->Add(hMassMC_WW); sMassMC_allBkg->Add(hMassMC_WW); hMassMC_allBkg->Add(hMassMC_dymumu); sMassMC_allBkg->Add(hMassMC_dymumu); // Mass Plot With Pulls TCanvas* cmass2 = new TCanvas("cmass2","",700,0,750,700); //DrawWithRes(cmass2, cmspreliminary,"", hMassData, hMassMC_allBkg, sMassMC_allBkg, tl, true); // ------------------------------------------------------------------------------ // Pt with equal bin with 5GeV TCanvas* cpt20B1 = new TCanvas("cpt20B1","",0,0,600,500); cpt20B1->cd(); cpt20B1 -> SetLogy(); cpt20B1 -> SetTicky(1); cpt20B1 -> SetTickx(1); //hPt20BData -> GetXaxis() -> SetTitle("q_{T} [GeV/c]"); hPt20BData -> GetXaxis() -> SetTitle("p_{T}^{Z} [GeV]"); hPt20BData -> GetYaxis() -> SetTitle(yAxisNamePt); hPt20BData -> GetYaxis() -> SetTitleOffset(1.2); hPt20BData -> SetMarkerSize(0.7); hPt20BData -> SetMarkerStyle(20); hPt20BData -> SetMinimum(0.01); //hPt20BData -> Draw("pe"); //sPt20BMC_allBkg -> Draw("same"); //hPt20BData -> Draw("pe same"); //hPt20BData -> Draw("AXIS same"); //tl->Draw("same"); hPt20BMC_allBkg->Add(hPt20BMC_ttbarjets); sPt20BMC_allBkg->Add(hPt20BMC_ttbarjets); hPt20BMC_allBkg->Add(hPt20BMC_ztautau); sPt20BMC_allBkg->Add(hPt20BMC_ztautau); hPt20BMC_allBkg->Add(hPt20BMC_WJetsToLNu); sPt20BMC_allBkg->Add(hPt20BMC_WJetsToLNu); hPt20BMC_allBkg->Add(hPt20BMC_QCD); sPt20BMC_allBkg->Add(hPt20BMC_QCD); hPt20BMC_allBkg->Add(hPt20BMC_ZZ); sPt20BMC_allBkg->Add(hPt20BMC_ZZ); hPt20BMC_allBkg->Add(hPt20BMC_WZ); sPt20BMC_allBkg->Add(hPt20BMC_WZ); hPt20BMC_allBkg->Add(hPt20BMC_WW); sPt20BMC_allBkg->Add(hPt20BMC_WW); hPt20BMC_allBkg->Add(hPt20BMC_dymumu); sPt20BMC_allBkg->Add(hPt20BMC_dymumu); // pt Plot With Pulls // TCanvas* cpt20B2 = new TCanvas("cpt20B2","",700,0,600,500); // DrawWithRes(cpt20B2, cmspreliminaryextd, hPt20BData, hPt20BMC_allBkg, sPt20BMC_allBkg, tl, true, true); // ------------------------------------------------------------------------------ // Pt with dynamic binning //TCanvas* cpt1 = new TCanvas("cpt1","",0,0,750,600); TCanvas* cpt1 = new TCanvas("cpt1","",0,0,800,800); cpt1->cd(); cpt1 -> SetLogy(); cpt1 -> SetTicky(1); cpt1 -> SetTickx(1); //hPtData -> SetTitle("#int 18.4 pb^{-1} at #sqrt{s}=8 TeV"); //hPtData -> SetTitle("L = 18.4 pb^{-1}, #sqrt{s}=8 TeV"); //hPtData -> SetTitle("18.4 pb^{-1} (8 TeV)"); //hPtData -> SetTitleSize(0.0); //hPtData -> GetXaxis() -> SetTitle("q_{T} [GeV/c]"); hPtData -> GetXaxis() -> SetLabelSize(0); hPtData -> GetXaxis() -> SetTitle("p_{T}^{Z} [GeV]"); hPtData -> GetYaxis() -> SetTitle("Events"); //hPtData -> GetYaxis() -> SetTitleSize(0.05); hPtData -> GetYaxis() -> SetTitleSize(0.07); //hPtData -> GetYaxis() -> SetTitleOffset(1.0); hPtData -> GetYaxis() -> SetTitleOffset(0.8); hPtData -> GetYaxis() -> SetLabelSize(0.05); hPtData -> SetMarkerSize(1); hPtData -> SetMarkerStyle(20); hPtData -> SetMinimum(5*0.001); hPtData -> Draw("pe"); sPtMC_allBkg -> Draw("same"); hPtData -> Draw("pe same"); hPtData -> Draw("AXIS same"); //tl->Draw("same"); hPtMC_allBkg->Add(hPtMC_QCD); sPtMC_allBkg->Add(hPtMC_QCD); hPtMC_allBkg->Add(hPtMC_EWKBkg); sPtMC_allBkg->Add(hPtMC_EWKBkg); hPtMC_allBkg->Add(hPtMC_dymumu); sPtMC_allBkg->Add(hPtMC_dymumu); /* hPtMC_allBkg->Add(hPtMC_ttbarjets); sPtMC_allBkg->Add(hPtMC_ttbarjets); hPtMC_allBkg->Add(hPtMC_ztautau); sPtMC_allBkg->Add(hPtMC_ztautau); hPtMC_allBkg->Add(hPtMC_WJetsToLNu); sPtMC_allBkg->Add(hPtMC_WJetsToLNu); hPtMC_allBkg->Add(hPtMC_QCD); sPtMC_allBkg->Add(hPtMC_QCD); hPtMC_allBkg->Add(hPtMC_ZZ); sPtMC_allBkg->Add(hPtMC_ZZ); hPtMC_allBkg->Add(hPtMC_WZ); sPtMC_allBkg->Add(hPtMC_WZ); hPtMC_allBkg->Add(hPtMC_WW); sPtMC_allBkg->Add(hPtMC_WW); hPtMC_allBkg->Add(hPtMC_dymumu); sPtMC_allBkg->Add(hPtMC_dymumu); */ // pt Plot With Pulls TCanvas* cpt2 = new TCanvas("cpt2","",700,0,750,700); cpt2 -> SetTicky(1); cpt2 -> SetTickx(1); //DrawWithRes(cpt2, cmspreliminary, hPtData, hPtMC_allBkg, sPtMC_allBkg, tl); //DrawWithRes(cpt2, "#font[61]{CMS}", "", hPtData, hPtMC_allBkg, sPtMC_allBkg, tl); DrawWithRes(cpt2, "#font[61]{CMS}", "18.4 pb^{-1} (8 TeV)", hPtData, hPtMC_allBkg, sPtMC_allBkg, tl); // ------------------------------------------------------------------------------ // Rapidity plots TCanvas* cra1 = new TCanvas("cra1","",0,0,600,500); cra1->cd(); cra1 -> SetLogy(); cra1 -> SetTicky(1); cra1 -> SetTickx(1); hRapidityData -> GetXaxis() -> SetTitle("Y (#mu#mu) "); hRapidityData -> GetYaxis() -> SetTitle(yAxisNameRapidity); hRapidityData -> GetYaxis() -> SetTitleOffset(1.2); hRapidityData -> SetMarkerSize(0.7); hRapidityData -> SetMarkerStyle(20); hRapidityData -> SetMinimum(0.01); //hRapidityData -> Draw("pe"); //sRapidityMC_allBkg -> Draw("same"); //hRapidityData -> Draw("pe same"); //hRapidityData -> Draw("AXIS same"); //tl->Draw("same"); hRapidityMC_allBkg->Add(hRapidityMC_ttbarjets); sRapidityMC_allBkg->Add(hRapidityMC_ttbarjets); hRapidityMC_allBkg->Add(hRapidityMC_ztautau); sRapidityMC_allBkg->Add(hRapidityMC_ztautau); hRapidityMC_allBkg->Add(hRapidityMC_WJetsToLNu); sRapidityMC_allBkg->Add(hRapidityMC_WJetsToLNu); hRapidityMC_allBkg->Add(hRapidityMC_QCD); sRapidityMC_allBkg->Add(hRapidityMC_QCD); hRapidityMC_allBkg->Add(hRapidityMC_ZZ); sRapidityMC_allBkg->Add(hRapidityMC_ZZ); hRapidityMC_allBkg->Add(hRapidityMC_WZ); sRapidityMC_allBkg->Add(hRapidityMC_WZ); hRapidityMC_allBkg->Add(hRapidityMC_WW); sRapidityMC_allBkg->Add(hRapidityMC_WW); hRapidityMC_allBkg->Add(hRapidityMC_dymumu); sRapidityMC_allBkg->Add(hRapidityMC_dymumu); // Rapidity Plot With Pulls // TCanvas* cra2 = new TCanvas("cra2","",700,0,600,500); // DrawWithRes(cra2, cmspreliminaryextd, hRapidityData, hRapidityMC_allBkg, sRapidityMC_allBkg, tl, true); // ------------------------------------------------------------------------------ // # of Vertices plots TCanvas* cv1 = new TCanvas("cv1","",0,0,600,500); cv1->cd(); cv1 -> SetLogy(); hVertexData -> SetTitle("#int 18.4 pb^{-1} at #sqrt{s}=8 TeV"); hVertexData -> GetXaxis() -> SetTitle("number of Vertices "); hVertexData -> GetYaxis() -> SetTitle(yAxisNameVertex); hVertexData -> GetYaxis() -> SetTitleOffset(1.2); hVertexData -> SetMarkerSize(0.7); hVertexData -> SetMarkerStyle(20); hVertexData -> SetMinimum(0.01); //hVertexData -> Draw("pe"); //sVertexMC_allBkg -> Draw("same"); //hVertexData -> Draw("pe same"); //hVertexData -> Draw("AXIS same"); //tl->Draw("same"); hVertexMC_allBkg->Add(hVertexMC_ttbarjets); sVertexMC_allBkg->Add(hVertexMC_ttbarjets); hVertexMC_allBkg->Add(hVertexMC_ztautau); sVertexMC_allBkg->Add(hVertexMC_ztautau); hVertexMC_allBkg->Add(hVertexMC_WJetsToLNu); sVertexMC_allBkg->Add(hVertexMC_WJetsToLNu); hVertexMC_allBkg->Add(hVertexMC_QCD); sVertexMC_allBkg->Add(hVertexMC_QCD); hVertexMC_allBkg->Add(hVertexMC_ZZ); sVertexMC_allBkg->Add(hVertexMC_ZZ); hVertexMC_allBkg->Add(hVertexMC_WZ); sVertexMC_allBkg->Add(hVertexMC_WZ); hVertexMC_allBkg->Add(hVertexMC_WW); sVertexMC_allBkg->Add(hVertexMC_WW); hVertexMC_allBkg->Add(hVertexMC_dymumu); sVertexMC_allBkg->Add(hVertexMC_dymumu); // Vertex Plot With Pulls // TCanvas* cv2 = new TCanvas("cv2","",700,0,750,700); // DrawWithRes(cv2, cmspreliminary, hVertexData, hVertexMC_allBkg, sVertexMC_allBkg, tl, true); /* //lumi->SetNDC(); //energy->SetNDC(); //lumi ->DrawLatex(0.35,0.70, lumiString); //energy->DrawLatex(0.35,0.60, energyString); // time (&end); // dif = difftime (end,start); // std::cout << "the macro took " << dif << " secs to terminate\n"; // if (!isSave) return; // char mSave[128]; // c1 ->SaveAs(png+"dimuonMass.png"); */ Hist_out->Write(); Hist_out->Close(); }
void finalBackground(int mode) { setTDRStyle(); int nbins; FILE *outf; TH1* qcd,*ttbar,*tau, *vv; switch (mode) { case (1) : nbins=100; qcd=readStandardFile("qcd","background_qcd_y_ee.csv"); ttbar=readStandardFile("ttbar","background_ttbar_y_ee.csv"); tau=readStandardFile("tau","background_tautau_y_ee.csv"); vv=readStandardFile("vv","background_vv_y_ee.csv"); outf=fopen("background_all_y_ee.csv","wt"); break; case (2) : nbins=100; qcd=readStandardFile("qcd","background_qcd_y_ef.csv"); ttbar=readStandardFile("ttbar","background_ttbar_y_ef.csv"); tau=readStandardFile("tau","background_tautau_y_ef.csv"); vv=readStandardFile("vv","background_vv_y_ef.csv"); outf=fopen("background_all_y_ef.csv","wt"); break; case (3) : nbins=18; qcd=readStandardFilePt("qcd","background_qcd_qt.csv"); ttbar=readStandardFilePt("ttbar","background_ttbar_qt.csv"); tau=readStandardFilePt("tau","background_tautau_qt.csv"); vv=readStandardFilePt("vv","background_vv_qt.csv"); outf=fopen("background_all_qt.csv","wt"); break; } for (int i=1; i<=nbins; i++) { fprintf(outf,"%3d %8.1f %8.1f ",i,qcd->GetXaxis()->GetBinLowEdge(i), qcd->GetXaxis()->GetBinUpEdge(i)); double tback=qcd->GetBinContent(i)+ttbar->GetBinContent(i)+tau->GetBinContent(i)+vv->GetBinContent(i); double terr=sqrt(pow(qcd->GetBinError(i),2)+pow(ttbar->GetBinError(i),2)+pow(tau->GetBinError(i),2)+pow(vv->GetBinError(i),2)); fprintf(outf,"%8.2f %8.2f\n",tback,terr); } fclose(outf); if (mode==1 || mode==2) { qcd->GetXaxis()->SetRangeUser(-3.5,3.5); qcd->SetMinimum(0.01); if (mode==2) qcd->SetMaximum(50); if (mode==1) qcd->SetMaximum(100); qcd->GetXaxis()->SetTitle(y_xaxis_label); qcd->GetXaxis()->CenterTitle(); qcd->GetYaxis()->SetTitle("Events/0.1 Units of Rapidity"); } if (mode==3) { qcd->GetXaxis()->SetRangeUser(0.5,500); qcd->SetMinimum(0.005); qcd->SetMaximum(200); qcd->GetXaxis()->SetTitle(qt_xaxis_label); qcd->GetXaxis()->CenterTitle(); qcd->GetYaxis()->SetTitle("Events/Bin"); } qcd->SetMarkerStyle(20); ttbar->SetMarkerStyle(24); tau->SetMarkerStyle(26); vv->SetMarkerStyle(30); TCanvas* c1=new TCanvas("c1","c1",700,700); c1->SetLogy(); qcd->Draw("E1"); ttbar->Draw("E1 SAME"); tau->Draw("E1 SAME"); vv->Draw("E1 SAME"); if (mode==1) { TLegend* tl=new TLegend(0.20,0.80,0.51,0.92,"ECAL-ECAL Channel"); tl->AddEntry(qcd,"QCD Background ","P"); tl->AddEntry(ttbar,"t#bar{t} Background","P"); tl->AddEntry(tau,"Z/#gamma*#rightarrow#tau#tau Background","P"); tl->AddEntry(vv,"VV Background","P"); tl->Draw(); zrap_Prelim(0.75,0.9,0.8,0.8); zrap_Lumi(0.86,0.86,36); c1->Print("background_breakdown_ee.eps"); } if (mode==2) { TLegend* tl=new TLegend(0.35,0.75,0.75,0.85,"ECAL-HF Channel"); tl->AddEntry(qcd,"QCD Background ","P"); tl->AddEntry(ttbar,"t#bar{t} Background","P"); tl->AddEntry(tau,"Z/#gamma*#rightarrow#tau#tau Background","P"); tl->AddEntry(vv,"VV Background","P"); tl->Draw(); zrap_Prelim(0.75,0.9,0.8,0.8); zrap_Lumi(0.86,0.86,36); c1->Print("background_breakdown_ef.eps"); } if (mode==3) { c1->SetLogx(); c1->SetBottomMargin(0.16); qcd->GetXaxis()->SetTitleOffset(1.1); TLegend* tl=new TLegend(0.20,0.81,0.51,0.90); tl->AddEntry(qcd,"QCD Background ","P"); tl->AddEntry(ttbar,"t#bar{t} Background","P"); tl->AddEntry(tau,"Z/#gamma*#rightarrow#tau#tau Background","P"); tl->AddEntry(vv,"VV Background","P"); tl->Draw(); zrap_Prelim(0.75,0.9,0.8,0.8); zrap_Lumi(0.86,0.86,36); c1->Print("background_breakdown_qt.eps"); } }
void ZZmassPlotBkg(TFile* sigf, TFile* zfd_bkgd, TFile* zfd_final) { setTDRStyle(); const double weight=1.0/(1771); char name[200]; sprintf(name,"ZFromData/ECAL80-HF/C07-HLT-GSF/Z0_mass"); TH1* bkshape=zfd_bkgd->Get(name)->Clone("bkgd"); TH1* data=zfd_final->Get(name)->Clone("data"); sprintf(name,"mcEff/ECAL80-HF/C07-HLT-GSF/Z0_mass"); TH1* sig=sigf->Get(name)->Clone("sig"); std::cout<<"data "<<((data->Integral(1,8)*0.75+data->Integral(40,50)*0.75)/(bkshape->Integral(1,8)+bkshape->Integral(40,50)))<<std::endl; std::cout<<"data "<<data->Integral(15,35)<<"bkg "<<bkshape->Integral(15,35)<<"Int "<<sig->Integral(15,35)<<" "<<((data->Integral(15,35)-bkshape->Integral(15,35))/sig->Integral(15,35))<<std::endl; //bkshape->Scale(0.00431263); //sig->Scale(-0.00365971); bkshape->Scale((data->Integral(1,8)*0.75+data->Integral(40,50)*0.75)/(bkshape->Integral(1,8)+bkshape->Integral(40,50))); sig->Scale((data->Integral(15,35)-bkshape->Integral(15,35))/sig->Integral(15,35)); std::cout<<"integral of background: "<<bkshape->Integral()<<std::endl; TCanvas* c2=new TCanvas("c2","c2",800,800); c2->SetLeftMargin(0.18); THStack* s2=new THStack(); bkshape->SetFillColor(kRed); s2->Add(bkshape); s2->Add(sig); data->SetMarkerStyle(21); TLegend* tl=new TLegend(0.32,0.72,0.73,0.9); tl->SetFillStyle(0); tl->AddEntry(data,"Data","PL"); tl->AddEntry(sig,"Signal (MC)","F"); tl->AddEntry(bkshape,"Background (Fit)","F"); s2->SetMaximum(data->GetMaximum()*1.5); s2->Draw("HIST"); s2->GetXaxis()->SetTitle("m_{ee} [GeV]"); s2->GetYaxis()->SetTitle("Candidates/2 GeV"); s2->GetYaxis()->SetTitleOffset(1.5); s2->GetXaxis()->CenterTitle(); data->Draw("E SAME"); tl->Draw(); zrap_Prelim(0.80,0.977); zrap_Lumi(0.80,0.90,36); //c2->Print("~/public_html/talk/Z_CompareFINAL_ECAL80-HF_mee_bkgd.eps"); }
void app_bob30(TFile* f1,TFile* f2,TFile* f3,TFile* f4,TFile* f5,TFile* f6,TFile* f7,TFile* f8){ //gROOT->SetStyle("Plain"); //makes plot white not grey setTDRStyle(); //make TCanvas* c1=new TCanvas("Compare","Compare",800,600); TCanvas* c2=new TCanvas("Chi2","Chi2",800,600); c1->cd(); TH1F* h[20]; h[0]=(TH1F*)zpt_rebinForPlot((TH1*)f1->Get("mcEff/ECAL80-ECAL95-MUO/C01-PT10/Z0_Pt_masscut")->Clone("cl1")); h[1]=(TH1F*)zpt_rebinForPlot((TH1*)f2->Get("mcEff/ECAL80-ECAL95-MUO/C01-PT10/Z0_Pt_masscut")->Clone("cl2")); h[2]=(TH1F*)zpt_rebinForPlot((TH1*)f3->Get("mcEff/ECAL80-ECAL95-MUO/C01-PT10/Z0_Pt_masscut")->Clone("cl3")); h[3]=(TH1F*)zpt_rebinForPlot((TH1*)f4->Get("mcEff/ECAL80-ECAL95-MUO/C01-PT10/Z0_Pt_masscut")->Clone("cl4")); h[4]=(TH1F*)zpt_rebinForPlot((TH1*)f5->Get("mcEff/ECAL80-ECAL95-MUO/C01-PT10/Z0_Pt_masscut")->Clone("cl5")); h[5]=(TH1F*)zpt_rebinForPlot((TH1*)f6->Get("mcEff/ECAL80-ECAL95-MUO/C01-PT10/Z0_Pt_masscut")->Clone("cl6")); h[6]=(TH1F*)zpt_rebinForPlot((TH1*)f7->Get("mcEff/ECAL80-ECAL95-MUO/C01-PT10/Z0_Pt_masscut")->Clone("cl7")); h[7]=(TH1F*)zpt_rebinForPlot((TH1*)f8->Get("mcEff/ECAL80-ECAL95-MUO/C01-PT10/Z0_Pt_masscut")->Clone("cl8")); int hn=8; h[0]->SetLineColor(kRed); h[1]->SetLineColor(kYellow+3); h[2]->SetLineColor(kBlue); h[3]->SetLineColor(kGreen); h[4]->SetLineColor(kViolet); h[5]->SetLineColor(kCyan); h[6]->SetLineColor(kOrange); h[7]->SetLineColor(kYellow); int pt_bins=19; double pt_binning[]={ 0.7, 2.5, 5, 7.5, 10, 12.5, 15, 17.5, 20, 30, 40, 50, 70, 90, 110, 150, 190, 250, 600, 3500 }; TH1* ob=new TH1F("name","name",pt_bins,pt_binning); double obd[40]={0.0252650, 0.0529320, 0.0519310, 0.0433030, 0.0361780, 0.0281900, 0.0218000, 0.0177650, 0.0125330, 0.0060380, 0.0035020, 0.0020820, 0.0009440, 0.0005570, 0.0002570, 0.0000580, 0.0000220, 0.0000010, 0.0000000};//data form file double obr[40]={0.0013143760, 0.0019037862, 0.0015389837, 0.0013646084, 0.0012681356, 0.0011279038, 0.0010322166, 0.0009314261, 0.0004266585, 0.0002932765, 0.0002263689, 0.0001313929, 0.0000872529, 0.0000660862, 0.0000309360, 0.0000159360, 0.0000084084, 0.0000009057, 0.0000000000};//err from file for (int z=0;z<pt_bins;z++){ ob->SetBinContent(z+1,obd[z]); ob->SetBinError(z+1,obr[z]); }//end z ob->GetYaxis()->SetTitle("1/#sigma d#sigma/dP_{T}"); ob->GetXaxis()->SetTitle("P_{T} [GeV]"); //ob->GetYaxis()->SetTitleOffset(1.2); ob->SetTitle(0); //no title ob->SetStats(false); //no stats box ob->GetXaxis()->SetRangeUser(0,20); ob->Draw("PE"); zrap_Prelim(.8,.82); zrap_Lumi(0.80,0.78,36); for(int k=0;k<hn;k++){ double inter = h[k]->Integral(); for(int p=0;p<pt_bins;p++){ h[k]->SetBinContent(p+1,h[k]->GetBinContent(p+1)*1.0/(h[k]->GetBinWidth(p+1)*inter*1.0)); }//end p // h[k]->Scale((ob->Integral()*1.0)/(h[k]->Integral()*1.0)); h[k]->SetLineWidth(2); h[k]->Draw("SAME HIST"); } TLegend* tl=new TLegend(0.5,0.7,0.72,0.9,""); tl->SetFillStyle(0); tl->AddEntry(ob,"Combined Data","P"); tl->AddEntry(h[0],"Z2 Tune","l"); tl->AddEntry(h[1],"Parp[91]=0.25","l"); tl->AddEntry(h[2],"Parp[91]=0.5","l"); tl->AddEntry(h[3],"Parp[91]=1.0","l"); tl->AddEntry(h[4],"Parp[91]=1.5","l"); tl->AddEntry(h[5],"Parp[91]=2.25","l"); tl->AddEntry(h[6],"Parp[91]=2.5","l"); tl->AddEntry(h[7],"Parp[91]=2.75","l"); tl->Draw(); c1->Print("~/public_html/talk/appendiz_bob30_july25.eps"); c2->cd(); double x[20]={ 0,1.5,2.0,2.5,3.0,3.5,4.0,4.5}; double chi2[20]; for(int j=1;j<hn;j++){ chi2[j]=0 ; // h[j]->Scale((ob->GetEntries()*1.0)/(h[j]->GetEntries()*1.0)); //std::cout<<"I'm Number "<<x[j-1]<<std::endl; for (int i=1;i<=9;i++){ double s2obs= (ob->GetBinContent(i)); double s2exp = (h[j]->GetBinContent(i)); double s2or = ob->GetBinError(i); if (s2obs==0){ chi2[j]+=0; }else{ chi2[j]+=((s2obs-s2exp)*(s2obs-s2exp)*1.0)/(((s2or))*((s2or))*1.0); // std::cout<<"I'm Number chi2: "<<chi2[j]<<std::endl; }//end else }//end i std::cout<<"I'm Number chi2: "<<x[j]<<" "<<chi2[j]<<std::endl; }//end j TH1* gr=new TH1F("name","name",25,-0.125,6.125); for(int j=0;j<hn;j++){ gr->SetBinContent(gr->FindBin(x[j]),chi2[j]); } gr->GetYaxis()->SetTitle("#chi^{2}*DoF"); gr->GetXaxis()->SetTitle("PARP 91 Value"); gr->Draw("P"); zrap_Prelim(.8,.82); zrap_Lumi(0.80,0.780,36); c2->Print("~/public_html/talk/appendiz_bob30Chi2_july25.eps"); }