update by Gaute:
[u/mrichter/AliRoot.git] / HLT / ITS / macros / rec-spd-cluster.C
1 // $Id$
2 //aliroot -b -q rec-spd-cluster.C | tee rec-spd-cluster.log
3
4 void rec_spd_cluster(const char* input="./", char* opt="")
5 {
6
7   if(!gSystem->AccessPathName("galice.root")){
8     cerr << "please delete the galice.root or run at different place." << endl;
9     return;
10   }
11   
12   if (!input) {
13     cerr << "please specify input or run without arguments" << endl;
14     return;
15   }
16
17   ///////////////////////////////////////////////////////////////////////////////////////////////////
18   //
19   // init the HLT system in order to define the analysis chain below
20   //
21   AliHLTSystem* gHLT=AliHLTPluginBase::GetInstance();
22  
23   ///////////////////////////////////////////////////////////////////////////////////////////////////
24   //
25   // Setting up which output to give
26   //
27   TString option="libAliHLTUtil.so libAliHLTRCU.so libAliHLTITS.so libAliHLTSample.so loglevel=0x7c chains=";
28
29   ///////////////////////////////////////////////////////////////////////////////////////////////////
30   //
31   // define the analysis chain to be run
32   //
33     
34   int minddl=0;
35   int maxddl=19;
36   int spec=0x1;
37   int ddlno=0;
38
39   TString dummyInput="";
40   for(ddlno=minddl;ddlno<=maxddl;ddlno++){  
41     TString arg, publisher, cf;
42   
43     arg.Form("-minid %d -datatype 'DDL_RAW ' 'ISPD ' -dataspec 0x%08x -verbose",ddlno, spec);
44     publisher.Form("DP_%d", ddlno);
45     AliHLTConfiguration pubconf(publisher.Data(), "AliRawReaderPublisher", NULL , arg.Data());
46     
47     cf.Form("CF_%d",ddlno);
48     AliHLTConfiguration cfconf(cf.Data(), "ITSClusterFinderSPD", publisher.Data(), "");
49
50     if (dummyInput.Length()>0) dummyInput+=" ";
51     dummyInput+=cf;
52
53     spec=spec<<1;
54   }
55
56   //add dummy
57   //AliHLTConfiguration dummyconf("dummy", "Dummy", dummyInput.Data(), "-output_percentage 0");
58   //option+="dummy";
59
60   AliHLTConfiguration cfconf("clusterHisto","ITSClusterHisto",dummyInput.Data(),"");
61   AliHLTConfiguration fwconf("histFile","ROOTFileWriter", "clusterHisto","-datafile ClusterHisto -concatenate-events -overwrite");
62
63   option+="histFile";
64
65   ///////////////////////////////////////////////////////////////////////////////////////////////////
66   //
67   // Init and run the reconstruction
68   // All but HLT reconstructio is switched off
69   //
70   AliReconstruction rec;
71   rec.SetInput(input);
72   rec.SetRunVertexFinder(kFALSE);
73   rec.SetRunLocalReconstruction("HLT");
74   rec.SetRunTracking("");
75   rec.SetLoadAlignFromCDB(0);
76   rec.SetRunQA(":");
77
78   // NOTE: FillESD is a step in the AliReconstruction sequence and has
79   // nothing to do with the fact that this macro writes ESD output
80   // HLT processes the HLTOUT during FillESD and extracts data which
81   // has already been prepared. This step is currently not necessary for
82   // this macro
83   rec.SetFillESD("");
84   rec.SetOption("HLT", option);
85   rec.Run();
86 }
87
88
89