-
Notifications
You must be signed in to change notification settings - Fork 0
/
CompareChargedAndNeutralPionDataALICE.C
3098 lines (2658 loc) · 263 KB
/
CompareChargedAndNeutralPionDataALICE.C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/****************************************************************************************************************************
****** provided by Gamma Conversion Group, PWGGA, *****
****** Friederike Bock, friederike.bock@cern.ch *****
*****************************************************************************************************************************/
#include <Riostream.h>
#include "TMath.h"
#include <stdlib.h>
#include <fstream>
#include <math.h>
#include <TROOT.h>
#include <TApplication.h>
#include <TPaveLabel.h>
#include <TSystem.h>
#include <TFrame.h>
#include <TStyle.h>
#include <TString.h>
#include "TGaxis.h"
#include "TFile.h"
#include "TH1F.h"
#include "TH1D.h"
#include "TH2F.h"
#include "TF1.h"
#include "TVirtualFitter.h"
#include "TObject.h"
#include "TCanvas.h"
#include "TMultiGraph.h"
#include "TLegend.h"
#include "TDatabasePDG.h"
#include "TMinuit.h"
#include "TBenchmark.h"
#include "TRandom.h"
#include "TLatex.h"
#include "TASImage.h"
#include "TPostScript.h"
#include "TGraphErrors.h"
#include "TArrow.h"
#include "TGraphAsymmErrors.h"
#include "TGaxis.h"
#include "TMarker.h"
#include "Math/WrappedTF1.h"
#include "Math/BrentRootFinder.h"
#include "CommonHeaders/PlottingGammaConversionHistos.h"
#include "CommonHeaders/PlottingGammaConversionAdditional.h"
#include "CommonHeaders/FittingGammaConversion.h"
#include "CommonHeaders/ConversionFunctionsBasicsAndLabeling.h"
#include "CommonHeaders/ConversionFunctions.h"
#include "CommonHeaders/CombinationFunctions.h"
extern TRandom* gRandom;
extern TBenchmark* gBenchmark;
extern TSystem* gSystem;
extern TMinuit* gMinuit;
void CompareChargedAndNeutralPionDataALICE( TString suffix = "eps",
TString nameFilePP = "CombinedResultsPaperX.root",
TString nameFilePbPb = "CombinedResultsPbPb_15_May_2013.root",
// TString fileNamePCMEMCALpp2760GeVPP = "",
TString fileNamePCMPHOSpp2760GeVPP = ""
){
gROOT->Reset();
gROOT->SetStyle("Plain");
StyleSettingsThesis(suffix);
SetPlotStyle();
TString dateForOutput = ReturnDateStringForOutput();
TString outputDir = Form("%s/%s/ComparisonNeutralAndChargedPions",suffix.Data(),dateForOutput.Data());
TString fileNameChargedPionPbPb = "ExternalInputPbPb/IdentifiedCharged_2.76TeV/ChargedPionSpectraPbPb_4_Apr_2014.root";
TString fileNameChargedPionPP = "ExternalInput/IdentifiedCharged/ChargedIdentifiedSpectraPP_4_Apr_2014.root";
TString fileNameEMCalPion7TeVPP = "ExternalInput/EMCAL/7TeV/pi0Spectrum2011EMCALAddedSignalsEffic_7TeV_150323_evi_11cd.root";
// TString fileNameEMCalPion7TeVPP = "ExternalInput/EMCAL/7TeV/WeightedAve7TeV_coooked_20Mar2015.root";
// TString fileNameEMCalPion2760GeVPP = "ExternalInput/EMCAL/2.76TeV/FinalCombinedXsec_pi0276TeV_25Apr2015_11a13g.root";
TString fileNameDalitz7TeV = "ExternalInput/Dalitz/data_PCMDalitzResultsFullCorrection_PP_NoBinShiftin.root";
TString fileNameDalitz2760GeV = "ExternalInput/Dalitz/data_PCMDalitzResultsFullCorrection_PP_NoBinShifting_25102013.root";
TString fileNameDalitzPbPb = "ExternalInputPbPb/data_PCMDalitzResults_PbPb_2.76TeV_28102013.root";
TString fileNameComb2760GeVPP = "CombinedResultsPaperPP2760GeV_2016_02_15.root";
gSystem->Exec("mkdir -p "+outputDir);
gSystem->Exec(Form("cp %s %s/InputFileNeutralPionPP.root ",nameFilePP.Data(),outputDir.Data() ));
gSystem->Exec(Form("cp %s %s/InputFileNeutralPionPPUpdated2760GeV.root ",fileNameComb2760GeVPP.Data(),outputDir.Data() ));
gSystem->Exec(Form("cp %s %s/InputFileNeutralPionPbPb.root ",nameFilePbPb.Data(),outputDir.Data() ));
gSystem->Exec(Form("cp %s %s/InputFileChargedPionPbPb.root ",fileNameChargedPionPbPb.Data(),outputDir.Data() ));
gSystem->Exec(Form("cp %s %s/InputFileEMCalNeutralPion7TeVPP.root ",fileNameEMCalPion7TeVPP.Data(),outputDir.Data() ));
// gSystem->Exec(Form("cp %s %s/InputFileEMCalNeutralPion2760GeVPP.root ",fileNameEMCalPion2760GeVPP.Data(),outputDir.Data() ));
gSystem->Exec(Form("cp %s %s/InputFileDalitzNeutralPionPbPb.root ",fileNameDalitzPbPb.Data(),outputDir.Data() ));
Bool_t enablePCMEMCALComp2760GeV = kFALSE;
// if (fileNamePCMEMCALpp2760GeVPP.CompareTo("")!= 0){
// gSystem->Exec(Form("cp %s %s/InputFilePCMEMCalNeutralPion2760GeVPP.root ",fileNameEMCalPion2760GeVPP.Data(),outputDir.Data() ));
// enablePCMEMCALComp2760GeV = kTRUE;
// }
Bool_t enablePCMPHOSComp2760GeV = kFALSE;
if (fileNamePCMPHOSpp2760GeVPP.CompareTo("")!= 0){
gSystem->Exec(Form("cp %s %s/InputFilePCMPHOSNeutralPion2760GeVPP.root ",fileNamePCMPHOSpp2760GeVPP.Data(),outputDir.Data() ));
enablePCMPHOSComp2760GeV = kTRUE;
}
Double_t xSection2760GeVpp = 55.416*1e-3;
Double_t xSection2760GeVErrpp = 3.9;
Double_t xSection2760GeVppINEL = 62.8*1e9;
Double_t xSection900GeVppINEL = 52.5*1e9;
Double_t xSection7TeVppINEL = 73.2*1e9;
Double_t recalcBarn = 1e12; //NLO in pbarn!!!!
TString collisionSystemPP = "pp #sqrt{#it{s}} = 2.76 TeV";
TString collisionSystemCent0 = "0-5% Pb-Pb #sqrt{s_{_{NN}}} = 2.76 TeV";
TString collisionSystemCent1 = "5-10% Pb-Pb #sqrt{s_{_{NN}}} = 2.76 TeV";
TString collisionSystemCent2 = "10-20% Pb-Pb #sqrt{s_{_{NN}}} = 2.76 TeV";
TString collisionSystemCent = "0-20% Pb-Pb #sqrt{s_{_{NN}}} = 2.76 TeV";
TString collisionSystemSemiCent = "20-40% Pb-Pb #sqrt{s_{_{NN}}} = 2.76 TeV";
TString collisionSystemSemiPer = "40-60% Pb-Pb #sqrt{s_{_{NN}}} = 2.76 TeV";
TString collisionSystemPer = "60-80% Pb-Pb #sqrt{s_{_{NN}}} = 2.76 TeV";
Style_t markerStyleCombLowPt = GetDefaultMarkerStyleDiffDetectors("Comb", kFALSE);
Style_t markerStyleCombHighPt = GetDefaultMarkerStyleDiffDetectors("Comb", kFALSE);
Style_t markerStylePCMLowPt = GetDefaultMarkerStyleDiffDetectors("PCM", kFALSE);
Style_t markerStylePCMHighPt = GetDefaultMarkerStyleDiffDetectors("PHOS", kFALSE);
Style_t markerStylePHOSLowPt = GetDefaultMarkerStyleDiffDetectors("PCM", kFALSE);
Style_t markerStylePHOSHighPt = GetDefaultMarkerStyleDiffDetectors("PHOS", kFALSE);
Style_t markerStylePCMBGLowPt = GetDefaultMarkerStyleDiffDetectors("PCM", kTRUE);
Style_t markerStylePCMBGHighPt = GetDefaultMarkerStyleDiffDetectors("PHOS", kTRUE);
Style_t markerStylePHOSBGLowPt = GetDefaultMarkerStyleDiffDetectors("PCM", kTRUE);
Style_t markerStylePHOSBGHighPt = GetDefaultMarkerStyleDiffDetectors("PHOS", kTRUE);
Style_t markerStyleEMCALLowPt = GetDefaultMarkerStyleDiffDetectors("PCM", kFALSE);
Style_t markerStyleEMCALHighPt = GetDefaultMarkerStyleDiffDetectors("PHOS", kFALSE);
Style_t markerStyleEMCALMergedHighPt= GetDefaultMarkerStyleDiffDetectors("PHOS", kFALSE);
Style_t markerStyleDalitzLowPt = GetDefaultMarkerStyleDiffDetectors("PCM", kFALSE);
Style_t markerStyleDalitzHighPt = GetDefaultMarkerStyleDiffDetectors("PHOS", kFALSE);
Style_t markerStylePCMEMCALLowPt = GetDefaultMarkerStyleDiffDetectors("PCM", kFALSE);
Style_t markerStylePCMEMCALHighPt = GetDefaultMarkerStyleDiffDetectors("PHOS", kFALSE);
Style_t markerStylePCMPHOSLowPt = GetDefaultMarkerStyleDiffDetectors("PCM", kFALSE);
Style_t markerStylePCMPHOSHighPt = GetDefaultMarkerStyleDiffDetectors("PHOS", kFALSE);
Size_t markerSizeComparison = 1.5;
Color_t colorCombLowPt = GetDefaultColorDiffDetectors("Comb", kFALSE, kFALSE, kFALSE);
Color_t colorCombHighPt = GetDefaultColorDiffDetectors("Comb", kFALSE, kFALSE, kTRUE);
Color_t colorPCMLowPt = GetDefaultColorDiffDetectors("PCM", kFALSE, kFALSE, kFALSE);
Color_t colorPCMHighPt = GetDefaultColorDiffDetectors("PCM", kFALSE, kFALSE, kTRUE);
Color_t colorPHOSLowPt = GetDefaultColorDiffDetectors("PHOS", kFALSE, kFALSE, kFALSE);
Color_t colorPHOSHighPt = GetDefaultColorDiffDetectors("PHOS", kFALSE, kFALSE, kTRUE);
Color_t colorEMCALLowPt = GetDefaultColorDiffDetectors("EMCal", kFALSE, kFALSE, kFALSE);
Color_t colorEMCALHighPt = GetDefaultColorDiffDetectors("EMCal", kFALSE, kFALSE, kTRUE);
Color_t colorEMCALMergedHighPt = GetDefaultColorDiffDetectors("EMCal merged", kFALSE, kFALSE, kTRUE);
Color_t colorDalitzLowPt = GetDefaultColorDiffDetectors("Dalitz", kFALSE, kFALSE, kFALSE);
Color_t colorDalitzHighPt = GetDefaultColorDiffDetectors("Dalitz", kFALSE, kFALSE, kTRUE);
Color_t colorPCMEMCALLowPt = GetDefaultColorDiffDetectors("PCM-EMCal", kFALSE, kFALSE, kFALSE);
Color_t colorPCMEMCALHighPt = GetDefaultColorDiffDetectors("PCM-EMCal", kFALSE, kFALSE, kTRUE);
Color_t colorPCMPHOSLowPt = GetDefaultColorDiffDetectors("PCM-PHOS", kFALSE, kFALSE, kFALSE);
Color_t colorPCMPHOSHighPt = GetDefaultColorDiffDetectors("PCM-PHOS", kFALSE, kFALSE, kTRUE);
cout << "*************************************************************************"<< endl;
cout << "****************************** Pi0 pp **********************************"<< endl;
cout << "*************************************************************************"<< endl;
TFile* fileNeutralPionCombDataPP = new TFile(nameFilePP.Data());
TGraphAsymmErrors* graphInvYieldPi0Comb7TeV = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0Comb7TeV");
graphInvYieldPi0Comb7TeV = ScaleGraph(graphInvYieldPi0Comb7TeV,1./xSection7TeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0Comb7TeVStatErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0Comb7TeVStatErr");
graphInvYieldPi0Comb7TeVStatErr = ScaleGraph(graphInvYieldPi0Comb7TeVStatErr,1./xSection7TeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0Comb7TeVSysErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0Comb7TeVSysErr");
graphInvYieldPi0Comb7TeVSysErr = ScaleGraph(graphInvYieldPi0Comb7TeVSysErr,1./xSection7TeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PCM7TeVStatErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0PCMStat7TeV");
graphInvYieldPi0PCM7TeVStatErr = ScaleGraph(graphInvYieldPi0PCM7TeVStatErr,1./xSection7TeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PCM7TeVSysErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0PCMSys7TeV");
graphInvYieldPi0PCM7TeVSysErr = ScaleGraph(graphInvYieldPi0PCM7TeVSysErr,1./xSection7TeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PHOS7TeVStatErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0PHOSStat7TeV");
graphInvYieldPi0PHOS7TeVStatErr = ScaleGraph(graphInvYieldPi0PHOS7TeVStatErr,1./xSection7TeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PHOS7TeVSysErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0PHOSSys7TeV");
graphInvYieldPi0PHOS7TeVSysErr = ScaleGraph(graphInvYieldPi0PHOS7TeVSysErr,1./xSection7TeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0Comb2760GeVStatErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0Comb2760GeVStatErr");
graphInvYieldPi0Comb2760GeVStatErr = ScaleGraph(graphInvYieldPi0Comb2760GeVStatErr,1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0Comb2760GeVSysErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0Comb2760GeVSysErr");
graphInvYieldPi0Comb2760GeVSysErr = ScaleGraph(graphInvYieldPi0Comb2760GeVSysErr,1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PCM2760GeVStatErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0PCM2760GeVStatErr");
graphInvYieldPi0PCM2760GeVStatErr = ScaleGraph(graphInvYieldPi0PCM2760GeVStatErr,1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PCM2760GeVSysErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0PCM2760GeVSysErr");
graphInvYieldPi0PCM2760GeVSysErr = ScaleGraph(graphInvYieldPi0PCM2760GeVSysErr,1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PHOS2760GeVStatErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0PHOS2760GeVStatErr");
graphInvYieldPi0PHOS2760GeVStatErr = ScaleGraph(graphInvYieldPi0PHOS2760GeVStatErr,1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PHOS2760GeVSysErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0PHOS2760GeVSysErr");
graphInvYieldPi0PHOS2760GeVSysErr = ScaleGraph(graphInvYieldPi0PHOS2760GeVSysErr,1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0Comb900GeV = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0Comb900GeV");
graphInvYieldPi0Comb900GeV = ScaleGraph(graphInvYieldPi0Comb900GeV,1./xSection900GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0Comb900GeVStatErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0Comb900GeVStatErr");
graphInvYieldPi0Comb900GeVStatErr = ScaleGraph(graphInvYieldPi0Comb900GeVStatErr,1./xSection900GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0Comb900GeVSysErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0Comb900GeVSysErr");
graphInvYieldPi0Comb900GeVSysErr = ScaleGraph(graphInvYieldPi0Comb900GeVSysErr,1./xSection900GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PCM900GeVStatErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0PCMStat900GeV");
graphInvYieldPi0PCM900GeVStatErr = ScaleGraph(graphInvYieldPi0PCM900GeVStatErr,1./xSection900GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PCM900GeVSysErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0PCMSys900GeV");
graphInvYieldPi0PCM900GeVSysErr = ScaleGraph(graphInvYieldPi0PCM900GeVSysErr,1./xSection900GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PHOS900GeVStatErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0PHOSStat900GeV");
graphInvYieldPi0PHOS900GeVStatErr = ScaleGraph(graphInvYieldPi0PHOS900GeVStatErr,1./xSection900GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PHOS900GeVSysErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPP->Get("graphInvCrossSectionPi0PHOSSys900GeV");
graphInvYieldPi0PHOS900GeVSysErr = ScaleGraph(graphInvYieldPi0PHOS900GeVSysErr,1./xSection900GeVppINEL);
TFile* fileNeutralPionCombDataPPUpdated = new TFile(fileNameComb2760GeVPP.Data());
TGraphAsymmErrors* graphInvYieldPi0CombUp2760GeVStatErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPPUpdated->Get("graphInvCrossSectionPi0Comb2760GeVAStatErr");
graphInvYieldPi0CombUp2760GeVStatErr = ScaleGraph(graphInvYieldPi0CombUp2760GeVStatErr,1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0CombUp2760GeVSysErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPPUpdated->Get("graphInvCrossSectionPi0Comb2760GeVASysErr");
graphInvYieldPi0CombUp2760GeVSysErr = ScaleGraph(graphInvYieldPi0CombUp2760GeVSysErr,1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PCMEMCAL2760GeVStatErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPPUpdated->Get("graphInvCrossSectionPi0PCMEMCAL2760GeVStatErr");
graphInvYieldPi0PCMEMCAL2760GeVStatErr = ScaleGraph(graphInvYieldPi0PCMEMCAL2760GeVStatErr,1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0PCMEMCAL2760GeVSysErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPPUpdated->Get("graphInvCrossSectionPi0PCMEMCAL2760GeVSysErr");
graphInvYieldPi0PCMEMCAL2760GeVSysErr = ScaleGraph(graphInvYieldPi0PCMEMCAL2760GeVSysErr,1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0EMCAL2760GeVStatErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPPUpdated->Get("graphInvCrossSectionPi0EMCAL2760GeVStatErr");
graphInvYieldPi0EMCAL2760GeVStatErr = ScaleGraph(graphInvYieldPi0EMCAL2760GeVStatErr,1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0EMCAL2760GeVSysErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPPUpdated->Get("graphInvCrossSectionPi0EMCAL2760GeVSysErr");
graphInvYieldPi0EMCAL2760GeVSysErr = ScaleGraph(graphInvYieldPi0EMCAL2760GeVSysErr,1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0EMCALMerged2760GeVStatErr= (TGraphAsymmErrors*)fileNeutralPionCombDataPPUpdated->Get("graphInvCrossSectionPi0EMCALMerged2760GeVStatErr");
graphInvYieldPi0EMCALMerged2760GeVStatErr = ScaleGraph(graphInvYieldPi0EMCALMerged2760GeVStatErr,1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvYieldPi0EMCALMerged2760GeVSysErr = (TGraphAsymmErrors*)fileNeutralPionCombDataPPUpdated->Get("graphInvCrossSectionPi0EMCALMerged2760GeVSysErr");
graphInvYieldPi0EMCALMerged2760GeVSysErr = ScaleGraph(graphInvYieldPi0EMCALMerged2760GeVSysErr,1./xSection2760GeVppINEL);
cout << "*************************************************************************"<< endl;
cout << "****************************** charged pion PbPb ************************"<< endl;
cout << "*************************************************************************"<< endl;
TFile* fileChargedPionInputPbPb = new TFile(fileNameChargedPionPbPb.Data());
TH1D* histoChargedPionSpecHighPtStat0005 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecHighPtStat0005");
TH1D* histoChargedPionSpecHighPtSyst0005 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecHighPtSyst0005");
TH1D* histoChargedPionSpecHighPtStat0510 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecHighPtStat0510");
TH1D* histoChargedPionSpecHighPtSyst0510 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecHighPtSyst0510");
TH1D* histoChargedPionSpecHighPtStat1020 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecHighPtStat1020");
TH1D* histoChargedPionSpecHighPtSyst1020 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecHighPtSyst1020");
TH1D* histoChargedPionSpecHighPtSyst2040 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecHighPtSyst2040");
TH1D* histoChargedPionSpecHighPtStat2040 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecHighPtStat2040");
TH1D* histoChargedPionSpecHighPtSyst4060 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecHighPtSyst4060");
TH1D* histoChargedPionSpecHighPtStat4060 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecHighPtStat4060");
TH1D* histoChargedPionSpecHighPtSyst6080 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecHighPtSyst6080");
TH1D* histoChargedPionSpecHighPtStat6080 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecHighPtStat6080");
TH1D* histoChargedPionSpecLowPtStat0005 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecLowPtStat0005");
TH1D* histoChargedPionSpecLowPtSyst0005 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecLowPtSyst0005");
TH1D* histoChargedPionSpecLowPtStat0510 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecLowPtStat0510");
TH1D* histoChargedPionSpecLowPtSyst0510 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecLowPtSyst0510");
TH1D* histoChargedPionSpecLowPtStat1020 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecLowPtStat1020");
TH1D* histoChargedPionSpecLowPtSyst1020 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecLowPtSyst1020");
TH1D* histoChargedPionSpecLowPtStat2040 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecLowPtStat2040");
TH1D* histoChargedPionSpecLowPtSyst2040 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecLowPtSyst2040");
TH1D* histoChargedPionSpecLowPtStat4060 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecLowPtStat4060");
TH1D* histoChargedPionSpecLowPtSyst4060 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecLowPtSyst4060");
TH1D* histoChargedPionSpecLowPtStat6080 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecLowPtStat6080");
TH1D* histoChargedPionSpecLowPtSyst6080 = (TH1D*)fileChargedPionInputPbPb->Get("histoChargedPionSpecLowPtSyst6080");
cout << "*************************************************************************"<< endl;
cout << "****************************** charged pion pp *************************"<< endl;
cout << "*************************************************************************"<< endl;
TFile* fileChargedPionInputpp = new TFile(fileNameChargedPionPP.Data());
TH1D* histoChargedPionSpecHighPtStatPP = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecHighPtStat2760GeV");
TH1D* histoChargedPionSpecHighPtSystPP = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecHighPtSyst2760GeV");
TGraphAsymmErrors* graphChargedPionNegSpecXiangoStatPP2760GeV = (TGraphAsymmErrors*)fileChargedPionInputpp->Get("graphChargedPionNegSpecXiangoStat2760GeV");
TGraphAsymmErrors* graphChargedPionNegSpecXiangoSystPP2760GeV = (TGraphAsymmErrors*)fileChargedPionInputpp->Get("graphChargedPionNegSpecXiangoSyst2760GeV");
TH1D* histoChargedPionSpecLowPtStat2760GeVCMS = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecLowPtStat2760GeVCMS");
TH1D* histoChargedPionSpecLowPtSys2760GeVCMS = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecLowPtSys2760GeVCMS");
TH1D* histoChargedPionSpecLowPtStatPP2760GeV = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecLowPtStatPP2760GeV");
TH1D* histoChargedPionSpecLowPtSysPP2760GeV = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecLowPtSysPP2760GeV");
TH1D* histoChargedPionSpecLowPtStat7TeVCMS = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecLowPtStat7TeVCMS");
TH1D* histoChargedPionSpecLowPtSys7TeVCMS = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecLowPtSys7TeVCMS");
TH1D* histoChargedPionSpecLowPtStatPP7TeV = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecLowPtStat7TeVALICE");
TH1D* histoChargedPionSpecLowPtSysPP7TeV = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecLowPtSys7TeVALICE");
TH1D* histoChargedPionSpecHighPtStatPP7TeV = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecHighPtStat7TeVALICE");
TGraphAsymmErrors* graphChargedPionSpecHighPtSystPP7TeV = (TGraphAsymmErrors*)fileChargedPionInputpp->Get("graphChargedPionSpecHighPtSys7TeVALICE");
TH1D* histoChargedPionSpecLowPtStat900GeVCMS = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecLowPtStat900GeVCMS");
TH1D* histoChargedPionSpecLowPtSys900GeVCMS = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecLowPtSys900GeVCMS");
TH1D* histoChargedPionSpecLowPtStatPP900GeV = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecLowPtStat900GeVALICE");
TH1D* histoChargedPionSpecLowPtSysPP900GeV = (TH1D*)fileChargedPionInputpp->Get("histoChargedPionSpecLowPtSys900GeVALICE");
cout << "*************************************************************************"<< endl;
cout << "****************************** Pi0 EMCAL pp ***************************"<< endl;
cout << "*************************************************************************"<< endl;
// Evi's file
TFile* fileEMCalPion7TeVPP = new TFile(fileNameEMCalPion7TeVPP.Data());
TH1D* histoEMCalPion7TeVPPStat = (TH1D*)fileEMCalPion7TeVPP->Get("pi0Stat");
TH1D* histoEMCalPion7TeVPPSyst = (TH1D*)fileEMCalPion7TeVPP->Get("pi0Syst");
histoEMCalPion7TeVPPStat->Scale(1./xSection7TeVppINEL);
histoEMCalPion7TeVPPSyst->Scale(1./xSection7TeVppINEL);
// Haitao's file
// TFile* fileEMCalPion7TeVPP = new TFile(fileNameEMCalPion7TeVPP.Data());
// TH1D* histoEMCalPion7TeVPPStat = (TH1D*)fileEMCalPion7TeVPP->Get("h_xsec_Stat");
// TH1D* histoEMCalPion7TeVPPSyst = (TH1D*)fileEMCalPion7TeVPP->Get("h_xsec_Syst");
// histoEMCalPion7TeVPPStat->Scale(1./xSection7TeVppINEL*0.945*0.945);
// histoEMCalPion7TeVPPSyst->Scale(1./xSection7TeVppINEL*0.945*0.945);
// TFile* fileEMCALPion2760PP = new TFile(fileNameEMCalPion2760GeVPP.Data());
// TH1D* histoNeutralPionsEMCAL2760GeVStatErr = (TH1D*)fileEMCALPion2760PP->Get("h_xsec_Stat");
// histoNeutralPionsEMCAL2760GeVStatErr->Scale(1./xSection2760GeVppINEL);
// TH1D* histoNeutralPionsEMCAL2760GeVSystErr = (TH1D*)fileEMCALPion2760PP->Get("h_xsec_Syst");
// histoNeutralPionsEMCAL2760GeVSystErr->Scale(1./xSection2760GeVppINEL);
// TDirectory* directoryEMCALPi02760PP = (TDirectory*)fileEMCALPion2760PP->Get("Pi02.76TeV");
// TH1D* histoEMCALPi0InvXSectionStat = (TH1D*)directoryEMCALPi02760PP->Get("InvCrossSectionPi0");
// TGraphAsymmErrors* graphEMCALPi0InvXSectionSys = (TGraphAsymmErrors*)directoryEMCALPi02760PP->Get("InvCrossSectionPi0Sys");
cout << "*************************************************************************"<< endl;
cout << "****************************** Pi0 PbPb ********************************"<< endl;
cout << "*************************************************************************"<< endl;
TFile* fCombResults= new TFile(nameFilePbPb.Data());
TGraphAsymmErrors* graphYieldCombStatPi02760GeV = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPPComb2760GeV_StatErr");
TGraphAsymmErrors* graphYieldCombSysPi02760GeV = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPPComb2760GeV_SysErr");
TGraphAsymmErrors* graphYieldPCMStatPi02760GeV = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPPPCM2760GeV_StatErr");
TGraphAsymmErrors* graphYieldPCMSysPi02760GeV = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPPPCM2760GeV_SysErr");
TGraphAsymmErrors* graphYieldPHOSStatPi02760GeV = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPPPHOS2760GeV_StatErr");
TGraphAsymmErrors* graphYieldPHOSSysPi02760GeV = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPPPHOS2760GeV_SysErr");
TGraphAsymmErrors* graphYieldPi0CombPbPb0005StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbStatErr_0005");
TGraphAsymmErrors* graphYieldPi0CombPbPb0005SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbSysErr_0005");
TGraphAsymmErrors* graphYieldPi0PCMPbPb0005StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPCMStatErr_0005");
TGraphAsymmErrors* graphYieldPi0PCMPbPb0005SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPCMSysErr_0005");
TGraphAsymmErrors* graphYieldPi0PHOSPbPb0005StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPHOSStatErr_0005");
TGraphAsymmErrors* graphYieldPi0PHOSPbPb0005SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPHOSSysErr_0005");
TGraphAsymmErrors* graphYieldPi0CombPbPb0510StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbStatErr_0510");
TGraphAsymmErrors* graphYieldPi0CombPbPb0510SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbSysErr_0510");
TGraphAsymmErrors* graphYieldPi0PCMPbPb0510StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPCMStatErr_0510");
TGraphAsymmErrors* graphYieldPi0PCMPbPb0510SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPCMSysErr_0510");
TGraphAsymmErrors* graphYieldPi0PHOSPbPb0510StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPHOSStatErr_0510");
TGraphAsymmErrors* graphYieldPi0PHOSPbPb0510SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPHOSSysErr_0510");
TGraphAsymmErrors* graphYieldPi0CombPbPb1020StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbStatErr_1020");
TGraphAsymmErrors* graphYieldPi0CombPbPb1020SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbSysErr_1020");
TGraphAsymmErrors* graphYieldPi0PCMPbPb1020StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPCMStatErr_1020");
TGraphAsymmErrors* graphYieldPi0PCMPbPb1020SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPCMSysErr_1020");
TGraphAsymmErrors* graphYieldPi0PHOSPbPb1020StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPHOSStatErr_1020");
TGraphAsymmErrors* graphYieldPi0PHOSPbPb1020SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPHOSSysErr_1020");
TGraphAsymmErrors* graphYieldPi0CombPbPb2040StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbStatErr_2040");
TGraphAsymmErrors* graphYieldPi0CombPbPb2040SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbSysErr_2040");
TGraphAsymmErrors* graphYieldPi0PCMPbPb2040StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPCMStatErr_2040");
TGraphAsymmErrors* graphYieldPi0PCMPbPb2040SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPCMSysErr_2040");
TGraphAsymmErrors* graphYieldPi0PHOSPbPb2040StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPHOSStatErr_2040");
TGraphAsymmErrors* graphYieldPi0PHOSPbPb2040SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPHOSSysErr_2040");
TGraphAsymmErrors* graphYieldPi0CombPbPb4060StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbStatErr_4060");
TGraphAsymmErrors* graphYieldPi0CombPbPb4060SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbSysErr_4060");
TGraphAsymmErrors* graphYieldPi0PCMPbPb4060StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPCMStatErr_4060");
TGraphAsymmErrors* graphYieldPi0PCMPbPb4060SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPCMSysErr_4060");
TGraphAsymmErrors* graphYieldPi0PHOSPbPb4060StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPHOSStatErr_4060");
TGraphAsymmErrors* graphYieldPi0PHOSPbPb4060SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPHOSSysErr_4060");
TGraphAsymmErrors* graphYieldPi0CombPbPb6080StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbStatErr_6080");
TGraphAsymmErrors* graphYieldPi0CombPbPb6080SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbSysErr_6080");
TGraphAsymmErrors* graphYieldPi0PCMPbPb6080StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPCMStatErr_6080");
TGraphAsymmErrors* graphYieldPi0PCMPbPb6080SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPCMSysErr_6080");
TGraphAsymmErrors* graphYieldPi0PHOSPbPb6080StatErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPHOSStatErr_6080");
//fixed stat error
graphYieldPi0PHOSPbPb6080StatErr->RemovePoint(graphYieldPi0PHOSPbPb6080StatErr->GetN()-1);
graphYieldPi0PHOSPbPb6080StatErr->Print();
TGraphAsymmErrors* graphYieldPi0PHOSPbPb6080SysErr = (TGraphAsymmErrors*)fCombResults->Get("InvYieldPbPbPHOSSysErr_6080");
graphYieldPi0PHOSPbPb6080SysErr->Print();
cout << "*************************************************************************"<< endl;
cout << "****************************** Dalitz *****************************"<< endl;
cout << "*************************************************************************"<< endl;
TFile* fileDalitzPbPb = new TFile(fileNameDalitzPbPb.Data());
TDirectory* directoryPi0DalitzPbPb2040 = (TDirectory*)fileDalitzPbPb->Get("Pi0_PbPb_2.76TeV_20-40%");
TH1D* histoYieldPi0DalitzPbPb2040 = (TH1D*)directoryPi0DalitzPbPb2040->Get("CorrectedYieldPi0");
TGraphAsymmErrors* graphYieldSysPi0DalitzPbPb2040 = (TGraphAsymmErrors*)directoryPi0DalitzPbPb2040->Get("Pi0SystError");
TDirectory* directoryPi0DalitzPbPb4060 = (TDirectory*)fileDalitzPbPb->Get("Pi0_PbPb_2.76TeV_40-60%");
TH1D* histoYieldPi0DalitzPbPb4060 = (TH1D*)directoryPi0DalitzPbPb4060->Get("CorrectedYieldPi0");
TGraphAsymmErrors* graphYieldSysPi0DalitzPbPb4060 = (TGraphAsymmErrors*)directoryPi0DalitzPbPb4060->Get("Pi0SystError");
TDirectory* directoryPi0DalitzPbPb6080 = (TDirectory*)fileDalitzPbPb->Get("Pi0_PbPb_2.76TeV_60-80%");
TH1D* histoYieldPi0DalitzPbPb6080 = (TH1D*)directoryPi0DalitzPbPb6080->Get("CorrectedYieldPi0");
TGraphAsymmErrors* graphYieldSysPi0DalitzPbPb6080 = (TGraphAsymmErrors*)directoryPi0DalitzPbPb6080->Get("Pi0SystError");
cout << "*************************************************************************"<< endl;
cout << "***************************** Dalitz PP ********************************"<< endl;
cout << "*************************************************************************"<< endl;
TFile* fileDalitz = new TFile(fileNameDalitz7TeV.Data());
TFile* fileDalitz2760GeV = new TFile(fileNameDalitz2760GeV.Data());
TDirectory* directoryPi0Dalit2760GeV = (TDirectory*)fileDalitz2760GeV->Get("Pi0Dalitz2.76TeV");
TH1D* histoInvCrossSectionPi0Dalitz2760GeV = (TH1D*)directoryPi0Dalit2760GeV->Get("InvCrossSectionPi0");
histoInvCrossSectionPi0Dalitz2760GeV->Scale(1./xSection2760GeVppINEL);
TGraphAsymmErrors* graphInvCrossSectionSysPi0Dalitz2760GeV = (TGraphAsymmErrors*)directoryPi0Dalit2760GeV->Get("InvCrossSectionPi0Sys");
graphInvCrossSectionSysPi0Dalitz2760GeV = ScaleGraph(graphInvCrossSectionSysPi0Dalitz2760GeV,1./xSection2760GeVppINEL);
TDirectory* directoryPi0Dalit7TeV = (TDirectory*)fileDalitz->Get("Pi0Dalitz7TeV");
TH1D* histoInvCrossSectionPi0Dalitz7TeV = (TH1D*)directoryPi0Dalit7TeV->Get("InvCrossSectionPi0");
histoInvCrossSectionPi0Dalitz7TeV->Scale(1./xSection7TeVppINEL);
TGraphAsymmErrors* graphInvCrossSectionSysPi0Dalitz7TeV = (TGraphAsymmErrors*)directoryPi0Dalit7TeV->Get("InvCrossSectionPi0Sys");
graphInvCrossSectionSysPi0Dalitz7TeV = ScaleGraph(graphInvCrossSectionSysPi0Dalitz7TeV,1./xSection7TeVppINEL);
// TH1D* histoInvCrossSectionPi0PCMEMCAL2760GeV = NULL;
// TGraphAsymmErrors* graphInvCrossSectionSysPi0PCMEMCAL2760GeV = NULL;
// if (enablePCMEMCALComp2760GeV){
// cout << "*************************************************************************"<< endl;
// cout << "***************************** PCM-EMCAL PP ********************************"<< endl;
// cout << "*************************************************************************"<< endl;
//
// TFile* filePCMEMCAL2760GeV = new TFile(fileNamePCMEMCALpp2760GeVPP.Data());
//
// TDirectory* directoryPi0PCMEMCAL2760GeV = (TDirectory*)filePCMEMCAL2760GeV->Get("Pi02.76TeV");
// histoInvCrossSectionPi0PCMEMCAL2760GeV = (TH1D*)directoryPi0PCMEMCAL2760GeV->Get("InvCrossSectionPi0");
// histoInvCrossSectionPi0PCMEMCAL2760GeV->Scale(1./xSection2760GeVppINEL);
// graphInvCrossSectionSysPi0PCMEMCAL2760GeV = (TGraphAsymmErrors*)directoryPi0PCMEMCAL2760GeV->Get("InvCrossSectionPi0Sys");
// graphInvCrossSectionSysPi0PCMEMCAL2760GeV = ScaleGraph(graphInvCrossSectionSysPi0PCMEMCAL2760GeV,1./xSection2760GeVppINEL);
// }
TH1D* histoInvCrossSectionPi0PCMPHOS2760GeV = NULL;
TGraphAsymmErrors* graphInvCrossSectionSysPi0PCMPHOS2760GeV = NULL;
if (enablePCMPHOSComp2760GeV){
cout << "*************************************************************************"<< endl;
cout << "***************************** PCM-PHOS PP *******************************"<< endl;
cout << "*************************************************************************"<< endl;
TFile* filePCMPHOS2760GeV = new TFile(fileNamePCMPHOSpp2760GeVPP.Data());
TDirectory* directoryPi0PCMPHOS2760GeV = (TDirectory*)filePCMPHOS2760GeV->Get("Pi02.76TeV");
histoInvCrossSectionPi0PCMPHOS2760GeV = (TH1D*)directoryPi0PCMPHOS2760GeV->Get("InvCrossSectionPi0");
histoInvCrossSectionPi0PCMPHOS2760GeV->Scale(1./xSection2760GeVppINEL);
graphInvCrossSectionSysPi0PCMPHOS2760GeV = (TGraphAsymmErrors*)directoryPi0PCMPHOS2760GeV->Get("InvCrossSectionPi0Sys");
graphInvCrossSectionSysPi0PCMPHOS2760GeV = ScaleGraph(graphInvCrossSectionSysPi0PCMPHOS2760GeV,1./xSection2760GeVppINEL);
}
cout << "*************************************************************************"<< endl;
cout << "****************************** PP 2.76TeV ******************************"<< endl;
cout << "*************************************************************************"<< endl;
TGraphAsymmErrors* graphYieldCombStatPi02760GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0Comb2760GeVStatErr->Clone("graphYieldCombStatPi02760GeVCopy");
TGraphAsymmErrors* graphYieldCombSysPi02760GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0Comb2760GeVSysErr->Clone("graphYieldCombSysPi02760GeVCopy");
TGraphAsymmErrors* graphYieldPCMStatPi02760GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0PCM2760GeVStatErr->Clone("graphYieldPCMStatPi02760GeVCopy");
TGraphAsymmErrors* graphYieldPCMSysPi02760GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0PCM2760GeVSysErr->Clone("graphYieldPCMSysPi02760GeVCopy");
TGraphAsymmErrors* graphYieldPHOSStatPi02760GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0PHOS2760GeVStatErr->Clone("graphYieldPHOSStatPi02760GeVCopy");
TGraphAsymmErrors* graphYieldPHOSSysPi02760GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0PHOS2760GeVSysErr->Clone("graphYieldPHOSSysPi02760GeVCopy");
cout << "combined Spectrum - high Pt" << endl;
TGraphErrors* graphChargedPionSpecHighPtStatPPHighPtComb = NULL;
TGraphErrors* graphChargedPionSpecHighPtSystPPHighPtComb = NULL;
TGraphErrors* graphYieldCombStatPi02760GeVRebinnedHighPtComb= NULL;
TGraphErrors* graphYieldCombSysPi02760GeVRebinnedHighPtComb = NULL;
TGraphErrors* graphRatioHighPtChargedPionsCombPP = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldCombStatPi02760GeVCopy, graphYieldCombSysPi02760GeVCopy,
histoChargedPionSpecHighPtStatPP, histoChargedPionSpecHighPtSystPP,
kTRUE, kTRUE,
&graphYieldCombStatPi02760GeVRebinnedHighPtComb, &graphYieldCombSysPi02760GeVRebinnedHighPtComb,
&graphChargedPionSpecHighPtStatPPHighPtComb, &graphChargedPionSpecHighPtSystPPHighPtComb ) ;
graphRatioHighPtChargedPionsCombPP->Print();
cout << "combined Spectrum - low Pt" << endl;
TGraphErrors* graphChargedPionSpecLowPtStatPPLowPtComb = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPPLowPtComb = NULL;
TGraphErrors* graphYieldCombStatPi02760GeVRebinnedLowPtComb = NULL;
TGraphErrors* graphYieldCombSysPi02760GeVRebinnedLowPtComb = NULL;
TGraphErrors* graphRatioLowPtChargedPionsCombPP = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldCombStatPi02760GeVCopy, graphYieldCombSysPi02760GeVCopy,
histoChargedPionSpecLowPtStatPP2760GeV, histoChargedPionSpecLowPtSysPP2760GeV,
kTRUE, kTRUE,
&graphYieldCombStatPi02760GeVRebinnedLowPtComb, &graphYieldCombSysPi02760GeVRebinnedLowPtComb,
&graphChargedPionSpecLowPtStatPPLowPtComb, &graphChargedPionSpecLowPtSystPPLowPtComb ) ;
graphRatioLowPtChargedPionsCombPP->Print();
cout << "combined Spectrum - low Pt CMS" << endl;
TGraphErrors* graphChargedPionSpecCMSStatPPCMSComb = NULL;
TGraphErrors* graphChargedPionSpecCMSSystPPCMSComb = NULL;
TGraphErrors* graphYieldCombStatPi02760GeVRebinnedCMSComb = NULL;
TGraphErrors* graphYieldCombSysPi02760GeVRebinnedCMSComb = NULL;
TGraphErrors* graphRatioLowPtChargedPionsCombPPCMS = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldCombStatPi02760GeVCopy, graphYieldCombSysPi02760GeVCopy,
histoChargedPionSpecLowPtStat2760GeVCMS, histoChargedPionSpecLowPtSys2760GeVCMS,
kTRUE, kTRUE,
&graphYieldCombStatPi02760GeVRebinnedCMSComb, &graphYieldCombSysPi02760GeVRebinnedCMSComb,
&graphChargedPionSpecCMSStatPPCMSComb, &graphChargedPionSpecCMSSystPPCMSComb ) ;
graphRatioLowPtChargedPionsCombPPCMS->Print();
cout << "PCM - high Pt" << endl;
TGraphErrors* graphChargedPionSpecHighPtStatPPHighPtPCM = NULL;
TGraphErrors* graphChargedPionSpecHighPtSystPPHighPtPCM = NULL;
TGraphErrors* graphYieldPCMStatPi02760GeVRebinnedHighPtPCM = NULL;
TGraphErrors* graphYieldPCMSysPi02760GeVRebinnedHighPtPCM = NULL;
TGraphErrors* graphRatioHighPtChargedPionsPCMPP = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPCMStatPi02760GeVCopy, graphYieldPCMSysPi02760GeVCopy,
histoChargedPionSpecHighPtStatPP, histoChargedPionSpecHighPtSystPP,
kTRUE, kTRUE,
&graphYieldPCMStatPi02760GeVRebinnedHighPtPCM, &graphYieldPCMSysPi02760GeVRebinnedHighPtPCM,
&graphChargedPionSpecHighPtStatPPHighPtPCM, &graphChargedPionSpecHighPtSystPPHighPtPCM ) ;
graphRatioHighPtChargedPionsPCMPP->Print();
cout << "PCM - low Pt" << endl;
TGraphErrors* graphChargedPionSpecLowPtStatPPLowPtPCM = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPPLowPtPCM = NULL;
TGraphErrors* graphYieldPCMStatPi02760GeVRebinnedLowPtPCM = NULL;
TGraphErrors* graphYieldPCMSysPi02760GeVRebinnedLowPtPCM = NULL;
TGraphErrors* graphRatioLowPtChargedPionsPCMPP = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPCMStatPi02760GeVCopy, graphYieldPCMSysPi02760GeVCopy,
histoChargedPionSpecLowPtStatPP2760GeV, histoChargedPionSpecLowPtSysPP2760GeV,
kTRUE, kTRUE,
&graphYieldPCMStatPi02760GeVRebinnedLowPtPCM, &graphYieldPCMSysPi02760GeVRebinnedLowPtPCM,
&graphChargedPionSpecLowPtStatPPLowPtPCM, &graphChargedPionSpecLowPtSystPPLowPtPCM ) ;
graphRatioLowPtChargedPionsPCMPP->Print();
cout << "PCM - low Pt CMS" << endl;
TGraphErrors* graphChargedPionSpecCMSStatPPCMSPCM = NULL;
TGraphErrors* graphChargedPionSpecCMSSystPPCMSPCM = NULL;
TGraphErrors* graphYieldPCMStatPi02760GeVRebinnedCMSPCM = NULL;
TGraphErrors* graphYieldPCMSysPi02760GeVRebinnedCMSPCM = NULL;
TGraphErrors* graphRatioLowPtChargedPionsPCMPPCMS = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPCMStatPi02760GeVCopy, graphYieldPCMSysPi02760GeVCopy,
histoChargedPionSpecLowPtStat2760GeVCMS, histoChargedPionSpecLowPtSys2760GeVCMS,
kTRUE, kTRUE,
&graphYieldPCMStatPi02760GeVRebinnedCMSPCM, &graphYieldPCMSysPi02760GeVRebinnedCMSPCM,
&graphChargedPionSpecCMSStatPPCMSPCM, &graphChargedPionSpecCMSSystPPCMSPCM ) ;
graphRatioLowPtChargedPionsPCMPPCMS->Print();
cout << "PHOS - high Pt" << endl;
TGraphErrors* graphChargedPionSpecHighPtStatPPHighPtPHOS = NULL;
TGraphErrors* graphChargedPionSpecHighPtSystPPHighPtPHOS = NULL;
TGraphErrors* graphYieldPHOSStatPi02760GeVRebinnedHighPtPHOS= NULL;
TGraphErrors* graphYieldPHOSSysPi02760GeVRebinnedHighPtPHOS = NULL;
TGraphErrors* graphRatioHighPtChargedPionsPHOSPP = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPHOSStatPi02760GeVCopy, graphYieldPHOSSysPi02760GeVCopy,
histoChargedPionSpecHighPtStatPP, histoChargedPionSpecHighPtSystPP,
kTRUE, kTRUE,
&graphYieldPHOSStatPi02760GeVRebinnedHighPtPHOS, &graphYieldPHOSSysPi02760GeVRebinnedHighPtPHOS,
&graphChargedPionSpecHighPtStatPPHighPtPHOS, &graphChargedPionSpecHighPtSystPPHighPtPHOS ) ;
graphRatioHighPtChargedPionsPHOSPP->Print();
cout << "PHOS - low Pt" << endl;
TGraphErrors* graphChargedPionSpecLowPtStatPPLowPtPHOS = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPPLowPtPHOS = NULL;
TGraphErrors* graphYieldPHOSStatPi02760GeVRebinnedLowPtPHOS = NULL;
TGraphErrors* graphYieldPHOSSysPi02760GeVRebinnedLowPtPHOS = NULL;
TGraphErrors* graphRatioLowPtChargedPionsPHOSPP = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPHOSStatPi02760GeVCopy, graphYieldPHOSSysPi02760GeVCopy,
histoChargedPionSpecLowPtStatPP2760GeV, histoChargedPionSpecLowPtSysPP2760GeV,
kTRUE, kTRUE,
&graphYieldPHOSStatPi02760GeVRebinnedLowPtPHOS, &graphYieldPHOSSysPi02760GeVRebinnedLowPtPHOS,
&graphChargedPionSpecLowPtStatPPLowPtPHOS, &graphChargedPionSpecLowPtSystPPLowPtPHOS );
graphRatioLowPtChargedPionsPHOSPP->Print();
//***************************** ratios Dalitz 2.76 TeV ************************************************
TH1D* histoInvCrossSectionPi0Dalitz2760GeVCopy = (TH1D*) histoInvCrossSectionPi0Dalitz2760GeV->Clone("histoInvCrossSectionPi0Dalitz2760GeVCopy");
TGraphAsymmErrors* graphInvCrossSectionSysPi0Dalitz2760GeVCopy = (TGraphAsymmErrors*) graphInvCrossSectionSysPi0Dalitz2760GeV->Clone("graphInvCrossSectionSysPi0Dalitz2760GeVCopy");
cout << "Dalitz Spectrum - high Pt" << endl;
TGraphErrors* graphYieldDalitzStatPi02760GeVRebinnedHighPtDalitz = NULL;
TGraphErrors* graphYieldDalitzSysPi02760GeVRebinnedHighPtDalitz = NULL;
TGraphErrors* graphChargedPionSpecHighPtStat2760GeVHighPtDalitz = NULL;
TGraphErrors* graphChargedPionSpecHighPtSyst2760GeVHighPtDalitz = NULL;
TGraphErrors* graphRatioHighPtChargedPionsDalitzPP2760GeV = CalculateRatioBetweenSpectraWithDifferentBinning(histoInvCrossSectionPi0Dalitz2760GeVCopy, graphInvCrossSectionSysPi0Dalitz2760GeVCopy,
histoChargedPionSpecHighPtStatPP, histoChargedPionSpecHighPtSystPP,
kTRUE, kTRUE,
&graphYieldDalitzStatPi02760GeVRebinnedHighPtDalitz, &graphYieldDalitzSysPi02760GeVRebinnedHighPtDalitz,
&graphChargedPionSpecHighPtStat2760GeVHighPtDalitz, &graphChargedPionSpecHighPtSyst2760GeVHighPtDalitz);
graphRatioHighPtChargedPionsDalitzPP2760GeV->Print();
cout << "Dalitz Spectrum - low Pt" << endl;
TGraphErrors* graphYieldDalitzStatPi02760GeVRebinnedLowPtDalitz = NULL;
TGraphErrors* graphYieldDalitzSysPi02760GeVRebinnedLowPtDalitz = NULL;
TGraphErrors* graphChargedPionSpecLowPtStat2760GeVLowPtDalitz = NULL;
TGraphErrors* graphChargedPionSpecLowPtSyst2760GeVLowPtDalitz = NULL;
TGraphErrors* graphRatioLowPtChargedPionsDalitzPP2760GeV = CalculateRatioBetweenSpectraWithDifferentBinning(histoInvCrossSectionPi0Dalitz2760GeVCopy, graphInvCrossSectionSysPi0Dalitz2760GeVCopy,
histoChargedPionSpecLowPtStatPP2760GeV, histoChargedPionSpecLowPtSysPP2760GeV,
kTRUE, kTRUE,
&graphYieldDalitzStatPi02760GeVRebinnedLowPtDalitz, &graphYieldDalitzSysPi02760GeVRebinnedLowPtDalitz,
&graphChargedPionSpecLowPtStat2760GeVLowPtDalitz, &graphChargedPionSpecLowPtSyst2760GeVLowPtDalitz);
graphRatioLowPtChargedPionsDalitzPP2760GeV->Print();
//***************************** ratios EMCAL 2.76 TeV ************************************************
cout << "EMCAL to low pT charged pions" << endl;
TGraphErrors* graphChargedPionSpecLowPtStatPP2760GeVLowPtEMCAL = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPP2760GeVLowPtEMCAL = NULL;
TGraphErrors* graphYieldEMCALStatPi02760GeVRebinnedLowPtEMCAL = NULL;
TGraphErrors* graphYieldEMCALSysPi02760GeVRebinnedLowPtEMCAL = NULL;
TGraphErrors* graphRatioLowPtChargedPionsEMCALPP = CalculateRatioBetweenSpectraWithDifferentBinning(graphInvYieldPi0EMCAL2760GeVStatErr, graphInvYieldPi0EMCAL2760GeVSysErr,
histoChargedPionSpecLowPtStatPP2760GeV, histoChargedPionSpecLowPtSysPP2760GeV,
kTRUE, kTRUE,
&graphYieldEMCALStatPi02760GeVRebinnedLowPtEMCAL, &graphYieldEMCALSysPi02760GeVRebinnedLowPtEMCAL,
&graphChargedPionSpecLowPtStatPP2760GeVLowPtEMCAL, &graphChargedPionSpecLowPtSystPP2760GeVLowPtEMCAL );
graphRatioLowPtChargedPionsEMCALPP->Print();
cout << endl<< endl<< endl<< endl<< "*****************************************************************************************************" << endl;
cout << "EMCAL to high pT charged pions" << endl;
TGraphErrors* graphChargedPionSpecHighPtStatPP2760GeVHighPtEMCAL = NULL;
TGraphErrors* graphChargedPionSpecHighPtSystPP2760GeVHighPtEMCAL = NULL;
TGraphErrors* graphYieldEMCALStatPi02760GeVRebinnedHighPtEMCAL = NULL;
TGraphErrors* graphYieldEMCALSysPi02760GeVRebinnedHighPtEMCAL = NULL;
TGraphErrors* graphRatioHighPtChargedPionsEMCALPP = CalculateRatioBetweenSpectraWithDifferentBinning(graphInvYieldPi0EMCAL2760GeVStatErr, graphInvYieldPi0EMCAL2760GeVSysErr,
histoChargedPionSpecHighPtStatPP, histoChargedPionSpecHighPtSystPP,
kTRUE, kTRUE,
&graphYieldEMCALStatPi02760GeVRebinnedHighPtEMCAL, &graphYieldEMCALSysPi02760GeVRebinnedHighPtEMCAL,
&graphChargedPionSpecHighPtStatPP2760GeVHighPtEMCAL, &graphChargedPionSpecHighPtSystPP2760GeVHighPtEMCAL );
graphRatioHighPtChargedPionsEMCALPP->Print();
//***************************** ratios EMCALmerged 2.76 TeV ************************************************
cout << endl<< endl<< endl<< endl<< "*****************************************************************************************************" << endl;
cout << "EMCALmerged to high pT charged pions" << endl;
TGraphErrors* graphChargedPionSpecHighPtStatPP2760GeVHighPtEMCALmerged = NULL;
TGraphErrors* graphChargedPionSpecHighPtSystPP2760GeVHighPtEMCALmerged = NULL;
TGraphErrors* graphYieldEMCALmergedStatPi02760GeVRebinnedHighPtEMCALmerged = NULL;
TGraphErrors* graphYieldEMCALmergedSysPi02760GeVRebinnedHighPtEMCALmerged = NULL;
TGraphErrors* graphRatioHighPtChargedPionsEMCALMergedPP = CalculateRatioBetweenSpectraWithDifferentBinning(graphInvYieldPi0EMCALMerged2760GeVStatErr, graphInvYieldPi0EMCALMerged2760GeVSysErr,
histoChargedPionSpecHighPtStatPP, histoChargedPionSpecHighPtSystPP,
kTRUE, kTRUE,
&graphYieldEMCALmergedStatPi02760GeVRebinnedHighPtEMCALmerged, &graphYieldEMCALmergedSysPi02760GeVRebinnedHighPtEMCALmerged,
&graphChargedPionSpecHighPtStatPP2760GeVHighPtEMCALmerged, &graphChargedPionSpecHighPtSystPP2760GeVHighPtEMCALmerged );
graphRatioHighPtChargedPionsEMCALMergedPP->Print();
//***************************** ratios PCM-EMCAL 2.76 TeV *********************************************
TGraphErrors* graphChargedPionSpecHighPtStatPPHighPtPCMEMCAL = NULL;
TGraphErrors* graphChargedPionSpecHighPtSystPPHighPtPCMEMCAL = NULL;
TGraphErrors* graphYieldPCMEMCALStatPi02760GeVRebinnedHighPtPCMEMCAL = NULL;
TGraphErrors* graphYieldPCMEMCALSysPi02760GeVRebinnedHighPtPCMEMCAL = NULL;
TGraphErrors* graphRatioHighPtChargedPionsPCMEMCALPP = NULL;
TGraphErrors* graphChargedPionSpecLowPtStatPPLowPtPCMEMCAL = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPPLowPtPCMEMCAL = NULL;
TGraphErrors* graphYieldPCMEMCALStatPi02760GeVRebinnedLowPtPCMEMCAL = NULL;
TGraphErrors* graphYieldPCMEMCALSysPi02760GeVRebinnedLowPtPCMEMCAL = NULL;
TGraphErrors* graphRatioLowPtChargedPionsPCMEMCALPP = NULL;
// if (enablePCMEMCALComp2760GeV){
TGraphAsymmErrors* graphInvYieldPi0PCMEMCAL2760GeVStatErrCopy = (TGraphAsymmErrors*) graphInvYieldPi0PCMEMCAL2760GeVStatErr->Clone("graphInvYieldPi0PCMEMCAL2760GeVStatErrCopy");
TGraphAsymmErrors* graphInvYieldPi0PCMEMCAL2760GeVSysErrCopy = (TGraphAsymmErrors*) graphInvYieldPi0PCMEMCAL2760GeVSysErr->Clone("graphInvYieldPi0PCMEMCAL2760GeVSysErrCopy");
// graphInvYieldPi0PCMEMCAL2760GeVSysErrCopy->RemovePoint(0);
cout << "PCMEMCAL - high Pt" << endl;
graphRatioHighPtChargedPionsPCMEMCALPP = CalculateRatioBetweenSpectraWithDifferentBinning(graphInvYieldPi0PCMEMCAL2760GeVStatErrCopy, graphInvYieldPi0PCMEMCAL2760GeVSysErrCopy,
histoChargedPionSpecHighPtStatPP, histoChargedPionSpecHighPtSystPP,
kTRUE, kTRUE,
&graphYieldPCMEMCALStatPi02760GeVRebinnedHighPtPCMEMCAL, &graphYieldPCMEMCALSysPi02760GeVRebinnedHighPtPCMEMCAL,
&graphChargedPionSpecHighPtStatPPHighPtPCMEMCAL, &graphChargedPionSpecHighPtSystPPHighPtPCMEMCAL ) ;
graphRatioHighPtChargedPionsPCMEMCALPP->Print();
cout << "PCMEMCAL - low Pt" << endl;
graphRatioLowPtChargedPionsPCMEMCALPP = CalculateRatioBetweenSpectraWithDifferentBinning(graphInvYieldPi0PCMEMCAL2760GeVStatErrCopy, graphInvYieldPi0PCMEMCAL2760GeVSysErrCopy,
histoChargedPionSpecLowPtStatPP2760GeV, histoChargedPionSpecLowPtSysPP2760GeV,
kTRUE, kTRUE,
&graphYieldPCMEMCALStatPi02760GeVRebinnedLowPtPCMEMCAL, &graphYieldPCMEMCALSysPi02760GeVRebinnedLowPtPCMEMCAL,
&graphChargedPionSpecLowPtStatPPLowPtPCMEMCAL, &graphChargedPionSpecLowPtSystPPLowPtPCMEMCAL ) ;
graphRatioLowPtChargedPionsPCMPP->Print();
// }
TGraphErrors* graphChargedPionSpecHighPtStatPPHighPtPCMPHOS = NULL;
TGraphErrors* graphChargedPionSpecHighPtSystPPHighPtPCMPHOS = NULL;
TGraphErrors* graphYieldPCMPHOSStatPi02760GeVRebinnedHighPtPCMPHOS = NULL;
TGraphErrors* graphYieldPCMPHOSSysPi02760GeVRebinnedHighPtPCMPHOS = NULL;
TGraphErrors* graphRatioHighPtChargedPionsPCMPHOSPP = NULL;
TGraphErrors* graphChargedPionSpecLowPtStatPPLowPtPCMPHOS = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPPLowPtPCMPHOS = NULL;
TGraphErrors* graphYieldPCMPHOSStatPi02760GeVRebinnedLowPtPCMPHOS = NULL;
TGraphErrors* graphYieldPCMPHOSSysPi02760GeVRebinnedLowPtPCMPHOS = NULL;
TGraphErrors* graphRatioLowPtChargedPionsPCMPHOSPP = NULL;
if (enablePCMPHOSComp2760GeV){
TH1D* histoInvCrossSectionPi0PCMPHOS2760GeVCopy = (TH1D*) histoInvCrossSectionPi0PCMPHOS2760GeV->Clone("histoInvCrossSectionPi0PCMPHOS2760GeVCopy");
TGraphAsymmErrors* graphInvCrossSectionSysPi0PCMPHOS2760GeVCopy = (TGraphAsymmErrors*) graphInvCrossSectionSysPi0PCMPHOS2760GeV->Clone("graphInvCrossSectionSysPi0PCMPHOS2760GeVCopy");
cout << "PCMPHOS - high Pt" << endl;
graphRatioHighPtChargedPionsPCMPHOSPP = CalculateRatioBetweenSpectraWithDifferentBinning(histoInvCrossSectionPi0PCMPHOS2760GeVCopy, graphInvCrossSectionSysPi0PCMPHOS2760GeVCopy,
histoChargedPionSpecHighPtStatPP, histoChargedPionSpecHighPtSystPP,
kTRUE, kTRUE,
&graphYieldPCMPHOSStatPi02760GeVRebinnedHighPtPCMPHOS, &graphYieldPCMPHOSSysPi02760GeVRebinnedHighPtPCMPHOS,
&graphChargedPionSpecHighPtStatPPHighPtPCMPHOS, &graphChargedPionSpecHighPtSystPPHighPtPCMPHOS ) ;
graphRatioHighPtChargedPionsPCMPHOSPP->Print();
cout << "PCMPHOS - low Pt" << endl;
graphRatioLowPtChargedPionsPCMPHOSPP = CalculateRatioBetweenSpectraWithDifferentBinning(histoInvCrossSectionPi0PCMPHOS2760GeVCopy, graphInvCrossSectionSysPi0PCMPHOS2760GeVCopy,
histoChargedPionSpecLowPtStatPP2760GeV, histoChargedPionSpecLowPtSysPP2760GeV,
kTRUE, kTRUE,
&graphYieldPCMPHOSStatPi02760GeVRebinnedLowPtPCMPHOS, &graphYieldPCMPHOSSysPi02760GeVRebinnedLowPtPCMPHOS,
&graphChargedPionSpecLowPtStatPPLowPtPCMPHOS, &graphChargedPionSpecLowPtSystPPLowPtPCMPHOS ) ;
graphRatioLowPtChargedPionsPCMPHOSPP->Print();
}
//*************************************************************************************************************
//***************************** updated combined spectrum *****************************************************
//*************************************************************************************************************
TGraphAsymmErrors* graphYieldCombUpStatPi02760GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0CombUp2760GeVStatErr->Clone("graphYieldCombUpStatPi02760GeVCopy");
TGraphAsymmErrors* graphYieldCombUpSysPi02760GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0CombUp2760GeVSysErr->Clone("graphYieldCombUpSysPi02760GeVCopy");
cout << "combined Spectrum - high Pt" << endl;
TGraphErrors* graphChargedPionSpecHighPtStatPPHighPtCombUp = NULL;
TGraphErrors* graphChargedPionSpecHighPtSystPPHighPtCombUp = NULL;
TGraphErrors* graphYieldCombStatPi02760GeVRebinnedHighPtCombUp = NULL;
TGraphErrors* graphYieldCombSysPi02760GeVRebinnedHighPtCombUp = NULL;
TGraphErrors* graphRatioHighPtChargedPionsCombUpPP = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldCombUpStatPi02760GeVCopy, graphYieldCombUpSysPi02760GeVCopy,
histoChargedPionSpecHighPtStatPP, histoChargedPionSpecHighPtSystPP,
kTRUE, kTRUE,
&graphYieldCombStatPi02760GeVRebinnedHighPtCombUp, &graphYieldCombSysPi02760GeVRebinnedHighPtCombUp,
&graphChargedPionSpecHighPtStatPPHighPtCombUp, &graphChargedPionSpecHighPtSystPPHighPtCombUp ) ;
cout << "combined Spectrum - low Pt" << endl;
TGraphErrors* graphChargedPionSpecLowPtStatPPLowPtCombUp = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPPLowPtCombUp = NULL;
TGraphErrors* graphYieldCombStatPi02760GeVRebinnedLowPtCombUp = NULL;
TGraphErrors* graphYieldCombSysPi02760GeVRebinnedLowPtCombUp = NULL;
TGraphErrors* graphRatioLowPtChargedPionsCombUpPP = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldCombUpStatPi02760GeVCopy, graphYieldCombUpSysPi02760GeVCopy,
histoChargedPionSpecLowPtStatPP2760GeV, histoChargedPionSpecLowPtSysPP2760GeV,
kTRUE, kTRUE,
&graphYieldCombStatPi02760GeVRebinnedLowPtCombUp, &graphYieldCombSysPi02760GeVRebinnedLowPtCombUp,
&graphChargedPionSpecLowPtStatPPLowPtCombUp, &graphChargedPionSpecLowPtSystPPLowPtCombUp ) ;
cout << "combined Spectrum - low Pt CMS" << endl;
TGraphErrors* graphChargedPionSpecCMSStatPPCMSCombUp = NULL;
TGraphErrors* graphChargedPionSpecCMSSystPPCMSCombUp = NULL;
TGraphErrors* graphYieldCombStatPi02760GeVRebinnedCMSCombUp = NULL;
TGraphErrors* graphYieldCombSysPi02760GeVRebinnedCMSCombUp = NULL;
TGraphErrors* graphRatioLowPtChargedPionsCombUpPPCMS = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldCombUpStatPi02760GeVCopy, graphYieldCombUpSysPi02760GeVCopy,
histoChargedPionSpecLowPtStat2760GeVCMS, histoChargedPionSpecLowPtSys2760GeVCMS,
kTRUE, kTRUE,
&graphYieldCombStatPi02760GeVRebinnedCMSCombUp, &graphYieldCombSysPi02760GeVRebinnedCMSCombUp,
&graphChargedPionSpecCMSStatPPCMSCombUp, &graphChargedPionSpecCMSSystPPCMSCombUp ) ;
cout << "*************************************************************************"<< endl;
cout << "****************************** PP 7TeV *********************************"<< endl;
cout << "*************************************************************************"<< endl;
TGraphAsymmErrors* graphYieldCombStatPi07TeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0Comb7TeVStatErr->Clone("graphYieldCombStatPi07TeVCopy");
TGraphAsymmErrors* graphYieldCombSysPi07TeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0Comb7TeVSysErr->Clone("graphYieldCombSysPi07TeVCopy");
TGraphAsymmErrors* graphYieldPCMStatPi07TeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0PCM7TeVStatErr->Clone("graphYieldPCMStatPi07TeVCopy");
TGraphAsymmErrors* graphYieldPCMSysPi07TeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0PCM7TeVSysErr->Clone("graphYieldPCMSysPi07TeVCopy");
TGraphAsymmErrors* graphYieldPHOSStatPi07TeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0PHOS7TeVStatErr->Clone("graphYieldPHOSStatPi07TeVCopy");
TGraphAsymmErrors* graphYieldPHOSSysPi07TeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0PHOS7TeVSysErr->Clone("graphYieldPHOSSysPi07TeVCopy");
TGraphAsymmErrors* graphChargedPionSpecHighPtSystPP7TeVCopy = (TGraphAsymmErrors*) graphChargedPionSpecHighPtSystPP7TeV->Clone("graphChargedPionSpecHighPtSystPP7TeVCopy");
cout << "combined Spectrum - high Pt" << endl;
TGraphErrors* graphChargedPionSpecHighPtStatPP7TeVHighPtComb = NULL;
TGraphErrors* graphChargedPionSpecHighPtSystPP7TeVHighPtComb = NULL;
TGraphErrors* graphYieldCombStatPi07TeVRebinnedHighPtComb = NULL;
TGraphErrors* graphYieldCombSysPi07TeVRebinnedHighPtComb = NULL;
TGraphErrors* graphRatioHighPtChargedPionsCombPP7TeV = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldCombStatPi07TeVCopy, graphYieldCombSysPi07TeVCopy,
histoChargedPionSpecHighPtStatPP7TeV, graphChargedPionSpecHighPtSystPP7TeV,
kTRUE, kTRUE,
&graphYieldCombStatPi07TeVRebinnedHighPtComb, &graphYieldCombSysPi07TeVRebinnedHighPtComb,
&graphChargedPionSpecHighPtStatPP7TeVHighPtComb, &graphChargedPionSpecHighPtSystPP7TeVHighPtComb) ;
graphRatioHighPtChargedPionsCombPP7TeV->Print();
cout << "combined Spectrum - low Pt" << endl;
TGraphErrors* graphChargedPionSpecLowPtStatPP7TeVLowPtComb = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPP7TeVLowPtComb = NULL;
TGraphErrors* graphYieldCombStatPi07TeVRebinnedLowPtComb = NULL;
TGraphErrors* graphYieldCombSysPi07TeVRebinnedLowPtComb = NULL;
TGraphErrors* graphRatioLowPtChargedPionsCombPP7TeV = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldCombStatPi07TeVCopy, graphYieldCombSysPi07TeVCopy,
histoChargedPionSpecLowPtStatPP7TeV, histoChargedPionSpecLowPtSysPP7TeV,
kTRUE, kTRUE,
&graphYieldCombStatPi07TeVRebinnedLowPtComb, &graphYieldCombSysPi07TeVRebinnedLowPtComb,
&graphChargedPionSpecLowPtStatPP7TeVLowPtComb, &graphChargedPionSpecLowPtSystPP7TeVLowPtComb);
graphRatioLowPtChargedPionsCombPP7TeV->Print();
cout << "combined Spectrum - low Pt CMS" << endl;
TGraphErrors* graphChargedPionSpecCMSStatPP7TeVCMSComb = NULL;
TGraphErrors* graphChargedPionSpecCMSSystPP7TeVCMSComb = NULL;
TGraphErrors* graphYieldCombStatPi07TeVRebinnedCMSComb = NULL;
TGraphErrors* graphYieldCombSysPi07TeVRebinnedCMSComb = NULL;
TGraphErrors* graphRatioLowPtChargedPionsCombPPCMS7TeV = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldCombStatPi07TeVCopy, graphYieldCombSysPi07TeVCopy,
histoChargedPionSpecLowPtStat7TeVCMS, histoChargedPionSpecLowPtSys7TeVCMS,
kTRUE, kTRUE,
&graphYieldCombStatPi07TeVRebinnedCMSComb, &graphYieldCombSysPi07TeVRebinnedCMSComb,
&graphChargedPionSpecCMSStatPP7TeVCMSComb, &graphChargedPionSpecCMSSystPP7TeVCMSComb);
graphRatioLowPtChargedPionsCombPPCMS7TeV->Print();
cout << "PCM - high Pt" << endl;
TGraphErrors* graphChargedPionSpecHighPtStatPP7TeVHighPtPCM = NULL;
TGraphErrors* graphChargedPionSpecHighPtSystPP7TeVHighPtPCM = NULL;
TGraphErrors* graphYieldPCMStatPi07TeVRebinnedHighPtPCM = NULL;
TGraphErrors* graphYieldPCMSysPi07TeVRebinnedHighPtPCM = NULL;
TGraphErrors* graphRatioHighPtChargedPionsPCMPP7TeV = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPCMStatPi07TeVCopy, graphYieldPCMSysPi07TeVCopy,
histoChargedPionSpecHighPtStatPP7TeV, graphChargedPionSpecHighPtSystPP7TeV,
kTRUE, kTRUE,
&graphYieldPCMStatPi07TeVRebinnedHighPtPCM, &graphChargedPionSpecHighPtSystPP7TeVHighPtPCM,
&graphChargedPionSpecHighPtStatPP7TeVHighPtPCM, &graphChargedPionSpecHighPtSystPP7TeVHighPtPCM);
graphRatioHighPtChargedPionsPCMPP7TeV->Print();
cout << "PCM - low Pt" << endl;
TGraphErrors* graphChargedPionSpecLowPtStatPP7TeVLowPtPCM = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPP7TeVLowPtPCM = NULL;
TGraphErrors* graphYieldPCMStatPi07TeVRebinnedLowPtPCM = NULL;
TGraphErrors* graphYieldPCMSysPi07TeVRebinnedLowPtPCM = NULL;
TGraphErrors* graphRatioLowPtChargedPionsPCMPP7TeV = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPCMStatPi07TeVCopy, graphYieldPCMSysPi07TeVCopy,
histoChargedPionSpecLowPtStatPP7TeV, histoChargedPionSpecLowPtSysPP7TeV,
kTRUE, kTRUE,
&graphYieldPCMStatPi07TeVRebinnedLowPtPCM, &graphYieldPCMSysPi07TeVRebinnedLowPtPCM,
&graphChargedPionSpecLowPtStatPP7TeVLowPtPCM, &graphChargedPionSpecLowPtSystPP7TeVLowPtPCM);
graphRatioLowPtChargedPionsPCMPP7TeV->Print();
cout << "PCM - low Pt CMS" << endl;
TGraphErrors* graphChargedPionSpecCMSStatPP7TeVCMSPCM = NULL;
TGraphErrors* graphChargedPionSpecCMSSystPP7TeVCMSPCM = NULL;
TGraphErrors* graphYieldPCMStatPi07TeVRebinnedCMSPCM = NULL;
TGraphErrors* graphYieldPCMSysPi07TeVRebinnedCMSPCM = NULL;
TGraphErrors* graphRatioLowPtChargedPionsPCMPPCMS7TeV = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPCMStatPi07TeVCopy, graphYieldPCMSysPi07TeVCopy,
histoChargedPionSpecLowPtStat7TeVCMS, histoChargedPionSpecLowPtSys7TeVCMS,
kTRUE, kTRUE,
&graphYieldPCMStatPi07TeVRebinnedCMSPCM, &graphYieldPCMSysPi07TeVRebinnedCMSPCM,
&graphChargedPionSpecCMSStatPP7TeVCMSPCM, &graphChargedPionSpecCMSSystPP7TeVCMSPCM);
graphRatioLowPtChargedPionsPCMPPCMS7TeV->Print();
cout << "PHOS - high Pt" << endl;
TGraphErrors* graphChargedPionSpecHighPtStatPP7TeVHighPtPHOS = NULL;
TGraphErrors* graphChargedPionSpecHighPtSystPP7TeVHighPtPHOS = NULL;
TGraphErrors* graphYieldPHOSStatPi07TeVRebinnedHighPtPHOS = NULL;
TGraphErrors* graphYieldPHOSSysPi07TeVRebinnedHighPtPHOS = NULL;
TGraphErrors* graphRatioHighPtChargedPionsPHOSPP7TeV = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPHOSStatPi07TeVCopy, graphYieldPHOSSysPi07TeVCopy,
histoChargedPionSpecHighPtStatPP7TeV, graphChargedPionSpecHighPtSystPP7TeV,
kTRUE, kTRUE,
&graphYieldPHOSStatPi07TeVRebinnedHighPtPHOS, &graphChargedPionSpecHighPtSystPP7TeVHighPtPHOS,
&graphChargedPionSpecHighPtStatPP7TeVHighPtPHOS, &graphChargedPionSpecHighPtSystPP7TeVHighPtPHOS);
graphRatioHighPtChargedPionsPHOSPP7TeV->Print();
cout << "PHOS - low Pt" << endl;
TGraphErrors* graphChargedPionSpecLowPtStatPP7TeVLowPtPHOS = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPP7TeVLowPtPHOS = NULL;
TGraphErrors* graphYieldPHOSStatPi07TeVRebinnedLowPtPHOS = NULL;
TGraphErrors* graphYieldPHOSSysPi07TeVRebinnedLowPtPHOS = NULL;
TGraphErrors* graphRatioLowPtChargedPionsPHOSPP7TeV = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPHOSStatPi07TeVCopy, graphYieldPHOSSysPi07TeVCopy,
histoChargedPionSpecLowPtStatPP7TeV, histoChargedPionSpecLowPtSysPP7TeV,
kTRUE, kTRUE,
&graphYieldPHOSStatPi07TeVRebinnedLowPtPHOS, &graphYieldPHOSSysPi07TeVRebinnedLowPtPHOS,
&graphChargedPionSpecLowPtStatPP7TeVLowPtPHOS, &graphChargedPionSpecLowPtSystPP7TeVLowPtPHOS);
graphRatioLowPtChargedPionsPHOSPP7TeV->Print();
cout<< "EMCal- high Pt"<< endl;
TGraphErrors* graphChargedPionSpecHighPtStatPP7TeVHighPtEMCal = NULL;
TGraphErrors* graphChargedPionSpecHighPtSystPP7TeVHighPtEMCal = NULL;
TGraphErrors* graphYieldEMCalStatPi07TeVRebinnedHighPtEMCal = NULL;
TGraphErrors* graphYieldEMCalSysPi07TeVRebinnedHighPtEMCal = NULL;
TGraphErrors* graphRatioHighPtChargedPionsEMCalPP7TeV = CalculateRatioBetweenSpectraWithDifferentBinning(histoEMCalPion7TeVPPStat, histoEMCalPion7TeVPPSyst,
histoChargedPionSpecHighPtStatPP7TeV, graphChargedPionSpecHighPtSystPP7TeV,
kTRUE, kTRUE,
&graphYieldEMCalStatPi07TeVRebinnedHighPtEMCal, &graphChargedPionSpecHighPtSystPP7TeVHighPtEMCal,
&graphChargedPionSpecHighPtStatPP7TeVHighPtEMCal, &graphChargedPionSpecHighPtSystPP7TeVHighPtEMCal);
graphRatioHighPtChargedPionsEMCalPP7TeV->Print();
cout << "EMCal - low Pt" << endl;
TGraphErrors* graphChargedPionSpecLowPtStatPP7TeVLowPtEMCal = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPP7TeVLowPtEMCal = NULL;
TGraphErrors* graphYieldEMCalStatPi07TeVRebinnedLowPtEMCal = NULL;
TGraphErrors* graphYieldEMCalSysPi07TeVRebinnedLowPtEMCal = NULL;
TGraphErrors* graphRatioLowPtChargedPionsEMCalPP7TeV = CalculateRatioBetweenSpectraWithDifferentBinning(histoEMCalPion7TeVPPStat, histoEMCalPion7TeVPPSyst,
histoChargedPionSpecLowPtStatPP7TeV, histoChargedPionSpecLowPtSysPP7TeV,
kTRUE, kTRUE,
&graphYieldEMCalStatPi07TeVRebinnedLowPtEMCal, &graphYieldEMCalSysPi07TeVRebinnedLowPtEMCal,
&graphChargedPionSpecLowPtStatPP7TeVLowPtEMCal, &graphChargedPionSpecLowPtSystPP7TeVLowPtEMCal);
graphRatioLowPtChargedPionsEMCalPP7TeV->Print();
// //***************************** ratios Dalitz 7 TeV ************************************************
TH1D* histoInvCrossSectionPi0Dalitz7TeVCopy = (TH1D*) histoInvCrossSectionPi0Dalitz7TeV->Clone("histoInvCrossSectionPi0Dalitz7TeVCopy");
TGraphAsymmErrors* graphInvCrossSectionSysPi0Dalitz7TeVCopy = (TGraphAsymmErrors*) graphInvCrossSectionSysPi0Dalitz7TeV->Clone("graphInvCrossSectionSysPi0Dalitz7TeVCopy");
//
cout << "Dalitz Spectrum - high Pt" << endl;
TGraphErrors* graphYieldDalitzStatPi07TeVRebinnedHighPtDalitz = NULL;
TGraphErrors* graphYieldDalitzSysPi07TeVRebinnedHighPtDalitz = NULL;
TGraphErrors* graphChargedPionSpecHighPtStat7TeVHighPtDalitz = NULL;
TGraphErrors* graphChargedPionSpecHighPtSyst7TeVHighPtDalitz = NULL;
TGraphErrors* graphRatioHighPtChargedPionsDalitzPP7TeV = CalculateRatioBetweenSpectraWithDifferentBinning(histoInvCrossSectionPi0Dalitz7TeVCopy, graphInvCrossSectionSysPi0Dalitz7TeVCopy,
histoChargedPionSpecHighPtStatPP7TeV, graphChargedPionSpecHighPtSystPP7TeV,
kTRUE, kTRUE,
&graphYieldDalitzStatPi07TeVRebinnedHighPtDalitz, &graphYieldDalitzSysPi07TeVRebinnedHighPtDalitz,
&graphChargedPionSpecHighPtStat7TeVHighPtDalitz, &graphChargedPionSpecHighPtSyst7TeVHighPtDalitz);
// graphRatioHighPtChargedPionsDalitzPP7TeV->Print();
cout << "Dalitz Spectrum - low Pt" << endl;
TGraphErrors* graphYieldDalitzStatPi07TeVRebinnedLowPtDalitz = NULL;
TGraphErrors* graphYieldDalitzSysPi07TeVRebinnedLowPtDalitz = NULL;
TGraphErrors* graphChargedPionSpecLowPtStat7TeVLowPtDalitz = NULL;
TGraphErrors* graphChargedPionSpecLowPtSyst7TeVLowPtDalitz = NULL;
TGraphErrors* graphRatioLowPtChargedPionsDalitzPP7TeV = CalculateRatioBetweenSpectraWithDifferentBinning(histoInvCrossSectionPi0Dalitz7TeVCopy, graphInvCrossSectionSysPi0Dalitz7TeVCopy,
histoChargedPionSpecLowPtStatPP7TeV, histoChargedPionSpecLowPtSysPP7TeV,
kTRUE, kTRUE,
&graphYieldDalitzStatPi07TeVRebinnedLowPtDalitz, &graphYieldDalitzSysPi07TeVRebinnedLowPtDalitz,
&graphChargedPionSpecLowPtStat7TeVLowPtDalitz, &graphChargedPionSpecLowPtSyst7TeVLowPtDalitz);
// graphRatioLowPtChargedPionsDalitzPP7TeV->Print();
cout << "*************************************************************************"<< endl;
cout << "****************************** PP 0.9TeV *******************************"<< endl;
cout << "*************************************************************************"<< endl;
TGraphAsymmErrors* graphYieldCombStatPi0900GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0Comb900GeVStatErr->Clone("graphYieldCombStatPi0900GeVCopy");
TGraphAsymmErrors* graphYieldCombSysPi0900GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0Comb900GeVSysErr->Clone("graphYieldCombSysPi0900GeVCopy");
TGraphAsymmErrors* graphYieldPCMStatPi0900GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0PCM900GeVStatErr->Clone("graphYieldPCMStatPi0900GeVCopy");
TGraphAsymmErrors* graphYieldPCMSysPi0900GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0PCM900GeVSysErr->Clone("graphYieldPCMSysPi0900GeVCopy");
TGraphAsymmErrors* graphYieldPHOSStatPi0900GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0PHOS900GeVStatErr->Clone("graphYieldPHOSStatPi0900GeVCopy");
TGraphAsymmErrors* graphYieldPHOSSysPi0900GeVCopy = (TGraphAsymmErrors*) graphInvYieldPi0PHOS900GeVSysErr->Clone("graphYieldPHOSSysPi0900GeVCopy");
cout << "combined Spectrum - low Pt" << endl;
TGraphErrors* graphChargedPionSpecLowPtStatPP900GeVLowPtComb = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPP900GeVLowPtComb = NULL;
TGraphErrors* graphYieldCombStatPi0900GeVRebinnedLowPtComb = NULL;
TGraphErrors* graphYieldCombSysPi0900GeVRebinnedLowPtComb = NULL;
TGraphErrors* graphRatioLowPtChargedPionsCombPP900GeV = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldCombStatPi0900GeVCopy, graphYieldCombSysPi0900GeVCopy,
histoChargedPionSpecLowPtStatPP900GeV, histoChargedPionSpecLowPtSysPP900GeV,
kTRUE, kTRUE,
&graphYieldCombStatPi0900GeVRebinnedLowPtComb, &graphYieldCombSysPi0900GeVRebinnedLowPtComb,
&graphChargedPionSpecLowPtStatPP900GeVLowPtComb, &graphChargedPionSpecLowPtSystPP900GeVLowPtComb);
graphRatioLowPtChargedPionsCombPP900GeV->Print();
cout << "combined Spectrum - low Pt CMS" << endl;
TGraphErrors* graphChargedPionSpecCMSStatPP900GeVCMSComb = NULL;
TGraphErrors* graphChargedPionSpecCMSSystPP900GeVCMSComb = NULL;
TGraphErrors* graphYieldCombStatPi0900GeVRebinnedCMSComb = NULL;
TGraphErrors* graphYieldCombSysPi0900GeVRebinnedCMSComb = NULL;
TGraphErrors* graphRatioLowPtChargedPionsCombPPCMS900GeV = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldCombStatPi0900GeVCopy, graphYieldCombSysPi0900GeVCopy,
histoChargedPionSpecLowPtStat900GeVCMS, histoChargedPionSpecLowPtSys900GeVCMS,
kTRUE, kTRUE,
&graphYieldCombStatPi0900GeVRebinnedCMSComb, &graphYieldCombSysPi0900GeVRebinnedCMSComb,
&graphChargedPionSpecCMSStatPP900GeVCMSComb, &graphChargedPionSpecCMSSystPP900GeVCMSComb);
graphRatioLowPtChargedPionsCombPPCMS900GeV->Print();
cout << "PCM - low Pt" << endl;
TGraphErrors* graphChargedPionSpecLowPtStatPP900GeVLowPtPCM = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPP900GeVLowPtPCM = NULL;
TGraphErrors* graphYieldPCMStatPi0900GeVRebinnedLowPtPCM = NULL;
TGraphErrors* graphYieldPCMSysPi0900GeVRebinnedLowPtPCM = NULL;
TGraphErrors* graphRatioLowPtChargedPionsPCMPP900GeV = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPCMStatPi0900GeVCopy, graphYieldPCMSysPi0900GeVCopy,
histoChargedPionSpecLowPtStatPP900GeV, histoChargedPionSpecLowPtSysPP900GeV,
kTRUE, kTRUE,
&graphYieldPCMStatPi0900GeVRebinnedLowPtPCM, &graphYieldPCMSysPi0900GeVRebinnedLowPtPCM,
&graphChargedPionSpecLowPtStatPP900GeVLowPtPCM, &graphChargedPionSpecLowPtSystPP900GeVLowPtPCM);
graphRatioLowPtChargedPionsPCMPP900GeV->Print();
cout << "PCM - low Pt CMS" << endl;
TGraphErrors* graphChargedPionSpecCMSStatPP900GeVCMSPCM = NULL;
TGraphErrors* graphChargedPionSpecCMSSystPP900GeVCMSPCM = NULL;
TGraphErrors* graphYieldPCMStatPi0900GeVRebinnedCMSPCM = NULL;
TGraphErrors* graphYieldPCMSysPi0900GeVRebinnedCMSPCM = NULL;
TGraphErrors* graphRatioLowPtChargedPionsPCMPPCMS900GeV = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPCMStatPi0900GeVCopy, graphYieldPCMSysPi0900GeVCopy,
histoChargedPionSpecLowPtStat900GeVCMS, histoChargedPionSpecLowPtSys900GeVCMS,
kTRUE, kTRUE,
&graphYieldPCMStatPi0900GeVRebinnedCMSPCM, &graphYieldPCMSysPi0900GeVRebinnedCMSPCM,
&graphChargedPionSpecCMSStatPP900GeVCMSPCM, &graphChargedPionSpecCMSSystPP900GeVCMSPCM);
graphRatioLowPtChargedPionsPCMPPCMS900GeV->Print();
cout << "PHOS - low Pt" << endl;
TGraphErrors* graphChargedPionSpecLowPtStatPP900GeVLowPtPHOS = NULL;
TGraphErrors* graphChargedPionSpecLowPtSystPP900GeVLowPtPHOS = NULL;
TGraphErrors* graphYieldPHOSStatPi0900GeVRebinnedLowPtPHOS = NULL;
TGraphErrors* graphYieldPHOSSysPi0900GeVRebinnedLowPtPHOS = NULL;
TGraphErrors* graphRatioLowPtChargedPionsPHOSPP900GeV = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPHOSStatPi0900GeVCopy, graphYieldPHOSSysPi0900GeVCopy,
histoChargedPionSpecLowPtStatPP900GeV, histoChargedPionSpecLowPtSysPP900GeV,
kTRUE, kTRUE,
&graphYieldPHOSStatPi0900GeVRebinnedLowPtPHOS, &graphYieldPHOSSysPi0900GeVRebinnedLowPtPHOS,
&graphChargedPionSpecLowPtStatPP900GeVLowPtPHOS, &graphChargedPionSpecLowPtSystPP900GeVLowPtPHOS);
graphRatioLowPtChargedPionsPHOSPP900GeV->Print();
cout << "*************************************************************************"<< endl;
cout << "****************************** PbPb 0-5% *******************************"<< endl;
cout << "*************************************************************************"<< endl;
TGraphAsymmErrors* graphYieldPi0CombPbPb0005StatErrCopy = (TGraphAsymmErrors*) graphYieldPi0CombPbPb0005StatErr->Clone("graphYieldPi0CombPbPb0005StatErrCopy");
TGraphAsymmErrors* graphYieldPi0CombPbPb0005SysErrCopy = (TGraphAsymmErrors*) graphYieldPi0CombPbPb0005SysErr->Clone("graphYieldPi0CombPbPb0005SysErrCopy");
TGraphAsymmErrors* graphYieldPi0PCMPbPb0005StatErrCopy = (TGraphAsymmErrors*) graphYieldPi0PCMPbPb0005StatErr->Clone("graphYieldPi0PCMPbPb0005StatErrCopy");
TGraphAsymmErrors* graphYieldPi0PCMPbPb0005SysErrCopy = (TGraphAsymmErrors*) graphYieldPi0PCMPbPb0005SysErr->Clone("graphYieldPi0PCMPbPb0005SysErrCopy");
TGraphAsymmErrors* graphYieldPi0PHOSPbPb0005StatErrCopy = (TGraphAsymmErrors*) graphYieldPi0PHOSPbPb0005StatErr->Clone("graphYieldPi0PHOSPbPb0005StatErrCopy");
TGraphAsymmErrors* graphYieldPi0PHOSPbPb0005SysErrCopy = (TGraphAsymmErrors*) graphYieldPi0PHOSPbPb0005SysErr->Clone("graphYieldPi0PHOSPbPb0005SysErrCopy");
cout << "combined Spectrum" << endl;
TGraphErrors* graphYieldCombStatPi00005RebinnedHighPtComb = NULL;
TGraphErrors* graphYieldCombSysPi00005RebinnedHighPtComb = NULL;
TGraphErrors* graphChargedPionSpecHighPtStat0005HighPtComb = NULL;
TGraphErrors* graphChargedPionSpecHighPtSyst0005HighPtComb = NULL;
TGraphErrors* graphRatioHighPtChargedPionsComb0005 = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPi0CombPbPb0005StatErrCopy, graphYieldPi0CombPbPb0005SysErrCopy,
histoChargedPionSpecHighPtStat0005, histoChargedPionSpecHighPtSyst0005,
kTRUE, kTRUE,
&graphYieldCombStatPi00005RebinnedHighPtComb, &graphYieldCombSysPi00005RebinnedHighPtComb,
&graphChargedPionSpecHighPtStat0005HighPtComb, &graphChargedPionSpecHighPtSyst0005HighPtComb);
graphRatioHighPtChargedPionsComb0005->Print();
TGraphErrors* graphYieldCombStatPi00005RebinnedLowPtComb = NULL;
TGraphErrors* graphYieldCombSysPi00005RebinnedLowPtComb = NULL;
TGraphErrors* graphChargedPionSpecLowPtStat0005LowPtComb = NULL;
TGraphErrors* graphChargedPionSpecLowPtSyst0005LowPtComb = NULL;
TGraphErrors* graphRatioLowPtChargedPionsComb0005 = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPi0CombPbPb0005StatErrCopy, graphYieldPi0CombPbPb0005SysErrCopy,
histoChargedPionSpecLowPtStat0005, histoChargedPionSpecLowPtSyst0005,
kTRUE, kTRUE,
&graphYieldCombStatPi00005RebinnedLowPtComb, &graphYieldCombSysPi00005RebinnedLowPtComb,
&graphChargedPionSpecLowPtStat0005LowPtComb, &graphChargedPionSpecLowPtSyst0005LowPtComb);
graphRatioLowPtChargedPionsComb0005->Print();
cout << "PCM" << endl;
TGraphErrors* graphYieldPCMStatPi00005RebinnedHighPtPCM = NULL;
TGraphErrors* graphYieldPCMSysPi00005RebinnedHighPtPCM = NULL;
TGraphErrors* graphChargedPionSpecHighPtStat0005HighPtPCM = NULL;
TGraphErrors* graphChargedPionSpecHighPtSyst0005HighPtPCM = NULL;
TGraphErrors* graphRatioHighPtChargedPionsPCM0005 = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPi0PCMPbPb0005StatErrCopy, graphYieldPi0PCMPbPb0005SysErrCopy,
histoChargedPionSpecHighPtStat0005, histoChargedPionSpecHighPtSyst0005,
kTRUE, kTRUE,
&graphYieldPCMStatPi00005RebinnedHighPtPCM, &graphYieldPCMSysPi00005RebinnedHighPtPCM,
&graphChargedPionSpecHighPtStat0005HighPtPCM, &graphChargedPionSpecHighPtSyst0005HighPtPCM);
graphRatioHighPtChargedPionsPCM0005->Print();
TGraphErrors* graphYieldPCMStatPi00005RebinnedLowPtPCM = NULL;
TGraphErrors* graphYieldPCMSysPi00005RebinnedLowPtPCM = NULL;
TGraphErrors* graphChargedPionSpecLowPtStat0005LowPtPCM = NULL;
TGraphErrors* graphChargedPionSpecLowPtSyst0005LowPtPCM = NULL;
TGraphErrors* graphRatioLowPtChargedPionsPCM0005 = CalculateRatioBetweenSpectraWithDifferentBinning(graphYieldPi0PCMPbPb0005StatErrCopy, graphYieldPi0PCMPbPb0005SysErrCopy,
histoChargedPionSpecLowPtStat0005, histoChargedPionSpecLowPtSyst0005,
kTRUE, kTRUE,
&graphYieldPCMStatPi00005RebinnedLowPtPCM, &graphYieldPCMSysPi00005RebinnedLowPtPCM,
&graphChargedPionSpecLowPtStat0005LowPtPCM, &graphChargedPionSpecLowPtSyst0005LowPtPCM);