+ TFile *refFile=TFile::Open(fname,"old");
+ if (!refFile || !refFile->IsOpen()) {
+ ::Info("AliTPCComparison.C","Marking good tracks (will take a while)...");
+ if (GoodTracksTPC(dir)) {
+ ::Error("AliTPCComparison.C","Can't generate the reference file !");
+ return 1;
+ }
+ }
+ refFile=TFile::Open(fname,"old");
+ if (!refFile || !refFile->IsOpen()) {
+ ::Error("AliTPCComparison.C","Can't open the reference file !");
+ return 2;
+ }
+
+ TTree *tpcTree=(TTree*)refFile->Get("tpcTree");
+ if (!tpcTree) {
+ ::Error("AliTPCComparison.C","Can't get the reference tree !");
+ return 3;
+ }
+ TBranch *branch=tpcTree->GetBranch("TPC");
+ if (!branch) {
+ ::Error("AliTPCComparison.C","Can't get the TPC branch !");
+ return 4;
+ }
+ TClonesArray dummy("AliTrackReference",1000), *refs=&dummy;
+ branch->SetAddress(&refs);
+
+
+ sprintf(fname,"%s/AliESDs.root",dir);
+ TFile *ef=TFile::Open(fname);
+ if ((!ef)||(!ef->IsOpen())) {
+ sprintf(fname,"%s/AliESDtpc.root",dir);
+ ef=TFile::Open(fname);
+ if ((!ef)||(!ef->IsOpen())) {
+ ::Error("AliTPCComparison.C","Can't open AliESDtpc.root !");
+ return 5;
+ }
+ }
+ AliESDEvent* event = new AliESDEvent();
+ TTree* esdTree = (TTree*) ef->Get("esdTree");
+ if (!esdTree) {
+ ::Error("AliTPCComparison.C", "no ESD tree found");
+ return 6;
+ }
+ event->ReadFromTree(esdTree);