Added new library libFMDutil. This library contains utility classes that
[u/mrichter/AliRoot.git] / FMD / scripts / MakeLego.C
1 //
2 // $Id$
3 //
4 // Script to make ROOT files with LEGO information histograms
5 //
6 TH1*
7 process(TFile* file, const char* name, const char* opt) 
8 {
9   TH2F*  h2d = static_cast<TH2F*>(file->Get(name));
10   if (!h2d) {
11     Error("process", "Couldn't get %s from %s", name, file->GetName());
12     return 0;
13   }
14   TH1D*  h1d = h2d->ProjectionY();
15   h1d->SetTitle(Form("%s", h1d->GetTitle()));
16   h1d->Scale(1. / 360.);
17
18   return h1d;
19   
20   return heta;
21 }
22
23 void
24 MakeLego(const Char_t* what) 
25 {
26   TString config("FMD/scripts/ConfigInner.C");
27   TString opt(what);
28   if      (opt == "ITS") 
29     config = "FMD/scripts/ConfigItsOnly.C";
30   else if (opt == "PIPE") 
31     config = "FMD/scripts/ConfigPipeOnly.C";
32   else if (opt == "FMD") 
33     config = "FMD/scripts/ConfigFmdOnly.C";
34   else if (opt == "Nothing") 
35     config = "FMD/scripts/ConfigNothing.C";
36   else 
37     opt = "Inner";
38   
39       
40   cout << "Running AliRun::RunLego(" << config
41        << ",180,0,180,360,0,360,0,10000,0,10000); " << endl;
42   
43   gAlice->RunLego(config.Data(), 180, 0, 180, 360, 0, 360, 0, 100000,
44                   100000000, 0);
45   
46   TFile* galice   = TFile::Open("galice.root", "READ");
47   TFile* output   = TFile::Open(Form("Lego_%s.root", opt.Data()),"RECREATE");
48   TH1F* habso_eta = process(galice, "habso", opt.Data());
49   TH1F* hradl_eta = process(galice, "hradl", opt.Data());
50   TH1F* hgcm2_eta = process(galice, "hgcm2", opt.Data());
51   hgcm2_eta->Draw();
52   
53   output->Write();
54   output->Close();
55   galice->Close();  
56 }
57 //____________________________________________________________________
58 //
59 // EOF
60 //