1a32ac834942cfb53cf3159575929d1196b0218b
[u/mrichter/AliRoot.git] / TPC / AliTPCHits2Digits.C
1
2 void AliTPCHits2Digits(const  char * name= "pokusD_")
3 {
4  
5   // Dynamically link some shared libs
6         if (gClassTable->GetID("AliRun") < 0) {
7         gROOT->LoadMacro("loadlibs.C");
8       loadlibs();
9      }
10   
11    //names of trees
12    const char * inFile = "galice.root";
13    //   const * char ident= "TreeD1par_";
14
15 // Connect the Root Galice file containing Geometry, Kine and Hits
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
20
21    if(gAlice){
22      delete gAlice;
23      gAlice=0;
24    }
25       if (!gAlice) {
26       gAlice = (AliRun*)file->Get("gAlice");
27       if (gAlice) printf("AliRun object found on file\n");
28       if (!gAlice) gAlice = new AliRun("gAlice","Alice test program");
29         }
30    gAlice->GetEvent(0);
31    AliTPC *TPC = (AliTPC*)gAlice->GetModule("TPC");      
32    TPC->Dump();
33    //adjust parameters
34   
35   AliTPCD *paramd = TPC->GetDigParam();
36   paramd->Dump();
37   paramd->SetName("Param1");  
38   paramd->MakeTree();
39   //set pointers to parameters
40   paramd->Dump();
41   AliTPCParam &param = paramd->GetParam();
42   AliTPCPRF2D &prf = paramd->GetPRF2D();
43   AliTPCRF1D  & rf  = paramd->GetRF();
44   
45   param.SetPadLength(2.05);
46   param.SetPadWidth(0.35);
47   param.SetPadPitchLength(2.05);
48   param.SetPadPitchWidth(0.35);
49   param.SetNWires(5);
50   param.SetZeroSup(5);
51   param.SetDiffT(0.022);
52   param.SetDiffL(0.022);
53   param.SetNoise(500);
54   param.SetGasGain(1.e4);
55   param.SetChipGain(24); 
56   param.SetSectorAngles(40.,0.,20.,10.);
57   param.SetInnerRadiusLow(83.7);
58   param.SetInnerRadiusUp(132.9);
59   param.SetOuterRadiusLow(146.9);
60   param.SetOuterRadiusUp(249.4);     
61   param.Update();
62
63     //Set z (time) response function
64   rf.SetGauss(param.GetZSigma(),param.GetZWidth(),0.4);
65   rf.Update();
66   //Set two dimensional pad response function
67   TFile f("TPC/AliTPCprf2d.root");
68   //  prf.Read("prf_205035_Gati_062074_d03");
69   prf.Read("prf_205035_Gati_062074_d03");
70   f.Close();
71   
72   printf("**********Digit object dump start********************\n");
73   paramd->Dump();
74   printf("**********AliTPCParam**************************\n");
75   param.Dump();
76   printf("**********Time response function***************\n");
77   rf.Dump();
78   printf("**********Pad response function params*********\n");
79   prf.Dump();
80   printf("**********Digit object dump end********************\n");
81
82    TPC->Hits2DigitsSector(0);     
83          
84  
85    file->cd();
86    TPC->GetDigParam()->Write();
87 };
88
89