3 void TPCHits2ExactClusters()
6 cout<<"TPC Param Not Initialised\n";
9 // Dynamically link some shared libs
10 if (gClassTable->GetID("AliRun") < 0) {
11 gROOT->LoadMacro("loadlibs.C");
14 // Connect the Root Galice file containing Geometry, Kine and Hits
15 const char * inFile = "galice.root";
16 TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject(inFile);
17 if (file) file->Close();
18 file = new TFile(inFile,"UPDATE");
19 // Get AliRun object from file or create it if not on file
21 gAlice = (AliRun*)file->Get("gAlice");
22 if (gAlice) printf("AliRun object found on file\n");
23 if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
26 AliTPC *TPC = (AliTPC*)gAlice->GetDetector("TPC");
28 //setup AliTPCClustersArray
29 AliTPCClustersArray * arr=new AliTPCClustersArray;
30 arr->SetClusterType("AliCluster");
31 arr->Setup(gTPCParam);
32 TPC->SetParam(gTPCParam);
35 TPC->SetClustersArray(arr);
36 TPC->Hits2ExactClustersSector(0);
39 sprintf(treeName,"TreeCExact_%s",gTPCParam->GetTitle());
40 TPC->GetClustersArray()->GetTree()->Write(treeName);
44 AliTPCClustersArray * GetExactClustersArray(Bool_t newtree=kFALSE, const char* name=0 )
46 AliTPCClustersArray * arr;
47 if ( (gAlice!=0) && (gAlice->GetDetector("TPC")!=0) ) {
48 arr = ((AliTPC*)gAlice->GetDetector("TPC"))->GetClustersArray();
49 if (arr!=0) arr->Update();
52 arr = new AliTPCClustersArray;
53 TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");
54 if (file==0) file = new TFile("galice.root","update");
55 arr->SetClusterType("AliCluster");
56 arr->Setup(gTPCParam);
57 cout<<"Update status : "<<arr->Update()<<"\n";
60 sprintf(treeName,"TreeCExact_%s",gTPCParam->GetTitle());
61 else sprintf(treeName,"TreeCExact_%s",name);
63 cout<<"Connect tree status : "<<arr->ConnectTree(treeName)<<"\n";