]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/ITS/macros/rec-spd-cluster.C
aa2f0d9fff9a7e45a93f58314d1a5b0ed29ecb67
[u/mrichter/AliRoot.git] / HLT / ITS / macros / rec-spd-cluster.C
1
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   gSystem->Load("libHLTrec.so");
22   AliHLTSystem* gHLT=AliHLTReconstructorBase::GetInstance();
23  
24   ///////////////////////////////////////////////////////////////////////////////////////////////////
25   //
26   // Setting up which output to give
27   //
28   TString option="libAliHLTUtil.so libAliHLTRCU.so libAliHLTITS.so libAliHLTSample.so loglevel=0x7c chains=";
29
30   ///////////////////////////////////////////////////////////////////////////////////////////////////
31   //
32   // define the analysis chain to be run
33   //
34   
35   int minddl=0x00000000;
36   int maxddl=0x00040000;
37
38   int ddl=0;
39   int ddlno=0;
40
41   TString dummyInput="";
42   for(int ddl=minddl;ddl<=maxddl;){
43     TString arg, publisher, cf;
44     //arg.Form("-minid %d -datatype 'DDL_RAW ' 'ITS '  -dataspec 0x%02x%02x%02x%02x -verbose", ddl, 00, 00, 00, 00);   
45     //arg.Form("-detector ITSSPD -skipempty -datatype 'DDL_RAW ' 'ITS ' -verbose");
46     //arg.Form("-minid %d -datatype 'DDL_RAW ' 'TPC '  -dataspec 0x%02x%02x%02x%02x -verbose", ddlno, slice, slice, part, part);
47     //arg.Form("-minid %d -datatype 'DDL_RAW ' 'ISPD ' -dataspec 0x%08x -verbose",ddlno, ddl);
48     //arg.Form("-detector ITSSPD -datatype 'DDL_RAW ' 'ISPD ' -skipempty -dataspec 0x%08x -verbose",ddl);
49     arg.Form("-minid %d -datatype 'DDL_RAW ' 'ISPD ' -dataspec 0x%08x -verbose",ddlno, ddl);
50     publisher.Form("DP_%d", ddl);
51     AliHLTConfiguration pubconf(publisher.Data(), "AliRawReaderPublisher", NULL , arg.Data());
52     
53     cf.Form("CF_%d",ddl);
54     AliHLTConfiguration cfconf(cf.Data(), "ITSClusterFinderSPD", publisher.Data(), "");
55
56     if (dummyInput.Length()>0) dummyInput+=" ";
57     dummyInput+=cf;
58
59     ddlno++;
60     if(ddl==0x0000000){ddl++;}else{ddl = ddl << 1;}
61   }
62
63   //add dummy
64   AliHLTConfiguration dummyconf("dummy", "Dummy", dummyInput.Data(), "-output_percentage 0");
65
66   option+="dummy";
67
68   ///////////////////////////////////////////////////////////////////////////////////////////////////
69   //
70   // Init and run the reconstruction
71   // All but HLT reconstructio is switched off
72   //
73   AliReconstruction rec;
74   rec.SetInput(input);
75   rec.SetRunVertexFinder(kFALSE);
76   rec.SetRunLocalReconstruction("HLT");
77   rec.SetRunTracking("");
78   rec.SetLoadAlignFromCDB(0);
79   rec.SetRunQA(":");
80
81   // NOTE: FillESD is a step in the AliReconstruction sequence and has
82   // nothing to do with the fact that this macro writes ESD output
83   // HLT processes the HLTOUT during FillESD and extracts data which
84   // has already been prepared. This step is currently not necessary for
85   // this macro
86   rec.SetFillESD("");
87   rec.SetOption("HLT", option);
88   rec.Run();
89 }
90
91
92