File:Theta correct.jpg

From Nuclear Physics Group Documentation Pages
Revision as of 18:32, 28 July 2008 by Kyle (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Original file(1,396 × 949 pixels, file size: 86 KB, MIME type: image/jpeg)

//
// Kyle Snavely                  June 30, 2008
//
// This script reads in rootfiles and makes a plot of 
// theta with different cuts
//
// --------------------------------------------------------
//


// All my standard ROOT includes...
#include <TString.h>
#include <string> 
#include <fstream>
#include <iostream> 
#include <TCanvas.h> 
#include <TH1.h>
#include <TH2.h>
#include <TF1.h>
#include <TH3F.h>
#include <TFile.h>
#include <TTree.h> 
#include <TROOT.h>
#include <TStyle.h>
#include <TApplication.h>
#include <TPaveText.h>
#include <TPaveStats.h>
#include <TPaveLabel.h>
#include <vector>
#include <TProfile.h>
#include <TF1.h>
#include <TGraphErrors.h>
#include <TMultiGraph.h>
#include <TGraph.h>
#include <TDatime.h>
#include <TLegend.h>
#include <TAxis.h>
#include <TGaxis.h>
#include <TPad.h>
#include <TLatex.h>
#include <TRandom.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <TMath.h>
#include <TMinuit.h>
#include <TStopwatch.h>
#include <TSpectrum.h>
#include "TMath.h"


// Interactive includes
#include <TRint.h>
#include <TApplication.h>
#include <TGX11.h>
#include <TVirtualX.h>
#include <TFriendElement.h>

using namespace std ;

// Make tree a global variable so that we can access it outside this function.
// You can then also access it from the command line. 
TTree *tree;

// ************  The main program starts here. ****************//

int main(int argc, char** argv)
{

  ///////////////////////////////////////////
  //   Initialize root, get our files and  //
  // make them friends, create our canvas. //
  ///////////////////////////////////////////
  TApplication theApp("App", &argc, argv);
  // gStyle->SetOptFit(0111);
  gROOT->SetStyle("Plain");
  gStyle->SetFillColor(10); 

  // Open Root file
  TFile *f = new TFile("$DATA/proton_500000.root");
  //Get bst tree
  TTree *bst = (TTree*)f->Get("bstT");
  bst->AddFriend("genT", "$DATA/proton_500000.root");

  TFile *g = new TFile("$DATA/pion_500000.root");
  TTree *bst_pi = (TTree*)g->Get("bstT");
  bst_pi->AddFriend("genT", "$DATA/pion_500000.root");
  
  // Make your canvas
  TCanvas* MyCanvas1 = new TCanvas("MyCanvas1", "Some Graphs", 1);
  MyCanvas1->SetFillColor(10);
  TPaveLabel *title1 = NULL;
  title1 = new TPaveLabel(0.1,0.96,0.9,0.99,"A Plot!  Yay!");
  title1->SetFillColor(10);
  //title1->Draw();
  TDatime *now1;
  now1 = new TDatime();
  TPaveLabel *date1 = new TPaveLabel(0.7,0.01,0.9,0.03,now1->AsString());
  date1->SetFillColor(10);
  //date1->Draw();
  //TPad* graphPad1 = new TPad("Graphs","Graphs",0.01,0.05,0.95,0.95);
  TPad* graphPad1 = new TPad("Graphs","Graphs",0.0,0.0,1.0,1.0);
  graphPad1->SetFillColor(10);
  graphPad1->Draw();
  graphPad1->cd();

  ///////////////////////////////////////////
  //   Create and fill our histos          //
  ///////////////////////////////////////////

  TH1F *theta_g = new TH1F("theta_g","theta generated",100,0,200);
  bst->Draw("theta>>theta_g"); 

  TH1F *theta_0 = new TH1F("theta_0","layer[0]==1 && layer[1]==2",100,0,200);
  bst->Draw("theta>>theta_0","layer[0]==1"); 

  TH1F *theta_1 = new TH1F("theta_1","layer[0]==1 && layer[1]==2 && layer[2]==3 && layer[3]==4",100,0,200);
  bst->Draw("theta>>theta_1","layer[0]==1 && layer[1]==2 && layer[2]==3 && layer[3]==4");

  TH1F *theta_2 = new TH1F("theta_2","layer[0]==1 && layer[1]==2 && layer[2]==3 && layer[3]==4 && layer[4]==5 && layer[5]==6",100,0,200);
  bst->Draw("theta>>theta_2","layer[0]==1 && layer[1]==2 && layer[2]==3 && layer[3]==4 && layer[4]==5 && layer[5]==6");

  TH1F *theta_3 = new TH1F("theta_3","layer[0]==1 && layer[1]==2 && layer[2]==3 && layer[3]==4 && layer[4]==5 && layer[5]==6 && layer[6]==7 && layer[7]==8",100,0,200);
  bst->Draw("theta>>theta_3","layer[0]==1 && layer[1]==2 && layer[2]==3 && layer[3]==4 && layer[4]==5 && layer[5]==6 && layer[6]==7 && layer[7]==8");


  ///////////////////////////////////////////
  //   Draw our graphs                     //
  ///////////////////////////////////////////
  //theta is in the genT Tree
  graphPad1->Clear();
  graphPad1->Divide(3,2);

  graphPad1->cd(1);
  theta_g->Draw();

  graphPad1->cd(2);
  theta_0->Draw();

  graphPad1->cd(3);
  theta_1->Draw();

  graphPad1->cd(4);
  theta_2->Draw();

  graphPad1->cd(5);
  theta_3->Draw();

  graphPad1->cd(6);
  theta_g->Draw();
  theta_0->Draw("same");
  theta_1->Draw("same");
  theta_2->Draw("same");
  theta_3->Draw("same");

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

  // Main application eventloop. Calls system dependent eventloop
  // -> runs an interactive interface 
  theApp.Run();

  return(0); 

} /**********  End of main *************/

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current18:21, 28 July 2008Thumbnail for version as of 18:21, 28 July 20081,396 × 949 (86 KB)Kyle (talk | contribs)// // Kyle Snavely June 30, 2008 // // This script reads in rootfiles and makes a plot of // theta with different cuts // // -------------------------------------------------------- // // All my standard ROOT includes... #include <TStr

The following page uses this file: