#include #include using namespace std; #include "TFile.h" #include "TTree.h" #include "TCanvas.h" #include "TFrame.h" #include "TH1F.h" #include "TSystem.h" int histo() { TCanvas *c = new TCanvas(); TFile *input = TFile::Open("tutorial13.root","READ"); TTree *tree; input->GetObject("tree",tree); TTree *tre ; input->GetObject("tre" ,tre ); std::vector *electron = 0; std::vector *positron = 0; //std::vector *electron = std::vector(); //std::vector *positron = std::vector(); //TBranch *id = 0; //tree->SetBranchAddress("id" ,&electron , &id ); TBranch *m = 0; tree->SetBranchAddress("m" ,&electron , &m ); TBranch *eta = 0; tree->SetBranchAddress("eta",&electron, &eta ); TBranch *pT = 0; tree->SetBranchAddress("pT" ,&electron , &pT ); TBranch *phi = 0; tree->SetBranchAddress("phi",&electron, &phi); TBranch *eng = 0; tree->SetBranchAddress("eng",&electron, &eng); //TBranch *Id = 0; //tre->SetBranchAddress("Id" ,&positron , &Id ); TBranch *M = 0; tre->SetBranchAddress("M" ,&positron , &M ); TBranch *Eta = 0; tre->SetBranchAddress("Eta",&positron, &Eta); TBranch *PT = 0; tre->SetBranchAddress("PT" ,&positron , &PT ); TBranch *Phi = 0; tre->SetBranchAddress("Phi",&positron, &Phi); TBranch *Eng = 0; tre->SetBranchAddress("Eng",&positron, &Eng); int entries = tree->GetEntries(); int Entries = tre ->GetEntries(); TH1F *h1 = new TH1F("h1","Transverse Momentum " ,300, -0.1 , 2 ); TH1F *h2 = new TH1F("h2","Rapidity ; eta ; Events" ,200, -11 , 11 ); TH1F *h3 = new TH1F("h3","Phi ; phi ; Events" ,250, -3.6 , 3.6 ); TH1F *h4 = new TH1F("h4","ID ; ID ; Events" ,200, 10 , 12 ); TH1F *h5 = new TH1F("h5","Mass ; mass; Events" ,200,.00045, .00056 ); TH1F *h6 = new TH1F("h6","Energy " ,100, 0 , 400 ); TH1F *h7 = new TH1F("h7","Transverse Momentum " ,300, -0.1 , 2 ); TH1F *h8 = new TH1F("h8","Rapidity ; eta ; Events" ,200, -11 , 11 ); TH1F *h9 = new TH1F("h9","Phi ; phi ; Events" ,250, -3.6 , 3.6 ); TH1F *h10 = new TH1F("h10","ID ; ID ; Events" ,200, -12 , -10 ); TH1F *h11 = new TH1F("h11","Mass ; mass; Events" ,200,.00045, .00056); TH1F *h12 = new TH1F("h12","Energy " ,100, 0 , 400 ); for (Int_t i =0; i < entries; i++){ Long64_t entries = tree->LoadTree(i); pT->GetEntry(entries); for(UInt_t k = 0; k < electron->size(); ++k){ h1->Fill(electron->at(i)); /*h2->Fill(eta); h3->Fill(phi); h4->Fill(id); h5->Fill(m); h6->Fill(eng);*/ } } for (int x =0; x < Entries; x++){ tre->GetEntry(x); /*h7->Fill(PT); h8->Fill(Eta); h9->Fill(Phi); h10->Fill(Id); h11->Fill(M); h12->Fill(Eng);*/ //cout << elecrton; } /*cout << "Vector Electron: " << endl; for (auto b = positron.begin(); b != positron.end(); ++b) cout << *b << " " << endl;*/ c = new TCanvas("c1" , "Electrons in a pp->zj process" , 2400, 1600); c->Divide(3,4); c->cd(1); h1->Draw(); /*c->cd(2); h2->Draw(); c->cd(3); h3->Draw(); c->cd(4); h4->Draw(); c->cd(5); h5->Draw(); c->cd(6); h6->Draw(); c->cd(7); h7->Draw(); c->cd(8); h8->Draw(); c->cd(9); h9->Draw(); c->cd(10); h10->Draw(); c->cd(11); h11->Draw(); c->cd(12); h12->Draw();*/ //return 0; tree->ResetBranchAddresses(); tre->ResetBranchAddresses(); } void tutorial13a(){ histo(); } /* TBranch *id = 0; tree->SetBranchAddress("id" ,&id , &id ); TBranch *m = 0; tree->SetBranchAddress("m" ,&m , &m ); TBranch *eta = 0; tree->SetBranchAddress("eta",&eta, &eta); TBranch *pT = 0; tree->SetBranchAddress("pT" ,&pT , &pT ); TBranch *phi = 0; tree->SetBranchAddress("phi",&phi, &phi); TBranch *eng = 0; tree->SetBranchAddress("eng",&eng, &eng); TBranch *Id = 0; tre->SetBranchAddress("Id" ,&Id , &Id ); TBranch *M = 0; tre->SetBranchAddress("M" ,&M , &M ); TBranch *Eta = 0; tre->SetBranchAddress("Eta",&Eta, &Eta); TBranch *PT = 0; tre->SetBranchAddress("PT" ,&PT , &PT ); TBranch *Phi = 0; tre->SetBranchAddress("Phi",&Phi, &Phi); TBranch *Eng = 0; tre->SetBranchAddress("Eng",&Eng, &Eng); TBranch *id = 0; tree->SetBranchAddress("id" , &id ); TBranch *m = 0; tree->SetBranchAddress("m" , &m ); TBranch *eta = 0; tree->SetBranchAddress("eta", &eta); TBranch *pT = 0; tree->SetBranchAddress("pT" , &pT ); TBranch *phi = 0; tree->SetBranchAddress("phi", &phi); TBranch *eng = 0; tree->SetBranchAddress("eng", &eng); TBranch *Id = 0; tre->SetBranchAddress("Id" , &Id ); TBranch *M = 0; tre->SetBranchAddress("M" , &M ); TBranch *Eta = 0; tre->SetBranchAddress("Eta", &Eta); TBranch *PT = 0; tre->SetBranchAddress("PT" , &PT ); TBranch *Phi = 0; tre->SetBranchAddress("Phi", &Phi); TBranch *Eng = 0; tre->SetBranchAddress("Eng", &Eng); tree->SetBranchAddress("id" , &id ); tree->SetBranchAddress("m" , &m ); tree->SetBranchAddress("eta", &eta); tree->SetBranchAddress("pT" , &pT ); tree->SetBranchAddress("phi", &phi); tree->SetBranchAddress("eng", &eng); tre->SetBranchAddress("Id" , &Id ); tre->SetBranchAddress("M" , &M ); tre->SetBranchAddress("Eta", &Eta); tre->SetBranchAddress("PT" , &PT ); tre->SetBranchAddress("Phi", &Phi); tre->SetBranchAddress("Eng", &Eng);*/