AliPhysics  b76e98e (b76e98e)
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  << " 0x0040 Correct for non-flat centrality in each bin\n"
44  << " 0x1000 MC closure test\n"
45  << std::endl;
46  o << "Visualization options:\n"
47  << "\n"
48  << " 0x0001 Draw general information\n"
49  << " 0x0002 Draw parameters\n"
50  << " 0x0004 Draw weights\n"
51  << " 0x0008 Draw dNch/deta\n"
52  << " 0x0010 Draw alphas\n"
53  << " 0x0020 Draw delta information\n"
54  << " 0x0040 Draw backgrounds\n"
55  << " 0x0100 Whether to make a PDF\n"
56  << " 0x0200 Whether to pause after each plot\n"
57  << " 0x0400 Draw in landscape\n"
58  << " 0x0800 Alternative markers\n"
59  << std::endl;
60 }
61 
72 const TString& FormatInput(const char* inp, TString& shrt)
73 {
74  static TString tmp;
75  tmp = "";
76  Long_t flags;
77  if (gSystem->GetPathInfo(inp, 0, (Long_t*)0, &flags, 0) != 0) {
78  Warning("FormatInput", "Cannot stat %s", inp);
79  return tmp;
80  }
81  Info("FormatInput", "Input=%s stat=0x%x", inp, flags);
82  if (flags & 0x1) {
83  shrt = inp;
84  tmp.Form("%s/tracklet_dndeta.root", inp);
85  }
86  else {
87  shrt = gSystem->DirName(inp);
88  tmp = inp;
89  }
90  return tmp;
91 }
130 void Post(const char* sim,
131  const char* real,
132  const char* output=0,
133  UInt_t proc=0x2,
134  UInt_t viz=0x32f,
135  UInt_t n=10,
136  UInt_t sNN=5023)
137 {
138  if (TString(sim) .Contains("help",TString::kIgnoreCase) ||
139  TString(real).Contains("help",TString::kIgnoreCase)) {
140  Usage(std::cout);
141  return;
142  }
143  // Set the path to the code
144  TString fwd = "$ALICE_PHYSICS/PWGLF/FORWARD/analysis2/dndeta/tracklets3";
145  if (gSystem->Getenv("ANA_SRC")) fwd = "$ANA_SRC/dndeta/tracklets3";
146 
147  // Compile the needed code
148  gSystem->AddIncludePath(Form("-I%s",fwd.Data()));
149  gROOT->LoadMacro(Form("%s/AliTrackletAODUtils.C++g",fwd.Data()));
150  gROOT->LoadMacro(Form("%s/AliTrackletdNdeta2.C++g",fwd.Data()));
151 
152  // Set inputs and output
153  TString realShrt, simShrt;
154  TString realFile = FormatInput(real, realShrt);
155  TString simFile = FormatInput(sim, simShrt);
156  TString outFile(output && output[0] != '\0' ? output :
157  Form("%s_%s",realShrt.Data(),simShrt.Data()));
158  if (proc & 0x1) outFile.Append("_unit");
159  if (proc & 0x2) outFile.Append("_const");
160  if (proc & 0x4) outFile.Append("_eta");
161  if (proc & 0x8) outFile.Append("_etaipz");
162  gSystem->mkdir(outFile,true);
163  Printf("===========================================\n"
164  " Real data file: %s\n"
165  " Simulation data file: %s\n"
166  " Output directory: %s\n"
167  "===========================================",
168  realFile.Data(), simFile.Data(), outFile.Data());
169 
170  // Create the object to do the post processing, and run it
172  p->Run(proc,viz,n,realFile,simFile,outFile);
173 
174  // Extract a GSE
175  Printf("Extracting GraphSysErr object(s)");
176  gROOT->LoadMacro(Form("%s/ExtractGSE2.C",fwd.Data()));
177  ExtractGSE2(outFile,sNN);
178 
179  Printf("All output stored in %s", outFile.Data());
180 }
181 /* @} */
182 // 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:72
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:130