{ ////////////////////////////////////////////////////////// // This file has been automatically generated // (Fri Jun 16 09:27:43 2000 by ROOT version 2.23/12) // from TTree ntp1/Jpsi Ks micro Analysis // found on file: Exercise3.root ////////////////////////////////////////////////////////// //Reset ROOT and connect tree file gROOT->Reset(); TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("Exercise3.root"); if (!f) { f = new TFile("Exercise3.root"); } TTree *ntp1 = (TTree*)gDirectory->Get("ntp1"); //Declaration of leaves types Int_t nKs; Int_t nJpsi; Int_t nB0; Float_t massKs[12]; Float_t pxKs[12]; Float_t pyKs[12]; Float_t pzKs[12]; Float_t vxKs[12]; Float_t vyKs[12]; Float_t vzKs[12]; Float_t chi2Ks[12]; Float_t ndofKs[12]; Float_t statusKs[12]; Float_t massJpsi[2]; Float_t pxJpsi[2]; Float_t pyJpsi[2]; Float_t pzJpsi[2]; Float_t vxJpsi[2]; Float_t vyJpsi[2]; Float_t vzJpsi[2]; Float_t chi2Jpsi[2]; Float_t ndofJpsi[2]; Float_t statusJpsi[2]; Float_t massB0[0]; Float_t pxB0[0]; Float_t pyB0[0]; Float_t pzB0[0]; Float_t vxB0[0]; Float_t vyB0[0]; Float_t vzB0[0]; Float_t chi2B0[0]; Float_t ndofB0[0]; Float_t statusB0[0]; //Set branch addresses ntp1->SetBranchAddress("nKs",&nKs); ntp1->SetBranchAddress("nJpsi",&nJpsi); ntp1->SetBranchAddress("nB0",&nB0); ntp1->SetBranchAddress("massKs",massKs); ntp1->SetBranchAddress("pxKs",pxKs); ntp1->SetBranchAddress("pyKs",pyKs); ntp1->SetBranchAddress("pzKs",pzKs); ntp1->SetBranchAddress("vxKs",vxKs); ntp1->SetBranchAddress("vyKs",vyKs); ntp1->SetBranchAddress("vzKs",vzKs); ntp1->SetBranchAddress("chi2Ks",chi2Ks); ntp1->SetBranchAddress("ndofKs",ndofKs); ntp1->SetBranchAddress("statusKs",statusKs); ntp1->SetBranchAddress("massJpsi",massJpsi); ntp1->SetBranchAddress("pxJpsi",pxJpsi); ntp1->SetBranchAddress("pyJpsi",pyJpsi); ntp1->SetBranchAddress("pzJpsi",pzJpsi); ntp1->SetBranchAddress("vxJpsi",vxJpsi); ntp1->SetBranchAddress("vyJpsi",vyJpsi); ntp1->SetBranchAddress("vzJpsi",vzJpsi); ntp1->SetBranchAddress("chi2Jpsi",chi2Jpsi); ntp1->SetBranchAddress("ndofJpsi",ndofJpsi); ntp1->SetBranchAddress("statusJpsi",statusJpsi); ntp1->SetBranchAddress("massB0",&massB0); ntp1->SetBranchAddress("pxB0",&pxB0); ntp1->SetBranchAddress("pyB0",&pyB0); ntp1->SetBranchAddress("pzB0",&pzB0); ntp1->SetBranchAddress("vxB0",&vxB0); ntp1->SetBranchAddress("vyB0",&vyB0); ntp1->SetBranchAddress("vzB0",&vzB0); ntp1->SetBranchAddress("chi2B0",&chi2B0); ntp1->SetBranchAddress("ndofB0",&ndofB0); ntp1->SetBranchAddress("statusB0",&statusB0); // This is the loop skeleton // To read only selected branches, Insert statements like: // ntp1->SetBranchStatus("*",0); // disable all branches // TTreePlayer->SetBranchStatus("branchname",1); // activate branchname Int_t nentries = ntp1->GetEntries(); // -- The instantiation of the histogram TH1D *hmks = new TH1D("hmks", "Mass of Kshort", 100, 0., 1.); // -- The loop over all entries Int_t nbytes = 0; for (Int_t i=0; iGetEntry(i); for (Int_t iCand = 0; iCand < nKs; ++iCand) { hmks->Fill(massKs[iCand]); } } }