3 AliRunLoader* rl = Alieve::Event::AssertRunLoader();
6 AliEMCAL * emcal = (AliEMCAL*) rl->GetAliRun()->GetDetector("EMCAL");
7 AliEMCALGeometry * geom = emcal->GetGeometry();
9 rl->LoadDigits("EMCAL");
10 TTree* dt = rl->GetTreeD("EMCAL", kFALSE);
12 gGeoManager = gReve->GetGeometry("$REVESYS/alice-data/alice_fullgeo.root");
13 TGeoNode* node = gGeoManager->GetTopVolume()->FindNode("XEN1_1");
15 TGeoBBox* bbbox = (TGeoBBox*) node->GetDaughter(0) ->GetVolume()->GetShape();
17 TGeoBBox* sbbox = (TGeoBBox*) node->GetDaughter(10)->GetVolume()->GetShape();
20 Reve::RenderElementList* l = new Reve::RenderElementList("EMCAL");
21 l->SetTitle("Tooltip");
22 gReve->AddRenderElement(l);
24 Reve::FrameBox* frame_big = new Reve::FrameBox();
25 frame_big->SetAABoxCenterHalfSize(0, 0, 0, bbbox->GetDX(), bbbox->GetDY(), bbbox->GetDZ());
27 Reve::FrameBox* frame_sml = new Reve::FrameBox();
28 frame_sml->SetAABoxCenterHalfSize(0, 0, 0, sbbox->GetDX(), sbbox->GetDY(), sbbox->GetDZ());
30 gStyle->SetPalette(1, 0);
31 Reve::RGBAPalette* pal = new Reve::RGBAPalette(0, 512);
32 pal->SetLimits(0, 1024);
34 Reve::QuadSet* smodules[12];
36 for (Int_t sm=0; sm<12; ++sm)
38 Reve::QuadSet* q = new Reve::QuadSet(Form("SM %d", sm+1));
40 q->Reset(Reve::QuadSet::QT_RectangleYZFixedDimX, kFALSE, 32);
41 q->SetDefWidth (geom->GetPhiTileSize());
42 q->SetDefHeight(geom->GetEtaTileSize());
44 q->RefHMTrans().SetFrom(*node->GetDaughter(sm)->GetMatrix());
46 q->SetFrame(sm < 10 ? frame_big : frame_sml);
49 gReve->AddRenderElement(l, q);
53 TClonesArray *digits = 0;
54 dt->SetBranchAddress("EMCAL", &digits);
56 Int_t nEnt = digits->GetEntriesFast();
71 for(Int_t idig = 0; idig<nEnt; idig++)
73 dig = static_cast<AliEMCALDigit *>(digits->At(idig));
76 id = dig->GetId() ; //cell (digit) label
77 amp = dig->GetAmp(); //amplitude in cell (digit)
78 time = dig->GetTime();//time of creation of digit after collision
80 cout<<"Cell ID "<<id<<" Amp "<<amp<<endl;//" time "<<time<<endl;
83 geom->GetCellIndex(id,iSupMod,iTower,iIphi,iIeta);
84 //Gives SuperModule and Tower numbers
85 geom->GetCellPhiEtaIndexInSModule(iSupMod,iTower,
86 iIphi, iIeta,iphi,ieta);
87 //Gives label of cell in eta-phi position per each supermodule
89 cout<< "SModule "<<iSupMod<<"; Tower "<<iTower
90 <<"; Eta "<<iIeta<<"; Phi "<<iIphi
91 <<"; Cell Eta "<<ieta<<"; Cell Phi "<<iphi<<endl;
93 geom->RelPosCellInSModule(id, x, y, z);
94 cout << x <<" "<< y <<" "<< z <<endl;
96 Reve::QuadSet* q = smodules[iSupMod];
101 cout<<"Digit pointer 0x0"<<endl;
105 for (Int_t sm=0; sm<12; ++sm)
107 smodules[iSupMod]->RefitPlex();