示例#1
0
文件: View.cpp 项目: SpliFF/upspring
void ViewWindow::draw ()
{
	//bool use_solid = false; // unused

	if(!valid ())
		InitGL ();

	glClearColor(backgroundColor.x,backgroundColor.y,backgroundColor.z,0.0f);
	glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

	glMatrixMode(GL_PROJECTION);
	glLoadIdentity ();
	SetupProjectionMatrix ();

	bSelecting=false;
	selector_count=0;

	DrawScene ();
	SetRasterMatrix ();
	Draw2D ();

	if (bBoxSelect)
	{
		fltk::glsetcolor(fltk::WHITE);
		fltk::glstrokerect(click.x,click.y,last.x-click.x, last.y-click.y);
	}
}
示例#2
0
void DrawGLScene()
{
    if( CurrMode == M_2D )
        Draw2D();
    if( CurrMode == M_3D )
        Draw3D();
 
    glutSwapBuffers(); 	
}
示例#3
0
void  PFO_CovarLimitsGL :: DrawPlotObject()
{
    if (!InitDrawObject())
        return;

    if (is3DObject)
    {
        Draw3D();
    }
    else
    {
        Draw2D();
    }

    CloseDrawObject();
}
示例#4
0
void Draw()
{
	/*
	*	Clear the background
	*/
	glClear(GL_COLOR_BUFFER_BIT |
		GL_DEPTH_BUFFER_BIT);

	/*
	*	Set perspective viewing transformation
	*/
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	gluPerspective(45, (winh == 0) ? (1) : ((float) winw / winh), 1, 100);
	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();


	/*
	*	Set the orthographic viewing transformation
	*/
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	glOrtho(0, winw, winh, 0, -1, 1);
	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();

	/*
	*	Draw the 2D overlay
	*/
	Draw2D();

	/*
	*	Bring the back buffer to the front and vice-versa.
	*/
	glutSwapBuffers();
}
示例#5
0
		void Client::RunFrame(float dt) {
			SPADES_MARK_FUNCTION();
			
			fpsCounter.MarkFrame();
			
			if(frameToRendererInit > 0){
				// waiting for renderer initialization
				
				DrawStartupScreen();
				
				frameToRendererInit--;
				if(frameToRendererInit == 0){
					DoInit();
					
				}else{
					return;
				}
			}
			
			timeSinceInit += std::min(dt, .03f);
			
			// update network
			try{
				if(net->GetStatus() == NetClientStatusConnected)
					net->DoEvents(0);
				else
					net->DoEvents(10);
			}catch(const std::exception& ex){
				if(net->GetStatus() == NetClientStatusNotConnected){
					SPLog("Disconnected because of error:\n%s", ex.what());
					NetLog("Disconnected because of error:\n%s", ex.what());
					throw;
				}else{
					SPLog("Exception while processing network packets (ignored):\n%s", ex.what());
				}
			}
			
			hurtRingView->Update(dt);
			centerMessageView->Update(dt);
			mapView->Update(dt);
			largeMapView->Update(dt);
			
			UpdateAutoFocus(dt);
			
			if(world){
				UpdateWorld(dt);
			}else{
				renderer->SetFogColor(MakeVector3(0.f, 0.f, 0.f));
			}
			
			chatWindow->Update(dt);
			killfeedWindow->Update(dt);
			limbo->Update(dt);
			
			// CreateSceneDefinition also can be used for sounds
			SceneDefinition sceneDef = CreateSceneDefinition();
			lastSceneDef = sceneDef;
			
			// Update sounds
			try{
				audioDevice->Respatialize(sceneDef.viewOrigin,
										  sceneDef.viewAxis[2],
										  sceneDef.viewAxis[1]);
			}catch(const std::exception& ex){
				SPLog("Audio subsystem returned error (ignored):\n%s",
					  ex.what());
			}
			
			// render scene
			DrawScene();
			
			// draw 2d
			Draw2D();
			
			// draw scripted GUI
			scriptedUI->RunFrame(dt);
			if(scriptedUI->WantsClientToBeClosed())
				readyToClose = true;
			
			// Well done!
			renderer->FrameDone();
			renderer->Flip();
            
            // reset all "delayed actions" (in case we forget to reset these)
            hasDelayedReload = false;
			
			time += dt;
		}
示例#6
0
void PlotAODvertexQA(TString filename="QAresults_AOD.root", TString suffix="QA", Int_t runNumber=-1){
  
  const Int_t totTrending=16;
  Float_t vecForTrend[totTrending];
  TString varForTrending[totTrending]={"fTrackV","fSPD3D","fSPDz","fTPC","fInvalid",
				       "meanx","meany","meanz","emeanx","emeany","emeanz","meancont",
				       "fracpilSPD","fracselpilSPD","fracpilMV","fracselpilMV"};
  
  TTree* trtree=new TTree("trendingVert","tree of trending variables");
  trtree->Branch("nrun",&runNumber,"nrun/I");
  for(Int_t j=0; j<totTrending; j++){
    trtree->Branch(varForTrending[j].Data(),&vecForTrend[j],Form("%s/F",varForTrending[j].Data()));
    vecForTrend[j]=-99.;
  }

  TFile* f=new TFile(filename.Data());
  TDirectoryFile* df=(TDirectoryFile*)f->Get("CheckVertexAOD");
  if(!df){
    printf("Directory CheckVertexAOD not found in file %s\n",filename.Data());
    return;
  }
  TList* l=(TList*)df->Get(Form("clistCheckVertexAOD%s",suffix.Data()));
  if(!l){
    printf("TList clistCheckVertexAOD%s not found in file %s\n",suffix.Data(),filename.Data());
    return;    
  }

  gStyle->SetOptTitle(0);

  TH1F*	hvt=(TH1F*)l->FindObject("hAllVtxType");
  TH1F*	hpvt=(TH1F*)l->FindObject("hPrimVtxType");
  hvt->SetStats(0);
  hpvt->SetStats(0);
  hvt->GetXaxis()->SetTitleOffset(1.7);
  hpvt->GetXaxis()->SetTitleOffset(1.7);
  hvt->GetYaxis()->SetTitleOffset(1.5);
  hpvt->GetYaxis()->SetTitleOffset(1.5);

  TCanvas* cty=new TCanvas("cty","VertexType",1400,600);
  cty->Divide(2,1);
  cty->cd(1);
  gPad->SetBottomMargin(0.15);
  gPad->SetTopMargin(0.07);
  hvt->Draw();
  cty->cd(2);
  gPad->SetBottomMargin(0.15);
  gPad->SetTopMargin(0.07);
  hpvt->Draw();
  for(Int_t ib=1; ib<=hpvt->GetNbinsX(); ib++){
    Double_t fr=hpvt->GetBinContent(ib)/hpvt->GetEntries()*100.;
    if(fr>0.09){
      TLatex* t=new TLatex(hpvt->GetBinCenter(ib)-0.3*hpvt->GetBinWidth(ib),hpvt->GetBinContent(ib)+0.015*(hpvt->GetMaximum()),Form("%.1f%%",fr));
      t->SetTextColor(kGray+1);
      t->SetTextFont(43);
      t->SetTextSize(18);
      t->Draw();
    }
  }
  cty->SaveAs("VertexAOD-Type.png");

  vecForTrend[0]=hpvt->GetBinContent(3)/hpvt->GetEntries();
  vecForTrend[1]=hpvt->GetBinContent(4)/hpvt->GetEntries();
  vecForTrend[2]=hpvt->GetBinContent(5)/hpvt->GetEntries();
  vecForTrend[3]=hpvt->GetBinContent(6)/hpvt->GetEntries();
  vecForTrend[4]=hpvt->GetBinContent(1)/hpvt->GetEntries();

  Int_t kcm2um=10000;
  Int_t kcm2mm=10;

  TH2F* hxspd=(TH2F*)l->FindObject("hXspdVsMult");
  if(!hxspd) hxspd=(TH2F*)l->FindObject("hXspdVsContrib");
  TH2F* hyspd=(TH2F*)l->FindObject("hYspdVsMult");
  if(!hyspd) hyspd=(TH2F*)l->FindObject("hYspdVsContrib");
  TH2F* hzspd=(TH2F*)l->FindObject("hZspdVsMult");
  if(!hzspd) hzspd=(TH2F*)l->FindObject("hZspdVsContrib");
  Double_t maxContrib=20;
  TH1D* hContrib=hxspd->ProjectionX();
  for(Int_t jb=1; jb<=hContrib->GetNbinsX(); jb++){
    if(hContrib->GetBinContent(jb)>0) maxContrib=hContrib->GetBinLowEdge(jb+1);
  }

  TCanvas* cvs=new TCanvas("cvs","SPDVertex",1400,800);
  cvs->Divide(3,2);
  cvs->cd(1);
  Draw2D(hxspd,maxContrib);
  cvs->cd(2);
  Draw2D(hyspd,maxContrib);
  cvs->cd(3);
  Draw2D(hzspd,maxContrib);
  cvs->cd(4);
  gPad->SetTickx();
  gPad->SetTicky();
  TGraphErrors* gxs=GetResolVsMult(hxspd,"x",kcm2um);
  gxs->GetXaxis()->SetLimits(0.,maxContrib);
  gxs->SetMinimum(0);
  gxs->SetMaximum(600.);
  gxs->Draw("APZ");
  cvs->cd(5);
  gPad->SetTickx();
  gPad->SetTicky();
  TGraphErrors* gys=GetResolVsMult(hyspd,"y",kcm2um);
  gys->GetXaxis()->SetLimits(0.,maxContrib);
  gys->SetMinimum(0);
  gys->SetMaximum(600.);
  gys->Draw("APZ");
  cvs->cd(6);
  gPad->SetTickx();
  gPad->SetTicky();
  TGraphErrors* gzs=GetResolVsMult(hzspd,"z");
  gzs->GetXaxis()->SetLimits(0.,maxContrib);
  gzs->SetMinimum(0);
  gzs->SetMaximum(10.);
  gzs->Draw("APZ");
  cvs->SaveAs("VertexAOD-SPD.png");

  //-------------------

  TH2F* hxtrk=(TH2F*)l->FindObject("hXtrkVsMult");
  if(!hxtrk) hxtrk=(TH2F*)l->FindObject("hXtrkVsContrib");
  TH2F* hytrk=(TH2F*)l->FindObject("hYtrkVsMult");
  if(!hytrk) hytrk=(TH2F*)l->FindObject("hYtrkVsContrib");
  TH2F* hztrk=(TH2F*)l->FindObject("hZtrkVsMult");
  if(!hztrk) hztrk=(TH2F*)l->FindObject("hZtrkVsContrib");

  vecForTrend[5]=hxtrk->GetMean(2);
  vecForTrend[6]=hytrk->GetMean(2);
  vecForTrend[7]=hztrk->GetMean(2);
  vecForTrend[8]=hxtrk->GetMeanError(2);
  vecForTrend[9]=hytrk->GetMeanError(2);
  vecForTrend[10]=hztrk->GetMeanError(2);
  vecForTrend[11]=hztrk->GetMean(1);

  TCanvas* cvt=new TCanvas("cvt","TrackVertex",1400,800);
  cvt->Divide(3,2);
  cvt->cd(1);
  Draw2D(hxtrk,maxContrib);
  cvt->cd(2);
  Draw2D(hytrk,maxContrib);
  cvt->cd(3);
  Draw2D(hztrk,maxContrib);
  cvt->cd(4);
  gPad->SetTickx();
  gPad->SetTicky();
  TGraphErrors* gxt=GetResolVsMult(hxtrk,"x",kcm2um);
  gxt->GetXaxis()->SetLimits(0.,maxContrib);
  gxt->SetMinimum(0);
  gxt->SetMaximum(600.);
  gxt->Draw("APZ");
  cvt->cd(5);
  gPad->SetTickx();
  gPad->SetTicky();
  TGraphErrors* gyt=GetResolVsMult(hytrk,"y",kcm2um);
  gyt->GetXaxis()->SetLimits(0.,maxContrib);
  gyt->SetMinimum(0);
  gyt->SetMaximum(600.);
  gyt->Draw("APZ");
  cvt->cd(6);
  gPad->SetTickx();
  gPad->SetTicky();
  TGraphErrors* gzt=GetResolVsMult(hztrk,"z");
  gzt->GetXaxis()->SetLimits(0.,maxContrib);
  gzt->SetMinimum(0);
  gzt->SetMaximum(10.);
  gzt->Draw("APZ");
  cvt->SaveAs("VertexAOD-Tracks.png");
 
  //----------

  TH2F* hxtpc=(TH2F*)l->FindObject("hXtpcVsMult");
  if(!hxtpc) hxtpc=(TH2F*)l->FindObject("hXtpcVsContrib");
  TH2F* hytpc=(TH2F*)l->FindObject("hYtpcVsMult");
  if(!hytpc) hytpc=(TH2F*)l->FindObject("hYtpcVsContrib");
  TH2F* hztpc=(TH2F*)l->FindObject("hZtpcVsMult");
  if(!hztpc) hztpc=(TH2F*)l->FindObject("hZtpcVsContrib");

  TCanvas* cvp=new TCanvas("cvp","TPCVertex",1400,800);
  cvp->Divide(3,2);
  cvp->cd(1);
  Draw2D(hxtpc,maxContrib);
  cvp->cd(2);
  Draw2D(hytpc,maxContrib);
  cvp->cd(3);
  Draw2D(hztpc,maxContrib);
  cvp->cd(4);
  gPad->SetTickx();
  gPad->SetTicky();
  TGraphErrors* gxp=GetResolVsMult(hxtpc,"x");
  gxp->GetXaxis()->SetLimits(0.,maxContrib);
  gxp->SetMinimum(0);
  gxp->SetMaximum(1.);
  gxp->Draw("APZ");
  cvp->cd(5);
  gPad->SetTickx();
  gPad->SetTicky();
  TGraphErrors* gyp=GetResolVsMult(hytpc,"y");
  gyp->GetXaxis()->SetLimits(0.,maxContrib);
  gyp->SetMinimum(0);
  gyp->SetMaximum(1.);
  gyp->Draw("APZ");
  cvp->cd(6);
  gPad->SetTickx();
  gPad->SetTicky();
  TGraphErrors* gzp=GetResolVsMult(hztpc,"z");
  gzp->GetXaxis()->SetLimits(0.,maxContrib);
  gzp->SetMinimum(0);
  gzp->SetMaximum(10.);
  gzp->Draw("APZ");
  cvp->SaveAs("VertexAOD-TPC.png");

  //-----

  TH1F*	hpils=(TH1F*)l->FindObject("hNOfPileupVertSPD");
  TH1F*	hselpils=(TH1F*)l->FindObject("hNOfSelPileupVertSPD");
  TH1F*	hpilm=(TH1F*)l->FindObject("hNOfPileupVertMV");
  TH1F*	hselpilm=(TH1F*)l->FindObject("hNOfSelPileupVertMV");
  hpils->SetLineWidth(2);
  hpils->SetLineColor(1);
  hselpils->SetLineColor(2);
  hselpils->SetFillStyle(1001);
  hselpils->SetFillColor(kRed-9);
  hpilm->SetLineWidth(2);
  hpilm->SetLineColor(1);
  hselpilm->SetLineColor(2);
  hselpilm->SetFillStyle(1001);
  hselpilm->SetFillColor(kRed-9);
  hselpils->SetMinimum(0.2);
  hselpilm->SetMinimum(0.2);
  hselpils->GetXaxis()->SetTitle("Number of pileup vertices");
  hselpilm->GetXaxis()->SetTitle("Number of pileup vertices");
  hselpils->GetYaxis()->SetTitle("Entries");
  hselpilm->GetYaxis()->SetTitle("Entries");
  hselpils->GetYaxis()->SetTitleOffset(1.1);
  hselpilm->GetYaxis()->SetTitleOffset(1.1);

  TCanvas* cpil=new TCanvas("cpil","Pileup",1400,600);
  cpil->Divide(2,1);
  cpil->cd(1);
  gPad->SetLogy();
  hselpils->Draw();
  gPad->Update();
  TPaveStats* st1=(TPaveStats*)hselpils->GetListOfFunctions()->FindObject("stats");
  st1->SetTextColor(2);
  st1->SetY1NDC(0.51);
  st1->SetY2NDC(0.7);
  hpils->Draw("SAMES");
  gPad->Update();
  TPaveStats* st2=(TPaveStats*)hpils->GetListOfFunctions()->FindObject("stats");
  st2->SetTextColor(1);
  st2->SetY1NDC(0.73);
  st2->SetY2NDC(0.92);
  gPad->Modified();
  TLatex* t1=new TLatex(0.3,0.84,"SPD-vertex based tagging");
  t1->SetNDC();
  t1->SetTextFont(43);
  t1->SetTextSize(24);
  t1->Draw();
  TLegend* leg=new TLegend(0.3,0.68,0.68,0.8);
  leg->AddEntry(hpils,"Reconstructed","F");
  leg->AddEntry(hselpils,"Selected","F");
  leg->Draw();
  cpil->cd(2);
  gPad->SetLogy();
  hselpilm->Draw();
  gPad->Update();
  TPaveStats* st3=(TPaveStats*)hselpilm->GetListOfFunctions()->FindObject("stats");
  st3->SetTextColor(2);
  st3->SetY1NDC(0.51);
  st3->SetY2NDC(0.7);
  hpilm->Draw("SAMES");
  gPad->Update();
  TPaveStats* st4=(TPaveStats*)hpilm->GetListOfFunctions()->FindObject("stats");
  st4->SetTextColor(1);
  st4->SetY1NDC(0.73);
  st4->SetY2NDC(0.92);
  gPad->Modified();
  TLatex* t2=new TLatex(0.3,0.84,"Track-vertex based tagging");
  t2->SetNDC();
  t2->SetTextFont(43);
  t2->SetTextSize(24);
  t2->Draw();
  leg->Draw();
  cpil->SaveAs("VertexAOD-Pileup.png");

  vecForTrend[12]=hpils->GetMean();
  vecForTrend[13]=hselpils->GetMean();
  vecForTrend[14]=hpilm->GetMean();
  vecForTrend[15]=hselpilm->GetMean();

  trtree->Fill();

  if(runNumber>0){
    TFile* foutfile=new TFile("trendingAODvertex.root","recreate");
    trtree->Write();
    TDirectory* outdir=foutfile->mkdir(df->GetName());
    outdir->cd();
    l->Write(l->GetName(),1);
    foutfile->Close();
    delete foutfile;
  }
}
示例#7
0
文件: Font.cpp 项目: Zariostr/DGLE
DGLE_RESULT DGLE_API CBitmapFont::Draw2DSimple(int iX, int iY, const char *pcTxt, const TColor4 &stColor)
{
	return Draw2D((float)iX, (float)iY, pcTxt, stColor, 0.f, false);
}
示例#8
0
文件: make_up.C 项目: ldcorpe/flashgg
void make_up(){
  //  gROOT->Reset();
  //  gStyle->SetOptStat(1111);
  gStyle->SetOptStat(0);
  gStyle->SetPalette(1);
  gStyle->SetPaintTextFormat("2.3f");
  
  TFile * theFile = new TFile("output_hlt.root");
  
  if(!theFile) return 0;

  system("mkdir -p plots");

  //cout<<"creating canvas"<<endl;

  Ca0->cd();

  //turnon curve
  //Interesting bits
  
  //string interesting_bits[]={"418","6","416","8","5","412","233","7","234","10","187","9","22","198","430","404","188","199","21","190","197","208","201","207","195","196","206","193","424","192","204","194","203","205","209","189","200","191"};
  
  //string in_bits[]={"418","6"}
  //for(int k=0;k<2;k++){
  
  TH2F * numerator;
  TH2F * denominator;

  cout<<"going for 2D 2/1"<<endl; 

  numerator  = (TH2F*) (theFile->Get("wide_pt1pt2_2"));
  denominator= (TH2F*) (theFile->Get("wide_pt1pt2_1"));
  binomialEfficiency2D(numerator,denominator,true,true);
  Ca0->SaveAs(("plots/eff21_wide_pt1pt2.png"));
  Ca0->Clear();
  
  numerator  = (TH2F*) (theFile->Get("pt1pt2_2"));
  denominator= (TH2F*) (theFile->Get("pt1pt2_1"));
  binomialEfficiency2D(numerator,denominator,false,true);
  Ca0->SaveAs(("plots/eff21_pt1pt2.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("pt1pt2Norm_2"));
  denominator= (TH2F*) (theFile->Get("pt1pt2Norm_1"));
  denominator->GetXaxis()->SetTitle("p_{T} Lead / M_{#gamma #gamma}");
  denominator->GetYaxis()->SetTitle("p_{T} Trail / M_{#gamma #gamma}");
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff21_pt1pt2Norm.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("pt1pt2Zoom_2"));
  denominator= (TH2F*) (theFile->Get("pt1pt2Zoom_1"));
  denominator->GetXaxis()->SetTitle("p_{T} Lead / M_{#gamma #gamma}");
  denominator->GetYaxis()->SetTitle("p_{T} Trail / M_{#gamma #gamma}");
  binomialEfficiency2D(numerator,denominator,true,false);
  Ca0->SaveAs(("plots/eff21_pt1pt2Zoom.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("eta1eta2_2"));
  denominator= (TH2F*) (theFile->Get("eta1eta2_1"));
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff21_eta1eta2.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("phi1phi2_2"));
  denominator= (TH2F*) (theFile->Get("phi1phi2_1"));
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff21_phi1phi2.png"));
  Ca0->Clear();

  cout<<"going for 2D 4/3"<<endl; 

  numerator  = (TH2F*) (theFile->Get("wide_pt1pt2_4"));
  denominator= (TH2F*) (theFile->Get("wide_pt1pt2_3"));
  binomialEfficiency2D(numerator,denominator,true,true);
  Ca0->SaveAs(("plots/eff43_wide_pt1pt2.png"));
  Ca0->Clear();
  
  numerator  = (TH2F*) (theFile->Get("pt1pt2_4"));
  denominator= (TH2F*) (theFile->Get("pt1pt2_3"));
  binomialEfficiency2D(numerator,denominator,false,true);
  Ca0->SaveAs(("plots/eff43_pt1pt2.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("pt1pt2Norm_4"));
  denominator= (TH2F*) (theFile->Get("pt1pt2Norm_3"));
  denominator->GetXaxis()->SetTitle("p_{T} Lead / M_{#gamma #gamma}");
  denominator->GetYaxis()->SetTitle("p_{T} Trail / M_{#gamma #gamma}");
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff43_pt1pt2Norm.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("pt1pt2Zoom_4"));
  denominator= (TH2F*) (theFile->Get("pt1pt2Zoom_3"));
  denominator->GetXaxis()->SetTitle("p_{T} Lead / M_{#gamma #gamma}");
  denominator->GetYaxis()->SetTitle("p_{T} Trail / M_{#gamma #gamma}");
  binomialEfficiency2D(numerator,denominator,true,false);
  Ca0->SaveAs(("plots/eff43_pt1pt2Zoom.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("eta1eta2_4"));
  denominator= (TH2F*) (theFile->Get("eta1eta2_3"));
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff43_eta1eta2.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("phi1phi2_4"));
  denominator= (TH2F*) (theFile->Get("phi1phi2_3"));
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff43_phi1phi2.png"));
  Ca0->Clear();

  cout<<"going for 2D 6/5"<<endl; 

  numerator  = (TH2F*) (theFile->Get("wide_pt1pt2_6"));
  denominator= (TH2F*) (theFile->Get("wide_pt1pt2_5"));
  binomialEfficiency2D(numerator,denominator,true,true);
  Ca0->SaveAs(("plots/eff65_wide_pt1pt2.png"));
  Ca0->Clear();
  
  numerator  = (TH2F*) (theFile->Get("pt1pt2_6"));
  denominator= (TH2F*) (theFile->Get("pt1pt2_5"));
  binomialEfficiency2D(numerator,denominator,false,true);
  Ca0->SaveAs(("plots/eff65_pt1pt2.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("pt1pt2Norm_6"));
  denominator= (TH2F*) (theFile->Get("pt1pt2Norm_5"));
  denominator->GetXaxis()->SetTitle("p_{T} Lead / M_{#gamma #gamma}");
  denominator->GetYaxis()->SetTitle("p_{T} Trail / M_{#gamma #gamma}");
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff65_pt1pt2Norm.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("pt1pt2Zoom_6"));
  denominator= (TH2F*) (theFile->Get("pt1pt2Zoom_5"));
  denominator->GetXaxis()->SetTitle("p_{T} Lead / M_{#gamma #gamma}");
  denominator->GetYaxis()->SetTitle("p_{T} Trail / M_{#gamma #gamma}");
  binomialEfficiency2D(numerator,denominator,true,false);
  Ca0->SaveAs(("plots/eff65_pt1pt2Zoom.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("eta1eta2_6"));
  denominator= (TH2F*) (theFile->Get("eta1eta2_5"));
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff65_eta1eta2.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("phi1phi2_6"));
  denominator= (TH2F*) (theFile->Get("phi1phi2_5"));
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff65_phi1phi2.png"));
  Ca0->Clear();

  cout<<"going for 2D 8/7"<<endl; 

  numerator  = (TH2F*) (theFile->Get("wide_pt1pt2_8"));
  denominator= (TH2F*) (theFile->Get("wide_pt1pt2_7"));
  binomialEfficiency2D(numerator,denominator,true,true);
  Ca0->SaveAs(("plots/eff87_wide_pt1pt2.png"));
  Ca0->Clear();
  
  numerator  = (TH2F*) (theFile->Get("pt1pt2_8"));
  denominator= (TH2F*) (theFile->Get("pt1pt2_7"));
  binomialEfficiency2D(numerator,denominator,false,true);
  Ca0->SaveAs(("plots/eff87_pt1pt2.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("pt1pt2Norm_8"));
  denominator= (TH2F*) (theFile->Get("pt1pt2Norm_7"));
  denominator->GetXaxis()->SetTitle("p_{T} Lead / M_{#gamma #gamma}");
  denominator->GetYaxis()->SetTitle("p_{T} Trail / M_{#gamma #gamma}");
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff87_pt1pt2Norm.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("pt1pt2Zoom_8"));
  denominator= (TH2F*) (theFile->Get("pt1pt2Zoom_7"));
  denominator->GetXaxis()->SetTitle("p_{T} Lead / M_{#gamma #gamma}");
  denominator->GetYaxis()->SetTitle("p_{T} Trail / M_{#gamma #gamma}");
  binomialEfficiency2D(numerator,denominator,true,false);
  Ca0->SaveAs(("plots/eff87_pt1pt2Zoom.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("eta1eta2_8"));
  denominator= (TH2F*) (theFile->Get("eta1eta2_7"));
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff87_eta1eta2.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("phi1phi2_8"));
  denominator= (TH2F*) (theFile->Get("phi1phi2_7"));
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff87_phi1phi2.png"));
  Ca0->Clear();

  cout<<"going for 2D 1/0"<<endl; 

  numerator  = (TH2F*) (theFile->Get("wide_pt1pt2_1"));
  denominator= (TH2F*) (theFile->Get("wide_pt1pt2_0"));
  binomialEfficiency2D(numerator,denominator,true,true);
  Ca0->SaveAs(("plots/eff10_wide_pt1pt2.png"));
  Ca0->Clear();
  
  numerator  = (TH2F*) (theFile->Get("pt1pt2_1"));
  denominator= (TH2F*) (theFile->Get("pt1pt2_0"));
  binomialEfficiency2D(numerator,denominator,false,true);
  Ca0->SaveAs(("plots/eff10_pt1pt2.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("pt1pt2Norm_1"));
  denominator= (TH2F*) (theFile->Get("pt1pt2Norm_0"));
  denominator->GetXaxis()->SetTitle("p_{T} Lead / M_{#gamma #gamma}");
  denominator->GetYaxis()->SetTitle("p_{T} Trail / M_{#gamma #gamma}");
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff10_pt1pt2Norm.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("pt1pt2Zoom_1"));
  denominator= (TH2F*) (theFile->Get("pt1pt2Zoom_0"));
  denominator->GetXaxis()->SetTitle("p_{T} Lead / M_{#gamma #gamma}");
  denominator->GetYaxis()->SetTitle("p_{T} Trail / M_{#gamma #gamma}");
  binomialEfficiency2D(numerator,denominator,true,false);
  Ca0->SaveAs(("plots/eff10_pt1pt2Zoom.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("eta1eta2_1"));
  denominator= (TH2F*) (theFile->Get("eta1eta2_0"));
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff10_eta1eta2.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("phi1phi2_1"));
  denominator= (TH2F*) (theFile->Get("phi1phi2_0"));
  binomialEfficiency2D(numerator,denominator,false,false);
  Ca0->SaveAs(("plots/eff10_phi1phi2.png"));
  Ca0->Clear();

  //Binomial Efficiency 1D

  TH1F * numerator1D;
  TH1F * denominator1D; 

  cout<<"going for 1D 2/1"<<endl; 

  numerator1D = (TH1F*) (theFile->Get("higgsEta_2"));
  denominator1D = (TH1F*) (theFile->Get("higgsEta_1"));
  binomialEfficiency1D(numerator1D,denominator1D,"eta");
  Ca0->SaveAs(("plots/eff21_higgsEta.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsPhi_2"));
  denominator1D = (TH1F*) (theFile->Get("higgsPhi_1"));
  binomialEfficiency1D(numerator1D,denominator1D,"phi");
  Ca0->SaveAs(("plots/eff21_higgsPhi.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsP_2"));
  denominator1D = (TH1F*) (theFile->Get("higgsP_1"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff21_higgsP.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("diphoton_LeadR9_2"));
  denominator1D = (TH1F*) (theFile->Get("diphoton_LeadR9_1"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff21_diphoton_LeadR9.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("diphoton_SubLeadR9_2"));
  denominator1D = (TH1F*) (theFile->Get("diphoton_SubLeadR9_1"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff21_diphoton_SubLeadR9.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsPt_2"));
  denominator1D = (TH1F*) (theFile->Get("higgsPt_1"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff21_higgsPt.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("massDiphoton_2"));
  denominator1D = (TH1F*) (theFile->Get("massDiphoton_1"));
  binomialEfficiency1D(numerator1D,denominator1D,"m");
  Ca0->SaveAs(("plots/eff21_massDiphoton.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("massHiggs_2"));
  denominator1D = (TH1F*) (theFile->Get("massHiggs_1"));
  binomialEfficiency1D(numerator1D,denominator1D,"m");
  Ca0->SaveAs(("plots/eff21_massHiggs.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptLead_2"));
  denominator1D = (TH1F*) (theFile->Get("ptLead_1"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff21_ptLead.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptTrail_2"));
  denominator1D = (TH1F*) (theFile->Get("ptTrail_1"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff21_ptTrail.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptLeadNorm_2"));
  denominator1D = (TH1F*) (theFile->Get("ptLeadNorm_1"));
  binomialEfficiency1D(numerator1D,denominator1D,"pn");
  Ca0->SaveAs(("plots/eff21_ptLeadNorm.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptTrailNorm_2"));
  denominator1D = (TH1F*) (theFile->Get("ptTrailNorm_1"));
  binomialEfficiency1D(numerator1D,denominator1D,"pn");
  Ca0->SaveAs(("plots/eff21_ptTrailNorm.png"));
  Ca0->Clear();

  cout<<"going for 1D 4/3"<<endl; 

  numerator1D = (TH1F*) (theFile->Get("higgsEta_4"));
  denominator1D = (TH1F*) (theFile->Get("higgsEta_3"));
  binomialEfficiency1D(numerator1D,denominator1D,"eta");
  Ca0->SaveAs(("plots/eff43_higgsEta.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsPhi_4"));
  denominator1D = (TH1F*) (theFile->Get("higgsPhi_3"));
  binomialEfficiency1D(numerator1D,denominator1D,"phi");
  Ca0->SaveAs(("plots/eff43_higgsPhi.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsP_4"));
  denominator1D = (TH1F*) (theFile->Get("higgsP_3"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff43_higgsP.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("diphoton_LeadR9_4"));
  denominator1D = (TH1F*) (theFile->Get("diphoton_LeadR9_3"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff43_diphoton_LeadR9.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("diphoton_SubLeadR9_4"));
  denominator1D = (TH1F*) (theFile->Get("diphoton_SubLeadR9_3"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff43_diphoton_SubLeadR9.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsPt_4"));
  denominator1D = (TH1F*) (theFile->Get("higgsPt_3"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff43_higgsPt.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("massDiphoton_4"));
  denominator1D = (TH1F*) (theFile->Get("massDiphoton_3"));
  binomialEfficiency1D(numerator1D,denominator1D,"m");
  Ca0->SaveAs(("plots/eff43_massDiphoton.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("massHiggs_4"));
  denominator1D = (TH1F*) (theFile->Get("massHiggs_3"));
  binomialEfficiency1D(numerator1D,denominator1D,"m");
  Ca0->SaveAs(("plots/eff43_massHiggs.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptLead_4"));
  denominator1D = (TH1F*) (theFile->Get("ptLead_3"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff43_ptLead.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptTrail_4"));
  denominator1D = (TH1F*) (theFile->Get("ptTrail_3"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff43_ptTrail.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptLeadNorm_4"));
  denominator1D = (TH1F*) (theFile->Get("ptLeadNorm_3"));
  binomialEfficiency1D(numerator1D,denominator1D,"pn");
  Ca0->SaveAs(("plots/eff43_ptLeadNorm.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptTrailNorm_4"));
  denominator1D = (TH1F*) (theFile->Get("ptTrailNorm_3"));
  binomialEfficiency1D(numerator1D,denominator1D,"pn");
  Ca0->SaveAs(("plots/eff43_ptTrailNorm.png"));


  cout<<"going for 1D 6/5"<<endl; 

  numerator1D = (TH1F*) (theFile->Get("higgsEta_6"));
  denominator1D = (TH1F*) (theFile->Get("higgsEta_5"));
  binomialEfficiency1D(numerator1D,denominator1D,"eta");
  Ca0->SaveAs(("plots/eff65_higgsEta.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsPhi_6"));
  denominator1D = (TH1F*) (theFile->Get("higgsPhi_5"));
  binomialEfficiency1D(numerator1D,denominator1D,"phi");
  Ca0->SaveAs(("plots/eff65_higgsPhi.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsP_6"));
  denominator1D = (TH1F*) (theFile->Get("higgsP_5"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff65_higgsP.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("diphoton_LeadR9_6"));
  denominator1D = (TH1F*) (theFile->Get("diphoton_LeadR9_5"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff65_diphoton_LeadR9.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("diphoton_SubLeadR9_6"));
  denominator1D = (TH1F*) (theFile->Get("diphoton_SubLeadR9_5"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff65_diphoton_SubLeadR9.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsPt_6"));
  denominator1D = (TH1F*) (theFile->Get("higgsPt_5"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff65_higgsPt.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("massDiphoton_6"));
  denominator1D = (TH1F*) (theFile->Get("massDiphoton_5"));
  binomialEfficiency1D(numerator1D,denominator1D,"m");
  Ca0->SaveAs(("plots/eff65_massDiphoton.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("massHiggs_6"));
  denominator1D = (TH1F*) (theFile->Get("massHiggs_5"));
  binomialEfficiency1D(numerator1D,denominator1D,"m");
  Ca0->SaveAs(("plots/eff65_massHiggs.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptLead_6"));
  denominator1D = (TH1F*) (theFile->Get("ptLead_5"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff65_ptLead.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptTrail_6"));
  denominator1D = (TH1F*) (theFile->Get("ptTrail_5"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff65_ptTrail.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptLeadNorm_6"));
  denominator1D = (TH1F*) (theFile->Get("ptLeadNorm_5"));
  binomialEfficiency1D(numerator1D,denominator1D,"pn");
  Ca0->SaveAs(("plots/eff65_ptLeadNorm.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptTrailNorm_6"));
  denominator1D = (TH1F*) (theFile->Get("ptTrailNorm_5"));
  binomialEfficiency1D(numerator1D,denominator1D,"pn");
  Ca0->SaveAs(("plots/eff65_ptTrailNorm.png"));

  cout<<"going for 1D 8/7"<<endl; 

  numerator1D = (TH1F*) (theFile->Get("higgsEta_8"));
  denominator1D = (TH1F*) (theFile->Get("higgsEta_7"));
  binomialEfficiency1D(numerator1D,denominator1D,"eta");
  Ca0->SaveAs(("plots/eff87_higgsEta.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsPhi_8"));
  denominator1D = (TH1F*) (theFile->Get("higgsPhi_7"));
  binomialEfficiency1D(numerator1D,denominator1D,"phi");
  Ca0->SaveAs(("plots/eff87_higgsPhi.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsP_8"));
  denominator1D = (TH1F*) (theFile->Get("higgsP_7"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff87_higgsP.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("diphoton_LeadR9_8"));
  denominator1D = (TH1F*) (theFile->Get("diphoton_LeadR9_7"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff87_diphoton_LeadR9.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("diphoton_SubLeadR9_8"));
  denominator1D = (TH1F*) (theFile->Get("diphoton_SubLeadR9_7"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff87_diphoton_SubLeadR9.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsPt_8"));
  denominator1D = (TH1F*) (theFile->Get("higgsPt_7"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff87_higgsPt.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("massDiphoton_8"));
  denominator1D = (TH1F*) (theFile->Get("massDiphoton_7"));
  binomialEfficiency1D(numerator1D,denominator1D,"m");
  Ca0->SaveAs(("plots/eff87_massDiphoton.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("massHiggs_8"));
  denominator1D = (TH1F*) (theFile->Get("massHiggs_7"));
  binomialEfficiency1D(numerator1D,denominator1D,"m");
  Ca0->SaveAs(("plots/eff87_massHiggs.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptLead_8"));
  denominator1D = (TH1F*) (theFile->Get("ptLead_7"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff87_ptLead.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptTrail_8"));
  denominator1D = (TH1F*) (theFile->Get("ptTrail_7"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff87_ptTrail.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptLeadNorm_8"));
  denominator1D = (TH1F*) (theFile->Get("ptLeadNorm_7"));
  binomialEfficiency1D(numerator1D,denominator1D,"pn");
  Ca0->SaveAs(("plots/eff87_ptLeadNorm.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptTrailNorm_8"));
  denominator1D = (TH1F*) (theFile->Get("ptTrailNorm_7"));
  binomialEfficiency1D(numerator1D,denominator1D,"pn");
  Ca0->SaveAs(("plots/eff87_ptTrailNorm.png"));


  cout<<"going for 1D 1/0"<<endl; 

  numerator1D = (TH1F*) (theFile->Get("higgsEta_1"));
  denominator1D = (TH1F*) (theFile->Get("higgsEta_0"));
  binomialEfficiency1D(numerator1D,denominator1D,"eta");
  Ca0->SaveAs(("plots/eff10_higgsEta.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsPhi_1"));
  denominator1D = (TH1F*) (theFile->Get("higgsPhi_0"));
  binomialEfficiency1D(numerator1D,denominator1D,"phi");
  Ca0->SaveAs(("plots/eff10_higgsPhi.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsP_1"));
  denominator1D = (TH1F*) (theFile->Get("higgsP_0"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff10_higgsP.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("diphoton_LeadR9_1"));
  denominator1D = (TH1F*) (theFile->Get("diphoton_LeadR9_0"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff10_diphoton_LeadR9.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("diphoton_SubLeadR9_1"));
  denominator1D = (TH1F*) (theFile->Get("diphoton_SubLeadR9_0"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff10_diphoton_SubLeadR9.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsPt_1"));
  denominator1D = (TH1F*) (theFile->Get("higgsPt_0"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff10_higgsPt.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("massDiphoton_1"));
  denominator1D = (TH1F*) (theFile->Get("massDiphoton_0"));
  binomialEfficiency1D(numerator1D,denominator1D,"m");
  Ca0->SaveAs(("plots/eff10_massDiphoton.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("massHiggs_1"));
  denominator1D = (TH1F*) (theFile->Get("massHiggs_0"));
  binomialEfficiency1D(numerator1D,denominator1D,"m");
  Ca0->SaveAs(("plots/eff10_massHiggs.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptLead_1"));
  denominator1D = (TH1F*) (theFile->Get("ptLead_0"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff10_ptLead.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptTrail_1"));
  denominator1D = (TH1F*) (theFile->Get("ptTrail_0"));
  binomialEfficiency1D(numerator1D,denominator1D,"p");
  Ca0->SaveAs(("plots/eff10_ptTrail.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptLeadNorm_1"));
  denominator1D = (TH1F*) (theFile->Get("ptLeadNorm_0"));
  binomialEfficiency1D(numerator1D,denominator1D,"pn");
  Ca0->SaveAs(("plots/eff10_ptLeadNorm.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptTrailNorm_1"));
  denominator1D = (TH1F*) (theFile->Get("ptTrailNorm_0"));
  binomialEfficiency1D(numerator1D,denominator1D,"pn");
  Ca0->SaveAs(("plots/eff10_ptTrailNorm.png"));

  cout<<"going for Draw2D"<<endl; 
  gStyle->SetPaintTextFormat("1.0f");
  TH1F * cutflow = (TH1F*)(theFile->Get("cutflow"));
  cutflow->Draw("");
  cutflow->Draw("htextsame");
  cutflow->SetFillColor(kYellow);
  cutflow->SetXTitle("cut[]");
  Ca0->SaveAs("plots/cutflow.png");
  Ca0->Clear();
  
  gStyle->SetPaintTextFormat("1.3f");
  Draw2D("wide_pt1pt2","p_{T} Lead (GeV)","p_{T} Trail (GeV)",theFile,true);
  Draw2D("phi1phi2","#phi_{Lead}","#phi_{Trail}",theFile,false);
  Draw2D("eta1eta2","#eta_{Lead}","#eta_{Trail}",theFile,false);
  Draw2D("pt1pt2","p_{T} Lead (GeV)","p_{T} Trail (GeV)",theFile,false);
  Draw2D("pt1pt2Norm","p_{T} Lead / M_{#gamma #gamma}","p_{T} Trail / M_{#gamma #gamma}",theFile,false);
  Draw2D("pt1pt2Zoom","p_{T} Lead / M_{#gamma #gamma}","p_{T} Trail / M_{#gamma #gamma}",theFile,false);

  
  cout<<"going for Draw1D"<<endl; 
  
  int cut1=0;
  int cut2=1;
  Draw1D("higgsEta","#eta_{H}",theFile,cut1,cut2);
  Draw1D("higgsPhi","#phi_{H}",theFile,cut1,cut2);
  Draw1D("higgsPt","p (GeV)",theFile,cut1,cut2);
  Draw1D("higgsP","p (GeV)",theFile,cut1,cut2); 
  Draw1D("diphoton_LeadR9","diphoton_LeadR9",theFile,cut1,cut2);
  Draw1D("diphoton_SubLeadR9","diphoton_SubLeadR9",theFile,cut1,cut2);
  
  for(cut1=1;cut1<=7;cut1=cut1+2){
    cut2=cut1+1;
    Draw1D("higgsEta","#eta_{H}",theFile,cut1,cut2);
    Draw1D("higgsPhi","#phi_{H}",theFile,cut1,cut2);
    Draw1D("higgsPt","p (GeV)",theFile,cut1,cut2);
    Draw1D("higgsP","p (GeV)",theFile,cut1,cut2); 
    Draw1D("diphoton_LeadR9","diphoton_LeadR9",theFile,cut1,cut2);
    Draw1D("diphoton_SubLeadR9","diphoton_SubLeadR9",theFile,cut1,cut2);
  }
  
  //Ca0->SetLogy();

  cut1=0;
  cut2=1;
  Draw1D("ptLead","p_{T} Lead (GeV)",theFile,cut1,cut2); 
  Draw1D("ptTrail","p_{T} Trail (GeV)",theFile,cut1,cut2);
  Draw1D("ptLeadNorm","p_{T} Lead / M_{#gamma #gamma} ",theFile,cut1,cut2); 
  Draw1D("ptTrailNorm","p_{T} Trail / M_{#gamma #gamma}",theFile,cut1,cut2);
  Draw1D("massDiphoton","mass_{#gamma #gamma} (GeV)",theFile,cut1,cut2);
  Draw1D("massHiggs","mass_{H} (GeV)",theFile,cut1,cut2);

  
  for(cut1=1;cut1<=7;cut1=cut1+2){
    cut2=cut1+1;
    Draw1D("ptLead","p_{T} Lead (GeV)",theFile,cut1,cut2); 
    Draw1D("ptTrail","p_{T} Trail (GeV)",theFile,cut1,cut2);
    Draw1D("ptLeadNorm","p_{T} Lead / M_{#gamma #gamma} ",theFile,cut1,cut2); 
    Draw1D("ptTrailNorm","p_{T} Trail / M_{#gamma #gamma}",theFile,cut1,cut2);
    Draw1D("massDiphoton","mass_{#gamma #gamma} (GeV)",theFile,cut1,cut2);
    Draw1D("massHiggs","mass_{H} (GeV)",theFile,cut1,cut2);
  }
  
  exit(0);
}
示例#9
0
void csConsoleOutput::PutTextV (const char *text2, va_list args)
{
  CS::Threading::RecursiveMutexScopedLock lock (mutex);

  size_t i;
  csString *curline = 0;

  csString text;
  text.FormatV (text2, args);

  // Scan the string for escape characters
  for (i = 0; i < text.Length(); i++)
  {
    if (clear_input)
    {
      curline = buffer->WriteLine ();
      curline->Clear ();
      clear_input = false;
      cx = 0;
    }

    switch (text [i])
    {
      case '\r':
        clear_input = true;
        break;
      case '\n':
        buffer->NewLine (do_snap);
        // Update the cursor Y position
        cx = 0;
        if (do_snap)
          cy = buffer->GetCurLine () - buffer->GetTopLine ();
        else
          ++cy < buffer->GetPageSize () ? cy : cy--;
        // Make sure we don't change the X position below
        curline = 0;
        break;
      case '\b':
        if (cx > 0)
        {
          if (cx == 1)
          {
            cx = 0;
            buffer->DeleteLine (cy);
            curline = 0;
          }
          else
          {
            // Delete the character before the cursor, and move the cursor back
            curline = buffer->WriteLine ();
            curline->DeleteAt (--cx);
          }
        }
        else if (cy > 0)
        {
          // Backup a line
          cy--;
          buffer->SetCurLine (cy);
          curline = buffer->WriteLine ();
        }
        break;
      case '\t':
        // Print 4-space tabs
        curline = buffer->WriteLine ();
        curline->Append ("    ");
        cx += 4;
        break;
      default:
        curline = buffer->WriteLine ();
        if (cx == (int)curline->Length ())
          curline->Append (text [i]);
        else
          curline->Insert (cx, text [i]);
        cx++;
        break;
      }
  }

  if (auto_update && system_ready && G2D->BeginDraw ())
  {
    csRect rect;
    G2D->Clear (bg);
    Draw2D (&rect);
    G2D->FinishDraw ();
    G2D->Print (&rect);
  }
}
void make_up(){
  gROOT->Reset();
  //  gStyle->SetOptStat(1111);
  gStyle->SetOptStat(0);
  gStyle->SetPalette(1);
  gStyle->SetPaintTextFormat("2.2f");
  
  //TFile * theFile = new TFile("/afs/cern.ch/user/c/carrillo/higgs/yy/hlt/CMSSW_5_3_2_patch4/src/genAnalyzer/GenAnalyzer/genAnalyzer.root");
  TFile * theFile = new TFile("genAnalyzer.root");
  //TFile * theFile = new TFile("HiggsGenHltRecoAnalyzer/test/genAnalyzer.root");

  system("mkdir gen");
  system("mkdir hlt");

  cout<<"creating canvas"<<endl;
  TCanvas * Ca0 = new TCanvas("Ca0","bit0",1200,800);
  Ca0->cd();

  Draw1D("ptLead","p_{T} (GeV)","gen/",theFile); 
  Draw1D("ptTrail","p_{T} (GeV)","gen/",theFile);
  Draw1D("massDiphoton","mass_{#gamma #gamma} (GeV)","gen/",theFile);
  Draw1D("massHiggs","mass_{H} (GeV)","gen/",theFile);
  Draw1D("higgsEta","#eta_{H} (GeV)","gen/",theFile);
  Draw1D("higgsPhi","#phi_{H} (GeV)","gen/",theFile);
  Draw1D("higgsPt","#p (GeV)","gen/",theFile);
  Draw1D("higgsP","#p (GeV)","gen/",theFile); 

  
  //turnon curve
  //Interesting bits
  
  //  string interesting_bits[]={"418","6","416","8","5","412","233","7","234","10","187","9","22","198","430","404","188","199","21","190","197","208","201","207","195","196","206","193","424","192","204","194","203","205","209","189","200","191"};
  
  //string in_bits[]={"418","6"}
  //for(int k=0;k<2;k++){
  
  //Definition for the interesting bits                                                                                                  
  //0 gen                                                                                                                                
  //1 acc                                                                                                                                
  //2 194*acc                                                                                                                                
  //3 195*acc                                                                                                                                
  //4 205*acc                                                                                                                                
  //5 OR*acc                                                                                                                                 
  //6 OR*acc                                                                                                                                 
  

  TH2F * numerator;
  TH2F * denominator;
  cout<<"going for 2D"<<endl;

  numerator  = (TH2F*) (theFile->Get("wide_pt1pt2_5"));
  denominator= (TH2F*) (theFile->Get("wide_pt1pt2_1"));
  cout<<"calling binomial efficiency 5/1 ="<<numerator->GetEntries()/denominator->GetEntries()<<endl;
  binomialEfficiency2D(numerator,denominator,true);
  Ca0->SaveAs(("hlt/or_over_acc_efficiency.png"));
  Ca0->Clear();
  binomialEfficiency2D(numerator,denominator,false);
  Ca0->SaveAs(("hlt/eff_wide_pt1pt2.png"));
  Ca0->Clear();
  
  numerator  = (TH2F*) (theFile->Get("wide_pt1pt2_4"));
  denominator= (TH2F*) (theFile->Get("wide_pt1pt2_1"));
  cout<<"calling binomial efficiency 4/1 ="<<numerator->GetEntries()/denominator->GetEntries()<<endl;
  binomialEfficiency2D(numerator,denominator,true);
  Ca0->SaveAs(("hlt/205_over_acc_efficiency.png"));
  Ca0->Clear();
  
  numerator  = (TH2F*) (theFile->Get("wide_pt1pt2_3"));
  denominator= (TH2F*) (theFile->Get("wide_pt1pt2_1"));
  cout<<"calling binomial efficiency 3/1 ="<<numerator->GetEntries()/denominator->GetEntries()<<endl;
  binomialEfficiency2D(numerator,denominator,true);
  Ca0->SaveAs(("hlt/195_over_acc_efficiency.png"));
  Ca0->Clear();
  
  numerator  = (TH2F*) (theFile->Get("wide_pt1pt2_2"));
  denominator= (TH2F*) (theFile->Get("wide_pt1pt2_1"));
  cout<<"calling binomial efficiency 2/1 ="<<numerator->GetEntries()/denominator->GetEntries()<<endl;
  binomialEfficiency2D(numerator,denominator,true);
  Ca0->SaveAs(("hlt/194_over_acc_efficiency.png"));
  Ca0->Clear();
  
  numerator  = (TH2F*) (theFile->Get("pt1pt2_5"));
  denominator= (TH2F*) (theFile->Get("pt1pt2_1"));
  cout<<"calling binomial efficiency 5/1 ="<<numerator->GetEntries()/denominator->GetEntries()<<endl;
  binomialEfficiency2D(numerator,denominator,false);
  Ca0->SaveAs(("hlt/eff_pt1pt2.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("eta1eta2_5"));
  denominator= (TH2F*) (theFile->Get("eta1eta2_1"));
  cout<<"calling binomial efficiency 5/1 ="<<numerator->GetEntries()/denominator->GetEntries()<<endl;
  binomialEfficiency2D(numerator,denominator,false);
  Ca0->SaveAs(("hlt/eff_eta1eta2.png"));
  Ca0->Clear();

  numerator  = (TH2F*) (theFile->Get("phi1phi2_5"));
  denominator= (TH2F*) (theFile->Get("phi1phi2_1"));
  cout<<"calling binomial efficiency 5/1 ="<<numerator->GetEntries()/denominator->GetEntries()<<endl;
  binomialEfficiency2D(numerator,denominator,false);
  Ca0->SaveAs(("hlt/eff_phi1phi2.png"));
  Ca0->Clear();

  Draw2D("wide_pt1pt2","p_{T} Lead (GeV)","p_{T} Trail (GeV)","gen/",theFile);
  Draw2D("phi1phi2","#phi_{Lead}","#phi_{Trail}","gen/",theFile);
  Draw2D("eta1eta2","#eta_{Lead}","#eta_{Trail}","gen/",theFile);
  Draw2D("pt1pt2","p_{T} Lead (GeV)","p_{T} Trail (GeV)","gen/",theFile);

  //Binomial Efficiency 1D

  TH1F * numerator1D;
  TH1F * denominator1D; 

  numerator1D = (TH1F*) (theFile->Get("higgsEta_5"));
  denominator1D = (TH1F*) (theFile->Get("higgsEta_1"));
  cout<<"calling binomial efficiency 5/1 ="<<numerator1D->GetEntries()/denominator1D->GetEntries()<<endl;
  binomialEfficiency1D(numerator1D,denominator1D);
  Ca0->SaveAs(("gen/eff_higgsEta.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsPhi_5"));
  denominator1D = (TH1F*) (theFile->Get("higgsPhi_1"));
  cout<<"calling binomial efficiency 5/1 ="<<numerator1D->GetEntries()/denominator1D->GetEntries()<<endl;
  binomialEfficiency1D(numerator1D,denominator1D);
  Ca0->SaveAs(("gen/eff_higgsPhi.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsP_5"));
  denominator1D = (TH1F*) (theFile->Get("higgsP_1"));
  cout<<"calling binomial efficiency 5/1 ="<<numerator1D->GetEntries()/denominator1D->GetEntries()<<endl;
  binomialEfficiency1D(numerator1D,denominator1D);
  Ca0->SaveAs(("gen/eff_higgsP.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("higgsPt_5"));
  denominator1D = (TH1F*) (theFile->Get("higgsPt_1"));
  cout<<"calling binomial efficiency 5/1 ="<<numerator1D->GetEntries()/denominator1D->GetEntries()<<endl;
  binomialEfficiency1D(numerator1D,denominator1D);
  Ca0->SaveAs(("gen/eff_higgsPt.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("massDiphoton_5"));
  denominator1D = (TH1F*) (theFile->Get("massDiphoton_1"));
  cout<<"calling binomial efficiency 5/1 ="<<numerator1D->GetEntries()/denominator1D->GetEntries()<<endl;
  binomialEfficiency1D(numerator1D,denominator1D);
  Ca0->SaveAs(("gen/eff_massDiphoton.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("massHiggs_5"));
  denominator1D = (TH1F*) (theFile->Get("massHiggs_1"));
  cout<<"calling binomial efficiency 5/1 ="<<numerator1D->GetEntries()/denominator1D->GetEntries()<<endl;
  binomialEfficiency1D(numerator1D,denominator1D);
  Ca0->SaveAs(("gen/eff_massHiggs.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptLead_5"));
  denominator1D = (TH1F*) (theFile->Get("ptLead_1"));
  cout<<"calling binomial efficiency 5/1 ="<<numerator1D->GetEntries()/denominator1D->GetEntries()<<endl;
  binomialEfficiency1D(numerator1D,denominator1D);
  Ca0->SaveAs(("gen/eff_ptLead.png"));
  Ca0->Clear();

  numerator1D = (TH1F*) (theFile->Get("ptTrail_5"));
  denominator1D = (TH1F*) (theFile->Get("ptTrail_1"));
  cout<<"calling binomial efficiency 5/1 ="<<numerator1D->GetEntries()/denominator1D->GetEntries()<<endl;
  binomialEfficiency1D(numerator1D,denominator1D);
  Ca0->SaveAs(("gen/eff_ptTrail.png"));
  Ca0->Clear();

  exit(0);
}