]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/Nuclei/B2/macros/LHC10bcde.C
B2 analysis code
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / Nuclei / B2 / macros / LHC10bcde.C
CommitLineData
2403d402 1/**************************************************************************\r
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *\r
3 * *\r
4 * Author: The ALICE Off-line Project. *\r
5 * Contributors are mentioned in the code where appropriate. *\r
6 * *\r
7 * Permission to use, copy, modify and distribute this software and its *\r
8 * documentation strictly for non-commercial purposes is hereby granted *\r
9 * without fee, provided that the above copyright notice appears in all *\r
10 * copies and that both the copyright notice and this permission notice *\r
11 * appear in the supporting documentation. The authors make no claims *\r
12 * about the suitability of this software for any purpose. It is *\r
13 * provided "as is" without express or implied warranty. *\r
14 **************************************************************************/\r
15\r
16// call Config_XXX for each period\r
17// author: Eulogio Serradilla <eulogio.serradilla@cern.ch>\r
18\r
19#include <Riostream.h>\r
20#include <TROOT.h>\r
21#include <TSystem.h>\r
22#include <TString.h>\r
23#include <TFileMerger.h>\r
24\r
25#include "AliLnDriver.h"\r
26#include "Config.h"\r
27\r
28Int_t LHC10bcde(const TString& species = "Deuteron",\r
29 const TString& inputDir = "~/alice/input",\r
30 const TString& outputDir = "~/alice/output",\r
31 const TString& outputTag = "lhc10bcde",\r
32 const TString& multTag = "",\r
33 const TString& multCorTag = "",\r
34 Bool_t normToInel = 1, // for mult\r
35 Bool_t drawOutput = 1, // for batch\r
36 Int_t option = 0)\r
37{\r
38//\r
39// call Config_XXX for each period, merge the corrected pt and then get the results\r
40//\r
41 using namespace std;\r
42 \r
43 const Int_t kNper = 4;\r
44 const TString kPeriod[kNper] = { "lhc10b", "lhc10c", "lhc10d", "lhc10e" };\r
45 const TString kOutputTag[kNper] = { "lhc10b", "lhc10c", "lhc10d", "lhc10e" };\r
46 \r
47 Double_t ymin = (species=="Proton") ? 1.1e-6 : 1.1e-8;\r
48 Double_t ymax = (species=="Proton") ? 4.e-1 : 4.e-4;\r
49 \r
50 TFileMerger m;\r
51 \r
52 for(Int_t i=0; i<kNper; ++i)\r
53 {\r
54 cout << endl << "Period: " << kPeriod[i] << endl;\r
55 \r
56 TString arg = inputDir + "\","\r
57 + "\"" + outputDir + "\","\r
58 + "\"" + kPeriod[i] + "\","\r
59 + "\"" + kOutputTag[i] + "\","\r
60 + "\"" + multTag + "\","\r
61 + "\"" + multCorTag;\r
62 \r
63 if(species=="Proton" && option==0)\r
64 {\r
65 cout << "Config_Proton_TPC_LHC10x.C" << endl << endl;\r
66 gROOT->ProcessLine(Form(".x Config_Proton_TPC_LHC10x.C+g(\"%s\",%d,0)", arg.Data(), normToInel));\r
67 }\r
68 else if(species=="Proton" && option==1)\r
69 {\r
70 cout << "Config_Proton_TOF_LHC10x.C" << endl << endl;\r
71 gROOT->ProcessLine(Form(".x Config_Proton_TOF_LHC10x.C+g(\"%s\",%d,0)", arg.Data(), normToInel));\r
72 }\r
73 else if(species=="Proton" && option==2)\r
74 {\r
75 cout << "Config_Proton_TPCTOF_LHC10x.C" << endl << endl;\r
76 gROOT->ProcessLine(Form(".x Config_Proton_TPCTOF_LHC10x.C+g(\"%s\",%d,0)", arg.Data(), normToInel));\r
77 }\r
78 else if(species=="Deuteron")\r
79 {\r
80 cout << "Config_Deuteron_TOF_LHC10x.C" << endl << endl;\r
81 gROOT->ProcessLine(Form(".x Config_Deuteron_TOF_LHC10x.C+g(\"%s\",%d,0)", arg.Data(), normToInel));\r
82 }\r
83 else\r
84 {\r
85 cerr << "unknown species/option: " << species << "/" << option << endl;\r
86 cerr << "usage: Proton/0, Proton/1, Proton/2 or Deuteron" << endl;\r
87 exit(1);\r
88 }\r
89 \r
90 TString ptfile = outputDir + "/" + species + "-" + kOutputTag[i] + "-Pt.root";\r
91 m.AddFile(ptfile,0);\r
92 }\r
93 \r
94 TString outputPt = outputDir + "/" + species + "-" + outputTag + "-Pt.root";\r
95 TString outputRatio = outputDir + "/" + species + "-" + outputTag + "-Ratio.root";\r
96 TString outputSpectra = outputDir + "/" + species + "-" + outputTag + "-Spectra.root";\r
97 \r
98 // pt\r
99 \r
100 m.OutputFile(outputPt.Data());\r
101 m.Merge();\r
102 \r
103 // spectra\r
104 \r
105 AliLnDriver driver;\r
106 \r
107 driver.SetSpecies(species);\r
108 \r
109 driver.SetOutputFilenames(outputPt, outputRatio, outputSpectra);\r
110 driver.SetOutputTag(outputTag);\r
111 \r
112 driver.SetMakeCorrections(0);\r
113 driver.SetMakePt(0);\r
114 driver.SetMakeRatio(1);\r
115 driver.SetMakeSpectra(1);\r
116 \r
117 driver.Run();\r
118 \r
119 // merge all results for comparison\r
120 \r
121 TFileMerger m2, m3;\r
122 \r
123 for(Int_t i=0; i<kNper; ++i)\r
124 {\r
125 m2.AddFile((outputDir + "/" + species + "-" + kPeriod[i] + "-Ratio.root").Data(),0);\r
126 m3.AddFile((outputDir + "/" + species + "-" + kPeriod[i] + "-Spectra.root").Data(),0);\r
127 }\r
128 \r
129 m2.AddFile(outputRatio.Data(),0);\r
130 m3.AddFile(outputSpectra.Data(),0);\r
131 \r
132 TString allRatios = outputDir + "/" + species + "-lhc10bcde1-Ratio.root";\r
133 TString allSpectra = outputDir + "/" + species + "-lhc10bcde1-Spectra.root";\r
134 \r
135 m2.OutputFile(allRatios.Data());\r
136 m3.OutputFile(allSpectra.Data());\r
137 \r
138 m2.Merge();\r
139 m3.Merge();\r
140 \r
141 // compare periods\r
142 \r
143 if(!drawOutput) return 0;\r
144 \r
145 gROOT->ProcessLine(Form(".x DrawDir.C+g(\"%s\",\"Anti%s%s_Ratio_Pt\",\"lhc10bcde\",0,4.5, 0., 1.8, \"p_{T} (GeV/c)\", \"neg/pos\", 1, \"cRatio\",\"Particle ratio\")", allRatios.Data(), species.Data(), species.Data()));\r
146 \r
147 DrawOutputSpectraMult(allSpectra, species, ymin, ymax, 1, "lhc10bcde");\r
148 \r
149 return 0;\r
150}\r