#if !defined(__CINT__) || defined(__MAKECINT__)
#include<Riostream.h>
#include<TROOT.h>
#include<TClassTable.h>
#include<TClonesArray.h>
#include<TGeoManager.h>
#include <TInterpreter.h>
#include<TTree.h>
#include "AliRun.h"
#include "AliITSgeom.h"
#include "AliGeomManager.h"
#include "AliITSDetTypeRec.h"
#include "AliITSRecPoint.h"
#include "AliITSdigit.h"
#include "AliITSdigitSSD.h"
#include "AliITShit.h"
#include "AliITSmodule.h"
#include "AliITSsegmentation.h"
#include "AliITSsegmentationSPD.h"
#include "AliITSsegmentationSDD.h"
#include "AliITSsegmentationSSD.h"
#include "AliRunLoader.h"
#include "AliITSLoader.h"
#include "AliHeader.h"
#include "AliCDBManager.h"
#include "AliCDBStorage.h"
#endif
void AliITSPrintRecPoints(Int_t outtype=1,TString rfn="galice.root",
Int_t mod=-1,Int_t evnt=-1){
// Macro to print out the recpoints for all or a specific module
// Dynamically link some shared libs
if (gClassTable->GetID("AliRun") < 0) {
gInterpreter->ExecuteMacro("loadlibs.C");
}
else {
if(gAlice){
delete AliRunLoader::Instance();
delete gAlice;
gAlice=0;
}
}
// Set OCDB if needed
AliCDBManager* man = AliCDBManager::Instance();
if (!man->IsDefaultStorageSet()) {
printf("Setting a local default storage and run number 0\n");
man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
man->SetRun(0);
}
else {
printf("Using deafult storage \n");
}
AliRunLoader* rl = AliRunLoader::Open(rfn.Data());
if (rl == 0x0){
cerr<<"AliITSPrintRecPoints.C : Can not open session RL=NULL"<< endl;
return;
}
Int_t retval = rl->LoadgAlice();
if (retval){
cerr<<"AliITSPrintRecPoints.C : LoadgAlice returned error"<<endl;
return;
}
gAlice=rl->GetAliRun();
retval = rl->LoadHeader();
if (retval){
cerr<<"AliITSPrintRecPoints.C : LoadHeader returned error"<<endl;
return;
}
AliITSLoader* ITSloader = (AliITSLoader*) rl->GetLoader("ITSLoader");
if(!ITSloader){
cerr<<"AliITSPrintRecPoints.C : ITS loader not found"<<endl;
return;
}
cout <<"ITSloader ok"<<endl;
if(!gGeoManager){
AliGeomManager::LoadGeometry("geometry.root");
}
ITSloader->LoadHits("read");
ITSloader->LoadDigits("read");
ITSloader->LoadRecPoints("read");
cout << "loaded hits, digits, and RecPoints"<< endl;
AliITSgeom *gm=0;
gm = ITSloader->GetITSgeom();
Int_t evNumber1 = 0;
Int_t evNumber2 = AliRunLoader::GetNumberOfEvents();
if(evnt>=0){
evNumber1 = evnt;
evNumber2 = evnt+1;
} // end if evnt>=0
Int_t mod1 = 0;
Int_t mod2 = gm->GetIndexMax();
if(mod>=0){
mod1 = mod;
mod2 = mod+1;
} // end if mod>=0
TClonesArray *rpa;
AliITSRecPoint *rp = 0;
AliITSDetTypeRec* rec = new AliITSDetTypeRec();
rec->SetITSgeom(gm);
rec->SetDefaults();
Int_t event,m,i,i2;
Float_t xyz[3];
for(event = evNumber1; event < evNumber2; event++){
rl->GetEvent(event);
// rec->SetTreeAddress();
for(m=mod1;m<mod2;m++){
rec->ResetRecPoints();
TTree *TR = ITSloader->TreeR();
rec->SetTreeAddressR(TR);
TR->GetEvent(m);
rpa = rec->RecPoints();
i2 = rpa->GetEntriesFast();
cout << "Event=" << event << " module=" << m <<
" Number of Recpoints=" << i2 <<endl;
for(i=0;i<i2;i++){
rp = (AliITSRecPoint*)(rpa->At(i));
switch(outtype){
case 1:
rp->GetGlobalXYZ(xyz);
cout << i << " lx=" << rp->GetDetLocalX()
<< " lz=" << rp->GetDetLocalZ()
<< " x=" << rp->GetX()
<< " y=" << rp->GetY()<< " z=" << rp->GetZ()
<<" gx=" << xyz[0] << " gy="<< xyz[1] <<" gz="<<xyz[2]
<< endl;
break;
default:
cout << i << " ";
rp->Print();
cout << endl;
break;
} // end switch
} // end for i
} // end for m
} // end for event
}
AliITSPrintRecPoints.C:10 AliITSPrintRecPoints.C:11 AliITSPrintRecPoints.C:12 AliITSPrintRecPoints.C:13 AliITSPrintRecPoints.C:14 AliITSPrintRecPoints.C:15 AliITSPrintRecPoints.C:16 AliITSPrintRecPoints.C:17 AliITSPrintRecPoints.C:18 AliITSPrintRecPoints.C:19 AliITSPrintRecPoints.C:20 AliITSPrintRecPoints.C:21 AliITSPrintRecPoints.C:22 AliITSPrintRecPoints.C:23 AliITSPrintRecPoints.C:24 AliITSPrintRecPoints.C:25 AliITSPrintRecPoints.C:26 AliITSPrintRecPoints.C:27 AliITSPrintRecPoints.C:28 AliITSPrintRecPoints.C:29 AliITSPrintRecPoints.C:30 AliITSPrintRecPoints.C:31 AliITSPrintRecPoints.C:32 AliITSPrintRecPoints.C:33 AliITSPrintRecPoints.C:34 AliITSPrintRecPoints.C:35 AliITSPrintRecPoints.C:36 AliITSPrintRecPoints.C:37 AliITSPrintRecPoints.C:38 AliITSPrintRecPoints.C:39 AliITSPrintRecPoints.C:40 AliITSPrintRecPoints.C:41 AliITSPrintRecPoints.C:42 AliITSPrintRecPoints.C:43 AliITSPrintRecPoints.C:44 AliITSPrintRecPoints.C:45 AliITSPrintRecPoints.C:46 AliITSPrintRecPoints.C:47 AliITSPrintRecPoints.C:48 AliITSPrintRecPoints.C:49 AliITSPrintRecPoints.C:50 AliITSPrintRecPoints.C:51 AliITSPrintRecPoints.C:52 AliITSPrintRecPoints.C:53 AliITSPrintRecPoints.C:54 AliITSPrintRecPoints.C:55 AliITSPrintRecPoints.C:56 AliITSPrintRecPoints.C:57 AliITSPrintRecPoints.C:58 AliITSPrintRecPoints.C:59 AliITSPrintRecPoints.C:60 AliITSPrintRecPoints.C:61 AliITSPrintRecPoints.C:62 AliITSPrintRecPoints.C:63 AliITSPrintRecPoints.C:64 AliITSPrintRecPoints.C:65 AliITSPrintRecPoints.C:66 AliITSPrintRecPoints.C:67 AliITSPrintRecPoints.C:68 AliITSPrintRecPoints.C:69 AliITSPrintRecPoints.C:70 AliITSPrintRecPoints.C:71 AliITSPrintRecPoints.C:72 AliITSPrintRecPoints.C:73 AliITSPrintRecPoints.C:74 AliITSPrintRecPoints.C:75 AliITSPrintRecPoints.C:76 AliITSPrintRecPoints.C:77 AliITSPrintRecPoints.C:78 AliITSPrintRecPoints.C:79 AliITSPrintRecPoints.C:80 AliITSPrintRecPoints.C:81 AliITSPrintRecPoints.C:82 AliITSPrintRecPoints.C:83 AliITSPrintRecPoints.C:84 AliITSPrintRecPoints.C:85 AliITSPrintRecPoints.C:86 AliITSPrintRecPoints.C:87 AliITSPrintRecPoints.C:88 AliITSPrintRecPoints.C:89 AliITSPrintRecPoints.C:90 AliITSPrintRecPoints.C:91 AliITSPrintRecPoints.C:92 AliITSPrintRecPoints.C:93 AliITSPrintRecPoints.C:94 AliITSPrintRecPoints.C:95 AliITSPrintRecPoints.C:96 AliITSPrintRecPoints.C:97 AliITSPrintRecPoints.C:98 AliITSPrintRecPoints.C:99 AliITSPrintRecPoints.C:100 AliITSPrintRecPoints.C:101 AliITSPrintRecPoints.C:102 AliITSPrintRecPoints.C:103 AliITSPrintRecPoints.C:104 AliITSPrintRecPoints.C:105 AliITSPrintRecPoints.C:106 AliITSPrintRecPoints.C:107 AliITSPrintRecPoints.C:108 AliITSPrintRecPoints.C:109 AliITSPrintRecPoints.C:110 AliITSPrintRecPoints.C:111 AliITSPrintRecPoints.C:112 AliITSPrintRecPoints.C:113 AliITSPrintRecPoints.C:114 AliITSPrintRecPoints.C:115 AliITSPrintRecPoints.C:116 AliITSPrintRecPoints.C:117 AliITSPrintRecPoints.C:118 AliITSPrintRecPoints.C:119 AliITSPrintRecPoints.C:120 AliITSPrintRecPoints.C:121 AliITSPrintRecPoints.C:122 AliITSPrintRecPoints.C:123 AliITSPrintRecPoints.C:124 AliITSPrintRecPoints.C:125 AliITSPrintRecPoints.C:126 AliITSPrintRecPoints.C:127 AliITSPrintRecPoints.C:128 AliITSPrintRecPoints.C:129 AliITSPrintRecPoints.C:130 AliITSPrintRecPoints.C:131 AliITSPrintRecPoints.C:132 AliITSPrintRecPoints.C:133 AliITSPrintRecPoints.C:134 AliITSPrintRecPoints.C:135 AliITSPrintRecPoints.C:136 AliITSPrintRecPoints.C:137 AliITSPrintRecPoints.C:138 AliITSPrintRecPoints.C:139 AliITSPrintRecPoints.C:140 AliITSPrintRecPoints.C:141 AliITSPrintRecPoints.C:142 AliITSPrintRecPoints.C:143 AliITSPrintRecPoints.C:144 AliITSPrintRecPoints.C:145 AliITSPrintRecPoints.C:146 AliITSPrintRecPoints.C:147