2 #if !defined(__CINT__) || defined(__MAKECINT__)
13 #include <TBenchmark.h>
19 #include <TGeoManager.h>
22 #include "AliHeader.h"
23 #include "AliTrackReference.h"
24 #include "AliRunLoader.h"
26 #include "AliESDEvent.h"
27 #include "AliESDtrack.h"
29 #include "UPGRADE/AliITSUClusterPix.h"
30 #include "UPGRADE/AliITSULoader.h"
31 #include "UPGRADE/AliITSUGeomTGeo.h"
35 Int_t check_radii(const Char_t *dir=".") {
36 TFile *f=TFile::Open("xyz.root","recreate");
37 TNtuple *nt=new TNtuple("nt","my ntuple","x:y:z");
40 delete AliRunLoader::Instance();
41 delete gAlice;//if everything was OK here it is already NULL
46 sprintf(fname,"%s/galice.root",dir);
48 AliRunLoader *rl = AliRunLoader::Open(fname,"COMPARISON");
50 ::Error("GoodTracksITS","Can't start session !");
58 AliITSULoader* itsl = (AliITSULoader*)rl->GetLoader("ITSLoader");
60 ::Error("GoodTracksITS","Can not find the ITSLoader");
64 itsl->LoadRecPoints();
66 TGeoManager::Import("geometry.root");
67 AliITSUGeomTGeo* gm = new AliITSUGeomTGeo(kTRUE,kTRUE);
68 AliITSUClusterPix::SetGeom(gm);
70 Int_t nev=rl->GetNumberOfEvents();
71 ::Info("GoodTracksITS","Number of events : %d\n",nev);
73 //******** Loop over generated events
74 for (Int_t e=0; e<nev; e++) {
79 TTree *cTree=itsl->TreeR();
81 ::Error("GoodTracksITS","Can't get the cluster tree !");
86 const Int_t nLayers=7;
87 TBranch *branch[nLayers];
88 TClonesArray clusters[nLayers];
89 for (Int_t layer=0; layer<nLayers; layer++) {
91 new(clusters+layer) TClonesArray("AliITSUClusterPix",1000);
93 sprintf(bname,"ITSRecPoints%d\0",layer);
94 branch[layer]=cTree->GetBranch(bname);
96 ::Error("GoodTracksITS","Can't get the clusters branch !");
100 branch[layer]->SetAddress(&ptr);
103 Int_t entr=(Int_t)cTree->GetEntries();
104 for (k=0; k<entr; k++) {
106 for (Int_t lay=0; lay<nLayers; lay++) {
107 Int_t ncl=clusters[lay].GetEntriesFast(); if (ncl==0) continue;
109 AliITSUClusterPix *pnt=
110 (AliITSUClusterPix*)clusters[lay].UncheckedAt(ncl);
112 pnt->GetGlobalXYZ(g);
113 //pnt->GetLocalXYZ(g);
114 //cout<<g[0]<<' '<<g[1]<<' '<<g[2]<<endl;
117 clusters[lay].Clear();
122 } //*** end of the loop over generated events
126 TEllipse *ellipse = new TEllipse(0,0,rmin,rmin,0,360,0);
127 ellipse->SetFillStyle(0);
128 ellipse->SetLineColor(2);
132 ellipse = new TEllipse(0,0,rmax,rmax,0,360,0);
133 ellipse->SetFillStyle(0);
134 ellipse->SetLineColor(4);