13 #include <TStopwatch.h>
14 #include <TObjArray.h>
15 #include <TObjString.h>
18 #include <AliRunLoader.h>
19 #include <AliHeader.h>
20 #include <AliGenPythiaEventHeader.h>
21 #include <AliJetParticle.h>
22 #include <AliJetParticlesReader.h>
23 #include <AliJetParticlesReaderKine.h>
24 #include <AliJetParticlesReaderESD.h>
25 #include <AliJetParticlesReaderHLT.h>
26 #include <AliJetEventParticles.h>
27 #include <AliTkConeJetEvent.h>
28 #include <AliTkConeJetFinderV2.h>
29 #include <AliTkChargedJetFinder.h>
32 void findJets(Char_t *filename,Float_t ptcut=1.0,Float_t radius=0.3,
33 Int_t seedpt=-1,Char_t *savename=0,Int_t nMaxEvents=-1)
36 TChain *theTree = new TChain("AJEPtree");
37 theTree->Add(filename);
38 AliJetEventParticles *ev=new AliJetEventParticles();
39 theTree->SetBranchAddress("particles",&ev);
41 Int_t treeentries=(Int_t)theTree->GetEntries();
42 if((nMaxEvents<0) || (nMaxEvents>treeentries))
43 nMaxEvents=treeentries;
44 //cout << "Found " << nMaxEvents << " in " << filename << endl;
46 // create the jet finder
48 AliTkConeJetFinderV2 *ConeFinder = new AliTkConeJetFinderV2();
49 ConeFinder->defaultSettings();
50 //ConeFinder->setSettings(120,40);
51 if(gErrorIgnoreLevel<=kWarning)
52 ConeFinder->setOutput(kTRUE);
54 ConeFinder->setEtMinJet(5.);
56 ConeFinder->setEtMinJet(seedpt);
57 ConeFinder->setPtCut(ptcut);
58 ConeFinder->setEtCut(seedpt);
59 ConeFinder->setRadius(radius);
60 if(savename) sprintf(buffer,"%s",savename);
63 strncpy(buffer2,filename,strlen(filename)-5);
64 buffer2[strlen(filename)-5]='\0';
65 sprintf(buffer,"%s-thresh-%.1f-rad-%.1f.cone.evout.root",buffer2,ptcut,radius);
67 ConeFinder->setEvOutFilename(buffer);
70 //=========================================================================
71 // start the event loop
72 //=========================================================================
73 TStopwatch *stopwatch=new TStopwatch();
75 while(nEvent<nMaxEvents){
78 theTree->GetEvent(nEvent);
80 //const AliJetEventParticles *ev=reader->GetEventParticles();
81 if(gErrorIgnoreLevel<=kWarning){
82 cout << "Read event: " << nEvent << endl;
85 TString dummy="Counter: ";
90 ConeFinder->initEvent(ev,dummy);
92 ConeFinder->finishEvent();
93 if(gErrorIgnoreLevel<=kWarning){
94 cout << "JetFinding done: CPU time " << stopwatch->CpuTime()
95 << " Real Time " << stopwatch->RealTime() << endl;
101 ConeFinder->finish();
109 void findChargedJets(Char_t *filename,Float_t ptcut=1.0,Float_t radius=0.3,
110 Int_t seedpt=10,Char_t *savename=0,Int_t nMaxEvents=-1)
113 TChain *theTree = new TChain("AJEPtree");
114 theTree->Add(filename);
115 AliJetEventParticles *ev=new AliJetEventParticles();
116 theTree->SetBranchAddress("particles",&ev);
118 Int_t treeentries=(Int_t)theTree->GetEntries();
119 if((nMaxEvents<0) || (nMaxEvents>treeentries))
120 nMaxEvents=treeentries;
121 //cout << "Found " << nMaxEvents << " in " << filename << endl;
123 // create the jet finder
125 AliTkChargedJetFinder *ChFinder = new AliTkChargedJetFinder();
126 ChFinder->defaultSettings();
127 // if(gErrorIgnoreLevel<=kWarning)
128 ChFinder->setOutput(kTRUE);
129 ChFinder->setEtMinJet(seedpt);
130 ChFinder->setPtCut(ptcut);
131 ChFinder->setPtSeed(seedpt);
132 ChFinder->setRadius(radius);
133 if(savename) sprintf(buffer,"%s",savename);
135 Char_t buffer2[8096];
136 strncpy(buffer2,filename,strlen(filename)-5);
137 buffer2[strlen(filename)-5]='\0';
138 sprintf(buffer,"%s-thresh-%.1f-rad-%.1f.charged.evout.root",buffer2,ptcut,radius);
140 ChFinder->setEvOutFilename(buffer);
143 //=========================================================================
144 // start the event loop
145 //=========================================================================
146 TStopwatch *stopwatch=new TStopwatch();
148 while(nEvent<nMaxEvents){
151 theTree->GetEvent(nEvent);
153 // const AliJetEventParticles *ev=reader->GetEventParticles();
154 if(gErrorIgnoreLevel<=kWarning){
155 cout << "Read event: " << nEvent << endl;
158 TString dummy="Counter: ";
163 ChFinder->initEvent(ev,dummy);
165 ChFinder->finishEvent();
167 if(gErrorIgnoreLevel<=kWarning){
168 cout << "JetFinding done: CPU time:" << stopwatch->CpuTime()
169 << " Real Time:" << stopwatch->RealTime() << endl;