]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TPC/CalibMacros/AliTPCCorrectionDemo.C
Reduce memory consumption
[u/mrichter/AliRoot.git] / TPC / CalibMacros / AliTPCCorrectionDemo.C
CommitLineData
0116859c 1void AliTPCCorrectionDemo() {
2
3 //
4 // This is a Demo function of the general class AliTPCCorrection, which is used for
5 // general space point correction due to different effects.
6 // The effects used in this Demo are:
7 // 1. ExB twist - general offset of the TPC axis in comparison to the B field axis
8 // 2. GG error (Gating Grid volt. error) - not perfectly aligned GG voltage (in terms of voltage)
9 // 3. ExBBShape - B field shape correction of the secound order
10 //
11 // See class descriptions for further details
12 //
13 // Authors: Magnus Mager, Stefan Rossegger, Jim Thomas
14 //
15 //
16 // omegaTau (wt) of the langevin equation
17 // This is a function of the drift vel., the magnetic and electric field
18 // e.g. vd=2.6 cm/usc; Ez=400 V/cm; Bz=0.5 T
19 // wt = -10.0*(Bz*10)*vd/Ez = -0.325
20
21 Double_t vdrift = 2.6; // [cm/us] // to be updated: per second (ideally)
22 Double_t bzField = -0.5; // [Tesla] // to be updated: per run
23 Double_t ezField = 400; // [V/cm] // to be updated: never (hopefully)
24 Double_t wt = -10.0 * (bzField*10) * vdrift / ezField ;
25
26 // Correction Terms for effective omegaTau; obtained by a laser calibration run
27 Double_t T1 = 0.9;
28 Double_t T2 = 1.5;
29
30 AliMagF mag("mag","mag");
31
32 AliTPCExBTwist twist;
33 twist.SetXTwist(0.001);
34
35 AliTPCGGVoltError GGerror;
36 GGerror.SetDeltaVGGA(50.);
37 GGerror.SetDeltaVGGC(50.);
38 GGerror.InitGGVoltErrorDistortion();
39
40 AliTPCExBBShape exb;
41 exb.SetBField(&mag);
42
43 TObjArray cs;
44 cs.Add(&twist);
45 cs.Add(&GGerror);
46 cs.Add(&exb);
47
48 AliTPCComposedCorrection cc;
49 cc.SetCorrections(&cs);
50 cc.SetOmegaTauT1T2(wt,T1,T2);
51 cc.SetMode(1);
52
53 cc.Print("DA"); // Print used correction classes
54
55 TCanvas *c=new TCanvas; // Plots
56 c->Divide(2,2);
57 c->cd(1);twist.CreateHistoDRPhiinZR(1.,100,100)->Draw("surf2");
58 c->cd(2);GGerror.CreateHistoDRPhiinZR(1.,100,100)->Draw("surf2");
59 c->cd(3);exb.CreateHistoDRPhiinZR(1.)->Draw("surf2");
60 c->cd(4);cc.CreateHistoDRPhiinZR(1.)->Draw("surf2");
61}