AliPhysics  5364b50 (5364b50)
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  UInt_t sNN=5023)
135 {
136  if (TString(sim) .Contains("help",TString::kIgnoreCase) ||
137  TString(real).Contains("help",TString::kIgnoreCase)) {
138  Usage(std::cout);
139  return;
140  }
141  // Set the path to the code
142  TString fwd = "$ALICE_PHYSICS/PWGLF/FORWARD/analysis2/dndeta/tracklets3";
143  if (gSystem->Getenv("ANA_SRC")) fwd = "$ANA_SRC/dndeta/tracklets3";
144 
145  // Compile the needed code
146  gSystem->AddIncludePath(Form("-I%s",fwd.Data()));
147  gROOT->LoadMacro(Form("%s/AliTrackletAODUtils.C++g",fwd.Data()));
148  gROOT->LoadMacro(Form("%s/AliTrackletdNdeta2.C++g",fwd.Data()));
149 
150  // Set inputs and output
151  TString realShrt, simShrt;
152  TString realFile = FormatInput(real, realShrt);
153  TString simFile = FormatInput(sim, simShrt);
154  TString outFile(output && output[0] != '\0' ? output :
155  Form("%s_%s",realShrt.Data(),simShrt.Data()));
156  if (proc & 0x1) outFile.Append("_unit");
157  if (proc & 0x2) outFile.Append("_const");
158  if (proc & 0x4) outFile.Append("_eta");
159  if (proc & 0x8) outFile.Append("_etaipz");
160  gSystem->mkdir(outFile,true);
161  Printf("===========================================\n"
162  " Real data file: %s\n"
163  " Simulation data file: %s\n"
164  " Output directory: %s\n"
165  "===========================================",
166  realFile.Data(), simFile.Data(), outFile.Data());
167 
168  // Create the object to do the post processing, and run it
170  p->Run(proc,viz,n,realFile,simFile,outFile);
171 
172  // Extract a GSE
173  Printf("Extracting GraphSysErr object(s)");
174  gROOT->LoadMacro(Form("%s/ExtractGSE2.C",fwd.Data()));
175  ExtractGSE2(outFile,sNN);
176 
177  Printf("All output stored in %s", outFile.Data());
178 }
179 /* @} */
180 // EOF
void ExtractGSE2(const char *input, UShort_t sNN=5023)
Definition: ExtractGSE2.C:382
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
const char * fwd
void Post(const char *sim, const char *real, const char *output=0, UInt_t proc=0x2, UInt_t viz=0x32f, UInt_t n=10, UInt_t sNN=5023)
Definition: Post.C:128