ROOT logo
//------------------------------------------------------------------------------
// makeCompInel.C
//
// create figure with MC model comparisons
//------------------------------------------------------------------------------




void makeCompInel()
{
using namespace std;

TGraphErrors *graphInelAliceFit = new TGraphErrors(binsInelAlice,ptInelAlice,inelAlice,0,err2InelAlice);
graphInelAliceFit->SetMarkerColor(colorAliceFit);
graphInelAliceFit->SetLineColor(colorAliceFit);
graphInelAliceFit->SetLineWidth(1);
graphInelAliceFit->SetMarkerStyle(20);

TGraphErrors *graphInelAlice     = new TGraphErrors(binsInelAlice,centerPtInelAlice,inelAlice,0,0);
graphInelAlice->SetMarkerColor(colorAlice);
graphInelAlice->SetLineColor(colorAlice);
graphInelAlice->SetMarkerStyle(20);

TGraphErrors *graphPhojet = new TGraphErrors(binsPhojet,ptPhojet,inelPhojet,errPtPhojet,errInelPhojet);
graphPhojet->SetMarkerColor(colorPhojet);
graphPhojet->SetLineColor(colorPhojet);
graphPhojet->SetMarkerStyle(10);
graphPhojet->SetLineWidth(2);
graphPhojet->SetLineStyle(1);

TGraphErrors *graphPythia109 = new TGraphErrors(binsPythia109,ptPythia109,inelPythia109,errPtPythia109,errInelPythia109);
graphPythia109->SetMarkerColor(colorPythia109);
graphPythia109->SetLineColor(colorPythia109);
graphPythia109->SetMarkerStyle(10);
graphPythia109->SetLineWidth(2);
graphPythia109->SetLineStyle(7);

TGraphErrors *graphPythia306 = new TGraphErrors(binsPythia306,ptPythia306,inelPythia306,errPtPythia306,errInelPythia306);
graphPythia306->SetMarkerColor(colorPythia306);
graphPythia306->SetLineColor(colorPythia306);
graphPythia306->SetMarkerStyle(10);
graphPythia306->SetLineWidth(2);
graphPythia306->SetLineStyle(3);

TGraphErrors *graphPythia320 = new TGraphErrors(binsPythia320,ptPythia320,inelPythia320,errPtPythia320,errInelPythia320);
graphPythia320->SetMarkerColor(colorPythia320);
graphPythia320->SetLineColor(colorPythia320);
graphPythia320->SetMarkerStyle(10);
graphPythia320->SetLineWidth(2);
graphPythia320->SetLineStyle(9);

Double_t one[binsInelAlice];  
for (Int_t i=0; i < binsInelAlice; i++) { 
    one[i] = 1.0;
}

TGraphErrors *ratioAliceAlice = new TGraphErrors(binsInelAlice*2);
for (int i=0; i < binsInelAlice; i++) {
   ratioAliceAlice->SetPoint(i*2,lowPtInelAlice[i],1);
   ratioAliceAlice->SetPointError(i*2,0,relErr2InelAlice[i]);
   ratioAliceAlice->SetPoint(i*2+1,highPtInelAlice[i],1);   
   ratioAliceAlice->SetPointError(i*2+1,0,relErr2InelAlice[i]);
}
//TGraphErrors *ratioAliceAlice = new TGraphErrors(binsInelAlice,centerPtInelAlice,one,0,relErr2InelAlice);
ratioAliceAlice->SetFillColor(colorAliceErrors);
ratioAliceAlice->SetLineColor(20);

TGraph *ratioPhojetAlice = new TGraph(binsInelAlice*2);
for (int i=0; i < binsInelAlice; i++) {
   ratioPhojetAlice->SetPoint(i*2,lowPtInelAlice[i],inelPhojet[i+3]/inelAlice[i]);
   ratioPhojetAlice->SetPoint(i*2+1,highPtInelAlice[i],inelPhojet[i+3]/inelAlice[i]);
   cout << "inelAlice[" << i << "]           = " << inelAlice[i] <<endl;
   cout << "centerPtInelAlice[" << i << "]   = " << centerPtInelAlice[i] <<endl;
   cout << "inelPhojet[" << i+3 << "]          = " << inelPhojet[i+3] <<endl;
   cout << "ptPhojet[" << i+3 << "]            = " << ptPhojet[i+3] <<endl;
}
//TGraphErrors *ratioPhojetAlice = divide(graphPhojet,graphInelAlice);
ratioPhojetAlice->SetFillColor(colorPhojet);
ratioPhojetAlice->SetLineColor(colorPhojet);
ratioPhojetAlice->SetLineWidth(2);
ratioPhojetAlice->SetLineStyle(1);
ratioPhojetAlice->SetMarkerStyle(26);
ratioPhojetAlice->SetFillStyle(3354);


TGraph *ratioPythia109Alice = new TGraph(binsInelAlice*2);
for (int i=0; i < binsInelAlice; i++) {
   ratioPythia109Alice->SetPoint(i*2,lowPtInelAlice[i],inelPythia109[i+3]/inelAlice[i]);
   ratioPythia109Alice->SetPoint(i*2+1,highPtInelAlice[i],inelPythia109[i+3]/inelAlice[i]);
   cout << "inelAlice[" << i << "]           = " << inelAlice[i] <<endl;
   cout << "centerPtInelAlice[" << i << "]   = " << centerPtInelAlice[i] <<endl;
   cout << "inelPythia109[" << i+3 << "]          = " << inelPythia109[i+3] <<endl;
   cout << "ptPythia109[" << i+3 << "]            = " << ptPythia109[i+3] <<endl;
}
//TGraphErrors *ratioPythia109Alice = divide(graphPythia109,graphInelAlice);
ratioPythia109Alice->SetFillColor(colorPythia109);
ratioPythia109Alice->SetLineColor(colorPythia109);
ratioPythia109Alice->SetLineWidth(2);
ratioPythia109Alice->SetLineStyle(7);
ratioPythia109Alice->SetMarkerStyle(26);
ratioPythia109Alice->SetFillStyle(3354);

TGraph *ratioPythia306Alice = new TGraph(binsInelAlice*2);
for (int i=0; i < binsInelAlice; i++) {
   ratioPythia306Alice->SetPoint(i*2,lowPtInelAlice[i],inelPythia306[i+3]/inelAlice[i]);
   ratioPythia306Alice->SetPoint(i*2+1,highPtInelAlice[i],inelPythia306[i+3]/inelAlice[i]);
   cout << "inelAlice[" << i << "]           = " << inelAlice[i] <<endl;
   cout << "centerPtInelAlice[" << i << "]   = " << centerPtInelAlice[i] <<endl;
   cout << "inelPythia306[" << i+3 << "]          = " << inelPythia306[i+3] <<endl;
   cout << "ptPythia306[" << i+3 << "]            = " << ptPythia306[i+3] <<endl;
}
//TGraphErrors *ratioPythia306Alice = divide(graphPythia306,graphInelAlice);
ratioPythia306Alice->SetFillColor(colorPythia306);
ratioPythia306Alice->SetLineColor(colorPythia306);
ratioPythia306Alice->SetLineWidth(2);
ratioPythia306Alice->SetLineStyle(3);
ratioPythia306Alice->SetMarkerStyle(26);
ratioPythia306Alice->SetFillStyle(3354);

TGraph *ratioPythia320Alice = new TGraph(binsInelAlice*2);
for (int i=0; i < binsInelAlice; i++) {
   ratioPythia320Alice->SetPoint(i*2,lowPtInelAlice[i],inelPythia320[i+3]/inelAlice[i]);
   ratioPythia320Alice->SetPoint(i*2+1,highPtInelAlice[i],inelPythia320[i+3]/inelAlice[i]);
   cout << "inelAlice[" << i << "]           = " << inelAlice[i] <<endl;
   cout << "centerPtInelAlice[" << i << "]   = " << centerPtInelAlice[i] <<endl;
   cout << "inelPythia320[" << i+3 << "]          = " << inelPythia320[i+3] <<endl;
   cout << "ptPythia320[" << i+3 << "]            = " << ptPythia320[i+3] <<endl;
}
//TGraphErrors *ratioPythia320Alice = divide(graphPythia320,graphInelAlice);
ratioPythia320Alice->SetFillColor(colorPythia320);
ratioPythia320Alice->SetLineColor(colorPythia320);
ratioPythia320Alice->SetLineWidth(2);
ratioPythia320Alice->SetLineStyle(9);
ratioPythia320Alice->SetMarkerStyle(26);
ratioPythia320Alice->SetFillStyle(3354);


TCanvas *can5 = new TCanvas("can5","CompInel",520,700);

TPad *pad5_1 = new TPad("pad5_1","pad5_1",0.0,0.35,1.0,1.0);
setAttrib(pad5_1);

TPad *pad5_2 = new TPad("pad5_2","pad5_2",0.0,0.0,1.0,0.35);
setAttrib(pad5_2);


//
can5->cd();

pad5_1->Draw();
pad5_1->cd();
pad5_1->SetLogx();
pad5_1->SetLogy();
//all->Draw("AE4");

TMultiGraph *all = new TMultiGraph("all","");

all->Add(graphPhojet);

all->Add(graphPythia109);
all->Add(graphPythia306);
all->Add(graphPythia320);
all->Draw("AXL");
all->GetXaxis()->SetLimits(minPt,maxPt);
all->GetXaxis()->SetTitle("p_{T} (GeV/c)");
all->GetXaxis()->SetTitleOffset(1.6);
all->GetYaxis()->SetTitleOffset(1.6);
all->GetYaxis()->SetTitle("1/N_{evt} 1/(2#pi p_{T}) (d^{2}N_{ch})/(d#eta dp_{T}) (GeV/c)^{-2}");
all->GetXaxis()->SetLimits(minPt,maxPt);
all->GetYaxis()->SetRangeUser(5e-8,10);
all->GetYaxis()->SetLimits(5e-8,10);
setAttrib(all);
graphInelAliceFit->Draw("PZ");

TLegend *l5_1 = new TLegend(0.200,0.03,0.65,0.376);
l5_1->SetHeader("pp, INEL, #sqrt{s} = 900 GeV, | #eta | < 0.8");
l5_1->AddEntry(graphInelAliceFit,"ALICE data","PL");
l5_1->AddEntry(graphPhojet,"PHOJET","L");
l5_1->AddEntry(graphPythia109,"PYTHIA D6T (109)","L");
l5_1->AddEntry(graphPythia306,"PYTHIA ATLAS-CSC (306)","L");
l5_1->AddEntry(graphPythia320,"PYTHIA Perugia0 (320)","L");

//l1->AddEntry(graphCms,"CMS |#eta|<2.4","LP");
//la->AddEntry(graphUA1,"UA1","p");
//la->AddEntry(graphCMS,"CMS","p");
//la->AddEntry(graphCMSred,"CMS, #eta<0.8","p");
//la->AddEntry(graphATLAS,"ATLAS","p");
l5_1->SetFillColor(0);
l5_1->SetLineColor(0);
l5_1->SetTextSize(legendTextSize);
l5_1->Draw();


//histo1->GetXaxis()->SetNdivisions(405);

can5->cd();
pad5_2->Draw();
pad5_2->cd();
pad5_2->SetLogx();

TMultiGraph *ratios = new TMultiGraph("ratios","");


//ratios->Add(ratioAliceAlice);
//ratios->Add(ratioAtlasAlice);
ratios->Add(ratioPhojetAlice);
ratios->Add(ratioPythia109Alice);
ratios->Add(ratioPythia306Alice);
ratios->Add(ratioPythia320Alice);

ratioAliceAlice->Draw("AE3");
ratioAliceAlice->SetTitle("");
ratioAliceAlice->GetXaxis()->SetLimits(minPt,maxPt);
ratioAliceAlice->GetXaxis()->SetTitle("p_{T} (GeV/c)");
ratioAliceAlice->GetXaxis()->SetTitleOffset(1.4);
ratioAliceAlice->GetYaxis()->SetTitleOffset(0.9);
ratioAliceAlice->GetYaxis()->SetTitle("ratio");
ratioAliceAlice->GetYaxis()->SetLabelSize(0.07);
ratioAliceAlice->GetXaxis()->SetLabelSize(0.07);
ratioAliceAlice->GetXaxis()->SetTitleSize(0.07);
ratioAliceAlice->GetYaxis()->SetTitleSize(0.07);
ratioAliceAlice->GetYaxis()->SetRangeUser(0.3,1.7);
ratioAliceAlice->GetYaxis()->SetLimits(0.3,1.7);
ratioAliceAlice->GetYaxis()->CenterTitle();
setAttrib(ratioAliceAlice);
ratioAliceAlice->GetYaxis()->SetLabelOffset(0.023); 


//ratio->SetTitle("ratio ALICE/ATLAS (different #eta)");
//ratios->Draw("XL");
ratios->Draw("XL");
//ratios->GetYaxis()->SetRangeUser(0.41,1.49);
//ratios->GetYaxis()->SetLimits(0.41,1.49);


graphInelAlice->SetFillColor(2);

TGraph* tmpG = new TGraph();
tmpG->SetMarkerColor(colorAliceFit);
tmpG->SetLineColor(colorAliceFit);
tmpG->SetMarkerStyle(10);
tmpG->SetLineWidth(2);
tmpG->SetLineStyle(1);

TLegend *l5_2 = new TLegend(0.200,0.759+0.005,0.65,0.973);
l5_2->AddEntry(ratioAliceAlice,"ALICE data uncertainties","F");
l5_2->AddEntry(tmpG,"MC / data","L");
//l2->AddEntry(ratioCmsAlice,"CMS / ALICE","F");
l5_2->SetFillColor(0);
l5_2->SetLineColor(0);
l5_2->SetTextSize(legendTextSize);
l5_2->Draw();



TF1 *fOne = new TF1("one","1",0.1,20);
fOne->SetRange(0.1,20);
fOne->SetLineWidth(1);
fOne->Draw("SAME");
//ratio->GetYaxis()->SetTitle("ratio ALICE/ATLAS"); 
/*
histo1c->Draw();
histo1c->GetXaxis()->SetLabelSize(0.08);
histo1c->GetYaxis()->SetLabelSize(0.08);
histo1c->GetXaxis()->SetNdivisions(405);
histo1c->GetYaxis()->SetNdivisions(405);
*/

logoPrelim(can5);
}
 makeCompInel.C:1
 makeCompInel.C:2
 makeCompInel.C:3
 makeCompInel.C:4
 makeCompInel.C:5
 makeCompInel.C:6
 makeCompInel.C:7
 makeCompInel.C:8
 makeCompInel.C:9
 makeCompInel.C:10
 makeCompInel.C:11
 makeCompInel.C:12
 makeCompInel.C:13
 makeCompInel.C:14
 makeCompInel.C:15
 makeCompInel.C:16
 makeCompInel.C:17
 makeCompInel.C:18
 makeCompInel.C:19
 makeCompInel.C:20
 makeCompInel.C:21
 makeCompInel.C:22
 makeCompInel.C:23
 makeCompInel.C:24
 makeCompInel.C:25
 makeCompInel.C:26
 makeCompInel.C:27
 makeCompInel.C:28
 makeCompInel.C:29
 makeCompInel.C:30
 makeCompInel.C:31
 makeCompInel.C:32
 makeCompInel.C:33
 makeCompInel.C:34
 makeCompInel.C:35
 makeCompInel.C:36
 makeCompInel.C:37
 makeCompInel.C:38
 makeCompInel.C:39
 makeCompInel.C:40
 makeCompInel.C:41
 makeCompInel.C:42
 makeCompInel.C:43
 makeCompInel.C:44
 makeCompInel.C:45
 makeCompInel.C:46
 makeCompInel.C:47
 makeCompInel.C:48
 makeCompInel.C:49
 makeCompInel.C:50
 makeCompInel.C:51
 makeCompInel.C:52
 makeCompInel.C:53
 makeCompInel.C:54
 makeCompInel.C:55
 makeCompInel.C:56
 makeCompInel.C:57
 makeCompInel.C:58
 makeCompInel.C:59
 makeCompInel.C:60
 makeCompInel.C:61
 makeCompInel.C:62
 makeCompInel.C:63
 makeCompInel.C:64
 makeCompInel.C:65
 makeCompInel.C:66
 makeCompInel.C:67
 makeCompInel.C:68
 makeCompInel.C:69
 makeCompInel.C:70
 makeCompInel.C:71
 makeCompInel.C:72
 makeCompInel.C:73
 makeCompInel.C:74
 makeCompInel.C:75
 makeCompInel.C:76
 makeCompInel.C:77
 makeCompInel.C:78
 makeCompInel.C:79
 makeCompInel.C:80
 makeCompInel.C:81
 makeCompInel.C:82
 makeCompInel.C:83
 makeCompInel.C:84
 makeCompInel.C:85
 makeCompInel.C:86
 makeCompInel.C:87
 makeCompInel.C:88
 makeCompInel.C:89
 makeCompInel.C:90
 makeCompInel.C:91
 makeCompInel.C:92
 makeCompInel.C:93
 makeCompInel.C:94
 makeCompInel.C:95
 makeCompInel.C:96
 makeCompInel.C:97
 makeCompInel.C:98
 makeCompInel.C:99
 makeCompInel.C:100
 makeCompInel.C:101
 makeCompInel.C:102
 makeCompInel.C:103
 makeCompInel.C:104
 makeCompInel.C:105
 makeCompInel.C:106
 makeCompInel.C:107
 makeCompInel.C:108
 makeCompInel.C:109
 makeCompInel.C:110
 makeCompInel.C:111
 makeCompInel.C:112
 makeCompInel.C:113
 makeCompInel.C:114
 makeCompInel.C:115
 makeCompInel.C:116
 makeCompInel.C:117
 makeCompInel.C:118
 makeCompInel.C:119
 makeCompInel.C:120
 makeCompInel.C:121
 makeCompInel.C:122
 makeCompInel.C:123
 makeCompInel.C:124
 makeCompInel.C:125
 makeCompInel.C:126
 makeCompInel.C:127
 makeCompInel.C:128
 makeCompInel.C:129
 makeCompInel.C:130
 makeCompInel.C:131
 makeCompInel.C:132
 makeCompInel.C:133
 makeCompInel.C:134
 makeCompInel.C:135
 makeCompInel.C:136
 makeCompInel.C:137
 makeCompInel.C:138
 makeCompInel.C:139
 makeCompInel.C:140
 makeCompInel.C:141
 makeCompInel.C:142
 makeCompInel.C:143
 makeCompInel.C:144
 makeCompInel.C:145
 makeCompInel.C:146
 makeCompInel.C:147
 makeCompInel.C:148
 makeCompInel.C:149
 makeCompInel.C:150
 makeCompInel.C:151
 makeCompInel.C:152
 makeCompInel.C:153
 makeCompInel.C:154
 makeCompInel.C:155
 makeCompInel.C:156
 makeCompInel.C:157
 makeCompInel.C:158
 makeCompInel.C:159
 makeCompInel.C:160
 makeCompInel.C:161
 makeCompInel.C:162
 makeCompInel.C:163
 makeCompInel.C:164
 makeCompInel.C:165
 makeCompInel.C:166
 makeCompInel.C:167
 makeCompInel.C:168
 makeCompInel.C:169
 makeCompInel.C:170
 makeCompInel.C:171
 makeCompInel.C:172
 makeCompInel.C:173
 makeCompInel.C:174
 makeCompInel.C:175
 makeCompInel.C:176
 makeCompInel.C:177
 makeCompInel.C:178
 makeCompInel.C:179
 makeCompInel.C:180
 makeCompInel.C:181
 makeCompInel.C:182
 makeCompInel.C:183
 makeCompInel.C:184
 makeCompInel.C:185
 makeCompInel.C:186
 makeCompInel.C:187
 makeCompInel.C:188
 makeCompInel.C:189
 makeCompInel.C:190
 makeCompInel.C:191
 makeCompInel.C:192
 makeCompInel.C:193
 makeCompInel.C:194
 makeCompInel.C:195
 makeCompInel.C:196
 makeCompInel.C:197
 makeCompInel.C:198
 makeCompInel.C:199
 makeCompInel.C:200
 makeCompInel.C:201
 makeCompInel.C:202
 makeCompInel.C:203
 makeCompInel.C:204
 makeCompInel.C:205
 makeCompInel.C:206
 makeCompInel.C:207
 makeCompInel.C:208
 makeCompInel.C:209
 makeCompInel.C:210
 makeCompInel.C:211
 makeCompInel.C:212
 makeCompInel.C:213
 makeCompInel.C:214
 makeCompInel.C:215
 makeCompInel.C:216
 makeCompInel.C:217
 makeCompInel.C:218
 makeCompInel.C:219
 makeCompInel.C:220
 makeCompInel.C:221
 makeCompInel.C:222
 makeCompInel.C:223
 makeCompInel.C:224
 makeCompInel.C:225
 makeCompInel.C:226
 makeCompInel.C:227
 makeCompInel.C:228
 makeCompInel.C:229
 makeCompInel.C:230
 makeCompInel.C:231
 makeCompInel.C:232
 makeCompInel.C:233
 makeCompInel.C:234
 makeCompInel.C:235
 makeCompInel.C:236
 makeCompInel.C:237
 makeCompInel.C:238
 makeCompInel.C:239
 makeCompInel.C:240
 makeCompInel.C:241
 makeCompInel.C:242
 makeCompInel.C:243
 makeCompInel.C:244
 makeCompInel.C:245
 makeCompInel.C:246
 makeCompInel.C:247
 makeCompInel.C:248
 makeCompInel.C:249
 makeCompInel.C:250
 makeCompInel.C:251
 makeCompInel.C:252
 makeCompInel.C:253
 makeCompInel.C:254
 makeCompInel.C:255
 makeCompInel.C:256
 makeCompInel.C:257
 makeCompInel.C:258
 makeCompInel.C:259
 makeCompInel.C:260
 makeCompInel.C:261
 makeCompInel.C:262
 makeCompInel.C:263
 makeCompInel.C:264
 makeCompInel.C:265
 makeCompInel.C:266
 makeCompInel.C:267
 makeCompInel.C:268
 makeCompInel.C:269
 makeCompInel.C:270
 makeCompInel.C:271
 makeCompInel.C:272