2 // You have to load the class before ... ;-)
5 //void standardPlots() {
7 void testDetectorUp() {
10 DetectorK its("ALICE","ITS");
12 its.AddLayer((char*)"bpipe",2.0.0,0.0022);
13 its.AddLayer((char*)"vertex", 0, 0); // dummy vertex for matrix calculation
14 // new ideal Pixel properties?
15 Double_t x0IB = 0.003;
16 Double_t x0OB = 0.008;
17 Double_t resRPhiIB = 0.0004;
18 Double_t resZIB = 0.0004;
19 Double_t resRPhiOB = 0.0004;
20 Double_t resZOB = 0.0004;
24 its.AddLayer((char*)"ddd1", 2.32 , x0IB, resRPhiIB, resZIB,eff);
25 its.AddLayer((char*)"ddd2", 3.13 , x0IB, resRPhiIB, resZIB,eff);
26 its.AddLayer((char*)"ddd3", 3.91 , x0IB, resRPhiIB, resZIB,eff);
27 its.AddLayer((char*)"ddd4", 19.41, x0OB, resRPhiOB, resZOB,eff);
28 its.AddLayer((char*)"ddd5", 24.71 , x0OB, resRPhiOB, resZOB,eff);
29 its.AddLayer((char*)"ddd6", 35.33 , x0OB, resRPhiOB, resZOB,eff);
30 its.AddLayer((char*)"ddd7", 40.53 , x0OB, resRPhiOB, resZOB,eff);
34 its.AddLayer((char*)"ddd1", 2.32 , x0IB, resRPhiIB, resZIB,eff);
35 its.AddLayer((char*)"ddd2", 3.13 , x0IB, resRPhiIB, resZIB,eff);
36 its.AddLayer((char*)"ddd3", 3.91 , x0IB, resRPhiIB, resZIB,eff);
37 its.AddLayer((char*)"ddd4", 19.41+5, x0OB, resRPhiOB, resZOB,eff);
38 its.AddLayer((char*)"ddd5", 24.71+5, x0OB, resRPhiOB, resZOB,eff);
39 // its.AddLayer((char*)"ddd4", 5., x0OB, resRPhiOB, resZOB,eff);
40 // its.AddLayer((char*)"ddd5", 32. , x0OB, resRPhiOB, resZOB,eff);
41 its.AddLayer((char*)"ddd6", 35.33 , x0OB, resRPhiOB, resZOB,eff);
42 its.AddLayer((char*)"ddd7", 40.53 , x0OB, resRPhiOB, resZOB,eff);
45 its.SetAtLeastHits(5);
46 its.SetAtLeastCorr(5);
47 its.SetAtLeastFake(1);
50 its.SolveViaBilloir(0);
52 its.MakeStandardPlots(0,2,1,kTRUE);
55 // its.AddTRD(0.02,2.5);
56 its.SolveViaBilloir(0);
58 its.MakeStandardPlots(1,1,1,kTRUE);
59 // its.PrintLayout(1);
62 void testDetectorCurr() {
63 DetectorK its("ALICE","ITS");
64 its.MakeAliceCurrent(0,0);
65 its.SetAtLeastCorr(4);
66 its.SetAtLeastFake(1);
68 its.SolveViaBilloir(0);
70 its.MakeStandardPlots(0,2,1,kTRUE);
73 its.SolveViaBilloir(0);
75 its.MakeStandardPlots(1,1,1,kTRUE);
79 void particleDependendResolution() {
80 // particle dependency on resolution
84 Detector its("ALICE","ITS");
86 its.MakeAliceCurrent();
90 its.SolveViaBilloir(0);
92 its.SetRadius("bpipe",2.1);
93 its.AddLayer("spd0",2.2,0.001,0.0012,0.0012);
95 TCanvas *c1 = new TCanvas("c1","c1");
98 c1->cd(1); gPad->SetGridx(); gPad->SetGridy();
99 gPad->SetLogx(); //gPad->SetLogy();
100 c1->cd(2); gPad->SetGridx(); gPad->SetGridy();
101 gPad->SetLogx(); //gPad->SetLogy();
104 // compare to telescope equation ?
105 // c1->cd(1); its.GetGraphPointingResolutionTeleEqu(0,1)->Draw("AC");
106 // c1->cd(2); its.GetGraphPointingResolutionTeleEqu(1,1)->Draw("AC");
108 its.SetParticleMass(0.140); // pion
109 its.SolveViaBilloir(0,0);
110 c1->cd(1); its.GetGraphPointingResolution(0,1)->Draw("AC");
111 c1->cd(2); its.GetGraphPointingResolution(1,1)->Draw("AC");
113 its.SetParticleMass(0.498); // kaon
114 its.SolveViaBilloir(0,0);
115 c1->cd(1); its.GetGraphPointingResolution(0,2)->Draw("C");
116 c1->cd(2); its.GetGraphPointingResolution(1,2)->Draw("C");
118 its.SetParticleMass(0.00051); // electron
119 its.SolveViaBilloir(0,0);
120 c1->cd(1); its.GetGraphPointingResolution(0,3)->Draw("C");
121 c1->cd(2); its.GetGraphPointingResolution(1,3)->Draw("C");
123 its.SetParticleMass(0.938); // proton
124 its.SolveViaBilloir(0,0);
125 c1->cd(1); its.GetGraphPointingResolution(0,4)->Draw("C");
126 c1->cd(2); its.GetGraphPointingResolution(1,4)->Draw("C");