1 Int_t AliTPCHits2Digits()
4 // new version by J.Belikov
6 // Connect the Root Galice file containing Geometry, Kine and Hits
8 const char * inFile_old = "galice.root";
9 const char * inFile_new = "rfio:galice.root";
10 TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject(inFile_old);
11 if (file) {file->Close(); delete file;}
12 file = new TFile(inFile_new,"UPDATE");
13 if (!file->IsOpen()) {
14 cerr<<"Can't open "<<inFile_new<<" !\n";
18 // Get AliRun object from file or create it if not on file
19 if (gAlice) delete gAlice;
20 gAlice = (AliRun*)file->Get("gAlice");
22 cerr<<"AliTPCHits2Digits.C : AliRun object not found on file\n";
27 AliTPC *TPC = (AliTPC*)gAlice->GetDetector("TPC");
29 //Set response functions
31 AliTPCParamSR *param=(AliTPCParamSR*)gDirectory->Get("75x40_100x60");
32 AliTPCPRF2D * prfinner = new AliTPCPRF2D;
33 AliTPCPRF2D * prfouter = new AliTPCPRF2D;
34 AliTPCRF1D * rf = new AliTPCRF1D(kTRUE);
35 rf->SetGauss(param->GetZSigma(),param->GetZWidth(),1.);
36 rf->SetOffset(3*param->GetZSigma());
39 TDirectory *savedir=gDirectory;
40 TFile *f=TFile::Open("$ALICE_ROOT/TPC/AliTPCprf2d.root");
42 cerr<<"Can't open $ALICE_ROOT/TPC/AliTPCprf2d.root !\n"
45 prfinner->Read("prf_07504_Gati_056068_d02");
46 prfouter->Read("prf_10006_Gati_047051_d03");
50 param->SetInnerPRF(prfinner);
51 param->SetOuterPRF(prfouter);
55 cerr<<"Digitizing TPC...\n";
57 //setup TPCDigitsArray
58 AliTPCDigitsArray *arr = new AliTPCDigitsArray;
59 arr->SetClass("AliSimDigits");
64 TPC->SetDigitsArray(arr);
66 /* TPC->Hits2DigitsSector(1);
67 TPC->Hits2DigitsSector(2);
68 TPC->Hits2DigitsSector(3);
69 TPC->Hits2DigitsSector(1+18);
70 TPC->Hits2DigitsSector(2+18);
71 TPC->Hits2DigitsSector(3+18);
73 TPC->Hits2DigitsSector(36+1);
74 TPC->Hits2DigitsSector(36+2);
75 TPC->Hits2DigitsSector(36+3);
76 TPC->Hits2DigitsSector(36+1+18);
77 TPC->Hits2DigitsSector(36+2+18);
78 TPC->Hits2DigitsSector(36+3+18); */
83 sprintf(treeName,"TreeD_%s",param->GetTitle());
84 TPC->GetDigitsArray()->GetTree()->Write(treeName);
86 delete gAlice; gAlice=0;
87 file->Close(); delete file;