#if !defined(__CINT__) || defined(__MAKECINT__)
#include <Riostream.h>
#include "AliCascadeVertexer.h"
#include "TFile.h"
#include "TKey.h"
#include "TStopwatch.h"
#include "AliRun.h"
#include "AliESD.h"
#include "AliTracker.h"
#include "AliRunLoader.h"
#endif
Int_t AliCascadeFindVertices(Int_t nev=5) {
cerr<<"Looking for cascade vertices...\n";
if (gAlice) {
delete AliRunLoader::Instance();
delete gAlice;
gAlice=0;
}
AliRunLoader* rl = AliRunLoader::Open("galice.root");
if (rl == 0x0) {
cerr<<"AliCascadeFindVertices.C : Can not open session RL=NULL"<< endl;
return 1;
}
if (rl->LoadgAlice()) {
cerr<<"AliV0FindVertices.C : LoadgAlice returned error"<<endl;
delete rl;
return 3;
}
// Magnetic field
AliTracker::SetFieldMap(gAlice->Field(),1); // 1 means uniform magnetic field
Double_t cuts[]={33., // max. allowed chi2
0.05, // min. allowed V0 impact parameter
0.008, // window around the Lambda mass
0.035, // min. allowed bachelor's impact parameter
0.10, // max. allowed DCA between a V0 and a track
0.9985,// max. allowed cosine of the cascade pointing angle
0.9, // min. radius of the fiducial volume
2.9 // max. radius of the fiducial volume
};
TStopwatch timer;
AliCascadeVertexer *vertexer=new AliCascadeVertexer(cuts);
Int_t rc=0;
if (nev>rl->GetNumberOfEvents()) nev=rl->GetNumberOfEvents();
TFile *casf=TFile::Open("AliESDcas.root","RECREATE");
if ((!casf)||(!casf->IsOpen())) {
cerr<<"Can't AliESDcas.root !\n"; return 1;
}
TFile *v0f=TFile::Open("AliESDv0.root");
if ((!v0f)||(!v0f->IsOpen())) {
cerr<<"Can't AliESDv0.root !\n"; return 1;
}
TKey *key=0;
TIter next(v0f->GetListOfKeys());
for (Int_t i=0; i<nev; i++) {
v0f->cd();
if ((key=(TKey*)next())==0) break;
cerr<<"Processing event number: "<<i<<endl;
AliESD *event=(AliESD*)key->ReadObj();
rc=vertexer->V0sTracks2CascadeVertices(event);
if (rc==0) {
Char_t ename[100];
sprintf(ename,"%d",i);
casf->cd();
if (!event->Write(ename)) rc++;
}
if (rc) {
cerr<<"Something bad happened...\n";
}
delete event;
}
delete vertexer;
timer.Stop(); timer.Print();
v0f->Close();
casf->Close();
delete rl;
return rc;
}
AliCascadeFindVertices.C:1 AliCascadeFindVertices.C:2 AliCascadeFindVertices.C:3 AliCascadeFindVertices.C:4 AliCascadeFindVertices.C:5 AliCascadeFindVertices.C:6 AliCascadeFindVertices.C:7 AliCascadeFindVertices.C:8 AliCascadeFindVertices.C:9 AliCascadeFindVertices.C:10 AliCascadeFindVertices.C:11 AliCascadeFindVertices.C:12 AliCascadeFindVertices.C:13 AliCascadeFindVertices.C:14 AliCascadeFindVertices.C:15 AliCascadeFindVertices.C:16 AliCascadeFindVertices.C:17 AliCascadeFindVertices.C:18 AliCascadeFindVertices.C:19 AliCascadeFindVertices.C:20 AliCascadeFindVertices.C:21 AliCascadeFindVertices.C:22 AliCascadeFindVertices.C:23 AliCascadeFindVertices.C:24 AliCascadeFindVertices.C:25 AliCascadeFindVertices.C:26 AliCascadeFindVertices.C:27 AliCascadeFindVertices.C:28 AliCascadeFindVertices.C:29 AliCascadeFindVertices.C:30 AliCascadeFindVertices.C:31 AliCascadeFindVertices.C:32 AliCascadeFindVertices.C:33 AliCascadeFindVertices.C:34 AliCascadeFindVertices.C:35 AliCascadeFindVertices.C:36 AliCascadeFindVertices.C:37 AliCascadeFindVertices.C:38 AliCascadeFindVertices.C:39 AliCascadeFindVertices.C:40 AliCascadeFindVertices.C:41 AliCascadeFindVertices.C:42 AliCascadeFindVertices.C:43 AliCascadeFindVertices.C:44 AliCascadeFindVertices.C:45 AliCascadeFindVertices.C:46 AliCascadeFindVertices.C:47 AliCascadeFindVertices.C:48 AliCascadeFindVertices.C:49 AliCascadeFindVertices.C:50 AliCascadeFindVertices.C:51 AliCascadeFindVertices.C:52 AliCascadeFindVertices.C:53 AliCascadeFindVertices.C:54 AliCascadeFindVertices.C:55 AliCascadeFindVertices.C:56 AliCascadeFindVertices.C:57 AliCascadeFindVertices.C:58 AliCascadeFindVertices.C:59 AliCascadeFindVertices.C:60 AliCascadeFindVertices.C:61 AliCascadeFindVertices.C:62 AliCascadeFindVertices.C:63 AliCascadeFindVertices.C:64 AliCascadeFindVertices.C:65 AliCascadeFindVertices.C:66 AliCascadeFindVertices.C:67 AliCascadeFindVertices.C:68 AliCascadeFindVertices.C:69 AliCascadeFindVertices.C:70 AliCascadeFindVertices.C:71 AliCascadeFindVertices.C:72 AliCascadeFindVertices.C:73 AliCascadeFindVertices.C:74 AliCascadeFindVertices.C:75 AliCascadeFindVertices.C:76 AliCascadeFindVertices.C:77 AliCascadeFindVertices.C:78 AliCascadeFindVertices.C:79 AliCascadeFindVertices.C:80 AliCascadeFindVertices.C:81 AliCascadeFindVertices.C:82 AliCascadeFindVertices.C:83 AliCascadeFindVertices.C:84 AliCascadeFindVertices.C:85 AliCascadeFindVertices.C:86 AliCascadeFindVertices.C:87 AliCascadeFindVertices.C:88 AliCascadeFindVertices.C:89 AliCascadeFindVertices.C:90 AliCascadeFindVertices.C:91