1 #if !defined(__CINT__) || defined(__MAKECINT__)
3 #include <TClassTable.h>
6 #include <TGeoManager.h>
8 #include <TInterpreter.h>
9 #include "AliCDBManager.h"
10 #include "AliGeomManager.h"
11 #include "AliHeader.h"
13 #include "AliITSDetTypeRec.h"
14 #include "AliITSgeom.h"
15 #include "AliITSRecPoint.h"
19 Int_t ShowITSHitsRecPoints(Bool_t align=kFALSE,
20 TString alignfile="ITSfullv11Misalignment.root")
22 ///////////////////////////////////////////////////////////////////////
23 // Macro to check clusters and hits in the 6 ITS layers //
24 ///////////////////////////////////////////////////////////////////////
26 if (gClassTable->GetID("AliRun") < 0) {
27 gInterpreter->ExecuteMacro("loadlibs.C");
31 delete AliRunLoader::Instance();
37 AliCDBManager* man = AliCDBManager::Instance();
38 if (!man->IsDefaultStorageSet()) {
39 printf("Setting a local default storage and run number 0\n");
40 man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
44 printf("Using deafult storage \n");
49 AliGeomManager::LoadGeometry("geometry.root");
53 TFile f(alignfile.Data());
54 TClonesArray* ar = (TClonesArray*)f.Get("ITSAlignObjs");
55 AliGeomManager::ApplyAlignObjsToGeom(*ar);
58 AliGeomManager::ApplyAlignObjsFromCDB("ITS");
61 AliRunLoader* rl = AliRunLoader::Open("galice.root");
63 cerr<<"Can not open session RL=NULL"<< endl;
66 Int_t retval = rl->LoadgAlice();
68 cerr<<"LoadgAlice returned error"<<endl;
71 gAlice=rl->GetAliRun();
73 retval = rl->LoadHeader();
75 cerr<<"LoadHeader returned error"<<endl;
80 AliITSLoader* ITSloader = (AliITSLoader*) rl->GetLoader("ITSLoader");
82 cerr<<"ITS loader not found"<<endl;
85 ITSloader->LoadRecPoints("read");
86 ITSloader->LoadHits("read");
89 Float_t cluglo[3]={0.,0.,0.};
90 AliITS *ITS = (AliITS*)gAlice->GetModule("ITS");
91 ITS->SetTreeAddress();
92 AliITSgeom *geom = ITS->GetITSgeom();
93 AliITSDetTypeRec* detTypeRec = new AliITSDetTypeRec();
94 detTypeRec->SetITSgeom(ITSloader->GetITSgeom());
95 detTypeRec->SetDefaults();
97 Int_t modmin=geom->GetStartDet(0);
98 Int_t modmax=geom->GetLastDet(2);
99 Int_t totmod=modmax-modmin;
100 Float_t xlim[6]={4.5,7.5,16.,26.,40.,45.};
101 Float_t zlim[6]={15.,15.,22.,30.,45.,55.};
103 TH1F* hlayer=new TH1F("hlayer","",6,0.5,6.5);
104 TH1F** hmod=new TH1F*[6];
105 TH1F** hxl=new TH1F*[6];
106 TH1F** hzl=new TH1F*[6];
107 TH1F** hxg=new TH1F*[6];
108 TH1F** hyg=new TH1F*[6];
109 TH2F** hxyg=new TH2F*[6];
110 TH2F** hxygHits=new TH2F*[6];
111 TH1F** hzg=new TH1F*[6];
112 TH1F** hr=new TH1F*[6];
113 TH1F** hphi=new TH1F*[6];
114 TH1F** hq=new TH1F*[6];
117 for(Int_t iLay=0;iLay<6;iLay++){
118 sprintf(name,"hmod%d",iLay+1);
119 hmod[iLay]=new TH1F(name,"",totmod,modmin-0.5,modmax+0.5);
120 hmod[iLay]->GetXaxis()->SetTitle("Module");
121 hmod[iLay]->GetXaxis()->CenterTitle();
122 sprintf(name,"hxloc%d",iLay+1);
123 hxl[iLay]=new TH1F(name,"",100,-4.,4.);
124 hxl[iLay]->GetXaxis()->SetTitle("Xloc (cm)");
125 hxl[iLay]->GetXaxis()->CenterTitle();
126 sprintf(name,"hzloc%d",iLay+1);
127 hzl[iLay]=new TH1F(name,"",100,-4.,4.);
128 hzl[iLay]->GetXaxis()->SetTitle("Zloc (cm)");
129 hzl[iLay]->GetXaxis()->CenterTitle();
130 sprintf(name,"hxgl%d",iLay+1);
131 hxg[iLay]=new TH1F(name,"",100,-xlim[iLay],xlim[iLay]);
132 hxg[iLay]->GetXaxis()->SetTitle("Xglob (cm)");
133 hxg[iLay]->GetXaxis()->CenterTitle();
134 sprintf(name,"hygl%d",iLay+1);
135 hyg[iLay]=new TH1F(name,"",100,-xlim[iLay],xlim[iLay]);
136 hyg[iLay]->GetXaxis()->SetTitle("Yglob (cm)");
137 hyg[iLay]->GetXaxis()->CenterTitle();
138 sprintf(name,"hxygl%d",iLay+1);
139 hxyg[iLay]=new TH2F(name,"",1000,-xlim[iLay],xlim[iLay],1000,-xlim[iLay],xlim[iLay]);
140 hxyg[iLay]->GetXaxis()->SetTitle("Xglob (cm)");
141 hxyg[iLay]->GetYaxis()->SetTitle("Yglob (cm)");
142 sprintf(name,"hxygHitsl%d",iLay+1);
143 hxygHits[iLay]=new TH2F(name,"",1000,-xlim[iLay],xlim[iLay],1000,-xlim[iLay],xlim[iLay]);
144 sprintf(name,"hzgl%d",iLay+1);
145 hzg[iLay]=new TH1F(name,"",100,-zlim[iLay],zlim[iLay]);
146 hzg[iLay]->GetXaxis()->SetTitle("Zglob (cm)");
147 hzg[iLay]->GetXaxis()->CenterTitle();
148 sprintf(name,"hr%d",iLay+1);
149 hr[iLay]=new TH1F(name,"",100,0.,50.);
150 hr[iLay]->GetXaxis()->SetTitle("r (cm)");
151 hr[iLay]->GetXaxis()->CenterTitle();
152 sprintf(name,"hphi%d",iLay+1);
153 hphi[iLay]=new TH1F(name,"",100,-TMath::Pi(),TMath::Pi());
154 hphi[iLay]->GetXaxis()->SetTitle("#varphi (rad)");
155 hphi[iLay]->GetXaxis()->CenterTitle();
156 sprintf(name,"hq%d",iLay+1);
157 hq[iLay]=new TH1F(name,"",100,0.,300.);
158 hq[iLay]->GetXaxis()->SetTitle("Charge (keV)");
159 hq[iLay]->GetXaxis()->CenterTitle();
162 TGraph **gpts=new TGraph*[3];
163 TGraph2D **gpts3d=new TGraph2D*[3];
164 TGraph **gRP=new TGraph*[6];
165 TGraph **gHend=new TGraph*[6];
166 TGraph **gHstart=new TGraph*[6];
167 for(Int_t i=0;i<3;i++){
168 gpts[i]=new TGraph(0);
169 gpts3d[i]=new TGraph2D(0);
171 for(Int_t i=0;i<6;i++){
172 gRP[i]=new TGraph(0);
173 gRP[i]->GetXaxis()->SetTitle("global x [cm]");
174 gRP[i]->GetYaxis()->SetTitle("global y [cm]");
175 gHend[i]=new TGraph(0);
176 gHstart[i]=new TGraph(0);
178 Int_t totev=rl->GetNumberOfEvents();
179 printf("Total Number of events = %d\n",totev);
181 Int_t iRP[6]={0},iH[6]={0};
183 for(Int_t iev=0;iev<totev;iev++){
185 TTree *TR = ITSloader->TreeR();
186 TClonesArray *ITSrec = detTypeRec->RecPoints();
189 branch = ITSloader->TreeR()->GetBranch("ITSRecPoints");
190 if(branch)branch->SetAddress(&ITSrec);
192 TTree *TH = ITSloader->TreeH();
193 TClonesArray *hits=new TClonesArray("AliITShit",10000);
194 TH->SetBranchAddress("ITS",&hits);
196 Int_t nparticles = rl->GetHeader()->GetNtrack();
197 cout<<"Event #"<<iev<<" #Particles="<<nparticles<<endl;
201 for(Int_t subd=0;subd<3;subd++){
203 Int_t first = geom->GetStartDet(subd);
204 Int_t last = geom->GetLastDet(subd);
206 for (Int_t mod=first; mod<=last; mod++){
207 detTypeRec->ResetRecPoints();
208 branch->GetEvent(mod);
209 Int_t nrecp = ITSrec->GetEntries();
211 for(Int_t irec=0;irec<nrecp;irec++) {
212 AliITSRecPoint *recp = (AliITSRecPoint*)ITSrec->At(irec);
213 Int_t lay=recp->GetLayer();
215 recp->GetGlobalXYZ(cluglo);
216 Float_t rad=TMath::Sqrt(cluglo[0]*cluglo[0]+cluglo[1]*cluglo[1]);
217 Float_t phi=TMath::ATan2(cluglo[1],cluglo[0]);
219 gpts[iev]->SetPoint(ipt,cluglo[0],cluglo[1]);
220 gpts3d[iev]->SetPoint(ipt,cluglo[0],cluglo[1],cluglo[2]);
223 gRP[lay]->SetPoint(iRP[lay],cluglo[0],cluglo[1]); iRP[lay]++;
224 hmod[lay]->Fill(mod);
225 hzl[lay]->Fill(recp->GetDetLocalZ());
226 hxl[lay]->Fill(recp->GetDetLocalX());
227 hzg[lay]->Fill(cluglo[2]);
228 hyg[lay]->Fill(cluglo[1]);
229 hxyg[lay]->Fill(cluglo[0],cluglo[1]);
230 hxg[lay]->Fill(cluglo[0]);
232 hphi[lay]->Fill(phi);
233 hq[lay]->Fill(recp->GetQ());
240 cout<<" Now read hits "<<endl;
242 Int_t nentrHits=(Int_t)TH->GetEntries();
243 for (Int_t i=0; i<nentrHits; i++) {
245 Int_t nhit=hits->GetEntriesFast();
246 for (Int_t ih=0; ih<nhit; ih++) {
247 AliITShit *h=(AliITShit*)hits->UncheckedAt(ih);
248 if(h->StatusExiting()) {
249 Double_t xl,yl,zl,tl,xl0,yl0,zl0,tl0;
250 h->GetPositionL(xl,yl,zl,tl);
251 h->GetPositionL0(xl0,yl0,zl0,tl0);
252 //if(TMath::Abs(yl-yl0)<0.0290) continue;
253 hxygHits[h->GetLayer()-1]->Fill(h->GetXG(),h->GetYG());
254 gHend[h->GetLayer()-1]->SetPoint(iH[h->GetLayer()-1],h->GetXG(),h->GetYG());
255 Double_t x0,y0,z0,t0;
256 h->GetPositionG0(x0,y0,z0,t0);
257 gHstart[h->GetLayer()-1]->SetPoint(iH[h->GetLayer()-1],x0,y0);
258 iH[h->GetLayer()-1]++;
259 //printf("layer %d hit length xy %f hit length yl %f\n",h->GetLayer()-1,TMath::Sqrt((x0-h->GetXG())*(x0-h->GetXG())+(y0-h->GetYG())*(y0-h->GetYG())),TMath::Abs(yl-yl0));
266 TCanvas **c=new TCanvas*[6];
268 for(Int_t iLay=0;iLay<6;iLay++){
269 sprintf(name,"can%d",iLay+1);
270 sprintf(ctit,"Layer %d",iLay+1);
271 c[iLay]=new TCanvas(name,ctit,1200,900);
272 c[iLay]->Divide(3,3,0.001,0.001);
294 cev0=new TCanvas("cev0","Event 0",600,600);
295 gpts[0]->SetMarkerStyle(7);
296 gpts[0]->SetTitle(0);
300 cev1=new TCanvas("cev1","Event 1",600,600);
301 gpts[1]->SetMarkerStyle(7);
302 gpts[1]->SetTitle(0);
306 cev2=new TCanvas("cev2","Event 2",600,600);
307 gpts[2]->SetMarkerStyle(7);
308 gpts[2]->SetTitle(0);
311 TCanvas *chr = new TCanvas("chr","chr");
313 for(Int_t i=0;i<6;i++) {
315 gHend[i]->SetMarkerStyle(7);
316 gHend[i]->SetMarkerColor(1);
317 gHend[i]->Draw("A,P");
318 gHstart[i]->SetMarkerStyle(7);
319 gHstart[i]->SetMarkerColor(4);
320 gHstart[i]->Draw("P");
321 gRP[i]->SetMarkerStyle(7);
322 gRP[i]->SetMarkerColor(2);
331 Int_t ShowITSHitsRecPointsNtuple(Bool_t align=kFALSE,
332 TString alignfile="ITSfullv11Misalignment.root")
334 ///////////////////////////////////////////////////////////////////////
335 // Macro to check clusters and hits in the 6 ITS layers //
336 // Creates also ntuple //
337 ///////////////////////////////////////////////////////////////////////
339 if (gClassTable->GetID("AliRun") < 0) {
340 gInterpreter->ExecuteMacro("loadlibs.C");
344 delete AliRunLoader::Instance();
349 // Set OCDB if needed
350 AliCDBManager* man = AliCDBManager::Instance();
351 if (!man->IsDefaultStorageSet()) {
352 printf("Setting a local default storage and run number 0\n");
353 man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
357 printf("Using deafult storage \n");
362 AliGeomManager::LoadGeometry("geometry.root");
365 TFile f(alignfile.Data());
366 TClonesArray* ar = (TClonesArray*)f.Get("ITSAlignObjs");
367 AliGeomManager::ApplyAlignObjsToGeom(*ar);
370 AliGeomManager::ApplyAlignObjsFromCDB("ITS");
374 AliRunLoader* rl = AliRunLoader::Open("galice.root");
376 cerr<<"Can not open session RL=NULL"<< endl;
379 Int_t retval = rl->LoadgAlice();
381 cerr<<"LoadgAlice returned error"<<endl;
384 gAlice=rl->GetAliRun();
386 retval = rl->LoadHeader();
388 cerr<<"LoadHeader returned error"<<endl;
393 AliITSLoader* ITSloader = (AliITSLoader*) rl->GetLoader("ITSLoader");
395 cerr<<"ITS loader not found"<<endl;
398 ITSloader->LoadRecPoints("read");
399 ITSloader->LoadHits("read");
402 Float_t cluglo[3]={0.,0.,0.};
403 AliITS *ITS = (AliITS*)gAlice->GetModule("ITS");
404 ITS->SetTreeAddress();
405 AliITSgeom *geom = ITS->GetITSgeom();
406 AliITSDetTypeRec* detTypeRec = new AliITSDetTypeRec();
407 detTypeRec->SetITSgeom(ITSloader->GetITSgeom());
408 detTypeRec->SetDefaults();
410 Int_t modmin=geom->GetStartDet(0);
411 Int_t modmax=geom->GetLastDet(2);
412 Int_t totmod=modmax-modmin;
413 Float_t xlim[6]={4.5,7.5,16.,26.,40.,45.};
414 Float_t zlim[6]={15.,15.,22.,30.,45.,55.};
416 TH1F* hlayer=new TH1F("hlayer","",6,0.5,6.5);
417 TH1F** hmod=new TH1F*[6];
418 TH1F** hxl=new TH1F*[6];
419 TH1F** hzl=new TH1F*[6];
420 TH1F** hxg=new TH1F*[6];
421 TH1F** hyg=new TH1F*[6];
422 TH2F** hxyg=new TH2F*[6];
423 TH2F** hxygHits=new TH2F*[6];
424 TH1F** hzg=new TH1F*[6];
425 TH1F** hr=new TH1F*[6];
426 TH1F** hphi=new TH1F*[6];
427 TH1F** hq=new TH1F*[6];
430 for(Int_t iLay=0;iLay<6;iLay++){
431 sprintf(name,"hmod%d",iLay+1);
432 hmod[iLay]=new TH1F(name,"",totmod,modmin-0.5,modmax+0.5);
433 hmod[iLay]->GetXaxis()->SetTitle("Module");
434 hmod[iLay]->GetXaxis()->CenterTitle();
435 sprintf(name,"hxloc%d",iLay+1);
436 hxl[iLay]=new TH1F(name,"",100,-4.,4.);
437 hxl[iLay]->GetXaxis()->SetTitle("Xloc (cm)");
438 hxl[iLay]->GetXaxis()->CenterTitle();
439 sprintf(name,"hzloc%d",iLay+1);
440 hzl[iLay]=new TH1F(name,"",100,-4.,4.);
441 hzl[iLay]->GetXaxis()->SetTitle("Zloc (cm)");
442 hzl[iLay]->GetXaxis()->CenterTitle();
443 sprintf(name,"hxgl%d",iLay+1);
444 hxg[iLay]=new TH1F(name,"",100,-xlim[iLay],xlim[iLay]);
445 hxg[iLay]->GetXaxis()->SetTitle("Xglob (cm)");
446 hxg[iLay]->GetXaxis()->CenterTitle();
447 sprintf(name,"hygl%d",iLay+1);
448 hyg[iLay]=new TH1F(name,"",100,-xlim[iLay],xlim[iLay]);
449 hyg[iLay]->GetXaxis()->SetTitle("Yglob (cm)");
450 hyg[iLay]->GetXaxis()->CenterTitle();
451 sprintf(name,"hxygl%d",iLay+1);
452 hxyg[iLay]=new TH2F(name,"",1000,-xlim[iLay],xlim[iLay],1000,-xlim[iLay],xlim[iLay]);
453 hxyg[iLay]->GetXaxis()->SetTitle("Xglob (cm)");
454 hxyg[iLay]->GetYaxis()->SetTitle("Yglob (cm)");
455 sprintf(name,"hxygHitsl%d",iLay+1);
456 hxygHits[iLay]=new TH2F(name,"",1000,-xlim[iLay],xlim[iLay],1000,-xlim[iLay],xlim[iLay]);
457 sprintf(name,"hzgl%d",iLay+1);
458 hzg[iLay]=new TH1F(name,"",100,-zlim[iLay],zlim[iLay]);
459 hzg[iLay]->GetXaxis()->SetTitle("Zglob (cm)");
460 hzg[iLay]->GetXaxis()->CenterTitle();
461 sprintf(name,"hr%d",iLay+1);
462 hr[iLay]=new TH1F(name,"",100,0.,50.);
463 hr[iLay]->GetXaxis()->SetTitle("r (cm)");
464 hr[iLay]->GetXaxis()->CenterTitle();
465 sprintf(name,"hphi%d",iLay+1);
466 hphi[iLay]=new TH1F(name,"",100,-TMath::Pi(),TMath::Pi());
467 hphi[iLay]->GetXaxis()->SetTitle("#varphi (rad)");
468 hphi[iLay]->GetXaxis()->CenterTitle();
469 sprintf(name,"hq%d",iLay+1);
470 hq[iLay]=new TH1F(name,"",100,0.,300.);
471 hq[iLay]->GetXaxis()->SetTitle("Charge (keV)");
472 hq[iLay]->GetXaxis()->CenterTitle();
475 TGraph **gpts=new TGraph*[3];
476 TGraph2D **gpts3d=new TGraph2D*[3];
477 TGraph **gRP=new TGraph*[6];
478 TGraph **gHend=new TGraph*[6];
479 TGraph **gHstart=new TGraph*[6];
480 for(Int_t i=0;i<3;i++){
481 gpts[i]=new TGraph(0);
482 gpts3d[i]=new TGraph2D(0);
484 for(Int_t i=0;i<6;i++){
485 gRP[i]=new TGraph(0);
486 gRP[i]->GetXaxis()->SetTitle("global x [cm]");
487 gRP[i]->GetYaxis()->SetTitle("global y [cm]");
488 gHend[i]=new TGraph(0);
489 gHstart[i]=new TGraph(0);
491 Int_t totev=rl->GetNumberOfEvents();
492 printf("Total Number of events = %d\n",totev);
494 Int_t iRP[6]={0},iH[6]={0};
496 TNtuple *nt = new TNtuple("nt","ntuple","lay:mod:deltaxl:deltax:deltay:deltaz:phi:z:xl:hlength");
498 for(Int_t iev=0;iev<totev;iev++){
500 TTree *TR = ITSloader->TreeR();
501 TClonesArray *ITSrec = detTypeRec->RecPoints();
504 branch = ITSloader->TreeR()->GetBranch("ITSRecPoints");
505 if(branch)branch->SetAddress(&ITSrec);
507 TTree *TH = ITSloader->TreeH();
508 TClonesArray *hits=new TClonesArray("AliITShit",10000);
509 TH->SetBranchAddress("ITS",&hits);
511 Int_t nparticles = rl->GetHeader()->GetNtrack();
512 cout<<"Event #"<<iev<<" #Particles="<<nparticles<<endl;
516 for(Int_t subd=0;subd<3;subd++){
518 Int_t first = geom->GetStartDet(subd);
519 Int_t last = geom->GetLastDet(subd);
521 for (Int_t mod=first; mod<=last; mod++){
522 detTypeRec->ResetRecPoints();
523 branch->GetEvent(mod);
524 Int_t nrecp = ITSrec->GetEntries();
526 for(Int_t irec=0;irec<nrecp;irec++) {
527 AliITSRecPoint *recp = (AliITSRecPoint*)ITSrec->At(irec);
528 Int_t lay=recp->GetLayer();
530 recp->GetGlobalXYZ(cluglo);
531 Float_t rad=TMath::Sqrt(cluglo[0]*cluglo[0]+cluglo[1]*cluglo[1]);
532 Float_t phi=TMath::ATan2(cluglo[1],cluglo[0]);
533 if(cluglo[2]>0) {gRP[lay]->SetPoint(iRP[lay],cluglo[0],cluglo[1]); iRP[lay]++;}
534 hmod[lay]->Fill(mod);
535 hzl[lay]->Fill(recp->GetDetLocalZ());
536 hxl[lay]->Fill(recp->GetDetLocalX());
537 hzg[lay]->Fill(cluglo[2]);
538 hyg[lay]->Fill(cluglo[1]);
539 hxyg[lay]->Fill(cluglo[0],cluglo[1]);
540 hxg[lay]->Fill(cluglo[0]);
542 hphi[lay]->Fill(phi);
543 hq[lay]->Fill(recp->GetQ());
546 for(Int_t jhits=0;jhits<TH->GetEntries();jhits++) {
548 Int_t nhit=hits->GetEntriesFast();
549 for (Int_t ih=0; ih<nhit; ih++) {
550 AliITShit *h=(AliITShit*)hits->UncheckedAt(ih);
551 if(h->GetTrack()!=recp->GetLabel(0)) continue;
552 if(h->GetLayer()-1!=lay) continue;
553 if(h->GetModule()!=mod) continue;
554 //hxygHits[h->GetLayer()-1]->Fill(h->GetXG(),h->GetYG());
555 //gHend[h->GetLayer()-1]->SetPoint(iH[h->GetLayer()-1],h->GetXG(),h->GetYG());
556 Double_t x0,y0,z0,t0;
558 h->GetPositionG0(x0,y0,z0,t0);
559 h->GetPositionG(x,y,z,t);
560 //gHstart[h->GetLayer()-1]->SetPoint(iH[h->GetLayer()-1],x0,y0);
561 //iH[h->GetLayer()-1]++;
562 Double_t xl,yl,zl,tl,xl0,yl0,zl0,tl0;
563 h->GetPositionL(xl,yl,zl,tl);
564 h->GetPositionL0(xl0,yl0,zl0,tl0);
565 hlength += TMath::Abs(yl-yl0);
566 if(!h->StatusExiting()) continue;
569 1.e4*(0.5*(xl+xl0)-recp->GetDetLocalX()),
570 1.e4*(0.5*(x+x0)-cluglo[0]),1.e4*(0.5*(y+y0)-cluglo[1]),
571 1.e4*(0.5*(z+z0)-cluglo[2]),
574 recp->GetDetLocalX(),
590 TCanvas **c=new TCanvas*[6];
592 for(Int_t iLay=0;iLay<6;iLay++){
593 sprintf(name,"can%d",iLay+1);
594 sprintf(ctit,"Layer %d",iLay+1);
595 c[iLay]=new TCanvas(name,ctit,1200,900);
596 c[iLay]->Divide(3,3,0.001,0.001);
618 cev0=new TCanvas("cev0","Event 0",600,600);
619 gpts[0]->SetMarkerStyle(7);
620 gpts[0]->SetTitle(0);
624 cev1=new TCanvas("cev1","Event 1",600,600);
625 gpts[1]->SetMarkerStyle(7);
626 gpts[1]->SetTitle(0);
630 cev2=new TCanvas("cev2","Event 2",600,600);
631 gpts[2]->SetMarkerStyle(7);
632 gpts[2]->SetTitle(0);
635 TFile *out= new TFile("ntHitsRecPoints.root","recreate");