#if !defined(__CINT__) || defined(__MAKECINT__)
#include <Riostream.h>
#include<TClassTable.h>
#include <TError.h>
#include <TInterpreter.h>
#include <TStopwatch.h>
#include <TString.h>
#include "AliRun.h"
#include "AliRunLoader.h"
#include "AliITS.h"
#include "AliITSInitGeometry.h"
#include "AliITSgeom.h"
#include "AliITSLoader.h"
#include "AliITSsimulationFastPoints.h"
#include "AliGeomManager.h"
#endif
/*
$Id$
*/
void AliITSHits2FastRecPoints (Int_t evNumber1=0,Int_t evNumber2=0, TString inFile = "galice.root", Int_t nsignal=25, Int_t size=-1)
{
/////////////////////////////////////////////////////////////////////////
//
// This macro creates fast recpoints
//
/////////////////////////////////////////////////////////////////////////
// Dynamically link some shared libs
if (gClassTable->GetID("AliRun") < 0) {
gInterpreter->ExecuteMacro("loadlibs.C");
}
else {
if(gAlice){
delete AliRunLoader::Instance();
delete gAlice;
gAlice=0;
}
}
// Get geometry
AliGeomManager::LoadGeometry("geometry.root");
// Connect the Root Galice file containing Geometry, Kine and Hits
AliRunLoader* rl = AliRunLoader::Open(inFile.Data());
if (rl == 0x0)
{
Error("AliITSHits2FastRecPoints.C","Can not open session RL=NULL");
return;
}
Int_t retval = rl->LoadgAlice();
if (retval)
{
Error("AliITSHits2FastRecPoints.C","LoadgAlice returned error");
delete rl;
return;
}
gAlice=rl->GetAliRun();
rl->LoadHeader();
retval = rl->LoadKinematics();
if (retval)
{
Error("AliITSHits2FastRecPoints.C","LoadKinematics returned error");
delete rl;
return;
}
AliITSInitGeometry initgeom;
AliITSgeom *geom = initgeom.CreateAliITSgeom();
printf("Geometry name: %s \n",(initgeom.GetGeometryName()).Data());
AliITSLoader* gime = (AliITSLoader*)rl->GetLoader("ITSLoader");
if (gime == 0x0)
{
::Error("AliITSHits2FastRecPoints.C","can not get ITS loader");
delete rl;
return;
}
gime->SetITSgeom(geom);
retval = gime->LoadHits("read");
if (retval)
{
::Error("AliITSHits2FastRecPoints.C","LoadHits returned error");
delete rl;
return;
}
gime->SetRecPointsFileName("ITS.FastRecPoints.root");
retval = gime->LoadRecPoints("update");
if (retval)
{
::Error("AliITSHits2FastRecPoints.C","LoadRecPoints returned error");
delete rl;
return;
}
AliITS *ITS = (AliITS*) gAlice->GetModule("ITS");
if (!ITS) return;
// Set the simulation model
//
// Event Loop
//
TStopwatch timer;
cout << "Creating fast reconstructed points from hits for the ITS..." << endl;
AliITSDetTypeSim* dettyp = new AliITSDetTypeSim();
dettyp->SetLoader(gime);
dettyp->SetITSgeom(geom);
ITS->SetDetTypeSim(dettyp);
for (Int_t i=0;i<3;i++) {
ITS->SetSimulationModel(i,new AliITSsimulationFastPoints());
}
for (int ev=evNumber1; ev<= evNumber2; ev++) {
cout << "...working on event "<< ev << " ..." << endl;
Int_t nparticles = gAlice->GetEvent(ev);
cout << "event " <<ev<<endl;
cout << "nparticles " <<nparticles<<endl;
rl->GetEvent(ev);
//if(gime->TreeR() == 0x0) gime->MakeTree("R");
if (ev < evNumber1) continue;
if (nparticles <= 0) return;
Int_t bgr_ev=Int_t(ev/nsignal);
timer.Start();
ITS->HitsToFastRecPoints(ev,bgr_ev,size," ","All"," ");
timer.Stop(); timer.Print();
} // event loop
delete rl;
}
AliITSHits2FastRecPoints.C:1 AliITSHits2FastRecPoints.C:2 AliITSHits2FastRecPoints.C:3 AliITSHits2FastRecPoints.C:4 AliITSHits2FastRecPoints.C:5 AliITSHits2FastRecPoints.C:6 AliITSHits2FastRecPoints.C:7 AliITSHits2FastRecPoints.C:8 AliITSHits2FastRecPoints.C:9 AliITSHits2FastRecPoints.C:10 AliITSHits2FastRecPoints.C:11 AliITSHits2FastRecPoints.C:12 AliITSHits2FastRecPoints.C:13 AliITSHits2FastRecPoints.C:14 AliITSHits2FastRecPoints.C:15 AliITSHits2FastRecPoints.C:16 AliITSHits2FastRecPoints.C:17 AliITSHits2FastRecPoints.C:18 AliITSHits2FastRecPoints.C:19 AliITSHits2FastRecPoints.C:20 AliITSHits2FastRecPoints.C:21 AliITSHits2FastRecPoints.C:22 AliITSHits2FastRecPoints.C:23 AliITSHits2FastRecPoints.C:24 AliITSHits2FastRecPoints.C:25 AliITSHits2FastRecPoints.C:26 AliITSHits2FastRecPoints.C:27 AliITSHits2FastRecPoints.C:28 AliITSHits2FastRecPoints.C:29 AliITSHits2FastRecPoints.C:30 AliITSHits2FastRecPoints.C:31 AliITSHits2FastRecPoints.C:32 AliITSHits2FastRecPoints.C:33 AliITSHits2FastRecPoints.C:34 AliITSHits2FastRecPoints.C:35 AliITSHits2FastRecPoints.C:36 AliITSHits2FastRecPoints.C:37 AliITSHits2FastRecPoints.C:38 AliITSHits2FastRecPoints.C:39 AliITSHits2FastRecPoints.C:40 AliITSHits2FastRecPoints.C:41 AliITSHits2FastRecPoints.C:42 AliITSHits2FastRecPoints.C:43 AliITSHits2FastRecPoints.C:44 AliITSHits2FastRecPoints.C:45 AliITSHits2FastRecPoints.C:46 AliITSHits2FastRecPoints.C:47 AliITSHits2FastRecPoints.C:48 AliITSHits2FastRecPoints.C:49 AliITSHits2FastRecPoints.C:50 AliITSHits2FastRecPoints.C:51 AliITSHits2FastRecPoints.C:52 AliITSHits2FastRecPoints.C:53 AliITSHits2FastRecPoints.C:54 AliITSHits2FastRecPoints.C:55 AliITSHits2FastRecPoints.C:56 AliITSHits2FastRecPoints.C:57 AliITSHits2FastRecPoints.C:58 AliITSHits2FastRecPoints.C:59 AliITSHits2FastRecPoints.C:60 AliITSHits2FastRecPoints.C:61 AliITSHits2FastRecPoints.C:62 AliITSHits2FastRecPoints.C:63 AliITSHits2FastRecPoints.C:64 AliITSHits2FastRecPoints.C:65 AliITSHits2FastRecPoints.C:66 AliITSHits2FastRecPoints.C:67 AliITSHits2FastRecPoints.C:68 AliITSHits2FastRecPoints.C:69 AliITSHits2FastRecPoints.C:70 AliITSHits2FastRecPoints.C:71 AliITSHits2FastRecPoints.C:72 AliITSHits2FastRecPoints.C:73 AliITSHits2FastRecPoints.C:74 AliITSHits2FastRecPoints.C:75 AliITSHits2FastRecPoints.C:76 AliITSHits2FastRecPoints.C:77 AliITSHits2FastRecPoints.C:78 AliITSHits2FastRecPoints.C:79 AliITSHits2FastRecPoints.C:80 AliITSHits2FastRecPoints.C:81 AliITSHits2FastRecPoints.C:82 AliITSHits2FastRecPoints.C:83 AliITSHits2FastRecPoints.C:84 AliITSHits2FastRecPoints.C:85 AliITSHits2FastRecPoints.C:86 AliITSHits2FastRecPoints.C:87 AliITSHits2FastRecPoints.C:88 AliITSHits2FastRecPoints.C:89 AliITSHits2FastRecPoints.C:90 AliITSHits2FastRecPoints.C:91 AliITSHits2FastRecPoints.C:92 AliITSHits2FastRecPoints.C:93 AliITSHits2FastRecPoints.C:94 AliITSHits2FastRecPoints.C:95 AliITSHits2FastRecPoints.C:96 AliITSHits2FastRecPoints.C:97 AliITSHits2FastRecPoints.C:98 AliITSHits2FastRecPoints.C:99 AliITSHits2FastRecPoints.C:100 AliITSHits2FastRecPoints.C:101 AliITSHits2FastRecPoints.C:102 AliITSHits2FastRecPoints.C:103 AliITSHits2FastRecPoints.C:104 AliITSHits2FastRecPoints.C:105 AliITSHits2FastRecPoints.C:106 AliITSHits2FastRecPoints.C:107 AliITSHits2FastRecPoints.C:108 AliITSHits2FastRecPoints.C:109 AliITSHits2FastRecPoints.C:110 AliITSHits2FastRecPoints.C:111 AliITSHits2FastRecPoints.C:112 AliITSHits2FastRecPoints.C:113 AliITSHits2FastRecPoints.C:114 AliITSHits2FastRecPoints.C:115 AliITSHits2FastRecPoints.C:116 AliITSHits2FastRecPoints.C:117 AliITSHits2FastRecPoints.C:118 AliITSHits2FastRecPoints.C:119 AliITSHits2FastRecPoints.C:120 AliITSHits2FastRecPoints.C:121 AliITSHits2FastRecPoints.C:122 AliITSHits2FastRecPoints.C:123 AliITSHits2FastRecPoints.C:124 AliITSHits2FastRecPoints.C:125 AliITSHits2FastRecPoints.C:126 AliITSHits2FastRecPoints.C:127 AliITSHits2FastRecPoints.C:128 AliITSHits2FastRecPoints.C:129 AliITSHits2FastRecPoints.C:130 AliITSHits2FastRecPoints.C:131 AliITSHits2FastRecPoints.C:132 AliITSHits2FastRecPoints.C:133 AliITSHits2FastRecPoints.C:134 AliITSHits2FastRecPoints.C:135 AliITSHits2FastRecPoints.C:136 AliITSHits2FastRecPoints.C:137 AliITSHits2FastRecPoints.C:138 AliITSHits2FastRecPoints.C:139 AliITSHits2FastRecPoints.C:140 AliITSHits2FastRecPoints.C:141 AliITSHits2FastRecPoints.C:142 AliITSHits2FastRecPoints.C:143 AliITSHits2FastRecPoints.C:144 AliITSHits2FastRecPoints.C:145 AliITSHits2FastRecPoints.C:146 AliITSHits2FastRecPoints.C:147 AliITSHits2FastRecPoints.C:148 AliITSHits2FastRecPoints.C:149