]> git.uio.no Git - u/mrichter/AliRoot.git/blame - EVE/alice-macros/vzero_digits.C
Remove EVE/Reve/ sub-module.
[u/mrichter/AliRoot.git] / EVE / alice-macros / vzero_digits.C
CommitLineData
63192539 1// fV0CHeight1 = 2.5; // height of cell 1
2// fV0CHeight2 = 4.4; // height of cell 2
3// fV0CHeight3 = 7.4; // height of cell 3
4// fV0CHeight4 = 12.5; // height of cell 4
5// fV0CRMin = 4.6; // inner radius of box
6
7// fV0AR0 = 4.2; // Radius of hole
8// fV0AR1 = 7.6; // Maximun radius of 1st cell
9// fV0AR2 = 13.8; // Maximun radius of 2nd cell
10// fV0AR3 = 22.7; // Maximun radius of 3rd cell
11// fV0AR4 = 41.3; // Maximun radius of 4th cell
12
13void vzero_digits()
14{
15 static const Float_t RadC[] = { 4.6, 7.1, 11.5, 18.9, 31.4 };
16 static const Float_t RadA[] = { 4.2, 7.6, 13.8, 22.7, 41.4 };
17 static const Float_t RadEps = 0.4;
18 static const Float_t PhiEps = 0.025;
19 static const Float_t PhiStp = TMath::TwoPi()/8.0;
20
21 gStyle->SetPalette(1, 0);
22
23 AliRunLoader* rl = Alieve::Event::AssertRunLoader();
24 rl->LoadDigits("VZERO");
25
26 TTree* dt = rl->GetTreeD("VZERO", false);
27 TClonesArray* dca = 0;
28 dt->SetBranchAddress("VZERODigit", &dca);
29 dt->GetEntry(0);
30
31 Float_t v[12];
32
84aff7a4 33 TEveQuadSet* modR = new TEveQuadSet("V0R");
34 modR->Reset(TEveQuadSet::kQT_FreeQuad, kFALSE, 32);
63192539 35
84aff7a4 36 TEveQuadSet* modL = new TEveQuadSet("V0L");
37 modL->Reset(TEveQuadSet::kQT_FreeQuad, kFALSE, 32);
63192539 38
39 Int_t numEntr = dca->GetEntriesFast();
40 for (Int_t entr=0; entr<numEntr; ++entr)
41 {
42 AliVZEROdigit* d = (AliVZEROdigit*) dca->UncheckedAt(entr);
43 Int_t i = d->PMNumber();
44
45 if (i < 32) // V0 Right
46 {
84aff7a4 47 TEveQuadSet* module = modR;
63192539 48 Int_t ri = i / 8;
49 Int_t pi = i % 8;
50 Float_t minR = RadC[ri] + RadEps, maxR = RadC[ri+1] - RadEps;
51 Float_t minP = pi*PhiStp + PhiEps, maxP = (pi+1)*PhiStp - PhiEps;
52
53 v[ 0] = minR*TMath::Cos(minP); v[ 1] = minR*TMath::Sin(minP); v[ 2] = 0;
54 v[ 3] = maxR*TMath::Cos(minP); v[ 4] = maxR*TMath::Sin(minP); v[ 5] = 0;
55 v[ 6] = maxR*TMath::Cos(maxP); v[ 7] = maxR*TMath::Sin(maxP); v[ 8] = 0;
56 v[ 9] = minR*TMath::Cos(maxP); v[10] = minR*TMath::Sin(maxP); v[11] = 0;
57
58 module->AddQuad(v);
59 module->QuadValue(d->ADC());
60 module->QuadId(d);
61 }
62 else // V0 Left
63 {
84aff7a4 64 TEveQuadSet* module = modL;
63192539 65 Int_t ri = (i-32) / 8;
66 Int_t pi = i % 8;
67 Float_t minR = RadA[ri] + RadEps, maxR = RadA[ri+1] - RadEps;
68 Float_t minP = pi*PhiStp + PhiEps, maxP = (pi+1)*PhiStp - PhiEps;
69
70 v[ 0] = minR*TMath::Cos(minP); v[ 1] = minR*TMath::Sin(minP); v[ 2] = 0;
71 v[ 3] = maxR*TMath::Cos(minP); v[ 4] = maxR*TMath::Sin(minP); v[ 5] = 0;
72 v[ 6] = maxR*TMath::Cos(maxP); v[ 7] = maxR*TMath::Sin(maxP); v[ 8] = 0;
73 v[ 9] = minR*TMath::Cos(maxP); v[10] = minR*TMath::Sin(maxP); v[11] = 0;
74
75 module->AddQuad(v);
76 module->QuadValue(d->ADC());
77 module->QuadId(d);
78 }
79 }
80
81 modL->RefHMTrans().SetPos(0, 0, 324);
82 modR->RefHMTrans().SetPos(0, 0, -84);
83
84aff7a4 84 gEve->AddElement(modL);
85 gEve->AddElement(modR);
63192539 86
84aff7a4 87 gEve->Redraw3D();
63192539 88}