11 if (t.EqualTo(
"INEL>0")) t=
"INELGt0";
12 if (t.EqualTo(
"NSD")) t=
"V0AND";
13 TString scr(Form(
"nosec/%s/%04d/%s/%s.C",
14 system.Data(), sNN, t.Data(), (
rebin ?
"rebin" :
"full")));
16 if (
gSystem->AccessPathName(scr.Data())) {
17 Warning(
"ConvertOne",
"Script %s does not exist", scr.Data());
21 THStack* stack =
new THStack(
"",
"");
22 gROOT->Macro(Form(
"%s((THStack*)%p,0,20)", scr.Data(), stack));
23 if (!stack->GetHists()) {
24 Warning(
"ConvertOne",
"Failed to import from %s", scr.Data());
29 if (t.EqualTo(
"INEL")) adder =
new INELAdder(system,sNN);
30 else if (t.EqualTo(
"INELGt0")) adder =
new INELGt0Adder(system,sNN);
31 else if (t.EqualTo(
"V0AND")) adder =
new NSDAdder(system,sNN);
32 else if (t.BeginsWith(
"CENT")) adder =
new CENTAdder(system,sNN,t);
34 Error(
"ConvertOne",
"Don't know how to add to %s", t.Data());
39 ret->SetName(Form(
"%s_%05d_%s", system.Data(), sNN, t.Data()));
41 TIter next(stack->GetHists());
43 while ((hist = static_cast<TH1*>(next()))) {
45 if (name.Contains(
"mirror") || name.Contains(
"SysError")) {
51 hist->SetMarkerColor(kBlack);
52 hist->SetFillColor(kBlack);
53 hist->SetLineColor(kBlack);
55 if (system.EqualTo(
"pp") && sNN == 8000) {
56 if (t.EqualTo(
"INEL")) hist->Scale(0.85);
57 if (t.EqualTo(
"V0AND")) hist->Scale(0.93);
64 if (trg.EqualTo(
"INEL>0")) trg =
"INELGt0";
65 TString dir(Form(
"out/%s/%05d/%s", system.Data(),
67 gSystem->Exec(Form(
"mkdir -p %s", dir.Data()));
69 TFile*
file = TFile::Open(Form(
"%s/%s.root",
73 Info(
"",
"Writing to %s", file->GetPath());
90 if (gROOT->IsBatch())
return;
92 TCanvas*
c =
new TCanvas(l->GetName(), l->GetName());
98 o->Draw(
"STACK SPLIT QUAD AXIS");
101 h->SetMaximum(h->GetMaximum()*1.2);
105 o->Draw(
"STACK SPLIT QUAD");
119 const char* paCents[] = {
"V0X",
"ZNX",
"V0M",
"CL1", 0 };
120 const char** ptrCent = paCents;
122 const char* paSys[] = {
"pPb",
"Pbp", 0 };
123 const char* paSide[] = {
"A",
"C", 0 };
124 const char** ptrSys = paSys;
125 const char** ptrSide = paSide;
127 TString trg(Form(
"CENT%s", *ptrCent));
128 trg.ReplaceAll(
"X", *ptrSide);
141 UShort_t ppSNN[] = { 900, 2760, 7000, 8000, 0 };
144 const char* ppTrig[] = {
"INEL",
"INELGt0",
"NSD", 0 };
145 const char** ptrTrig = ppTrig;
158 const char*
fwd =
".";
159 gROOT->SetMacroPath(Form(
"%s:%s/dndeta:%s/gse:%s/scripts",
161 gSystem->AddIncludePath(Form(
"-I%s/dndeta -I%s/gse", fwd,fwd));
163 if (!gROOT->GetClass(
"GraphSysErr")) gROOT->LoadMacro(
"GraphSysErr.C+g");
164 if (!gROOT->GetClass(
"SysErrorAdder"))gROOT->LoadMacro(
"SysErrorAdder.C+g");
172 gSystem->Exec(
"(cd out && tar -czvf ../fwd.tar.gz .)");
virtual GraphSysErr * Make(TH1 *h, TLegend *l, Double_t eff=1, Bool_t verb=false)
TList * ConvertOne(const TString &system, UShort_t sNN, const TString &trigger, Bool_t rebin=true)
void ConvertAndDraw(const TString &system, UShort_t sNN, const TString &trigger, Bool_t rebin=true)
TMultiGraph * GetMulti(Option_t *option="")
const char * GetKey(const char *key) const
virtual const char * GetTriggerString() const