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 gAlice->GetRunLoader();
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");
44 printf("Using deafult storage \n");
49 AliGeomManager::LoadGeometry("geometry.root");
52 TFile f(alignfile.Data());
53 TClonesArray* ar = (TClonesArray*)f.Get("ITSAlignObjs");
54 AliGeomManager::ApplyAlignObjsToGeom(*ar);
58 AliRunLoader* rl = AliRunLoader::Open("galice.root");
60 cerr<<"Can not open session RL=NULL"<< endl;
63 Int_t retval = rl->LoadgAlice();
65 cerr<<"LoadgAlice returned error"<<endl;
68 gAlice=rl->GetAliRun();
70 retval = rl->LoadHeader();
72 cerr<<"LoadHeader returned error"<<endl;
77 AliITSLoader* ITSloader = (AliITSLoader*) rl->GetLoader("ITSLoader");
79 cerr<<"ITS loader not found"<<endl;
82 ITSloader->LoadRecPoints("read");
83 ITSloader->LoadHits("read");
86 Float_t cluglo[3]={0.,0.,0.};
87 AliITS *ITS = (AliITS*)gAlice->GetModule("ITS");
88 ITS->SetTreeAddress();
89 AliITSgeom *geom = ITS->GetITSgeom();
90 AliITSDetTypeRec* detTypeRec = new AliITSDetTypeRec();
91 detTypeRec->SetITSgeom(ITSloader->GetITSgeom());
92 detTypeRec->SetDefaults();
94 Int_t modmin=geom->GetStartDet(0);
95 Int_t modmax=geom->GetLastDet(2);
96 Int_t totmod=modmax-modmin;
97 Float_t xlim[6]={4.5,7.5,16.,26.,40.,45.};
98 Float_t zlim[6]={15.,15.,22.,30.,45.,55.};
100 TH1F* hlayer=new TH1F("hlayer","",6,0.5,6.5);
101 TH1F** hmod=new TH1F*[6];
102 TH1F** hxl=new TH1F*[6];
103 TH1F** hzl=new TH1F*[6];
104 TH1F** hxg=new TH1F*[6];
105 TH1F** hyg=new TH1F*[6];
106 TH2F** hxyg=new TH2F*[6];
107 TH2F** hxygHits=new TH2F*[6];
108 TH1F** hzg=new TH1F*[6];
109 TH1F** hr=new TH1F*[6];
110 TH1F** hphi=new TH1F*[6];
111 TH1F** hq=new TH1F*[6];
114 for(Int_t iLay=0;iLay<6;iLay++){
115 sprintf(name,"hmod%d",iLay+1);
116 hmod[iLay]=new TH1F(name,"",totmod,modmin-0.5,modmax+0.5);
117 hmod[iLay]->GetXaxis()->SetTitle("Module");
118 hmod[iLay]->GetXaxis()->CenterTitle();
119 sprintf(name,"hxloc%d",iLay+1);
120 hxl[iLay]=new TH1F(name,"",100,-4.,4.);
121 hxl[iLay]->GetXaxis()->SetTitle("Xloc (cm)");
122 hxl[iLay]->GetXaxis()->CenterTitle();
123 sprintf(name,"hzloc%d",iLay+1);
124 hzl[iLay]=new TH1F(name,"",100,-4.,4.);
125 hzl[iLay]->GetXaxis()->SetTitle("Zloc (cm)");
126 hzl[iLay]->GetXaxis()->CenterTitle();
127 sprintf(name,"hxgl%d",iLay+1);
128 hxg[iLay]=new TH1F(name,"",100,-xlim[iLay],xlim[iLay]);
129 hxg[iLay]->GetXaxis()->SetTitle("Xglob (cm)");
130 hxg[iLay]->GetXaxis()->CenterTitle();
131 sprintf(name,"hygl%d",iLay+1);
132 hyg[iLay]=new TH1F(name,"",100,-xlim[iLay],xlim[iLay]);
133 hyg[iLay]->GetXaxis()->SetTitle("Yglob (cm)");
134 hyg[iLay]->GetXaxis()->CenterTitle();
135 sprintf(name,"hxygl%d",iLay+1);
136 hxyg[iLay]=new TH2F(name,"",1000,-xlim[iLay],xlim[iLay],1000,-xlim[iLay],xlim[iLay]);
137 hxyg[iLay]->GetXaxis()->SetTitle("Xglob (cm)");
138 hxyg[iLay]->GetYaxis()->SetTitle("Yglob (cm)");
139 sprintf(name,"hxygHitsl%d",iLay+1);
140 hxygHits[iLay]=new TH2F(name,"",1000,-xlim[iLay],xlim[iLay],1000,-xlim[iLay],xlim[iLay]);
141 sprintf(name,"hzgl%d",iLay+1);
142 hzg[iLay]=new TH1F(name,"",100,-zlim[iLay],zlim[iLay]);
143 hzg[iLay]->GetXaxis()->SetTitle("Zglob (cm)");
144 hzg[iLay]->GetXaxis()->CenterTitle();
145 sprintf(name,"hr%d",iLay+1);
146 hr[iLay]=new TH1F(name,"",100,0.,50.);
147 hr[iLay]->GetXaxis()->SetTitle("r (cm)");
148 hr[iLay]->GetXaxis()->CenterTitle();
149 sprintf(name,"hphi%d",iLay+1);
150 hphi[iLay]=new TH1F(name,"",100,-TMath::Pi(),TMath::Pi());
151 hphi[iLay]->GetXaxis()->SetTitle("#varphi (rad)");
152 hphi[iLay]->GetXaxis()->CenterTitle();
153 sprintf(name,"hq%d",iLay+1);
154 hq[iLay]=new TH1F(name,"",100,0.,300.);
155 hq[iLay]->GetXaxis()->SetTitle("Charge (keV)");
156 hq[iLay]->GetXaxis()->CenterTitle();
159 TGraph **gpts=new TGraph*[3];
160 TGraph2D **gpts3d=new TGraph2D*[3];
161 TGraph **gRP=new TGraph*[6];
162 TGraph **gHend=new TGraph*[6];
163 TGraph **gHstart=new TGraph*[6];
164 for(Int_t i=0;i<3;i++){
165 gpts[i]=new TGraph(0);
166 gpts3d[i]=new TGraph2D(0);
168 for(Int_t i=0;i<6;i++){
169 gRP[i]=new TGraph(0);
170 gRP[i]->GetXaxis()->SetTitle("global x [cm]");
171 gRP[i]->GetYaxis()->SetTitle("global y [cm]");
172 gHend[i]=new TGraph(0);
173 gHstart[i]=new TGraph(0);
175 Int_t totev=rl->GetNumberOfEvents();
176 printf("Total Number of events = %d\n",totev);
178 Int_t iRP[6]={0},iH[6]={0};
180 for(Int_t iev=0;iev<totev;iev++){
182 TTree *TR = ITSloader->TreeR();
183 TClonesArray *ITSrec = detTypeRec->RecPoints();
186 branch = ITSloader->TreeR()->GetBranch("ITSRecPoints");
187 if(branch)branch->SetAddress(&ITSrec);
189 TTree *TH = ITSloader->TreeH();
190 TClonesArray *hits=new TClonesArray("AliITShit",10000);
191 TH->SetBranchAddress("ITS",&hits);
193 Int_t nparticles = rl->GetHeader()->GetNtrack();
194 cout<<"Event #"<<iev<<" #Particles="<<nparticles<<endl;
198 for(Int_t subd=0;subd<3;subd++){
200 Int_t first = geom->GetStartDet(subd);
201 Int_t last = geom->GetLastDet(subd);
203 for (Int_t mod=first; mod<=last; mod++){
204 detTypeRec->ResetRecPoints();
205 branch->GetEvent(mod);
206 Int_t nrecp = ITSrec->GetEntries();
208 for(Int_t irec=0;irec<nrecp;irec++) {
209 AliITSRecPoint *recp = (AliITSRecPoint*)ITSrec->At(irec);
210 Int_t lay=recp->GetLayer();
212 recp->GetGlobalXYZ(cluglo);
213 Float_t rad=TMath::Sqrt(cluglo[0]*cluglo[0]+cluglo[1]*cluglo[1]);
214 Float_t phi=TMath::ATan2(cluglo[1],cluglo[0]);
216 gpts[iev]->SetPoint(ipt,cluglo[0],cluglo[1]);
217 gpts3d[iev]->SetPoint(ipt,cluglo[0],cluglo[1],cluglo[2]);
220 gRP[lay]->SetPoint(iRP[lay],cluglo[0],cluglo[1]); iRP[lay]++;
221 hmod[lay]->Fill(mod);
222 hzl[lay]->Fill(recp->GetDetLocalZ());
223 hxl[lay]->Fill(recp->GetDetLocalX());
224 hzg[lay]->Fill(cluglo[2]);
225 hyg[lay]->Fill(cluglo[1]);
226 hxyg[lay]->Fill(cluglo[0],cluglo[1]);
227 hxg[lay]->Fill(cluglo[0]);
229 hphi[lay]->Fill(phi);
230 hq[lay]->Fill(recp->GetQ());
237 cout<<" Now read hits "<<endl;
239 Int_t nentrHits=(Int_t)TH->GetEntries();
240 for (Int_t i=0; i<nentrHits; i++) {
242 Int_t nhit=hits->GetEntriesFast();
243 for (Int_t ih=0; ih<nhit; ih++) {
244 AliITShit *h=(AliITShit*)hits->UncheckedAt(ih);
245 if(h->StatusExiting()) {
246 Double_t xl,yl,zl,tl,xl0,yl0,zl0,tl0;
247 h->GetPositionL(xl,yl,zl,tl);
248 h->GetPositionL0(xl0,yl0,zl0,tl0);
249 //if(TMath::Abs(yl-yl0)<0.0290) continue;
250 hxygHits[h->GetLayer()-1]->Fill(h->GetXG(),h->GetYG());
251 gHend[h->GetLayer()-1]->SetPoint(iH[h->GetLayer()-1],h->GetXG(),h->GetYG());
252 Double_t x0,y0,z0,t0;
253 h->GetPositionG0(x0,y0,z0,t0);
254 gHstart[h->GetLayer()-1]->SetPoint(iH[h->GetLayer()-1],x0,y0);
255 iH[h->GetLayer()-1]++;
256 //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));
263 TCanvas **c=new TCanvas*[6];
265 for(Int_t iLay=0;iLay<6;iLay++){
266 sprintf(name,"can%d",iLay+1);
267 sprintf(ctit,"Layer %d",iLay+1);
268 c[iLay]=new TCanvas(name,ctit,1200,900);
269 c[iLay]->Divide(3,3,0.001,0.001);
291 cev0=new TCanvas("cev0","Event 0",600,600);
292 gpts[0]->SetMarkerStyle(7);
293 gpts[0]->SetTitle(0);
297 cev1=new TCanvas("cev1","Event 1",600,600);
298 gpts[1]->SetMarkerStyle(7);
299 gpts[1]->SetTitle(0);
303 cev2=new TCanvas("cev2","Event 2",600,600);
304 gpts[2]->SetMarkerStyle(7);
305 gpts[2]->SetTitle(0);
308 TCanvas *chr = new TCanvas("chr","chr");
310 for(Int_t i=0;i<6;i++) {
312 gHend[i]->SetMarkerStyle(7);
313 gHend[i]->SetMarkerColor(1);
314 gHend[i]->Draw("A,P");
315 gHstart[i]->SetMarkerStyle(7);
316 gHstart[i]->SetMarkerColor(4);
317 gHstart[i]->Draw("P");
318 gRP[i]->SetMarkerStyle(7);
319 gRP[i]->SetMarkerColor(2);
328 Int_t ShowITSHitsRecPointsNtuple(Bool_t align=kFALSE,
329 TString alignfile="ITSfullv11Misalignment.root")
331 ///////////////////////////////////////////////////////////////////////
332 // Macro to check clusters and hits in the 6 ITS layers //
333 // Creates also ntuple //
334 ///////////////////////////////////////////////////////////////////////
336 if (gClassTable->GetID("AliRun") < 0) {
337 gInterpreter->ExecuteMacro("loadlibs.C");
341 delete gAlice->GetRunLoader();
346 // Set OCDB if needed
347 AliCDBManager* man = AliCDBManager::Instance();
348 if (!man->IsDefaultStorageSet()) {
349 printf("Setting a local default storage and run number 0\n");
350 man->SetDefaultStorage("local://$ALICE_ROOT");
354 printf("Using deafult storage \n");
359 AliGeomManager::LoadGeometry("geometry.root");
362 TFile f(alignfile.Data());
363 TClonesArray* ar = (TClonesArray*)f.Get("ITSAlignObjs");
364 AliGeomManager::ApplyAlignObjsToGeom(*ar);
368 AliRunLoader* rl = AliRunLoader::Open("galice.root");
370 cerr<<"Can not open session RL=NULL"<< endl;
373 Int_t retval = rl->LoadgAlice();
375 cerr<<"LoadgAlice returned error"<<endl;
378 gAlice=rl->GetAliRun();
380 retval = rl->LoadHeader();
382 cerr<<"LoadHeader returned error"<<endl;
387 AliITSLoader* ITSloader = (AliITSLoader*) rl->GetLoader("ITSLoader");
389 cerr<<"ITS loader not found"<<endl;
392 ITSloader->LoadRecPoints("read");
393 ITSloader->LoadHits("read");
396 Float_t cluglo[3]={0.,0.,0.};
397 AliITS *ITS = (AliITS*)gAlice->GetModule("ITS");
398 ITS->SetTreeAddress();
399 AliITSgeom *geom = ITS->GetITSgeom();
400 AliITSDetTypeRec* detTypeRec = new AliITSDetTypeRec();
401 detTypeRec->SetITSgeom(ITSloader->GetITSgeom());
402 detTypeRec->SetDefaults();
404 Int_t modmin=geom->GetStartDet(0);
405 Int_t modmax=geom->GetLastDet(2);
406 Int_t totmod=modmax-modmin;
407 Float_t xlim[6]={4.5,7.5,16.,26.,40.,45.};
408 Float_t zlim[6]={15.,15.,22.,30.,45.,55.};
410 TH1F* hlayer=new TH1F("hlayer","",6,0.5,6.5);
411 TH1F** hmod=new TH1F*[6];
412 TH1F** hxl=new TH1F*[6];
413 TH1F** hzl=new TH1F*[6];
414 TH1F** hxg=new TH1F*[6];
415 TH1F** hyg=new TH1F*[6];
416 TH2F** hxyg=new TH2F*[6];
417 TH2F** hxygHits=new TH2F*[6];
418 TH1F** hzg=new TH1F*[6];
419 TH1F** hr=new TH1F*[6];
420 TH1F** hphi=new TH1F*[6];
421 TH1F** hq=new TH1F*[6];
424 for(Int_t iLay=0;iLay<6;iLay++){
425 sprintf(name,"hmod%d",iLay+1);
426 hmod[iLay]=new TH1F(name,"",totmod,modmin-0.5,modmax+0.5);
427 hmod[iLay]->GetXaxis()->SetTitle("Module");
428 hmod[iLay]->GetXaxis()->CenterTitle();
429 sprintf(name,"hxloc%d",iLay+1);
430 hxl[iLay]=new TH1F(name,"",100,-4.,4.);
431 hxl[iLay]->GetXaxis()->SetTitle("Xloc (cm)");
432 hxl[iLay]->GetXaxis()->CenterTitle();
433 sprintf(name,"hzloc%d",iLay+1);
434 hzl[iLay]=new TH1F(name,"",100,-4.,4.);
435 hzl[iLay]->GetXaxis()->SetTitle("Zloc (cm)");
436 hzl[iLay]->GetXaxis()->CenterTitle();
437 sprintf(name,"hxgl%d",iLay+1);
438 hxg[iLay]=new TH1F(name,"",100,-xlim[iLay],xlim[iLay]);
439 hxg[iLay]->GetXaxis()->SetTitle("Xglob (cm)");
440 hxg[iLay]->GetXaxis()->CenterTitle();
441 sprintf(name,"hygl%d",iLay+1);
442 hyg[iLay]=new TH1F(name,"",100,-xlim[iLay],xlim[iLay]);
443 hyg[iLay]->GetXaxis()->SetTitle("Yglob (cm)");
444 hyg[iLay]->GetXaxis()->CenterTitle();
445 sprintf(name,"hxygl%d",iLay+1);
446 hxyg[iLay]=new TH2F(name,"",1000,-xlim[iLay],xlim[iLay],1000,-xlim[iLay],xlim[iLay]);
447 hxyg[iLay]->GetXaxis()->SetTitle("Xglob (cm)");
448 hxyg[iLay]->GetYaxis()->SetTitle("Yglob (cm)");
449 sprintf(name,"hxygHitsl%d",iLay+1);
450 hxygHits[iLay]=new TH2F(name,"",1000,-xlim[iLay],xlim[iLay],1000,-xlim[iLay],xlim[iLay]);
451 sprintf(name,"hzgl%d",iLay+1);
452 hzg[iLay]=new TH1F(name,"",100,-zlim[iLay],zlim[iLay]);
453 hzg[iLay]->GetXaxis()->SetTitle("Zglob (cm)");
454 hzg[iLay]->GetXaxis()->CenterTitle();
455 sprintf(name,"hr%d",iLay+1);
456 hr[iLay]=new TH1F(name,"",100,0.,50.);
457 hr[iLay]->GetXaxis()->SetTitle("r (cm)");
458 hr[iLay]->GetXaxis()->CenterTitle();
459 sprintf(name,"hphi%d",iLay+1);
460 hphi[iLay]=new TH1F(name,"",100,-TMath::Pi(),TMath::Pi());
461 hphi[iLay]->GetXaxis()->SetTitle("#varphi (rad)");
462 hphi[iLay]->GetXaxis()->CenterTitle();
463 sprintf(name,"hq%d",iLay+1);
464 hq[iLay]=new TH1F(name,"",100,0.,300.);
465 hq[iLay]->GetXaxis()->SetTitle("Charge (keV)");
466 hq[iLay]->GetXaxis()->CenterTitle();
469 TGraph **gpts=new TGraph*[3];
470 TGraph2D **gpts3d=new TGraph2D*[3];
471 TGraph **gRP=new TGraph*[6];
472 TGraph **gHend=new TGraph*[6];
473 TGraph **gHstart=new TGraph*[6];
474 for(Int_t i=0;i<3;i++){
475 gpts[i]=new TGraph(0);
476 gpts3d[i]=new TGraph2D(0);
478 for(Int_t i=0;i<6;i++){
479 gRP[i]=new TGraph(0);
480 gRP[i]->GetXaxis()->SetTitle("global x [cm]");
481 gRP[i]->GetYaxis()->SetTitle("global y [cm]");
482 gHend[i]=new TGraph(0);
483 gHstart[i]=new TGraph(0);
485 Int_t totev=rl->GetNumberOfEvents();
486 printf("Total Number of events = %d\n",totev);
488 Int_t iRP[6]={0},iH[6]={0};
490 TNtuple *nt = new TNtuple("nt","ntuple","lay:mod:deltaxl:deltax:deltay:deltaz:phi:z:xl:hlength");
492 for(Int_t iev=0;iev<totev;iev++){
494 TTree *TR = ITSloader->TreeR();
495 TClonesArray *ITSrec = detTypeRec->RecPoints();
498 branch = ITSloader->TreeR()->GetBranch("ITSRecPoints");
499 if(branch)branch->SetAddress(&ITSrec);
501 TTree *TH = ITSloader->TreeH();
502 TClonesArray *hits=new TClonesArray("AliITShit",10000);
503 TH->SetBranchAddress("ITS",&hits);
505 Int_t nparticles = rl->GetHeader()->GetNtrack();
506 cout<<"Event #"<<iev<<" #Particles="<<nparticles<<endl;
510 for(Int_t subd=0;subd<3;subd++){
512 Int_t first = geom->GetStartDet(subd);
513 Int_t last = geom->GetLastDet(subd);
515 for (Int_t mod=first; mod<=last; mod++){
516 detTypeRec->ResetRecPoints();
517 branch->GetEvent(mod);
518 Int_t nrecp = ITSrec->GetEntries();
520 for(Int_t irec=0;irec<nrecp;irec++) {
521 AliITSRecPoint *recp = (AliITSRecPoint*)ITSrec->At(irec);
522 Int_t lay=recp->GetLayer();
524 recp->GetGlobalXYZ(cluglo);
525 Float_t rad=TMath::Sqrt(cluglo[0]*cluglo[0]+cluglo[1]*cluglo[1]);
526 Float_t phi=TMath::ATan2(cluglo[1],cluglo[0]);
527 if(cluglo[2]>0) {gRP[lay]->SetPoint(iRP[lay],cluglo[0],cluglo[1]); iRP[lay]++;}
528 hmod[lay]->Fill(mod);
529 hzl[lay]->Fill(recp->GetDetLocalZ());
530 hxl[lay]->Fill(recp->GetDetLocalX());
531 hzg[lay]->Fill(cluglo[2]);
532 hyg[lay]->Fill(cluglo[1]);
533 hxyg[lay]->Fill(cluglo[0],cluglo[1]);
534 hxg[lay]->Fill(cluglo[0]);
536 hphi[lay]->Fill(phi);
537 hq[lay]->Fill(recp->GetQ());
540 for(Int_t jhits=0;jhits<TH->GetEntries();jhits++) {
542 Int_t nhit=hits->GetEntriesFast();
543 for (Int_t ih=0; ih<nhit; ih++) {
544 AliITShit *h=(AliITShit*)hits->UncheckedAt(ih);
545 if(h->GetTrack()!=recp->GetLabel(0)) continue;
546 if(h->GetLayer()-1!=lay) continue;
547 if(h->GetModule()!=mod) continue;
548 //hxygHits[h->GetLayer()-1]->Fill(h->GetXG(),h->GetYG());
549 //gHend[h->GetLayer()-1]->SetPoint(iH[h->GetLayer()-1],h->GetXG(),h->GetYG());
550 Double_t x0,y0,z0,t0;
552 h->GetPositionG0(x0,y0,z0,t0);
553 h->GetPositionG(x,y,z,t);
554 //gHstart[h->GetLayer()-1]->SetPoint(iH[h->GetLayer()-1],x0,y0);
555 //iH[h->GetLayer()-1]++;
556 Double_t xl,yl,zl,tl,xl0,yl0,zl0,tl0;
557 h->GetPositionL(xl,yl,zl,tl);
558 h->GetPositionL0(xl0,yl0,zl0,tl0);
559 hlength += TMath::Abs(yl-yl0);
560 if(!h->StatusExiting()) continue;
563 1.e4*(0.5*(xl+xl0)-recp->GetDetLocalX()),
564 1.e4*(0.5*(x+x0)-cluglo[0]),1.e4*(0.5*(y+y0)-cluglo[1]),
565 1.e4*(0.5*(z+z0)-cluglo[2]),
568 recp->GetDetLocalX(),
584 TCanvas **c=new TCanvas*[6];
586 for(Int_t iLay=0;iLay<6;iLay++){
587 sprintf(name,"can%d",iLay+1);
588 sprintf(ctit,"Layer %d",iLay+1);
589 c[iLay]=new TCanvas(name,ctit,1200,900);
590 c[iLay]->Divide(3,3,0.001,0.001);
612 cev0=new TCanvas("cev0","Event 0",600,600);
613 gpts[0]->SetMarkerStyle(7);
614 gpts[0]->SetTitle(0);
618 cev1=new TCanvas("cev1","Event 1",600,600);
619 gpts[1]->SetMarkerStyle(7);
620 gpts[1]->SetTitle(0);
624 cev2=new TCanvas("cev2","Event 2",600,600);
625 gpts[2]->SetMarkerStyle(7);
626 gpts[2]->SetTitle(0);
629 TFile *out= new TFile("ntHitsRecPoints.root","recreate");