AliPhysics  a5cd6b6 (a5cd6b6)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Post.C
Go to the documentation of this file.
1 
24 void Usage(std::ostream& o)
25 {
26  o << "Usage: Post(SIM,REAL,OUT,PROC,VIZ,N)\n"
27  << "\n"
28  << " SIM Simulation data file \n"
29  << " REAL Real data file \n"
30  << " OUTPUT (optional) Output name \n"
31  << " PROC (optional) processing options \n"
32  << " VIZ (optional) visualisation options \n"
33  << " N (optional) max number of centrality bins \n"
34  << std::endl;
35  o << "Processing options:\n"
36  << "\n"
37  << " 0x0001 Do scaling by unity\n"
38  << " 0x0002 Do scaling by full average\n"
39  << " 0x0004 Do scaling by eta differential\n"
40  << " 0x0008 Do scaling by fully differential\n"
41  << " 0x0010 Correct for decay of strange to secondary \n"
42  << " 0x0020 Correct for fake tracklets\n"
43  << " 0x1000 MC closure test\n"
44  << std::endl;
45  o << "Visualization options:\n"
46  << "\n"
47  << " 0x0001 Draw general information\n"
48  << " 0x0002 Draw parameters\n"
49  << " 0x0004 Draw weights\n"
50  << " 0x0008 Draw dNch/deta\n"
51  << " 0x0010 Draw alphas\n"
52  << " 0x0020 Draw delta information\n"
53  << " 0x0040 Draw backgrounds\n"
54  << " 0x0100 Whether to make a PDF\n"
55  << " 0x0200 Whether to pause after each plot\n"
56  << " 0x0400 Draw in landscape\n"
57  << " 0x0800 Alternative markers\n"
58  << std::endl;
59 }
60 
71 const TString& FormatInput(const char* inp, TString& shrt)
72 {
73  static TString tmp;
74  tmp = "";
75  Long_t flags;
76  if (gSystem->GetPathInfo(inp, 0, (Long_t*)0, &flags, 0) != 0) {
77  Warning("FormatInput", "Cannot stat %s", inp);
78  return tmp;
79  }
80  Info("FormatInput", "Input=%s stat=0x%x", inp, flags);
81  if (flags & 0x1) {
82  shrt = inp;
83  tmp.Form("%s/tracklet_dndeta.root", inp);
84  }
85  else {
86  shrt = gSystem->DirName(inp);
87  tmp = inp;
88  }
89  return tmp;
90 }
128 void Post(const char* sim,
129  const char* real,
130  const char* output=0,
131  UInt_t proc=0x2,
132  UInt_t viz=0x32f,
133  UInt_t n=10)
134 {
135  if (TString(sim) .Contains("help",TString::kIgnoreCase) ||
136  TString(real).Contains("help",TString::kIgnoreCase)) {
137  Usage(std::cout);
138  return;
139  }
140  // Set the path to the code
141  TString fwd = "$ALICE_PHYSICS/PWGLF/FORWARD/analysis2/dndeta/tracklets3";
142  if (gSystem->Getenv("ANA_SRC")) fwd = "$ANA_SRC/dndeta/tracklets3";
143 
144  // Compile the needed code
145  gSystem->AddIncludePath(Form("-I%s",fwd.Data()));
146  gROOT->LoadMacro(Form("%s/AliTrackletAODUtils.C++g",fwd.Data()));
147  gROOT->LoadMacro(Form("%s/AliTrackletdNdeta2.C++g",fwd.Data()));
148 
149  // Set inputs and output
150  TString realShrt, simShrt;
151  TString realFile = FormatInput(real, realShrt);
152  TString simFile = FormatInput(sim, simShrt);
153  TString outFile(output && output[0] != '\0' ? output :
154  Form("%s_%s",realShrt.Data(),simShrt.Data()));
155  if (proc & 0x1) outFile.Append("_unit");
156  if (proc & 0x2) outFile.Append("_const");
157  if (proc & 0x4) outFile.Append("_eta");
158  if (proc & 0x8) outFile.Append("_etaipz");
159  gSystem->mkdir(outFile,true);
160  Printf("===========================================\n"
161  " Real data file: %s\n"
162  " Simulation data file: %s\n"
163  " Output directory: %s\n"
164  "===========================================",
165  realFile.Data(), simFile.Data(), outFile.Data());
166 
167  // Create the object to do the post processing, and run it
169  p->Run(proc,viz,n,realFile,simFile,outFile);
170 
171  // Extract a GSE
172  Printf("Extracting GraphSysErr object(s)");
173  gROOT->LoadMacro(Form("%s/ExtractGSE2.C",fwd.Data()));
174  ExtractGSE2(outFile);
175 
176  Printf("All output stored in %s", outFile.Data());
177 }
178 /* @} */
179 // EOF
void ExtractGSE2(const char *input, UShort_t sNN=5023)
Definition: ExtractGSE2.C:349
void Run(UInt_t proc=kDefaultProc, UInt_t viz=kDefaultViz, UShort_t maxBins=9, const char *dataName="data.root", const char *simName="sim.root", const char *output=0, Double_t fudge=1)
const TString & FormatInput(const char *inp, TString &shrt)
Definition: Post.C:71
void Usage(std::ostream &o)
Definition: Post.C:24
TSystem * gSystem
unsigned int UInt_t
Definition: External.C:33
void Post(const char *sim, const char *real, const char *output=0, UInt_t proc=0x2, UInt_t viz=0x32f, UInt_t n=10)
Definition: Post.C:128
const char * fwd