#define blabla_cxx #include "blabla.h" #include #include #include "TFile.h" #include #include #include "TMath.h" void blabla::Loop() { // In a ROOT session, you can do: // Root > .L blabla.C // Root > blabla t // Root > t.GetEntry(12); // Fill t data members with entry number 12 // Root > t.Show(); // Show values of entry 12 // Root > t.Show(16); // Read and show values of entry 16 // Root > t.Loop(); // Loop on all entries // // This is the loop skeleton where: // jentry is the global entry number in the chain // ientry is the entry number in the current Tree // Note that the argument to GetEntry must be: // jentry for TChain::GetEntry // ientry for TTree::GetEntry and TBranch::GetEntry // // To read only selected branches, Insert statements like: // METHOD1: // fChain->SetBranchStatus("*",0); // disable all branches // fChain->SetBranchStatus("branchname",1); // activate branchname // METHOD2: replace line // fChain->GetEntry(jentry); //read all branches //by b_branchname->GetEntry(ientry); //read only this branch fChain->SetBranchStatus("*",0); fChain->SetBranchStatus("ngenLep",1); fChain->SetBranchStatus("genLep_motherId",1); fChain->SetBranchStatus("genLep_isPromptHard",1); if (fChain == 0) return; TFile* out = TFile::Open("out.root","recreate"); Long64_t nentries = fChain->GetEntriesFast(); hGenLep = new TH1F("hGenLep","",10,-0.5,9.5); Long64_t nbytes = 0, nb = 0; for (Long64_t jentry=0; jentryGetEntry(jentry); nbytes += nb; int nHardLep = 0; for (int lep = 0; lep0) nHardLep++; } hGenLep->Fill(nHardLep); // if (Cut(ientry) < 0) continue; } hGenLep->Write(); out->Close(); }