Added support for static libraries,
[u/mrichter/AliRoot.git] / HLT / trigger / AliITSFindClustersV2.C
1 /****************************************************************************
2  *           Origin: I.Belikov, CERN, Jouri.Belikov@cern.ch                 *
3  ****************************************************************************/
4
5 #ifndef __CINT__
6   #include <iostream.h>
7
8   #include "AliRun.h"
9   #include "AliITS.h"
10   #include "AliITSgeom.h"
11   #include "AliITSclustererV2.h"
12
13   #include "TFile.h"
14   #include "TStopwatch.h"
15 #endif
16
17 Int_t AliITSFindClustersV2(Char_t SlowOrFast='f',Int_t eventn=1,Char_t* path="./") {
18
19    cerr<<"Looking for clusters...\n";
20
21    Char_t fname[1024];
22    sprintf(fname,"%s/galice.root",path);
23    TFile *in=TFile::Open(fname);
24    if (!in->IsOpen()) {cerr<<"Can't open galice.root !\n"; return 2;}
25    if (!(gAlice=(AliRun*)in->Get("gAlice"))) {
26       cerr<<"Can't find gAlice !\n";
27       return 2;
28    }
29    AliITS *ITS  = (AliITS*)gAlice->GetModule("ITS");
30    if (!ITS) { cerr<<"Can't find the ITS !\n"; return 3; }
31
32    AliITSgeom *geom=ITS->GetITSgeom();
33
34    Char_t fnameCluster[1024];
35    sprintf(fnameCluster,"%s/AliITSclustersV2.root",path);
36    TFile *out=TFile::Open(fnameCluster,"recreate");
37    if (!out->IsOpen()) {
38       cerr<<"Delete old AliITSclustersV2.root !\n"; return 1;}
39    geom->Write();
40
41    TStopwatch timer;
42    AliITSclustererV2 clusterer(geom);
43    for (Int_t i=0; i<eventn; i++) {
44        cerr<<"Processing event number: "<<i<<endl;
45        gAlice->GetEvent(i);
46        //ITS->MakeTreeC(); //To make the V1 cluster finders happy
47        clusterer.SetEvent(i);
48        if (SlowOrFast=='s') clusterer.Digits2Clusters(in,out);
49        else                 clusterer.Hits2Clusters(in,out);
50    }
51    timer.Stop(); timer.Print();
52
53    delete gAlice; gAlice=0;
54    out->Close();
55    in->Close();
56
57    return 0;
58 }
59
60
61