]>
Commit | Line | Data |
---|---|---|
73042f01 | 1 | Int_t AliTPCHits2Digits() |
8c555625 | 2 | { |
50d005ae | 3 | |
73042f01 | 4 | // new version by J.Belikov |
50d005ae | 5 | |
6 | // Connect the Root Galice file containing Geometry, Kine and Hits | |
73042f01 | 7 | |
106ea0fc | 8 | const char * inFile_old = "galice.root"; |
9 | const char * inFile_new = "rfio:galice.root"; | |
10 | TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject(inFile_old); | |
73042f01 | 11 | if (file) {file->Close(); delete file;} |
03b6834e | 12 | file = TFile::Open(inFile_new,"UPDATE"); |
73042f01 | 13 | if (!file->IsOpen()) { |
106ea0fc | 14 | cerr<<"Can't open "<<inFile_new<<" !\n"; |
73042f01 | 15 | return 1; |
16 | } | |
50d005ae | 17 | |
73042f01 | 18 | // Get AliRun object from file or create it if not on file |
19 | if (gAlice) delete gAlice; | |
50d005ae | 20 | gAlice = (AliRun*)file->Get("gAlice"); |
73042f01 | 21 | if (!gAlice) { |
22 | cerr<<"AliTPCHits2Digits.C : AliRun object not found on file\n"; | |
23 | return 2; | |
24 | } | |
50d005ae | 25 | |
26 | gAlice->GetEvent(0); | |
27 | AliTPC *TPC = (AliTPC*)gAlice->GetDetector("TPC"); | |
73042f01 | 28 | |
29 | //Set response functions | |
30 | ||
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()); | |
37 | rf->Update(); | |
38 | ||
39 | TDirectory *savedir=gDirectory; | |
40 | TFile *f=TFile::Open("$ALICE_ROOT/TPC/AliTPCprf2d.root"); | |
41 | if (!f->IsOpen()) { | |
42 | cerr<<"Can't open $ALICE_ROOT/TPC/AliTPCprf2d.root !\n" | |
43 | return 3; | |
44 | } | |
45 | prfinner->Read("prf_07504_Gati_056068_d02"); | |
46 | prfouter->Read("prf_10006_Gati_047051_d03"); | |
47 | f->Close(); | |
48 | savedir->cd(); | |
49 | ||
50 | param->SetInnerPRF(prfinner); | |
51 | param->SetOuterPRF(prfouter); | |
52 | param->SetTimeRF(rf); | |
53 | TPC->SetParam(param); | |
54 | ||
55 | cerr<<"Digitizing TPC...\n"; | |
56 | ||
50d005ae | 57 | //setup TPCDigitsArray |
58 | AliTPCDigitsArray *arr = new AliTPCDigitsArray; | |
59 | arr->SetClass("AliSimDigits"); | |
73042f01 | 60 | arr->Setup(param); |
61 | TPC->SetParam(param); | |
50d005ae | 62 | arr->MakeTree(); |
63 | ||
64 | TPC->SetDigitsArray(arr); | |
52fb0cee | 65 | TPC->Hits2Digits(); |
540dae5a | 66 | /* TPC->Hits2DigitsSector(1); |
50d005ae | 67 | TPC->Hits2DigitsSector(2); |
68 | TPC->Hits2DigitsSector(3); | |
69 | TPC->Hits2DigitsSector(1+18); | |
70 | TPC->Hits2DigitsSector(2+18); | |
71 | TPC->Hits2DigitsSector(3+18); | |
72 | ||
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); | |
540dae5a | 78 | TPC->Hits2DigitsSector(36+3+18); */ |
73042f01 | 79 | |
50d005ae | 80 | //write results |
73042f01 | 81 | |
50d005ae | 82 | char treeName[100]; |
73042f01 | 83 | sprintf(treeName,"TreeD_%s",param->GetTitle()); |
50d005ae | 84 | TPC->GetDigitsArray()->GetTree()->Write(treeName); |
73042f01 | 85 | |
86 | delete gAlice; gAlice=0; | |
87 | file->Close(); delete file; | |
88 | return 0; | |
8c555625 | 89 | }; |
90 |