1 // ----------------------------------------------------//
3 // This macro reads the PMD clusters, //
4 // does photon/hadron discrimination //
5 // and stores in the ESD //
7 // ----------------------------------------------------//
11 #include "TStopwatch.h"
13 extern AliRun *gAlice;
15 Int_t AliESDPmdTest(Int_t nevent = 1)
19 delete gAlice->GetRunLoader();
20 delete gAlice;//if everything was OK here it is already NULL
24 AliRunLoader *fRunLoader = AliRunLoader::Open("galice.root");
27 cerr<<"Can't load RunLoader"<<endl;
30 fRunLoader->LoadgAlice();
31 gAlice = fRunLoader->GetAliRun();
33 AliLoader *pmdloader = fRunLoader->GetLoader("PMDLoader");
34 // Int_t nevent = fRunLoader->GetNumberOfEvents();
35 cout << " ************ nevent = " << nevent << endl;
39 cerr<<" ===> Can not find PMD or PMDLoader <===\n";
43 pmdloader->LoadRecPoints("READ");
45 TFile *bf=TFile::Open("AliESDcheck.root","RECREATE");
46 if (!bf || !bf->IsOpen()) {
47 cerr<<"Can't open AliESDcheck.root !\n"; return 1;
52 for (Int_t ievt = 0; ievt < nevent; ievt++)
55 AliESD *event=new AliESD();
57 event->SetRunNumber(run);
58 event->SetEventNumber(ievt);
60 fRunLoader->GetEvent(ievt);
61 TTree *treeR = pmdloader->TreeR();
64 cout << " Can not get TreeR" << endl;
67 AliPMDtracker *pmdtracker = new AliPMDtracker();
68 pmdtracker->LoadClusters(treeR);
69 pmdtracker->Clusters2Tracks(event);
72 sprintf(ename,"in%d",ievt);
73 event->Write(ename); bf->Flush();