19 #ifdef JETS_SECOND_RUN
30 void write(Int_t nev=100) {
32 TFile f(
"JetEvent.root",
"recreate");
33 TTree *T =
new TTree(
"T",
"Event example with Jets");
34 JetEvent *
event =
new JetEvent;
35 T->Branch(
"event",
"JetEvent",&event,8000,2);
37 for (Int_t ev=0;ev<nev;ev++) {
48 TFile f(
"JetEvent.root");
49 TTree *T = (TTree*)f.Get(
"T");
51 T->SetBranchAddress(
"event", &event);
52 Long64_t nentries = T->GetEntries();
54 for (Long64_t ev=0;ev<nentries;ev++) {
57 cout <<
" Event: "<< ev
58 <<
" Jets: " <<
event->GetNjet()
59 <<
" Tracks: " <<
event->GetNtrack()
60 <<
" Hits A: " <<
event->GetNhitA()
61 <<
" Hits B: " <<
event->GetNhitB() << endl;
65 void pileup(Int_t nev=200) {
68 TFile f(
"JetEvent.root");
69 TTree *T = (TTree*)f.Get(
"T");
72 const Int_t LOOPMAX=10;
73 JetEvent *events[LOOPMAX];
75 for (loop=0;loop<LOOPMAX;loop++) events[loop] = 0;
76 for (Long64_t ev=0;ev<nev;ev++) {
77 if (ev%10 == 0) printf(
"building pileup: %lld\n",ev);
78 for (loop=0;loop<LOOPMAX;loop++) {
79 Int_t rev = gRandom->Uniform(LOOPMAX);
80 T->SetBranchAddress(
"event", &events[loop]);
86 void jets(Int_t nev=100, Int_t npileup=200, Bool_t secondrun =
true) {
98 void jets(Int_t nev=100, Int_t npileup=200) {
99 TString tutdir = gROOT->GetTutorialDir();
100 gROOT->ProcessLine(
".L " + tutdir +
"/tree/JetEvent.cxx+");
101 gROOT->ProcessLine(
"#define JETS_SECOND_RUN yes");
102 gROOT->ProcessLine(
"#include \"" __FILE__
"\"");
103 gROOT->ProcessLine(
"jets(100,200,true)");