]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/totEt/macros/hadEt/GetCorrections.C
Updates to macros to get code working on grid
[u/mrichter/AliRoot.git] / PWGLF / totEt / macros / hadEt / GetCorrections.C
CommitLineData
f427cbed 1//Create by Christine Nattrass, Rebecca Scott, Irakli Martashvili
2//University of Tennessee at Knoxville
3//This macro takes an input file created by AliAnalysisHadEtMonteCarlo and creates an AliAnalysisHadEtCorrections for the determination of the corrected Et
4// #include "TFile.h"
5// #include <iostream>
6// #include "AliAnalysisHadEtCorrections.h"
7
8// #include <iostream>
9// #include <TROOT.h>
10// #include <TSystem.h>
11// #include "TStopwatch.h"
12
8663c99d 13//Corrections added in by hand to deal with the inadequacies of PYTHIA and HIJING
14TH1D *pp276TPCBkgd();
15TH1D *pp276ITSBkgd();
16TH1D *PbPb276TPCBkgd();
17TH1D *PbPb276ITSBkgd();
18 Double_t xAxis1[112] = {0, 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.2, 0.22, 0.24, 0.26, 0.28, 0.3, 0.32, 0.34, 0.36, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.5, 0.52, 0.54, 0.56, 0.58, 0.6, 0.62, 0.64, 0.66, 0.68, 0.7, 0.72, 0.74, 0.76, 0.78, 0.8, 0.82, 0.84, 0.86, 0.88, 0.9, 0.92, 0.94, 0.96, 0.98, 1, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.2, 2.4, 2.6, 2.8, 3, 3.2, 3.4, 3.6, 3.8, 4, 4.2, 4.4, 4.6, 4.8, 5, 5.5, 6, 6.5, 7, 7.5, 8, 8.5, 9, 9.5, 10, 12, 14, 16, 18, 20, 25};
19
20
48a07264 21Float_t CorrNeutral(float ptcut, char *prodname, char *shortprodname, bool ispp = true, bool forSim = true, bool TPC, bool hadronic = false, float etacut = 0.7);
22TH1D *GetHistoCorrNeutral(float cut, char *name, bool ispp, bool forSim, int mycase, bool eta, int color, int marker, bool hadronic = false);
f427cbed 23
48a07264 24Float_t CorrPtCut(float ptcut, char *prodname = "Enter Production Name", char *shortprodname = "EnterProductionName", bool ispp = true, bool forSim = true, int mycase = 0);
25TH1D *GetHistoCorrPtCut(float ptcut = 0.15, char *name, bool ispp = true, bool forSim = true, int mycase);
f427cbed 26
48a07264 27TH1D *GetHistoCorrNotID(float etacut,char *name, bool TPC, bool eta, bool ispp = true, bool forSim = true);
28TH1D *CorrNotID(float etacut,char *name, char *prodname, char *shortprodname, bool TPC, bool ispp = true, bool forSim = true);
29Float_t CorrNotIDConst(float ptcut, float etacut,char *name, char *prodname, char *shortprodname, bool TPC, bool ispp, bool forSim);
f427cbed 30
48a07264 31TH1D *GetHistoNoID(float etacut, char *name, bool eta, bool TPC, bool ispp, bool forSim);
32TH1D *CorrNoID(float etacut,char *name, char *prodname, char *shortprodname, bool ispp, bool forSim);
33Float_t CorrNoIDConst(float etacut, float ptcut,char *name, char *prodname, char *shortprodname, bool ispp, bool forSim);
b64de20c 34
35TH1D* bayneseffdiv(TH1D* numerator, TH1D* denominator,Char_t* name);
48a07264 36TH1D *GetHistoEfficiency(float cut, char *name, int mycase, int color, int marker,bool TPC, bool ITS, int cb = -1, int cblast = -1);
37void CorrEfficiencyPlots(bool TPC, char *prodname, char *shortprodname);
38
39TH1D *GetHistoCorrBkgd(float etacut,char *name, bool TPC,bool ispp,bool forSim);
40void CorrBkgdPlots(char *prodname, char *shortprodname, bool TPC,bool ispp,bool forSim);
41
42//Some variables that we'll use multiple times. We'll declare them here since they don't seem to delete right in the functions
43char prefix[100];
44char histoname[100];
45char epsname[100];
46char pngname[100];
47TFile *file = NULL;//initiated in main function
48const char *mynameTPC = "TPC";
49const char *mynameITS = "ITS";
50const char *mynameTPCITS = "TPCITS";
51const char *detectorEMCAL = "EMCAL";
52const char *detectorPHOS = "PHOS";
53const char *reweightedNo = "";
54const char *reweightedYes = "Reweighted";
b64de20c 55
56//===========================================================================================
f427cbed 57
48a07264 58void GetCorrections(char *prodname = "Enter Production Name", char *shortprodname = "EnterProductionName", bool ispp = true, bool forSim = true, bool TPC = true, char *infilename="Et.ESD.new.sim.merged.root", int dataset = 2009){
f427cbed 59 TStopwatch timer;
60 timer.Start();
61 gSystem->Load("libTree.so");
62 gSystem->Load("libGeom.so");
63 gSystem->Load("libVMC.so");
64 gSystem->Load("libXMLIO.so");
65
66 gSystem->Load("libSTEERBase.so");
67 gSystem->Load("libESD.so");
68 gSystem->Load("libAOD.so");
69
70 gSystem->Load("libANALYSIS");
71 gSystem->Load("libANALYSISalice");
72
73 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
0e866ddc 74 gROOT->ProcessLine(".L AliAnalysisEtCuts.cxx+g");
f427cbed 75 gROOT->ProcessLine(".L AliAnalysisHadEtCorrections.cxx+g");
48a07264 76 file = new TFile(infilename);
f427cbed 77
a02dfa56 78 char outfilename[200];
f43fc416 79 char *sim = "ForData";
80 if(forSim) sim = "ForSimulations";
81 char *system = "PbPb";
82 if(ispp) system = "pp";
0add53f6 83 sprintf(outfilename,"rootFiles/corrections/corrections.%s.%s.%s.root",shortprodname,system,sim);
f427cbed 84 TFile *outfile = new TFile(outfilename,"RECREATE");
85 AliAnalysisHadEtCorrections *hadCorrectionEMCAL = new AliAnalysisHadEtCorrections();
86 hadCorrectionEMCAL->SetName("hadCorrectionEMCAL");
b64de20c 87 float etacut = 0.7;
88 hadCorrectionEMCAL->SetEtaCut(etacut);
48a07264 89 hadCorrectionEMCAL->IsData(!forSim);
90 hadCorrectionEMCAL->IsEMCal(kTRUE);
91 hadCorrectionEMCAL->SetProduction(shortprodname);
92 hadCorrectionEMCAL->SetProductionDescription(prodname);
93 hadCorrectionEMCAL->SetDataSet(dataset);
b64de20c 94 //float etacut = hadCorrectionEMCAL->GetEtaCut();
95 //cout<<"eta cut is "<<etacut<<endl;
f427cbed 96 hadCorrectionEMCAL->SetAcceptanceCorrectionFull(1.0);
48a07264 97 cout<<"Warning: Acceptance corrections will have to be updated to include real acceptance maps of the EMCAL"<<endl;
f427cbed 98 hadCorrectionEMCAL->SetAcceptanceCorrectionPHOS(360.0/60.0);
99 hadCorrectionEMCAL->SetAcceptanceCorrectionEMCAL(360.0/60.0);
b64de20c 100
f427cbed 101 float ptcut = 0.1;
48a07264 102 float neutralCorr = CorrNeutral(ptcut,prodname,shortprodname,ispp,forSim,TPC,false,etacut);
f427cbed 103 hadCorrectionEMCAL->SetNeutralCorrection(neutralCorr);
48a07264 104 //Using error from data, see analysis note for details
105 if(ispp){
106 hadCorrectionEMCAL->SetNeutralCorrectionLowBound(neutralCorr*(1.0-0.013));
107 hadCorrectionEMCAL->SetNeutralCorrectionHighBound(neutralCorr*(1.0+0.013));
108 }
109 else{
110 hadCorrectionEMCAL->SetNeutralCorrectionLowBound(neutralCorr*(1.0-0.049));
111 hadCorrectionEMCAL->SetNeutralCorrectionHighBound(neutralCorr*(1.0+0.049));
112 }
113
114 float hadronicCorr = CorrNeutral(ptcut,prodname,shortprodname,ispp,forSim,TPC,true,etacut);
b64de20c 115 hadCorrectionEMCAL->SetNotHadronicCorrection(hadronicCorr);
48a07264 116 if(ispp){
117 hadCorrectionEMCAL->SetNotHadronicCorrectionLowBound(hadronicCorr*(1.0-0.008));
118 hadCorrectionEMCAL->SetNotHadronicCorrectionHighBound(hadronicCorr*(1.0+0.008));
119 }
120 else{
121 hadCorrectionEMCAL->SetNotHadronicCorrectionLowBound(hadronicCorr*(1.0-0.023));
122 hadCorrectionEMCAL->SetNotHadronicCorrectionHighBound(hadronicCorr*(1.0+0.023));
123 }
124
125 float ptcutITS = CorrPtCut(0.1,prodname,shortprodname,ispp,forSim);
f427cbed 126 hadCorrectionEMCAL->SetpTCutCorrectionITS(ptcutITS);
48a07264 127 float ptcutTPC = CorrPtCut(0.15,prodname,shortprodname,ispp,forSim);
f427cbed 128 hadCorrectionEMCAL->SetpTCutCorrectionTPC(ptcutTPC);
48a07264 129 float ptcutITSLow = CorrPtCut(0.1,prodname,shortprodname,ispp,forSim,-1);
130 float ptcutTPCLow = CorrPtCut(0.15,prodname,shortprodname,ispp,forSim,-1);
131 hadCorrectionEMCAL->SetpTCutCorrectionITSLowBound(ptcutITSLow);
132 hadCorrectionEMCAL->SetpTCutCorrectionTPCLowBound(ptcutTPCLow);
133 float ptcutITSHigh = CorrPtCut(0.1,prodname,shortprodname,ispp,forSim,1);
134 float ptcutTPCHigh = CorrPtCut(0.15,prodname,shortprodname,ispp,forSim,1);
135 hadCorrectionEMCAL->SetpTCutCorrectionITSHighBound(ptcutITSHigh);
136 hadCorrectionEMCAL->SetpTCutCorrectionTPCHighBound(ptcutTPCHigh);
137
138 TH1D *NotIDTPC = CorrNotID(etacut,"CorrNotIDEMCALTPC",prodname,shortprodname,true,ispp,forSim);
139 TH1D *NotIDITS = CorrNotID(etacut,"CorrNotIDEMCALITS",prodname,shortprodname,false,ispp,forSim);
b64de20c 140 hadCorrectionEMCAL->SetNotIDCorrectionTPC(NotIDTPC);
141 hadCorrectionEMCAL->SetNotIDCorrectionITS(NotIDITS);
142
48a07264 143 Float_t NotIDConstTPC = CorrNotIDConst(0.15,etacut,"CorrNotIDEMCALTPC2",prodname,shortprodname,true,ispp,forSim);
144 Float_t NotIDConstITS = CorrNotIDConst(0.10,etacut,"CorrNotIDEMCALTPC2",prodname,shortprodname,true,ispp,forSim);
0e866ddc 145 hadCorrectionEMCAL->SetNotIDConstCorrectionTPC(1.0/NotIDConstTPC);
146 hadCorrectionEMCAL->SetNotIDConstCorrectionITS(1.0/NotIDConstITS);
48a07264 147 if(ispp){
0add53f6 148 hadCorrectionEMCAL->SetNotIDConstCorrectionTPCLowBound(1./NotIDConstTPC*(1.0-0.010));
149 hadCorrectionEMCAL->SetNotIDConstCorrectionITSLowBound(1./NotIDConstITS*(1.0-0.010));
150 hadCorrectionEMCAL->SetNotIDConstCorrectionTPCHighBound(1./NotIDConstTPC*(1.0+0.010));
151 hadCorrectionEMCAL->SetNotIDConstCorrectionITSHighBound(1./NotIDConstITS*(1.0+0.010));
48a07264 152 }
153 else{
0add53f6 154 hadCorrectionEMCAL->SetNotIDConstCorrectionTPCLowBound(1./NotIDConstTPC*(1.0-0.022));
155 hadCorrectionEMCAL->SetNotIDConstCorrectionITSLowBound(1./NotIDConstITS*(1.0-0.022));
156 hadCorrectionEMCAL->SetNotIDConstCorrectionTPCHighBound(1./NotIDConstTPC*(1.0+0.022));
157 hadCorrectionEMCAL->SetNotIDConstCorrectionITSHighBound(1./NotIDConstITS*(1.0+0.022));
48a07264 158 }
159
160 TH1D *NoID = CorrNoID(etacut,"CorrNoIDEMCAL",prodname,shortprodname,ispp,forSim);
b64de20c 161 hadCorrectionEMCAL->SetNotIDCorrectionNoPID(NoID);
162
48a07264 163 Float_t NoIDTPC = CorrNoIDConst(etacut,0.15,"CorrNoIDEMCAL2",prodname,shortprodname,ispp,forSim);
164 Float_t NoIDITS = CorrNoIDConst(etacut,0.1,"CorrNoIDEMCAL2",prodname,shortprodname,ispp,forSim);
0e866ddc 165 hadCorrectionEMCAL->SetNotIDConstCorrectionTPCNoID(1./NoIDTPC);
166 hadCorrectionEMCAL->SetNotIDConstCorrectionITSNoID(1./NoIDITS);
48a07264 167 hadCorrectionEMCAL->SetNotIDConstCorrectionTPCNoIDLowBound(1./NoIDTPC*.98);
168 hadCorrectionEMCAL->SetNotIDConstCorrectionITSNoIDLowBound(1./NoIDITS*.98);
169 hadCorrectionEMCAL->SetNotIDConstCorrectionTPCNoIDHighBound(1./NoIDTPC*1.02);
170 hadCorrectionEMCAL->SetNotIDConstCorrectionITSNoIDHighBound(1./NoIDITS*1.02);
8663c99d 171
172 //Here we're going to do a bit of a cheat. We want the efficiency for ITS standalone tracks + TPC+ITS tracks. This is returned by the function for the efficiency function if I ask for ITS only efficiency. Had I known how this worked I probably would have written the code differently... but...
173 //anyhow I left a switch for changing it back.
a775fa71 174 bool useITSStandalone = false;
8663c99d 175 TH1D *efficiencyPionTPC = GetHistoEfficiency(etacut,"hEfficiencyPionTPC",1,1,20,useITSStandalone,true);
a02dfa56 176 hadCorrectionEMCAL->SetEfficiencyPionTPC(efficiencyPionTPC);
8663c99d 177 TH1D *efficiencyKaonTPC = GetHistoEfficiency(etacut,"hEfficiencyKaonTPC",2,1,20,useITSStandalone,true);
a02dfa56 178 hadCorrectionEMCAL->SetEfficiencyKaonTPC(efficiencyKaonTPC);
8663c99d 179 TH1D *efficiencyProtonTPC = GetHistoEfficiency(etacut,"hEfficiencyProtonTPC",3,1,20,useITSStandalone,true);
a02dfa56 180 hadCorrectionEMCAL->SetEfficiencyProtonTPC(efficiencyProtonTPC);
8663c99d 181 TH1D *efficiencyHadronTPC = GetHistoEfficiency(etacut,"hEfficiencyHadronTPC",0,1,20,useITSStandalone,true);
a02dfa56 182 hadCorrectionEMCAL->SetEfficiencyHadronTPC(efficiencyHadronTPC);
48a07264 183 TH1D *efficiencyPionITS = GetHistoEfficiency(etacut,"hEfficiencyPionITS",1,1,20,false,true);
a02dfa56 184 hadCorrectionEMCAL->SetEfficiencyPionITS(efficiencyPionITS);
48a07264 185 TH1D *efficiencyKaonITS = GetHistoEfficiency(etacut,"hEfficiencyKaonITS",2,1,20,false,true);
a02dfa56 186 hadCorrectionEMCAL->SetEfficiencyKaonITS(efficiencyKaonITS);
48a07264 187 TH1D *efficiencyProtonITS = GetHistoEfficiency(etacut,"hEfficiencyProtonITS",3,1,20,false,true);
a02dfa56 188 hadCorrectionEMCAL->SetEfficiencyProtonITS(efficiencyProtonITS);
48a07264 189 TH1D *efficiencyHadronITS = GetHistoEfficiency(etacut,"hEfficiencyHadronITS",0,1,20,false,true);
a02dfa56 190 hadCorrectionEMCAL->SetEfficiencyHadronITS(efficiencyHadronITS);
191
48a07264 192 if(!ispp){
8663c99d 193 TH1D *efficiencyPionTPCCB0 = GetHistoEfficiency(etacut,"hEfficiencyPionTPCCB0",1,1,20,useITSStandalone,true,0,4);
48a07264 194 for(int i=0;i<=4;i++) hadCorrectionEMCAL->SetEfficiencyPionTPC((TH1D*)efficiencyPionTPCCB0->Clone(Form("Test%i",i)),i);
8663c99d 195 TH1D *efficiencyPionTPCCB5 = GetHistoEfficiency(etacut,"hEfficiencyPionTPCCB5",1,1,20,useITSStandalone,true,5,9);
48a07264 196 for(int i=5;i<=9;i++) hadCorrectionEMCAL->SetEfficiencyPionTPC((TH1D*)efficiencyPionTPCCB5->Clone(Form("Test%i",i)),i);
8663c99d 197 TH1D *efficiencyPionTPCCB10 = GetHistoEfficiency(etacut,"hEfficiencyPionTPCCB10",1,1,20,useITSStandalone,true,10,15);
198 for(int i=10;i<=20;i++) hadCorrectionEMCAL->SetEfficiencyPionTPC((TH1D*)efficiencyPionTPCCB10->Clone(Form("Test%i",i)),i);
48a07264 199
8663c99d 200 TH1D *efficiencyKaonTPCCB0 = GetHistoEfficiency(etacut,"hEfficiencyKaonTPCCB0",2,1,20,useITSStandalone,true,0,4);
48a07264 201 for(int i=0;i<=4;i++) hadCorrectionEMCAL->SetEfficiencyKaonTPC((TH1D*)efficiencyKaonTPCCB0->Clone(Form("Test%i",i)),i);
8663c99d 202 TH1D *efficiencyKaonTPCCB5 = GetHistoEfficiency(etacut,"hEfficiencyKaonTPCCB5",2,1,20,useITSStandalone,true,5,9);
48a07264 203 for(int i=5;i<=9;i++) hadCorrectionEMCAL->SetEfficiencyKaonTPC((TH1D*)efficiencyKaonTPCCB5->Clone(Form("Test%i",i)),i);
8663c99d 204 TH1D *efficiencyKaonTPCCB10 = GetHistoEfficiency(etacut,"hEfficiencyKaonTPCCB10",2,1,20,useITSStandalone,true,10,15);
205 for(int i=10;i<=20;i++) hadCorrectionEMCAL->SetEfficiencyKaonTPC((TH1D*)efficiencyKaonTPCCB10->Clone(Form("Test%i",i)),i);//Kaon
48a07264 206
8663c99d 207 TH1D *efficiencyProtonTPCCB0 = GetHistoEfficiency(etacut,"hEfficiencyProtonTPCCB0",3,1,20,useITSStandalone,true,0,4);
48a07264 208 for(int i=0;i<=4;i++) hadCorrectionEMCAL->SetEfficiencyProtonTPC((TH1D*)efficiencyProtonTPCCB0->Clone(Form("Test%i",i)),i);
8663c99d 209 TH1D *efficiencyProtonTPCCB5 = GetHistoEfficiency(etacut,"hEfficiencyProtonTPCCB5",3,1,20,useITSStandalone,true,5,9);
48a07264 210 for(int i=5;i<=9;i++) hadCorrectionEMCAL->SetEfficiencyProtonTPC((TH1D*)efficiencyProtonTPCCB5->Clone(Form("Test%i",i)),i);
8663c99d 211 TH1D *efficiencyProtonTPCCB10 = GetHistoEfficiency(etacut,"hEfficiencyProtonTPCCB10",3,1,20,useITSStandalone,true,10,15);
212 for(int i=10;i<=20;i++) hadCorrectionEMCAL->SetEfficiencyProtonTPC((TH1D*)efficiencyProtonTPCCB10->Clone(Form("Test%i",i)),i);//Proton
48a07264 213
8663c99d 214 TH1D *efficiencyHadronTPCCB0 = GetHistoEfficiency(etacut,"hEfficiencyHadronTPCCB0",0,1,20,useITSStandalone,true,0,4);
48a07264 215 for(int i=0;i<=4;i++) hadCorrectionEMCAL->SetEfficiencyHadronTPC((TH1D*)efficiencyHadronTPCCB0->Clone(Form("Test%i",i)),i);
8663c99d 216 TH1D *efficiencyHadronTPCCB5 = GetHistoEfficiency(etacut,"hEfficiencyHadronTPCCB5",0,1,20,useITSStandalone,true,5,9);
48a07264 217 for(int i=5;i<=9;i++) hadCorrectionEMCAL->SetEfficiencyHadronTPC((TH1D*)efficiencyHadronTPCCB5->Clone(Form("Test%i",i)),i);
8663c99d 218 TH1D *efficiencyHadronTPCCB10 = GetHistoEfficiency(etacut,"hEfficiencyHadronTPCCB10",0,1,20,useITSStandalone,true,10,15);
219 for(int i=10;i<=20;i++) hadCorrectionEMCAL->SetEfficiencyHadronTPC((TH1D*)efficiencyHadronTPCCB10->Clone(Form("Test%i",i)),i);//Hadron
48a07264 220
221
222 TH1D *efficiencyPionITSCB0 = GetHistoEfficiency(etacut,"hEfficiencyPionITSCB0",1,1,20,false,true,0,4);
223 for(int i=0;i<=4;i++) hadCorrectionEMCAL->SetEfficiencyPionITS((TH1D*)efficiencyPionITSCB0->Clone(Form("Test%i",i)),i);
224 TH1D *efficiencyPionITSCB5 = GetHistoEfficiency(etacut,"hEfficiencyPionITSCB5",1,1,20,false,true,5,9);
225 for(int i=5;i<=9;i++) hadCorrectionEMCAL->SetEfficiencyPionITS((TH1D*)efficiencyPionITSCB5->Clone(Form("Test%i",i)),i);
226 TH1D *efficiencyPionITSCB10 = GetHistoEfficiency(etacut,"hEfficiencyPionITSCB10",1,1,20,false,true,10,15);
8663c99d 227 for(int i=10;i<=20;i++) hadCorrectionEMCAL->SetEfficiencyPionITS((TH1D*)efficiencyPionITSCB10->Clone(Form("Test%i",i)),i);//Pion
48a07264 228
229 TH1D *efficiencyKaonITSCB0 = GetHistoEfficiency(etacut,"hEfficiencyKaonITSCB0",2,1,20,false,true,0,4);
230 for(int i=0;i<=4;i++) hadCorrectionEMCAL->SetEfficiencyKaonITS((TH1D*)efficiencyKaonITSCB0->Clone(Form("Test%i",i)),i);
231 TH1D *efficiencyKaonITSCB5 = GetHistoEfficiency(etacut,"hEfficiencyKaonITSCB5",2,1,20,false,true,5,9);
232 for(int i=5;i<=9;i++) hadCorrectionEMCAL->SetEfficiencyKaonITS((TH1D*)efficiencyKaonITSCB5->Clone(Form("Test%i",i)),i);
233 TH1D *efficiencyKaonITSCB10 = GetHistoEfficiency(etacut,"hEfficiencyKaonITSCB10",2,1,20,false,true,10,15);
8663c99d 234 for(int i=10;i<=20;i++) hadCorrectionEMCAL->SetEfficiencyKaonITS((TH1D*)efficiencyKaonITSCB10->Clone(Form("Test%i",i)),i);//Kaon
48a07264 235
236 TH1D *efficiencyProtonITSCB0 = GetHistoEfficiency(etacut,"hEfficiencyProtonITSCB0",3,1,20,false,true,0,4);
237 for(int i=0;i<=4;i++) hadCorrectionEMCAL->SetEfficiencyProtonITS((TH1D*)efficiencyProtonITSCB0->Clone(Form("Test%i",i)),i);
238 TH1D *efficiencyProtonITSCB5 = GetHistoEfficiency(etacut,"hEfficiencyProtonITSCB5",3,1,20,false,true,5,9);
239 for(int i=5;i<=9;i++) hadCorrectionEMCAL->SetEfficiencyProtonITS((TH1D*)efficiencyProtonITSCB5->Clone(Form("Test%i",i)),i);
240 TH1D *efficiencyProtonITSCB10 = GetHistoEfficiency(etacut,"hEfficiencyProtonITSCB10",3,1,20,false,true,10,15);
8663c99d 241 for(int i=10;i<=20;i++) hadCorrectionEMCAL->SetEfficiencyProtonITS((TH1D*)efficiencyProtonITSCB10->Clone(Form("Test%i",i)),i);//Proton
48a07264 242
243 TH1D *efficiencyHadronITSCB0 = GetHistoEfficiency(etacut,"hEfficiencyHadronITSCB0",0,1,20,false,true,0,4);
244 for(int i=0;i<=4;i++) hadCorrectionEMCAL->SetEfficiencyHadronITS((TH1D*)efficiencyHadronITSCB0->Clone(Form("Test%i",i)),i);
245 TH1D *efficiencyHadronITSCB5 = GetHistoEfficiency(etacut,"hEfficiencyHadronITSCB5",0,1,20,false,true,5,9);
246 for(int i=5;i<=9;i++) hadCorrectionEMCAL->SetEfficiencyHadronITS((TH1D*)efficiencyHadronITSCB5->Clone(Form("Test%i",i)),i);
247 TH1D *efficiencyHadronITSCB10 = GetHistoEfficiency(etacut,"hEfficiencyHadronITSCB10",0,1,20,false,true,10,15);
8663c99d 248 for(int i=10;i<=20;i++) hadCorrectionEMCAL->SetEfficiencyHadronITS((TH1D*)efficiencyHadronITSCB10->Clone(Form("Test%i",i)),i);//Hadron
48a07264 249 }//EMCAL
8663c99d 250 hadCorrectionEMCAL->SetEfficiencyErrorLowBound(0.99);
251 hadCorrectionEMCAL->SetEfficiencyErrorHighBound(1.01);
48a07264 252
253 //CorrEfficiencyPlots(true,prodname,shortprodname);
a02dfa56 254 //CorrEfficiencyPlots(false,prodname,shortprodname,infilename);
b64de20c 255
48a07264 256
257 //hadCorrectionEMCAL->GetEfficiencyHadronTPC()->Draw();
8663c99d 258 TH1D *backgroundTPC;
259 TH1D *backgroundITS;
260 if((dataset==20111 || dataset==20100) && !forSim){//2.76 TeV p+p or Pb+Pb
261 if(dataset==20111){
262 cout<<"Fixing 2.76 TeV p+p background to be average of 900 GeV and 7 TeV scaling"<<endl;
263 backgroundTPC = pp276TPCBkgd();
264 backgroundTPC->SetName("hBackgroundTPC");
265 backgroundITS = pp276ITSBkgd();
266 backgroundITS->SetName("hBackgroundITS");
267 }
268 else{//PbPb
269 cout<<"Fixing 2.76 TeV Pb+Pb background to be average of 900 GeV and 7 TeV scaling with baryon enhancement"<<endl;
270 backgroundTPC = pp276TPCBkgd();
271 backgroundTPC->SetName("hBackgroundTPC");
272 //ITS background is currently a placeholder
273 backgroundITS = GetHistoCorrBkgd(etacut,"hBackgroundITS",false,ispp,forSim);
274 }
275 }
276 else{
277 backgroundTPC = GetHistoCorrBkgd(etacut,"hBackgroundTPC",true,ispp,forSim);
278 backgroundITS = GetHistoCorrBkgd(etacut,"hBackgroundITS",false,ispp,forSim);
279 }
280 float bkgdpcterror = 0.0;
281 switch(dataset){
282 case 2009:
283 bkgdpcterror = 0.37;
284 break;
285 case 20111:
286 bkgdpcterror = 0.38;
287 break;
288 case 2010:
289 bkgdpcterror = 0.13;
290 break;
291 case 20100:
292 bkgdpcterror = 0.76;
293 break;
294 }
b64de20c 295 hadCorrectionEMCAL->SetBackgroundCorrectionTPC(backgroundTPC);
296 hadCorrectionEMCAL->SetBackgroundCorrectionITS(backgroundITS);
8663c99d 297 hadCorrectionEMCAL->SetBackgroundErrorLowBound(1.0-bkgdpcterror/100.0);
298 hadCorrectionEMCAL->SetBackgroundErrorHighBound(1.0+bkgdpcterror/100.0);
48a07264 299 //CorrBkgdPlots(prodname,shortprodname,true,ispp,forSim);
300 //CorrBkgdPlots(prodname,shortprodname,false,ispp,forSim);
301
302 hadCorrectionEMCAL->Report();
f427cbed 303
f427cbed 304 outfile->cd();
305 hadCorrectionEMCAL->Write();
306 outfile->Write();
a02dfa56 307 delete hadCorrectionEMCAL;
308
309 AliAnalysisHadEtCorrections *hadCorrectionPHOS = new AliAnalysisHadEtCorrections();
310 hadCorrectionPHOS->SetName("hadCorrectionPHOS");
311 float etacut = 0.12;
312 hadCorrectionPHOS->SetEtaCut(etacut);
48a07264 313 hadCorrectionPHOS->IsData(!forSim);
314 hadCorrectionPHOS->IsEMCal(kTRUE);
315 hadCorrectionPHOS->SetProduction(shortprodname);
316 hadCorrectionPHOS->SetProductionDescription(prodname);
317 hadCorrectionPHOS->SetDataSet(dataset);
a02dfa56 318 //float etacut = hadCorrectionPHOS->GetEtaCut();
319 //cout<<"eta cut is "<<etacut<<endl;
a02dfa56 320 hadCorrectionPHOS->SetAcceptanceCorrectionFull(1.0);
48a07264 321 cout<<"Warning: Acceptance corrections will have to be updated to include real acceptance maps of the PHOS"<<endl;
a02dfa56 322 hadCorrectionPHOS->SetAcceptanceCorrectionPHOS(360.0/60.0);
323 hadCorrectionPHOS->SetAcceptanceCorrectionEMCAL(360.0/60.0);
324
325 float ptcut = 0.1;
48a07264 326 float neutralCorr = CorrNeutral(ptcut,prodname,shortprodname,ispp,forSim,TPC,false,etacut);
a02dfa56 327 hadCorrectionPHOS->SetNeutralCorrection(neutralCorr);
48a07264 328 //Using error from data, see analysis note for details
329 if(ispp){
0add53f6 330 hadCorrectionPHOS->SetNeutralCorrectionLowBound(neutralCorr*(1.0-.013));
331 hadCorrectionPHOS->SetNeutralCorrectionHighBound(neutralCorr*(1.0+.013));
48a07264 332 }
333 else{
0add53f6 334 hadCorrectionPHOS->SetNeutralCorrectionLowBound(neutralCorr*(1.0-0.049));
335 hadCorrectionPHOS->SetNeutralCorrectionHighBound(neutralCorr*(1.0+0.049));
48a07264 336 }
337
338 float hadronicCorr = CorrNeutral(ptcut,prodname,shortprodname,ispp,forSim,TPC,true,etacut);
a02dfa56 339 hadCorrectionPHOS->SetNotHadronicCorrection(hadronicCorr);
48a07264 340 if(ispp){
0add53f6 341 hadCorrectionPHOS->SetNotHadronicCorrectionLowBound(neutralCorr*(1.0-0.008));
342 hadCorrectionPHOS->SetNotHadronicCorrectionHighBound(neutralCorr*(1.0+0.008));
48a07264 343 }
344 else{
0add53f6 345 hadCorrectionPHOS->SetNotHadronicCorrectionLowBound(neutralCorr*(1.0-0.023));
346 hadCorrectionPHOS->SetNotHadronicCorrectionHighBound(neutralCorr*(1.0+0.023));
48a07264 347 }
348
349 float ptcutITS = CorrPtCut(0.1,prodname,shortprodname,ispp,forSim);
a02dfa56 350 hadCorrectionPHOS->SetpTCutCorrectionITS(ptcutITS);
48a07264 351 float ptcutTPC = CorrPtCut(0.15,prodname,shortprodname,ispp,forSim);
a02dfa56 352 hadCorrectionPHOS->SetpTCutCorrectionTPC(ptcutTPC);
48a07264 353
354 float ptcutITSLow = CorrPtCut(0.1,prodname,shortprodname,ispp,forSim,-1);
355 float ptcutTPCLow = CorrPtCut(0.15,prodname,shortprodname,ispp,forSim,-1);
356 hadCorrectionPHOS->SetpTCutCorrectionITSLowBound(ptcutITSLow);
357 hadCorrectionPHOS->SetpTCutCorrectionTPCLowBound(ptcutTPCLow);
358 float ptcutITSHigh = CorrPtCut(0.1,prodname,shortprodname,ispp,forSim,1);
359 float ptcutTPCHigh = CorrPtCut(0.15,prodname,shortprodname,ispp,forSim,1);
360 hadCorrectionPHOS->SetpTCutCorrectionITSHighBound(ptcutITSHigh);
361 hadCorrectionPHOS->SetpTCutCorrectionTPCHighBound(ptcutTPCHigh);
362
363 TH1D *NotIDTPC = CorrNotID(etacut,"CorrNotIDPHOSTPC",prodname,shortprodname,true,ispp,forSim);
364 TH1D *NotIDITS = CorrNotID(etacut,"CorrNotIDPHOSITS",prodname,shortprodname,false,ispp,forSim);
a02dfa56 365 hadCorrectionPHOS->SetNotIDCorrectionTPC(NotIDTPC);
366 hadCorrectionPHOS->SetNotIDCorrectionITS(NotIDITS);
367
48a07264 368 Float_t NotIDConstTPC = CorrNotIDConst(0.15,etacut,"CorrNotIDPHOSTPC2",prodname,shortprodname,true,ispp,forSim);
369 Float_t NotIDConstITS = CorrNotIDConst(0.10,etacut,"CorrNotIDPHOSTPC2",prodname,shortprodname,true,ispp,forSim);
0e866ddc 370 hadCorrectionPHOS->SetNotIDConstCorrectionTPC(1./NotIDConstTPC);
371 hadCorrectionPHOS->SetNotIDConstCorrectionITS(1./NotIDConstITS);
48a07264 372 if(ispp){
0add53f6 373 hadCorrectionPHOS->SetNotIDConstCorrectionTPCLowBound(1./NotIDConstTPC*(1.0-0.010));
374 hadCorrectionPHOS->SetNotIDConstCorrectionITSLowBound(1./NotIDConstITS*(1.0-0.010));
375 hadCorrectionPHOS->SetNotIDConstCorrectionTPCHighBound(1./NotIDConstTPC*(1.0+0.010));
376 hadCorrectionPHOS->SetNotIDConstCorrectionITSHighBound(1./NotIDConstITS*(1.0+0.010));
48a07264 377 }
378 else{
0add53f6 379 hadCorrectionPHOS->SetNotIDConstCorrectionTPCLowBound(1./NotIDConstTPC*(1.0-0.022));
380 hadCorrectionPHOS->SetNotIDConstCorrectionITSLowBound(1./NotIDConstITS*(1.0-0.022));
381 hadCorrectionPHOS->SetNotIDConstCorrectionTPCHighBound(1./NotIDConstTPC*(1.0+0.022));
382 hadCorrectionPHOS->SetNotIDConstCorrectionITSHighBound(1./NotIDConstITS*(1.0+0.022));
48a07264 383 }
384
385
386 TH1D *NoID = CorrNoID(etacut,"CorrNoIDPHOS",prodname,shortprodname,ispp,forSim);
a02dfa56 387 hadCorrectionPHOS->SetNotIDCorrectionNoPID(NoID);
388
0e866ddc 389
48a07264 390 Float_t NoIDTPC = CorrNoIDConst(etacut,0.15,"CorrNoIDPHOS2",prodname,shortprodname,ispp,forSim);
391 Float_t NoIDITS = CorrNoIDConst(etacut,0.1,"CorrNoIDPHOS2",prodname,shortprodname,ispp,forSim);
0e866ddc 392 hadCorrectionPHOS->SetNotIDConstCorrectionTPCNoID(1./NoIDTPC);
393 hadCorrectionPHOS->SetNotIDConstCorrectionITSNoID(1./NoIDITS);
48a07264 394 hadCorrectionPHOS->SetNotIDConstCorrectionTPCNoIDLowBound(1./NoIDTPC*.98);
395 hadCorrectionPHOS->SetNotIDConstCorrectionITSNoIDLowBound(1./NoIDITS*.98);
396 hadCorrectionPHOS->SetNotIDConstCorrectionTPCNoIDHighBound(1./NoIDTPC*1.02);
397 hadCorrectionPHOS->SetNotIDConstCorrectionITSNoIDHighBound(1./NoIDITS*1.02);
398
8663c99d 399 TH1D *efficiencyPionTPC = GetHistoEfficiency(etacut,"hEfficiencyPionTPC",1,1,20,useITSStandalone,true);
400 TH1D *efficiencyKaonTPC = GetHistoEfficiency(etacut,"hEfficiencyKaonTPC",2,1,20,useITSStandalone,true);
401 TH1D *efficiencyProtonTPC = GetHistoEfficiency(etacut,"hEfficiencyProtonTPC",3,1,20,useITSStandalone,true);
402 TH1D *efficiencyHadronTPC = GetHistoEfficiency(etacut,"hEfficiencyHadronTPC",0,1,20,useITSStandalone,true);
48a07264 403 TH1D *efficiencyPionITS = GetHistoEfficiency(etacut,"hEfficiencyPionITS",1,1,20,false,true);
404 TH1D *efficiencyKaonITS = GetHistoEfficiency(etacut,"hEfficiencyKaonITS",2,1,20,false,true);
405 TH1D *efficiencyProtonITS = GetHistoEfficiency(etacut,"hEfficiencyProtonITS",3,1,20,false,true);
406 TH1D *efficiencyHadronITS = GetHistoEfficiency(etacut,"hEfficiencyHadronITS",0,1,20,false,true);
407 //CorrEfficiencyPlots(true,prodname,shortprodname);
408 //CorrEfficiencyPlots(false,prodname,shortprodname);
a02dfa56 409 hadCorrectionPHOS->SetEfficiencyPionTPC(efficiencyPionTPC);
410 hadCorrectionPHOS->SetEfficiencyKaonTPC(efficiencyKaonTPC);
411 hadCorrectionPHOS->SetEfficiencyProtonTPC(efficiencyProtonTPC);
412 hadCorrectionPHOS->SetEfficiencyHadronTPC(efficiencyHadronTPC);
413 hadCorrectionPHOS->SetEfficiencyPionITS(efficiencyPionITS);
414 hadCorrectionPHOS->SetEfficiencyKaonITS(efficiencyKaonITS);
415 hadCorrectionPHOS->SetEfficiencyProtonITS(efficiencyProtonITS);
416 hadCorrectionPHOS->SetEfficiencyHadronITS(efficiencyHadronITS);
417
48a07264 418
419 if(!ispp){
8663c99d 420 TH1D *efficiencyPionTPCCB0 = GetHistoEfficiency(etacut,"hEfficiencyPionTPCCB0",1,1,20,useITSStandalone,true,0,4);
48a07264 421 for(int i=0;i<=4;i++) hadCorrectionPHOS->SetEfficiencyPionTPC((TH1D*)efficiencyPionTPCCB0->Clone(Form("Test%i",i)),i);
8663c99d 422 TH1D *efficiencyPionTPCCB5 = GetHistoEfficiency(etacut,"hEfficiencyPionTPCCB5",1,1,20,useITSStandalone,true,5,9);
48a07264 423 for(int i=5;i<=9;i++) hadCorrectionPHOS->SetEfficiencyPionTPC((TH1D*)efficiencyPionTPCCB5->Clone(Form("Test%i",i)),i);
8663c99d 424 TH1D *efficiencyPionTPCCB10 = GetHistoEfficiency(etacut,"hEfficiencyPionTPCCB10",1,1,20,useITSStandalone,true,10,15);
425 for(int i=10;i<=20;i++) hadCorrectionPHOS->SetEfficiencyPionTPC((TH1D*)efficiencyPionTPCCB10->Clone(Form("Test%i",i)),i);
48a07264 426
8663c99d 427 TH1D *efficiencyKaonTPCCB0 = GetHistoEfficiency(etacut,"hEfficiencyKaonTPCCB0",2,1,20,useITSStandalone,true,0,4);
48a07264 428 for(int i=0;i<=4;i++) hadCorrectionPHOS->SetEfficiencyKaonTPC((TH1D*)efficiencyKaonTPCCB0->Clone(Form("Test%i",i)),i);
8663c99d 429 TH1D *efficiencyKaonTPCCB5 = GetHistoEfficiency(etacut,"hEfficiencyKaonTPCCB5",2,1,20,useITSStandalone,true,5,9);
48a07264 430 for(int i=5;i<=9;i++) hadCorrectionPHOS->SetEfficiencyKaonTPC((TH1D*)efficiencyKaonTPCCB5->Clone(Form("Test%i",i)),i);
8663c99d 431 TH1D *efficiencyKaonTPCCB10 = GetHistoEfficiency(etacut,"hEfficiencyKaonTPCCB10",2,1,20,useITSStandalone,true,10,15);
432 for(int i=10;i<=20;i++) hadCorrectionPHOS->SetEfficiencyKaonTPC((TH1D*)efficiencyKaonTPCCB10->Clone(Form("Test%i",i)),i);//Kaon
48a07264 433
8663c99d 434 TH1D *efficiencyProtonTPCCB0 = GetHistoEfficiency(etacut,"hEfficiencyProtonTPCCB0",3,1,20,useITSStandalone,true,0,4);
48a07264 435 for(int i=0;i<=4;i++) hadCorrectionPHOS->SetEfficiencyProtonTPC((TH1D*)efficiencyProtonTPCCB0->Clone(Form("Test%i",i)),i);
8663c99d 436 TH1D *efficiencyProtonTPCCB5 = GetHistoEfficiency(etacut,"hEfficiencyProtonTPCCB5",3,1,20,useITSStandalone,true,5,9);
48a07264 437 for(int i=5;i<=9;i++) hadCorrectionPHOS->SetEfficiencyProtonTPC((TH1D*)efficiencyProtonTPCCB5->Clone(Form("Test%i",i)),i);
8663c99d 438 TH1D *efficiencyProtonTPCCB10 = GetHistoEfficiency(etacut,"hEfficiencyProtonTPCCB10",3,1,20,useITSStandalone,true,10,15);
439 for(int i=10;i<=20;i++) hadCorrectionPHOS->SetEfficiencyProtonTPC((TH1D*)efficiencyProtonTPCCB10->Clone(Form("Test%i",i)),i);//Proton
48a07264 440
8663c99d 441 TH1D *efficiencyHadronTPCCB0 = GetHistoEfficiency(etacut,"hEfficiencyHadronTPCCB0",0,1,20,useITSStandalone,true,0,4);
48a07264 442 for(int i=0;i<=4;i++) hadCorrectionPHOS->SetEfficiencyHadronTPC((TH1D*)efficiencyHadronTPCCB0->Clone(Form("Test%i",i)),i);
8663c99d 443 TH1D *efficiencyHadronTPCCB5 = GetHistoEfficiency(etacut,"hEfficiencyHadronTPCCB5",0,1,20,useITSStandalone,true,5,9);
48a07264 444 for(int i=5;i<=9;i++) hadCorrectionPHOS->SetEfficiencyHadronTPC((TH1D*)efficiencyHadronTPCCB5->Clone(Form("Test%i",i)),i);
8663c99d 445 TH1D *efficiencyHadronTPCCB10 = GetHistoEfficiency(etacut,"hEfficiencyHadronTPCCB10",0,1,20,useITSStandalone,true,10,15);
446 for(int i=10;i<=20;i++) hadCorrectionPHOS->SetEfficiencyHadronTPC((TH1D*)efficiencyHadronTPCCB10->Clone(Form("Test%i",i)),i);//Hadron
48a07264 447
448
449 TH1D *efficiencyPionITSCB0 = GetHistoEfficiency(etacut,"hEfficiencyPionITSCB0",1,1,20,false,true,0,4);
450 for(int i=0;i<=4;i++) hadCorrectionPHOS->SetEfficiencyPionITS((TH1D*)efficiencyPionITSCB0->Clone(Form("Test%i",i)),i);
451 TH1D *efficiencyPionITSCB5 = GetHistoEfficiency(etacut,"hEfficiencyPionITSCB5",1,1,20,false,true,5,9);
452 for(int i=5;i<=9;i++) hadCorrectionPHOS->SetEfficiencyPionITS((TH1D*)efficiencyPionITSCB5->Clone(Form("Test%i",i)),i);
453 TH1D *efficiencyPionITSCB10 = GetHistoEfficiency(etacut,"hEfficiencyPionITSCB10",1,1,20,false,true,10,15);
8663c99d 454 for(int i=10;i<=20;i++) hadCorrectionPHOS->SetEfficiencyPionITS((TH1D*)efficiencyPionITSCB10->Clone(Form("Test%i",i)),i);//Pion
48a07264 455
456 TH1D *efficiencyKaonITSCB0 = GetHistoEfficiency(etacut,"hEfficiencyKaonITSCB0",2,1,20,false,true,0,4);
457 for(int i=0;i<=4;i++) hadCorrectionPHOS->SetEfficiencyKaonITS((TH1D*)efficiencyKaonITSCB0->Clone(Form("Test%i",i)),i);
458 TH1D *efficiencyKaonITSCB5 = GetHistoEfficiency(etacut,"hEfficiencyKaonITSCB5",2,1,20,false,true,5,9);
459 for(int i=5;i<=9;i++) hadCorrectionPHOS->SetEfficiencyKaonITS((TH1D*)efficiencyKaonITSCB5->Clone(Form("Test%i",i)),i);
460 TH1D *efficiencyKaonITSCB10 = GetHistoEfficiency(etacut,"hEfficiencyKaonITSCB10",2,1,20,false,true,10,15);
8663c99d 461 for(int i=10;i<=20;i++) hadCorrectionPHOS->SetEfficiencyKaonITS((TH1D*)efficiencyKaonITSCB10->Clone(Form("Test%i",i)),i);//Kaon
48a07264 462
463 TH1D *efficiencyProtonITSCB0 = GetHistoEfficiency(etacut,"hEfficiencyProtonITSCB0",3,1,20,false,true,0,4);
464 for(int i=0;i<=4;i++) hadCorrectionPHOS->SetEfficiencyProtonITS((TH1D*)efficiencyProtonITSCB0->Clone(Form("Test%i",i)),i);
465 TH1D *efficiencyProtonITSCB5 = GetHistoEfficiency(etacut,"hEfficiencyProtonITSCB5",3,1,20,false,true,5,9);
466 for(int i=5;i<=9;i++) hadCorrectionPHOS->SetEfficiencyProtonITS((TH1D*)efficiencyProtonITSCB5->Clone(Form("Test%i",i)),i);
467 TH1D *efficiencyProtonITSCB10 = GetHistoEfficiency(etacut,"hEfficiencyProtonITSCB10",3,1,20,false,true,10,15);
8663c99d 468 for(int i=10;i<=20;i++) hadCorrectionPHOS->SetEfficiencyProtonITS((TH1D*)efficiencyProtonITSCB10->Clone(Form("Test%i",i)),i);//Proton
48a07264 469
470 TH1D *efficiencyHadronITSCB0 = GetHistoEfficiency(etacut,"hEfficiencyHadronITSCB0",0,1,20,false,true,0,4);
471 for(int i=0;i<=4;i++) hadCorrectionPHOS->SetEfficiencyHadronITS((TH1D*)efficiencyHadronITSCB0->Clone(Form("Test%i",i)),i);
472 TH1D *efficiencyHadronITSCB5 = GetHistoEfficiency(etacut,"hEfficiencyHadronITSCB5",0,1,20,false,true,5,9);
473 for(int i=5;i<=9;i++) hadCorrectionPHOS->SetEfficiencyHadronITS((TH1D*)efficiencyHadronITSCB5->Clone(Form("Test%i",i)),i);
474 TH1D *efficiencyHadronITSCB10 = GetHistoEfficiency(etacut,"hEfficiencyHadronITSCB10",0,1,20,false,true,10,15);
8663c99d 475 for(int i=10;i<=20;i++) hadCorrectionPHOS->SetEfficiencyHadronITS((TH1D*)efficiencyHadronITSCB10->Clone(Form("Test%i",i)),i);//Hadron
48a07264 476 }//EMCAL
477
8663c99d 478
479 TH1D *backgroundTPC;
480 TH1D *backgroundITS;
481 if((dataset==20111 || dataset==20100) && !forSim){//2.76 TeV p+p or Pb+Pb
482 if(dataset==20111){
483 cout<<"Fixing 2.76 TeV p+p background to be average of 900 GeV and 7 TeV scaling"<<endl;
484 backgroundTPC = pp276TPCBkgd();
485 backgroundTPC->SetName("hBackgroundTPCPHOS");
486 backgroundITS = pp276ITSBkgd();
487 backgroundITS->SetName("hBackgroundITSPHOS");
488 }
489 else{//PbPb
490 cout<<"Fixing 2.76 TeV Pb+Pb background to be average of 900 GeV and 7 TeV scaling with baryon enhancement"<<endl;
491 backgroundTPC = pp276TPCBkgd();
492 backgroundTPC->SetName("hBackgroundTPCPHOS");
493 //ITS background is currently a placeholder
494 backgroundITS = GetHistoCorrBkgd(etacut,"hBackgroundITS",false,ispp,forSim);
495 }
496 }
497 else{
498 backgroundTPC = GetHistoCorrBkgd(etacut,"hBackgroundTPC",true,ispp,forSim);
499 backgroundITS = GetHistoCorrBkgd(etacut,"hBackgroundITS",false,ispp,forSim);
500 }
a02dfa56 501 hadCorrectionPHOS->SetBackgroundCorrectionTPC(backgroundTPC);
502 hadCorrectionPHOS->SetBackgroundCorrectionITS(backgroundITS);
8663c99d 503 hadCorrectionPHOS->SetBackgroundErrorLowBound(1.0-0.001);
504 hadCorrectionPHOS->SetBackgroundErrorHighBound(1.0+0.001);
505 //CorrBkgdPlots(prodname,shortprodname,true,ispp,forSim);
506 //CorrBkgdPlots(prodname,shortprodname,false,ispp,forSim);
a02dfa56 507
48a07264 508 hadCorrectionPHOS->Report();
a02dfa56 509 //Write the output
510 outfile->cd();
511 hadCorrectionPHOS->Write();
512 outfile->Write();
f427cbed 513 outfile->Close();
514
f43fc416 515
f427cbed 516 timer.Stop();
517 timer.Print();
518}
519
b64de20c 520//==================================CorrNeutral==============================================
48a07264 521Float_t CorrNeutral(float ptcut, char *prodname, char *shortprodname, bool ispp, bool forSim, bool TPC, bool hadronic, float etacut){
522 if(!forSim){//for data we have evaluated the neutral correction from ALICE data
523 if(hadronic){//for tot et from had et
524 if(ispp){
525 return 1.0/0.571;
526 }
527 else{
528 return 1.0/0.549;
529 }
530 }
531 else{//for had et only
532 if(ispp){
533 return 1.0/0.736;
534 }
535 else{
536 return 1.0/0.689;
537 }
538 }
539 }
f427cbed 540 gStyle->SetOptTitle(0);
541 gStyle->SetOptStat(0);
542 gStyle->SetOptFit(0);
543 TCanvas *c = new TCanvas("c","c",400,400);
544 c->SetTopMargin(0.0);
545 c->SetRightMargin(0.0);
546 c->SetBorderSize(0);
547 c->SetFillColor(0);
548 c->SetFillColor(0);
549 c->SetBorderMode(0);
550 c->SetFrameFillColor(0);
551 c->SetFrameBorderMode(0);
552
553 TPad *ptpad = c->cd(1);
554 ptpad->SetTopMargin(0.04);
555 ptpad->SetRightMargin(0.04);
556 ptpad->SetLeftMargin(0.149288);
557 ptpad->SetBorderSize(0);
558 ptpad->SetFillColor(0);
559 ptpad->SetFillColor(0);
560 ptpad->SetBorderMode(0);
561 ptpad->SetFrameFillColor(0);
562 ptpad->SetFrameBorderMode(0);
563
564 int phosmarker = 20;
565
f427cbed 566 sprintf(prefix,"%s%2.1f",shortprodname,ptcut);
567
f427cbed 568 sprintf(histoname,"%stotal",histoname);
569 int colortotal = 1;
b64de20c 570 int casetotal = 4;
571 if(hadronic) casetotal = 8;
48a07264 572 TH1D *total = GetHistoCorrNeutral(ptcut,histoname,ispp,forSim,casetotal,false,colortotal,phosmarker,hadronic);
f427cbed 573
574 int colorallneutral = 2;
48a07264 575 TH1D *allneutral = GetHistoCorrNeutral(ptcut,"allneutral",ispp,forSim,3,false,colorallneutral,phosmarker,hadronic);
f427cbed 576
577 int colorchargedsecondary = TColor::kViolet-3;
48a07264 578 TH1D *chargedsecondary = GetHistoCorrNeutral(ptcut,"chargedsecondary",ispp,forSim,2,false,colorchargedsecondary,phosmarker,hadronic);
f427cbed 579
580 int colorneutralUndet = 4;
48a07264 581 TH1D *neutralUndet = GetHistoCorrNeutral(ptcut,"neutralUndet",ispp,forSim,1,false,colorneutralUndet,phosmarker,hadronic);
f427cbed 582
583 int colorv0 = TColor::kGreen+2;
48a07264 584 TH1D *v0 = GetHistoCorrNeutral(ptcut,"v0",ispp,forSim,0,false,colorv0,phosmarker,hadronic);
b64de20c 585
586 int colorem = TColor::kCyan;
48a07264 587 TH1D *em = GetHistoCorrNeutral(ptcut,"em",ispp,forSim,9,false,colorem,phosmarker,hadronic);
f427cbed 588
589 TF1 *func = new TF1("func","[0]",-.7,.7);
590 func->SetParameter(0,0.2);
0e866ddc 591 total->Fit(func,"","",-etacut,etacut);
f427cbed 592
593 //total->SetAxisRange(0.0,4);
594 total->GetXaxis()->SetLabelSize(0.05);
595 total->GetYaxis()->SetLabelSize(0.045);
596 total->GetXaxis()->SetTitleSize(0.05);
597 total->GetYaxis()->SetTitleSize(0.06);
b64de20c 598 if(hadronic){
599 total->SetMaximum(0.6);
600 total->SetMinimum(0.0);
601 }
602 else{
603 total->SetMaximum(0.3);
604 total->SetMinimum(0.0);
605 }
f427cbed 606 total->Draw();
607 allneutral->Draw("same");
608 chargedsecondary->Draw("same");
609 neutralUndet->Draw("same");
610 v0->Draw("same");
b64de20c 611 if(hadronic) em->Draw("same");
f427cbed 612
613 TLatex *tex = new TLatex(0.161478,1.0835,prodname);
614 tex->SetTextSize(0.0537634);
615 tex->Draw();
616 TLegend *leg2 = new TLegend(0.518321,0.746873,0.774812,0.955343);
617 leg2->AddEntry(total,"Total");
618 leg2->AddEntry(allneutral,"#Lambda,#bar{#Lambda},K^{0}_{S},K^{0}_{L},n,#bar{n}");
619 leg2->AddEntry(neutralUndet,"K^{0}_{L},n,#bar{n}");
b64de20c 620 if(hadronic) leg2->AddEntry(em,"e^{#pm},#gamma,#eta,#pi^{0},#omega");
f427cbed 621 leg2->SetFillStyle(0);
622 leg2->SetFillColor(0);
623 leg2->SetBorderSize(0);
624 leg2->SetTextSize(0.0548607);
625 leg2->Draw();
b64de20c 626 if(hadronic){
627 sprintf(epsname,"pics/%s/fhadronic.eps",shortprodname);
628 sprintf(pngname,"pics/%s/fhadronic.png",shortprodname);
629 }
630 else{
631 sprintf(epsname,"pics/%s/fneutral.eps",shortprodname);
632 sprintf(pngname,"pics/%s/fneutral.png",shortprodname);
633 }
f427cbed 634 c->SaveAs(epsname);
635 c->SaveAs(pngname);
636
a02dfa56 637 delete total;
638 delete allneutral;
639 delete chargedsecondary;
640 delete neutralUndet;
641 delete v0;
642 delete em;
643 delete c;
f427cbed 644 float corr = func->GetParameter(0);
a02dfa56 645 delete func;
48a07264 646 delete tex;
647 delete leg2;
f427cbed 648 return 1.0/(1.0-corr);
649
650}
48a07264 651TH1D *GetHistoCorrNeutral(float cut, char *name, bool ispp, bool forSim, int mycase, bool eta, int color, int marker, bool hadronic){
652 file->cd();
f43fc416 653 char *reweightname = "";
654 if(!forSim) reweightname = "Reweighted";
f427cbed 655 TH2F *numeratorParent;
656 switch(mycase){
657 case 0:
f43fc416 658 numeratorParent= (TH2F*)((TH2F*) out2->FindObject(Form("EtSimulatedLambda%s",reweightname)))->Clone("v0");
659 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtSimulatedAntiLambda%s",reweightname)));
660 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtSimulatedK0S%s",reweightname)));
f427cbed 661 break;
662 case 1:
f43fc416 663 numeratorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtSimulatedK0L%s",reweightname)))->Clone("Knnbar");
f427cbed 664 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedNeutron"));
665 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiNeutron"));
666 break;
667 case 2:
668 numeratorParent = (TH2F*)((TH2F*) out2->FindObject("EtSimulatedOmega"))->Clone("ch2ndary");
669 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiOmega"));
670 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedXi"));
671 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiXi"));
672 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedXi0"));
673 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiXi0"));
674 break;
675 case 3:
f43fc416 676 numeratorParent= (TH2F*)((TH2F*) out2->FindObject(Form("EtSimulatedLambda%s",reweightname)))->Clone("allneutral");
677 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtSimulatedAntiLambda%s",reweightname)));
678 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtSimulatedK0S%s",reweightname)));
679 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtSimulatedK0L%s",reweightname)));
f427cbed 680 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedNeutron"));
681 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiNeutron"));
682 break;
683 case 4:
f43fc416 684 numeratorParent= (TH2F*)((TH2F*) out2->FindObject(Form("EtSimulatedLambda%s",reweightname)))->Clone("allneutral");
685 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtSimulatedAntiLambda%s",reweightname)));
686 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtSimulatedK0S%s",reweightname)));
687 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtSimulatedK0L%s",reweightname)));
f427cbed 688 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedNeutron"));
689 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiNeutron"));
690 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedOmega"));
691 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiOmega"));
692 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedXi"));
693 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiXi"));
694 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedXi0"));
695 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiXi0"));
696 break;
697 case 5:
698 numeratorParent= (TH2F*)((TH2F*) out2->FindObject("EtSimulatedXi"))->Clone("allxi");
699 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiXi"));
700 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedXi0"));
701 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiXi0"));
702 break;
703 case 6:
704 numeratorParent = (TH2F*)((TH2F*) out2->FindObject("EtSimulatedOmega"))->Clone("allomega");
705 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiOmega"));
706 break;
707 case 7:
708 numeratorParent = (TH2F*)((TH2F*) out2->FindObject("EtSimulatedSigma"))->Clone("allsigma");
709 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiSigma"));
710 break;
b64de20c 711 case 8:
f43fc416 712 numeratorParent= (TH2F*)((TH2F*) out2->FindObject(Form("EtSimulatedLambda%s",reweightname)))->Clone("allneutral");
713 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtSimulatedAntiLambda%s",reweightname)));
714 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtSimulatedK0S%s",reweightname)));
715 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtSimulatedK0L%s",reweightname)));
b64de20c 716 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedNeutron"));
717 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiNeutron"));
718 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedOmega"));
719 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiOmega"));
720 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedXi"));
721 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiXi"));
722 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedXi0"));
723 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedAntiXi0"));
724 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedGamma"));
725 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedEta"));
726 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedPi0"));
727 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedOmega0"));
728 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedEPlus"));
729 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedEMinus"));
730 break;
731 case 9:
732 numeratorParent= (TH2F*)((TH2F*) out2->FindObject("EtSimulatedGamma"))->Clone("allem");
733 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedEta"));
734 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedPi0"));
735 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedOmega0"));
736 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedEPlus"));
737 numeratorParent->Add((TH2F*) out2->FindObject("EtSimulatedEMinus"));
738 break;
f427cbed 739 }
740
741 TH2F *allhad;
f43fc416 742 //allhad=(TH2F*) ((TH2F*) out2->FindObject("EtSimulatedAllHadron"))->Clone("id");
743 allhad=(TH2F*) ((TH2F*) out2->FindObject("EtSimulatedPiPlus"))->Clone("id");
744 allhad->Add((TH2F*) out2->FindObject("EtSimulatedPiMinus"));
745 allhad->Add((TH2F*) out2->FindObject("EtSimulatedKMinus"));
746 allhad->Add((TH2F*) out2->FindObject("EtSimulatedKPlus"));
747 allhad->Add((TH2F*) out2->FindObject("EtSimulatedProton"));
748 allhad->Add((TH2F*) out2->FindObject("EtSimulatedAntiProton"));
749 allhad->Add((TH2F*) out2->FindObject(Form("EtSimulatedLambda%s",reweightname)));
750 allhad->Add((TH2F*) out2->FindObject(Form("EtSimulatedAntiLambda%s",reweightname)));
751 allhad->Add((TH2F*) out2->FindObject(Form("EtSimulatedK0S%s",reweightname)));
752 allhad->Add((TH2F*) out2->FindObject(Form("EtSimulatedK0L%s",reweightname)));
753 allhad->Add((TH2F*) out2->FindObject("EtSimulatedNeutron"));
754 allhad->Add((TH2F*) out2->FindObject("EtSimulatedAntiNeutron"));
755 allhad->Add((TH2F*) out2->FindObject("EtSimulatedEPlus"));
756 allhad->Add((TH2F*) out2->FindObject("EtSimulatedEMinus"));
757 allhad->Add((TH2F*) out2->FindObject("EtSimulatedOmega"));
758 allhad->Add((TH2F*) out2->FindObject("EtSimulatedAntiOmega"));
759 allhad->Add((TH2F*) out2->FindObject("EtSimulatedXi"));
760 allhad->Add((TH2F*) out2->FindObject("EtSimulatedAntiXi"));
761 allhad->Add((TH2F*) out2->FindObject("EtSimulatedSigma"));
762 allhad->Add((TH2F*) out2->FindObject("EtSimulatedAntiSigma"));
763 allhad->Add((TH2F*) out2->FindObject("EtSimulatedXi0"));
764 allhad->Add((TH2F*) out2->FindObject("EtSimulatedAntiXi0"));
765
b64de20c 766 if(hadronic){//if we are getting the correction for the hadronic only case...
767 allhad->Add((TH2F*) out2->FindObject("EtSimulatedGamma"));
768 allhad->Add((TH2F*) out2->FindObject("EtSimulatedEta"));
769 allhad->Add((TH2F*) out2->FindObject("EtSimulatedPi0"));
770 allhad->Add((TH2F*) out2->FindObject("EtSimulatedOmega0"));
771 allhad->Add((TH2F*) out2->FindObject("EtSimulatedEPlus"));
772 allhad->Add((TH2F*) out2->FindObject("EtSimulatedEMinus"));
773 }
f427cbed 774
f427cbed 775 TH1D *denominator;
776 TH1D *numerator;
777 if(eta){
778 int lowbin = numeratorParent->GetYaxis()->FindBin(-cut+.001);//make sure we don't accv0entally get the wrong bin
779 int highbin = numeratorParent->GetYaxis()->FindBin(cut-.001);
a02dfa56 780 //cout<<"Projecting from "<<numeratorParent->GetYaxis()->GetBinLowEdge(lowbin)<<" to "<<numeratorParent->GetYaxis()->GetBinLowEdge(highbin+1)<<endl;
f427cbed 781 denominator = allhad->ProjectionX("name",lowbin,highbin);
782 numerator = numeratorParent->ProjectionX("numerator",lowbin,highbin);
783 }
784 else{
785 int lowbin = allhad->GetXaxis()->FindBin(cut);//make sure we don't accidentally get the wrong bin
786 int highbin = allhad->GetXaxis()->GetNbins();
a02dfa56 787 //cout<<"Projecting from "<<allhad->GetXaxis()->GetBinLowEdge(lowbin)<<" to "<<allhad->GetXaxis()->GetBinLowEdge(highbin+1)<<endl;
f427cbed 788 numerator = numeratorParent->ProjectionY("name",lowbin,highbin);
789 denominator = allhad->ProjectionY("denominator",lowbin,highbin);
790 }
791 numerator->Divide(denominator);
0e866ddc 792 //numerator->Rebin(2);
793 //numerator->Scale(0.5);
f427cbed 794 numerator->SetYTitle("E_{T}^{had,sample}/E_{T}^{had,total}");
795 numerator->GetYaxis()->SetTitleOffset(1.2);
796 numerator->SetMarkerColor(color);
797 numerator->SetLineColor(color);
798 numerator->SetMarkerStyle(marker);
a02dfa56 799 delete denominator;
800 delete numeratorParent;
801 delete allhad;
802 //file->Close();
48a07264 803 numerator->SetName(name);
f427cbed 804 return numerator;
805
806}
807
b64de20c 808//===============================CorrPtCut=========================================
48a07264 809TH1D *GetHistoCorrPtCut(float ptcut, char *name, bool ispp, bool forSim, int mycase){
810 file->cd();
f427cbed 811 TH2F *allhad = ((TH2F*) out2->FindObject("EtSimulatedAllHadron"))->Clone("allhad");
48a07264 812 TH2F *ptlow = ((TH2F*) out2->FindObject("EtSimulatedChargedHadronAssumingNoPt"))->Clone("ptlow");
813 TH2F *pthigh;
814 if(ptcut>0.14){//TPC cut off
815 (TH2F*)pthigh =(TH2F*) ((TH2F*) out2->FindObject("EtSimulatedChargedHadronAssumingPtTPCCut"))->Clone("pthigh");
816 }
817 else{
818 (TH2F*)pthigh =(TH2F*) ((TH2F*) out2->FindObject("EtSimulatedChargedHadronAssumingPtITSCut"))->Clone("pthigh");
819 }
f427cbed 820
821 int lowbin = allhad->GetXaxis()->FindBin(0.0);//make sure we don't accidentally get the wrong bin
822 int highbin = allhad->GetXaxis()->FindBin(ptcut);
823 int nbins = allhad->GetXaxis()->GetNbins();
a02dfa56 824 //cout<<"Projecting from "<<allhad->GetXaxis()->GetBinLowEdge(lowbin)<<" to "<<allhad->GetXaxis()->GetBinLowEdge(highbin+1)<<endl;
825 //cout<<"Projecting from "<<allhad->GetXaxis()->GetBinLowEdge(lowbin)<<" to "<<allhad->GetXaxis()->GetBinLowEdge(nbins)<<endl;
f427cbed 826
a02dfa56 827 //allhad->Sumw2();
48a07264 828 TH1D *numerator;
829 TH1D *denominator;
830 switch(mycase){
831 case -1:
832 numerator = ptlow->ProjectionY("nameLow",lowbin,highbin);
833 denominator = allhad->ProjectionY("denominatorLow",highbin,nbins);
834 denominator->Add(ptlow);
835 break;
836 case 1:
837 numerator = pthigh->ProjectionY("nameHigh",lowbin,highbin);
838 denominator = allhad->ProjectionY("denominatorHigh",highbin,nbins);
839 denominator->Add(pthigh);
840 break;
841 default:
842 numerator = allhad->ProjectionY("name",lowbin,highbin);
843 denominator = allhad->ProjectionY("denominator",lowbin,nbins);
844 }
f427cbed 845 numerator->Divide(denominator);
846 numerator->SetYTitle("E_{T}^{had, p_{T}<cut-off}/E_{T}^{had, all p_{T}}");
847 numerator->GetYaxis()->SetTitleOffset(1.);
848 numerator->GetYaxis()->SetTitleSize(0.08);
849 numerator->GetYaxis()->SetLabelSize(0.05);
850 numerator->GetXaxis()->SetTitleSize(0.08);
851 numerator->GetXaxis()->SetLabelSize(0.05);
852 numerator->GetXaxis()->SetTitleOffset(.6);
853 //numerator->Rebin(2);
854 //numerator->Scale(0.5);
855 //numerator->Draw("e");
a02dfa56 856 delete allhad;
857 delete denominator;
48a07264 858 delete ptlow;
859 delete pthigh;
860 numerator->SetName(name);
f427cbed 861 return numerator;
862
863}
864
48a07264 865Float_t CorrPtCut(float ptcut, char *prodname, char *shortprodname, bool ispp, bool forSim, int mycase){
f427cbed 866
867 gStyle->SetOptTitle(0);
868 gStyle->SetOptStat(0);
869 gStyle->SetOptFit(0);
870 TCanvas *c = new TCanvas("c","c",500,400);
871 c->SetTopMargin(0.04);
872 c->SetRightMargin(0.04);
873 c->SetLeftMargin(0.181452);
874 c->SetBottomMargin(0.134409);
875 c->SetBorderSize(0);
876 c->SetFillColor(0);
877 c->SetFillColor(0);
878 c->SetBorderMode(0);
879 c->SetFrameFillColor(0);
880 c->SetFrameBorderMode(0);
881
882
883
48a07264 884 TH1D *High = GetHistoCorrPtCut(0.15-.001,"High",ispp,forSim,mycase);
885 TH1D *Low = GetHistoCorrPtCut(0.1-.001,"Low",ispp,forSim,mycase);
886 TH1D *Lowest = GetHistoCorrPtCut(0.05-.001,"Lowest",ispp,forSim,mycase);
f427cbed 887
888 TF1 *func = new TF1("func","[0]",-.7,.7);
889 func->SetParameter(0,0.2);
890 if(ptcut<.125){//its cuts
891 Low->Fit(func);
892 }
893 else{//tpc cuts
894 High->Fit(func);
895 }
896
897 High->SetMaximum(0.04);
898 High->SetMinimum(0.0);
899 High->SetMarkerColor(2);
900 Low->SetMarkerColor(4);
901 High->SetLineColor(2);
902 Low->SetLineColor(4);
903 High->SetMinimum(0.0);
904 High->SetMarkerStyle(20);
905 Low->SetMarkerStyle(21);
906 Lowest->SetMarkerStyle(22);
907 High->Draw();
908 Low->Draw("same");
909 Lowest->Draw("same");
910
911
912
913 TLatex *tex = new TLatex(-0.723444,0.0373593,prodname);
914 tex->SetTextSize(0.0537634);
915 tex->Draw();
916 TLegend *leg = new TLegend(0.217742,0.66129,0.477823,0.873656);
917 leg->AddEntry(High,"p_{T} cut-off = 0.15 GeV/c");
918 leg->AddEntry(Low,"p_{T} cut-off = 0.1 GeV/c");
919 leg->AddEntry(Lowest,"p_{T} cut-off = 0.05 GeV/c");
920 leg->SetFillStyle(0);
921 leg->SetFillColor(0);
922 leg->SetBorderSize(0);
923 leg->SetTextSize(0.0537634);
924 leg->Draw();
925
926 if(ptcut<.125){//its cuts
927 c->SaveAs(Form("pics/%s/fptcutITS.eps",shortprodname));
928 c->SaveAs(Form("pics/%s/fptcutITS.png",shortprodname));
929 }
930 else{//tpc cuts
931 c->SaveAs(Form("pics/%s/fptcutTPC.eps",shortprodname));
932 c->SaveAs(Form("pics/%s/fptcutTPC.png",shortprodname));
933 }
934
935 float corr = func->GetParameter(0);
a02dfa56 936 //cout<<"Pt cut correction: "<<1.0/(1.0-corr)<<endl;
937 delete High;
938 delete Low;
939 delete Lowest;
940 delete func;
941 delete c;
48a07264 942 delete tex;
943 delete leg;
f427cbed 944 return 1.0/(1.0-corr);
945}
b64de20c 946
947
948
949//==================================CorrNotID=================================================
48a07264 950TH1D *GetHistoCorrNotID(float etacut,char *name, bool TPC, bool eta, bool ispp, bool forSim){
951 file->cd();
952 char *myname = mynameITS;
8663c99d 953 if(TPC) myname = mynameTPCITS;
b64de20c 954 TH2F *notid = ((TH2F*) out2->FindObject(Form("EtReconstructed%sUnidentifiedAssumingPion",myname)))->Clone("notid");
955 TH2F *nNotid = ((TH2F*) out2->FindObject(Form("EtNReconstructed%sUnidentified",myname)))->Clone("nNotid");
0e866ddc 956 if(!eta){
48a07264 957 //cout<<"Correction determined for all charged hadrons"<<endl;
0e866ddc 958 notid->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedPiPlus",myname)));
959 notid->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedPiMinus",myname)));
960 notid->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedKPlus",myname)));
961 notid->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedKMinus",myname)));
962 notid->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedProton",myname)));
963 notid->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedAntiProton",myname)));
964 nNotid->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%sPiPlus",myname)));
965 nNotid->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%sPiMinus",myname)));
966 nNotid->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%sKPlus",myname)));
967 nNotid->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%sKMinus",myname)));
968 nNotid->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%sProton",myname)));
969 nNotid->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%sAntiProton",myname)));
970 }
b64de20c 971
b64de20c 972 TH2F *id = ((TH2F*) out2->FindObject(Form("EtReconstructed%sUnidentified",myname)))->Clone("id");
0e866ddc 973 if(!eta){
974 id->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedPiPlus",myname)));
975 id->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedPiMinus",myname)));
976 id->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedKPlus",myname)));
977 id->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedKMinus",myname)));
978 id->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedProton",myname)));
979 id->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedAntiProton",myname)));
980 }
b64de20c 981
0e866ddc 982 TH1D *nNotidProj;
983 TH1D *denominator;
984 TH1D *numerator;
985 if(eta){
986 int lowbin = notid->GetYaxis()->FindBin(-etacut+.001);//make sure we don't accv0entally get the wrong bin
987 int highbin = notid->GetYaxis()->FindBin(etacut-.001);
48a07264 988 //cout<<"Projecting from "<<notid->GetYaxis()->GetBinLowEdge(lowbin)<<" to "<<notid->GetYaxis()->GetBinLowEdge(highbin+1)<<endl;
0e866ddc 989 denominator = id->ProjectionX("name",lowbin,highbin);
990 numerator = notid->ProjectionX("numerator",lowbin,highbin);
991 nNotidProj = nNotid->ProjectionX("nNotidProj",lowbin,highbin);
992 }
993 else{
48a07264 994 //cout<<"Getting eta dependence"<<endl;
0e866ddc 995 int lowbin = id->GetXaxis()->FindBin(etacut);//make sure we don't accidentally get the wrong bin
996 int highbin;
997 if(etacut<0.15){//then we actually have ITS standalone tracks and we only want this to run from 0.1 to 0.15 because this will be used only for ITS standalone tracks
998 highbin = id->GetXaxis()->FindBin(0.15);
999 }
1000 else{
1001 highbin = id->GetXaxis()->GetNbins();
1002 }
48a07264 1003 //cout<<"Projecting from "<<id->GetXaxis()->GetBinLowEdge(lowbin)<<" to "<<id->GetXaxis()->GetBinLowEdge(highbin+1)<<endl;
0e866ddc 1004 numerator = notid->ProjectionY("name",lowbin,highbin);
1005 denominator = id->ProjectionY("denominator",lowbin,highbin);
1006 nNotidProj = nNotid->ProjectionY("nNotidProj",lowbin,highbin);
1007 }
b64de20c 1008 TH1D *result = numerator;
1009 if(!denominator){
1010 cerr<<"Uh-oh! Can't find denominator!!";
1011 return numerator;
1012 }
1013 else{result->Divide(denominator);}
1014 if(result->GetNbinsX() != nNotidProj->GetNbinsX()){
1015 cerr<<"Uh-oh! Can't rescale errors! "<<result->GetNbinsX()<<"!="<<nNotidProj->GetNbinsX()<<endl;
1016 return result;
1017 }
b64de20c 1018 if(!nNotidProj){
1019 cerr<<"Uh-oh! Can't find histogram!!";
1020 return numerator;
1021 }
0e866ddc 1022 //fixing the errors
1023 for(int i=1;i<=result->GetNbinsX();i++){
1024 Float_t value = result->GetBinContent(i);
1025 Float_t valueerr = result->GetBinError(i);
1026 Float_t n = nNotidProj->GetBinContent(i);
1027 Float_t err;
1028 if(n<=0) err = 0.0;
1029 else{err= value/TMath::Power(n,0.5);}
1030 result->SetBinError(i,err);
1031 //cout<<"Was "<<valueerr<<", setting to "<<err<<endl;
b64de20c 1032 }
1033 result->SetYTitle("Ratio of E_{T}^{assuming pion}/E_{T}^{real}");
1034 result->GetYaxis()->SetTitleOffset(1.2);
a02dfa56 1035 delete denominator;
1036 delete nNotidProj;
48a07264 1037 delete notid;
1038 delete nNotid;
1039 delete id;
1040 result->SetName(name);
b64de20c 1041 return result;
1042
1043}
1044
48a07264 1045TH1D *CorrNotID(float etacut,char *name, char *prodname, char *shortprodname, bool TPC, bool ispp, bool forSim){
b64de20c 1046 gStyle->SetOptTitle(0);
1047 gStyle->SetOptStat(0);
1048 gStyle->SetOptFit(0);
1049 TCanvas *c = new TCanvas("c","c",500,400);
1050 c->SetTopMargin(0.04);
1051 c->SetRightMargin(0.04);
1052 c->SetBorderSize(0);
1053 c->SetFillColor(0);
1054 c->SetFillColor(0);
1055 c->SetBorderMode(0);
1056 c->SetFrameFillColor(0);
1057 c->SetFrameBorderMode(0);
1058
48a07264 1059 TH1D *PHOS = GetHistoCorrNotID(etacut,name,TPC,true,ispp,forSim);
b64de20c 1060 PHOS->SetMarkerColor(2);
1061 PHOS->SetLineColor(2);
b64de20c 1062 PHOS->SetAxisRange(0.0,4);
1063 if(TPC){
1064 PHOS->SetMaximum(1.1);
1065 PHOS->SetMinimum(0.85);
1066 }
1067 else{
b64de20c 1068 PHOS->SetAxisRange(0.0,0.5);
1069 }
a02dfa56 1070 PHOS->SetMarkerStyle(20);
b64de20c 1071 PHOS->Draw();
1072 TLatex *tex = new TLatex(0.161478,1.0835,prodname);
1073 tex->SetTextSize(0.0537634);
1074 tex->Draw();
48a07264 1075 char *detector = detectorEMCAL;
1076 if(etacut<0.2) detector = detectorPHOS;
b64de20c 1077 if(TPC){
1078 sprintf(epsname,"pics/%s/fnotidTPC%s.eps",shortprodname,detector);
1079 sprintf(pngname,"pics/%s/fnotidTPC%s.png",shortprodname,detector);
1080 }
1081 else{
1082 sprintf(epsname,"pics/%s/fnotidITS%s.eps",shortprodname,detector);
1083 sprintf(pngname,"pics/%s/fnotidITS%s.png",shortprodname,detector);
1084 }
1085
1086 c->SaveAs(epsname);
1087 c->SaveAs(pngname);
a02dfa56 1088 delete c;
48a07264 1089 delete tex;
1090 PHOS->SetName(name);
b64de20c 1091 return PHOS;
1092}
1093
48a07264 1094Float_t CorrNotIDConst(float ptcut, float etacut,char *name, char *prodname, char *shortprodname, bool TPC, bool ispp, bool forSim){
1095 if(!forSim){
1096 if(ispp){
1097 return 0.996;
1098 }
1099 else{
1100 return 0.976;
1101 }
1102 }
0e866ddc 1103 gStyle->SetOptTitle(0);
1104 gStyle->SetOptStat(0);
1105 gStyle->SetOptFit(0);
1106 TCanvas *c = new TCanvas("c","c",500,400);
1107 c->SetTopMargin(0.04);
1108 c->SetRightMargin(0.04);
1109 c->SetBorderSize(0);
1110 c->SetFillColor(0);
1111 c->SetFillColor(0);
1112 c->SetBorderMode(0);
1113 c->SetFrameFillColor(0);
1114 c->SetFrameBorderMode(0);
1115
48a07264 1116 TH1D *PHOS = GetHistoCorrNotID(ptcut,name,TPC,false,ispp,forSim);
0e866ddc 1117 PHOS->SetMarkerColor(2);
1118 PHOS->SetLineColor(2);
1119 PHOS->SetMaximum(1.01);
1120 PHOS->SetMinimum(0.98);
1121 TF1 *func = new TF1("func","[0]",-etacut,etacut);
1122 PHOS->Fit(func,"","",-etacut,etacut);
1123 PHOS->SetMarkerStyle(20);
1124 PHOS->Draw();
1125 TLatex *tex = new TLatex(0.161478,1.0835,prodname);
1126 tex->SetTextSize(0.0537634);
1127 tex->Draw();
48a07264 1128 char *detector = detectorEMCAL;
1129 if(etacut<0.2) detector = detectorPHOS;
0e866ddc 1130 if(TPC){
1131 sprintf(epsname,"pics/%s/fnotidConstTPC%s.eps",shortprodname,detector);
1132 sprintf(pngname,"pics/%s/fnotidConstTPC%s.png",shortprodname,detector);
1133 }
1134 else{
1135 sprintf(epsname,"pics/%s/fnotidConstITS%s.eps",shortprodname,detector);
1136 sprintf(pngname,"pics/%s/fnotidConstITS%s.png",shortprodname,detector);
1137 }
1138
1139 c->SaveAs(epsname);
1140 c->SaveAs(pngname);
1141 delete c;
48a07264 1142 delete PHOS;
1143 float value = func->GetParameter(0);
1144 delete func;
1145 delete tex;
1146 return value;
0e866ddc 1147}
1148
b64de20c 1149//==================================CorrNoID=================================================
48a07264 1150TH1D *GetHistoNoID(float etacut, char *name, bool eta, bool TPC, bool ispp, bool forSim){
1151 file->cd();
1152 char *myname = mynameITS;
8663c99d 1153 if(TPC) myname = mynameTPCITS;
0e866ddc 1154 TH2F *notid = ((TH2F*) out2->FindObject(Form("EtReconstructed%sChargedHadronAssumingPion",myname)))->Clone("notid");
1155 TH2F *nNotid = ((TH2F*) out2->FindObject(Form("EtNReconstructed%sChargedHadron",myname)))->Clone("nNotid");
b64de20c 1156
0e866ddc 1157 TH2F *id = ((TH2F*) out2->FindObject(Form("EtReconstructed%sChargedHadron",myname)))->Clone("id");
b64de20c 1158 int lowbin = id->GetYaxis()->FindBin(-etacut+.001);//make sure we don't accidentally get the wrong bin
1159 int highbin = id->GetYaxis()->FindBin(etacut-.001);
b64de20c 1160
0e866ddc 1161 TH1D *nNotidProj;
1162 TH1D *denominator;
1163 TH1D *numerator;
1164 if(eta){
1165 int lowbin = notid->GetYaxis()->FindBin(-etacut+.001);//make sure we don't accv0entally get the wrong bin
1166 int highbin = notid->GetYaxis()->FindBin(etacut-.001);
48a07264 1167 //cout<<"Projecting from "<<notid->GetYaxis()->GetBinLowEdge(lowbin)<<" to "<<notid->GetYaxis()->GetBinLowEdge(highbin+1)<<endl;
0e866ddc 1168 denominator = id->ProjectionX("name",lowbin,highbin);
1169 numerator = notid->ProjectionX("numerator",lowbin,highbin);
1170 nNotidProj = nNotid->ProjectionX("nNotidProj",lowbin,highbin);
1171 }
1172 else{
48a07264 1173 //cout<<"Getting eta dependence"<<endl;
0e866ddc 1174 int lowbin = id->GetXaxis()->FindBin(etacut);//make sure we don't accidentally get the wrong bin
1175 int highbin;
1176 if(etacut<0.15){//then we actually have ITS standalone tracks and we only want this to run from 0.1 to 0.15 because this will be used only for ITS standalone tracks
1177 highbin = id->GetXaxis()->FindBin(0.15);
1178 }
1179 else{
1180 highbin = id->GetXaxis()->GetNbins();
1181 }
48a07264 1182 //cout<<"Projecting from "<<id->GetXaxis()->GetBinLowEdge(lowbin)<<" to "<<id->GetXaxis()->GetBinLowEdge(highbin+1)<<endl;
0e866ddc 1183 numerator = notid->ProjectionY("name",lowbin,highbin);
1184 denominator = id->ProjectionY("denominator",lowbin,highbin);
1185 nNotidProj = nNotid->ProjectionY("nNotidProj",lowbin,highbin);
1186 }
a02dfa56 1187 if(denominator) numerator->Divide(denominator);
b64de20c 1188
1189 if(numerator->GetNbinsX() != nNotidProj->GetNbinsX()){
1190 cerr<<"Uh-oh! Can't rescale errors! "<<numerator->GetNbinsX()<<"!="<<nNotidProj->GetNbinsX()<<endl;
1191 return numerator;
1192 }
1193 //fixing the errors
1194 for(int i=1;i<=numerator->GetNbinsX();i++){
1195 Float_t value = numerator->GetBinContent(i);
1196 Float_t valueerr = numerator->GetBinError(i);
1197 Float_t n = nNotidProj->GetBinContent(i);
a02dfa56 1198 Float_t err=0.;
1199 if(n>0.0){
1200 err = value/TMath::Power(n,0.5);
1201 }
1202 numerator->SetBinError(i,err);;
b64de20c 1203 }
1204 numerator->SetYTitle("Ratio of E_{T}^{assuming pion}/E_{T}^{real}");
1205 numerator->GetYaxis()->SetTitleOffset(1.2);
a02dfa56 1206 delete denominator;
1207 delete nNotidProj;
48a07264 1208 delete notid;
1209 delete nNotid;
1210 delete id;
1211 numerator->SetName(name);
b64de20c 1212 return numerator;
1213
1214}
1215
48a07264 1216TH1D *CorrNoID(float etacut,char *name, char *prodname, char *shortprodname, bool ispp, bool forSim){
b64de20c 1217 gStyle->SetOptTitle(0);
1218 gStyle->SetOptStat(0);
1219 gStyle->SetOptFit(0);
1220 TCanvas *c = new TCanvas("c","c",500,400);
1221 c->SetTopMargin(0.04);
1222 c->SetRightMargin(0.04);
1223 c->SetBorderSize(0);
1224 c->SetFillColor(0);
1225 c->SetFillColor(0);
1226 c->SetBorderMode(0);
1227 c->SetFrameFillColor(0);
1228 c->SetFrameBorderMode(0);
1229
48a07264 1230 TH1D *PHOS = GetHistoNoID(etacut,name,true,true,ispp,forSim);
b64de20c 1231 PHOS->SetMarkerColor(2);
1232 PHOS->SetLineColor(2);
1233 PHOS->SetAxisRange(0.0,4);
1234 PHOS->SetMaximum(1.1);
1235 PHOS->SetMinimum(0.85);
1236 PHOS->SetMarkerStyle(20);;
1237 PHOS->Draw();
1238 TLatex *tex = new TLatex(0.161478,1.0835,prodname);
1239 tex->SetTextSize(0.0537634);
1240 tex->Draw();
1241
1242
48a07264 1243 char *detector = detectorEMCAL;
1244 if(etacut<0.2) detector = detectorPHOS;
b64de20c 1245 sprintf(epsname,"pics/%s/fnoid%s.eps",shortprodname,detector);
1246 sprintf(pngname,"pics/%s/fnoid%s.png",shortprodname,detector);
1247
1248 c->SaveAs(epsname);
1249 c->SaveAs(pngname);
a02dfa56 1250 delete c;
48a07264 1251 delete tex;
1252 PHOS->SetName(name);
b64de20c 1253 return PHOS;
1254
0e866ddc 1255}
1256
48a07264 1257Float_t CorrNoIDConst(float etacut, float ptcut,char *name, char *prodname, char *shortprodname, bool ispp, bool forSim){
0e866ddc 1258 gStyle->SetOptTitle(0);
1259 gStyle->SetOptStat(0);
1260 gStyle->SetOptFit(0);
1261 TCanvas *c = new TCanvas("c","c",500,400);
1262 c->SetTopMargin(0.04);
1263 c->SetRightMargin(0.04);
1264 c->SetBorderSize(0);
1265 c->SetFillColor(0);
1266 c->SetFillColor(0);
1267 c->SetBorderMode(0);
1268 c->SetFrameFillColor(0);
1269 c->SetFrameBorderMode(0);
1270
1271 bool TPC = true;
1272 if(ptcut<.15) TPC = false;
48a07264 1273 TH1D *PHOS = GetHistoNoID(ptcut,name,false,TPC,ispp,forSim);
0e866ddc 1274 TF1 *func = new TF1("func","[0]",-etacut,etacut);
1275 PHOS->Fit(func,"","",-etacut,etacut);
1276 PHOS->SetMarkerColor(2);
1277 PHOS->SetLineColor(2);
1278 PHOS->SetMaximum(1.1);
1279 PHOS->SetMinimum(0.85);
1280 PHOS->SetMarkerStyle(20);;
1281 PHOS->Draw();
1282 TLatex *tex = new TLatex(0.161478,1.0835,prodname);
1283 tex->SetTextSize(0.0537634);
1284 tex->Draw();
1285
1286
48a07264 1287 char *detector = detectorEMCAL;
1288 if(etacut<0.2) detector = detectorPHOS;
0e866ddc 1289 if(TPC){
1290 sprintf(epsname,"pics/%s/fnoid%sTPC.eps",shortprodname,detector);
1291 sprintf(pngname,"pics/%s/fnoid%sTPC.png",shortprodname,detector);
1292 }
1293 else{
1294 sprintf(epsname,"pics/%s/fnoid%sITS.eps",shortprodname,detector);
1295 sprintf(pngname,"pics/%s/fnoid%sITS.png",shortprodname,detector);
1296 }
1297
1298 c->SaveAs(epsname);
1299 c->SaveAs(pngname);
1300 delete c;
48a07264 1301 delete PHOS;
1302 float value = func->GetParameter(0);
1303 delete func;
1304 delete tex;
1305 return value;
0e866ddc 1306
b64de20c 1307}
1308//==================================Efficiency=================================================
1309TH1D* bayneseffdiv(TH1D* numerator, TH1D* denominator,Char_t* name)
1310{
1311 if(!numerator){
1312 cerr<<"Error: numerator does not exist!"<<endl;
1313 return NULL;
1314 }
1315 if(!denominator){
1316 cerr<<"Error: denominator does not exist!"<<endl;
1317 return NULL;
1318 }
1319 TH1D* result = (TH1D*)numerator->Clone(name);
1320 Int_t nbins = numerator->GetNbinsX();
1321 for (Int_t ibin=0; ibin<= nbins+1; ++ibin) {
1322 Double_t numeratorVal = numerator->GetBinContent(ibin);
1323 Double_t denominatorVal = denominator->GetBinContent(ibin);
1324 // Check if the errors are right or the thing is scaled
1325 Double_t numeratorValErr = numerator->GetBinError(ibin);
1326 if (!(numeratorValErr==0. || numeratorVal ==0.) ) {
1327 Double_t rescale = numeratorValErr*numeratorValErr/numeratorVal;
1328 numeratorVal /= rescale;
1329 }
1330 Double_t denominatorValErr = denominator->GetBinError(ibin);
1331 if (!(denominatorValErr==0. || denominatorVal==0. )) {
1332 Double_t rescale = denominatorValErr*denominatorValErr/denominatorVal;
1333 denominatorVal /= rescale;
1334 }
1335 Double_t quotient = 0.;
1336 if (denominatorVal!=0.) {
1337 quotient = numeratorVal/denominatorVal;
1338 }
1339 Double_t quotientErr=0;
1340 if(numeratorVal>0.0 && denominatorVal>0.0 && (denominatorVal+2.0)>0.0 && (denominatorVal+3.0) >0.0){
1341 double argument = (numeratorVal+1.0)/(denominatorVal+2.0)*
1342 ((numeratorVal+2.0)/(denominatorVal+3.0)-(numeratorVal+1.0)/(denominatorVal+2.0));
1343 double test = TMath::Power(TMath::Abs(argument),0.5);
1344 quotientErr = TMath::Sqrt( TMath::Abs(
1345 (numeratorVal+1.0)/(denominatorVal+2.0)*
1346 ((numeratorVal+2.0)/(denominatorVal+3.0)-(numeratorVal+1.0)/(denominatorVal+2.0))));
1347 }
1348 result->SetBinContent(ibin,quotient);
1349 result->SetBinError(ibin,quotientErr);
1350 //cout<<"Setting bin "<<ibin<<" to "<<quotient<<" "<<numeratorVal<<"/"<<denominatorVal<<endl;
1351 }
1352 return result;
1353}
1354
1355
1356
48a07264 1357TH1D *GetHistoEfficiency(float cut, char *name, int mycase, int color, int marker,bool TPC,bool ITS, int cb, int cblast){
b64de20c 1358 bool eta = true;
48a07264 1359 file->cd();
1360 char *myname = mynameITS;
8663c99d 1361 if(TPC && !ITS){ myname = mynameTPCITS;cout<<"I was here I should not be called"<<endl;}
48a07264 1362 if(TPC&&ITS) myname = mynameTPCITS;
8663c99d 1363 char *mynamealt = mynameTPCITS;
b64de20c 1364 TH2F *numeratorParent;
1365 switch(mycase){
1366 case 0:
48a07264 1367 if(cblast != -1){//add more centrality bins
1368 for(int i=cb;i<=cblast;i++){
1369 if(i==cb) numeratorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"PiPlus",i)))->Clone("RecoHadron");
1370 else{numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"PiPlus",i)));}
1371 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"PiMinus",i)));
1372 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"KMinus",i)));
1373 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"KPlus",i)));
1374 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"Proton",i)));
1375 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"AntiProton",i)));
8663c99d 1376 if(!TPC&&ITS){//ITS Standalone tracks - from leftover hits, don't want to double count
1377 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",mynamealt,"PiPlus",i)));
1378 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",mynamealt,"PiMinus",i)));
1379 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",mynamealt,"KMinus",i)));
1380 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",mynamealt,"KPlus",i)));
1381 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",mynamealt,"Proton",i)));
1382 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",mynamealt,"AntiProton",i)));
1383 }
48a07264 1384 }
1385 }
1386 else{
1387 numeratorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",myname,"PiPlus")))->Clone("RecoHadron");
1388 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",myname,"PiMinus")));
1389 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",myname,"KMinus")));
1390 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",myname,"KPlus")));
1391 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",myname,"Proton")));
1392 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",myname,"AntiProton")));
8663c99d 1393 if(!TPC&&ITS){//ITS Standalone tracks - from leftover hits, don't want to double count
1394 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",mynamealt,"PiPlus")));
1395 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",mynamealt,"PiMinus")));
1396 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",mynamealt,"KMinus")));
1397 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",mynamealt,"KPlus")));
1398 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",mynamealt,"Proton")));
1399 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",mynamealt,"AntiProton")));
1400 }
48a07264 1401 }
b64de20c 1402 break;
1403 case 1://pion
48a07264 1404 if(cblast != -1){//add more centrality bins
1405 for(int i=cb;i<=cblast;i++){
1406 if(i==cb) numeratorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"PiPlus",i)))->Clone("RecoPion");
1407 else{numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"PiPlus",i)));}
1408 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"PiMinus",i)));
8663c99d 1409 if(!TPC&&ITS){//ITS Standalone tracks - from leftover hits, don't want to double count
1410 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",mynamealt,"PiMinus",i)));
1411 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",mynamealt,"PiPlus",i)));
1412 }
48a07264 1413 }
1414 }
1415 else{
1416 numeratorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",myname,"PiPlus")))->Clone("RecoPion");
1417 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",myname,"PiMinus")));
8663c99d 1418 if(!TPC&&ITS){//ITS Standalone tracks - from leftover hits, don't want to double count
1419 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",mynamealt,"PiPlus")));
1420 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",mynamealt,"PiMinus")));
1421 }
48a07264 1422 }
b64de20c 1423 break;
1424 case 2://kaon
48a07264 1425 if(cblast != -1){//add more centrality bins
1426 for(int i=cb;i<=cblast;i++){
1427 if(i==cb) numeratorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"KPlus",i)))->Clone("RecoKaon");
1428 else{numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"KPlus",i)));}
1429 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"KMinus",i)));
8663c99d 1430 if(!TPC&&ITS){//ITS Standalone tracks - from leftover hits, don't want to double count
1431 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",mynamealt,"KPlus",i)));
1432 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",mynamealt,"KMinus",i)));
1433 }
48a07264 1434 }
1435 }
1436 else{
8663c99d 1437 // cout<<"I am kaoning here !"<<endl;
48a07264 1438 numeratorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",myname,"KPlus")))->Clone("RecoKaon");
1439 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",myname,"KMinus")));
8663c99d 1440 if(!TPC&&ITS){//ITS Standalone tracks - from leftover hits, don't want to double count
1441 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",mynamealt,"KPlus")));
1442 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",mynamealt,"KMinus")));
1443 }
1444 //cout<<"Numerator "<<numeratorParent->GetEntries()<<endl;
48a07264 1445 }
b64de20c 1446 break;
1447 case 3://proton
48a07264 1448 if(cblast != -1){//add more centrality bins
1449 for(int i=cb;i<=cblast;i++){
1450 if(i==cb) numeratorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"Proton",i)))->Clone("RecoProton");
1451 else{numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"Proton",i)));}
1452 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",myname,"AntiProton",i)));
8663c99d 1453 if(!TPC&&ITS){//ITS Standalone tracks - from leftover hits, don't want to double count
1454 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",mynamealt,"Proton",i)));
1455 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%sCB%i",mynamealt,"AntiProton",i)));
1456 }
48a07264 1457 }
1458 }
1459 else{
8663c99d 1460 //cout<<"I am protoning here !"<<endl;
48a07264 1461 numeratorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",myname,"Proton")))->Clone("RecoProton");
1462 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",myname,"AntiProton")));
8663c99d 1463 if(!TPC&&ITS){//ITS Standalone tracks - from leftover hits, don't want to double count
1464 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",mynamealt,"Proton")));
1465 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s",mynamealt,"AntiProton")));
1466 }
1467 //cout<<"Numerator "<<numeratorParent->GetEntries()<<endl;
48a07264 1468 }
b64de20c 1469 break;
1470 case 4://electron
48a07264 1471 numeratorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s%s",myname,"EPlus",cbname)))->Clone("RecoElectron");
1472 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s%s",myname,"EMinus",cbname)));
8663c99d 1473 if(!TPC&&ITS){//ITS Standalone tracks - from leftover hits, don't want to double count
1474 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s%s",mynamealt,"EPlus",cbname)));
1475 numeratorParent->Add((TH2F*) out2->FindObject(Form("EtNReconstructed%s%s%s",mynamealt,"EMinus",cbname)));
1476 }
b64de20c 1477 break;
1478 }
1479 TH2F *denominatorParent;
1480 switch(mycase){
1481 case 0:
48a07264 1482 if(cblast != -1){//add more centrality bins
1483 denominatorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtNSimulatedChargedHadronCB%i",cb)))->Clone("RecoHadron");
1484 for(int i=cb+1;i<=cblast;i++){
1485 denominatorParent->Add((TH2F*) out2->FindObject(Form("EtNSimulatedChargedHadronCB%i",i)));
1486 }
1487 }
1488 else{
1489 denominatorParent = (TH2F*)((TH2F*) out2->FindObject("EtNSimulatedChargedHadron"))->Clone("RecoHadron");
1490 }
b64de20c 1491 break;
1492 case 1://pion
48a07264 1493 if(cblast != -1){//add more centrality bins
1494 denominatorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtNSimulatedPiPlusCB%i",cb)))->Clone("RecoPion");
1495 denominatorParent->Add((TH2F*) out2->FindObject(Form("EtNSimulatedPiMinusCB%i",cb)));
1496 for(int i=cb+1;i<=cblast;i++){
1497 denominatorParent->Add((TH2F*) out2->FindObject(Form("EtNSimulatedPiPlusCB%i",i)));
1498 denominatorParent->Add((TH2F*) out2->FindObject(Form("EtNSimulatedPiMinusCB%i",i)));
1499 }
1500 }
1501 else{
1502 denominatorParent = (TH2F*)((TH2F*) out2->FindObject("EtNSimulatedPiPlus"))->Clone("RecoPion");
1503 denominatorParent->Add((TH2F*) out2->FindObject("EtNSimulatedPiMinus"));
1504 }
b64de20c 1505 break;
1506 case 2://kaon
48a07264 1507 if(cblast != -1){//add more centrality bins
1508 denominatorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtNSimulatedKPlusCB%i",cb)))->Clone("RecoKaon");
1509 denominatorParent->Add((TH2F*) out2->FindObject(Form("EtNSimulatedKMinusCB%i",cb)));
1510 for(int i=cb+1;i<=cblast;i++){
1511 denominatorParent->Add((TH2F*) out2->FindObject(Form("EtNSimulatedKPlusCB%i",i)));
1512 denominatorParent->Add((TH2F*) out2->FindObject(Form("EtNSimulatedKMinusCB%i",i)));
1513 }
1514 }
1515 else{
1516 denominatorParent = (TH2F*)((TH2F*) out2->FindObject("EtNSimulatedKPlus"))->Clone("RecoKaon");
1517 denominatorParent->Add((TH2F*) out2->FindObject("EtNSimulatedKMinus"));
1518 }
b64de20c 1519 break;
1520 case 3://proton
48a07264 1521 if(cblast != -1){//add more centrality bins
1522 for(int i=cb;i<=cblast;i++){
1523 if(cb==i)denominatorParent = (TH2F*)((TH2F*) out2->FindObject(Form("EtNSimulatedProtonCB%i",i)))->Clone("RecoProton");
1524 else{denominatorParent->Add((TH2F*) out2->FindObject(Form("EtNSimulatedProtonCB%i",i)));}
1525 denominatorParent->Add((TH2F*) out2->FindObject(Form("EtNSimulatedAntiProtonCB%i",i)));
1526 }
1527 }
1528 else{
1529 denominatorParent = (TH2F*)((TH2F*) out2->FindObject("EtNSimulatedProton"))->Clone("RecoProton");
1530 denominatorParent->Add((TH2F*) out2->FindObject("EtNSimulatedAntiProton"));
1531 }
b64de20c 1532 break;
1533 case 4://electron
1534 denominatorParent = (TH2F*)((TH2F*) out2->FindObject("EtNSimulatedEPlus"))->Clone("RecoElectron");
1535 denominatorParent->Add((TH2F*) out2->FindObject("EtNSimulatedEMinus"));
1536 break;
1537 }
b64de20c 1538 TH1D *denominator;
1539 TH1D *numerator;
1540 if(eta){
1541 int lowbin = numeratorParent->GetYaxis()->FindBin(-cut+.001);//make sure we don't accv0entally get the wrong bin
1542 int highbin = numeratorParent->GetYaxis()->FindBin(cut-.001);
a02dfa56 1543 //cout<<"Projecting from "<<numeratorParent->GetYaxis()->GetBinLowEdge(lowbin)<<" to "<<numeratorParent->GetYaxis()->GetBinLowEdge(highbin+1)<<endl;
b64de20c 1544 denominator = denominatorParent->ProjectionX(Form("garbage%s",name),lowbin,highbin);
1545 numerator = numeratorParent->ProjectionX(name,lowbin,highbin);
1546 }
1547 else{
1548 int lowbin = denominatorParent->GetXaxis()->FindBin(cut);//make sure we don't accidentally get the wrong bin
1549 int highbin = denominatorParent->GetXaxis()->GetNbins();
a02dfa56 1550 //cout<<"Projecting from "<<denominatorParent->GetXaxis()->GetBinLowEdge(lowbin)<<" to "<<denominatorParent->GetXaxis()->GetBinLowEdge(highbin+1)<<endl;
b64de20c 1551 numerator = numeratorParent->ProjectionY(name,lowbin,highbin);
1552 denominator = denominatorParent->ProjectionY(Form("denominator%s",name),lowbin,highbin);
1553 }
1554 delete numeratorParent;
1555 delete denominatorParent;
1556 //numerator->Divide(denominator);
1557 TH1D *result = bayneseffdiv((TH1D*) numerator,(TH1D*)denominator,name);
1558 //result->Rebin(2);
1559 //result->Scale(0.5);
1560 result->SetYTitle("Efficiency");
1561 result->GetYaxis()->SetTitleOffset(0.8);
1562 result->GetXaxis()->SetTitleOffset(0.8);
1563 result->GetYaxis()->SetLabelSize(0.05);
1564 result->GetXaxis()->SetLabelSize(0.05);
1565 result->GetYaxis()->SetTitleSize(0.05);
1566 result->GetXaxis()->SetTitleSize(0.05);
1567 result->SetMarkerColor(color);
1568 result->SetLineColor(color);
1569 result->SetMarkerStyle(marker);
a02dfa56 1570 //result->SetName(name);
b64de20c 1571 //result->Draw("e");
a02dfa56 1572 delete denominator;
1573 delete numerator;
48a07264 1574 delete numeratorParent;
1575 delete denominatorParent;
1576 result->SetName(name);
b64de20c 1577 return result;
1578
1579}
1580
48a07264 1581void CorrEfficiencyPlots(bool TPC, char *prodname, char *shortprodname){
f43fc416 1582 bool ITS = true;
b64de20c 1583 gStyle->SetOptTitle(0);
1584 gStyle->SetOptStat(0);
1585 gStyle->SetOptFit(0);
1586 TCanvas *c = new TCanvas("c","c",600,400);
1587 c->SetTopMargin(0.02);
1588 c->SetRightMargin(0.02);
1589 c->SetBorderSize(0);
1590 c->SetFillColor(0);
1591 c->SetFillColor(0);
1592 c->SetBorderMode(0);
1593 c->SetFrameFillColor(0);
1594 c->SetFrameBorderMode(0);
1595 //c->SetLogx();
1596
1597 int colortotal = 1;
1598 int colorpi = 2;
1599 int colork = 3;
1600 int colorp = 4;
1601 int phosmarker = 20;
1602 int emcalmarker = 24;
1603 float ptcut1 = 0.05;
1604 float ptcut2 = 0.1;
48a07264 1605 TH1D *PHOStotal = GetHistoEfficiency(0.12,"PHOStotal",0,colortotal,phosmarker,TPC,ITS);
1606 TH1D *PHOSpi = GetHistoEfficiency(0.12,"PHOSpi",1,colorpi,phosmarker,TPC,ITS);
1607 TH1D *PHOSp = GetHistoEfficiency(0.12,"PHOSp",2,colork,phosmarker,TPC,ITS);
1608 TH1D *PHOSk = GetHistoEfficiency(0.12,"PHOSk",3,colorp,phosmarker,TPC,ITS);
b64de20c 1609 if(!TPC){PHOStotal->GetXaxis()->SetRange(PHOStotal->GetXaxis()->FindBin(0.05),PHOStotal->GetXaxis()->FindBin(1.0));}
1610 else{PHOStotal->GetXaxis()->SetRange(PHOStotal->GetXaxis()->FindBin(0.15),PHOStotal->GetXaxis()->FindBin(3.0));}
1611 PHOStotal->SetMinimum(0.0);
1612 PHOStotal->SetMaximum(1.0);
1613 PHOStotal->Draw();
1614 PHOSpi->Draw("same");
1615 PHOSp->Draw("same");
1616 PHOSk->Draw("same");
48a07264 1617 TH1D *EMCALtotal = GetHistoEfficiency(0.7,"EMCALtotal",0,colortotal,emcalmarker,TPC,ITS);
1618 TH1D *EMCALpi = GetHistoEfficiency(0.7,"EMCALpi",1,colorpi,emcalmarker,TPC,ITS);
1619 TH1D *EMCALp = GetHistoEfficiency(0.7,"EMCALp",2,colork,emcalmarker,TPC,ITS);
1620 TH1D *EMCALk = GetHistoEfficiency(0.7,"EMCALk",3,colorp,emcalmarker,TPC,ITS);
b64de20c 1621 EMCALtotal->Draw("same");
1622 EMCALpi->Draw("same");
1623 EMCALp->Draw("same");
1624 EMCALk->Draw("same");
1625
1626
1627 TLegend *leg = new TLegend(0.22651,0.247312,0.370805,0.438172);
1628 leg->AddEntry(PHOStotal,"#pi,K,p");
1629 leg->AddEntry(PHOSpi,"#pi^{#pm}");
1630 leg->AddEntry(PHOSk,"K^{#pm}");
1631 leg->AddEntry(PHOSp,"p,#bar{p}");
1632 leg->SetFillStyle(0);
1633 leg->SetFillColor(0);
1634 leg->SetBorderSize(0);
1635 leg->SetTextSize(0.06);
1636 leg->Draw();
1637
1638 TLine *line = new TLine(0.2,0.0,0.2,1.0);
1639 line->Draw();
1640 line->SetLineWidth(3.0);
1641 //line->SetLineColor(TColor::kYellow);
1642 line->SetLineStyle(2);
1643 TLatex *tex = new TLatex(0.497269,0.0513196,prodname);
1644 tex->SetTextSize(0.0537634);
1645 tex->Draw();
1646 TLatex *tex3 = new TLatex(1.16186,0.28348,"Closed symbols |#eta|<0.12 (PHOS)");
1647 tex3->SetTextSize(0.0537634);
1648 tex3->Draw();
1649 TLatex *tex4 = new TLatex(1.16186,0.213221,"Open symbols |#eta|<0.70 (EMCal)");
1650 tex4->SetTextSize(0.0537634);
1651 tex4->Draw();
1652 TLatex *tex2 = new TLatex(0.241937,0.448436,"Likely TPC cut-off 200 MeV/c");
1653 tex2->SetTextSize(0.0537634);
1654 tex2->Draw();
b64de20c 1655 if(TPC){
f43fc416 1656 if(ITS){
1657 sprintf(epsname,"pics/%s/CorrEfficiencyITSTPC.eps",shortprodname);
1658 sprintf(pngname,"pics/%s/CorrEfficiencyITSTPC.png",shortprodname);
1659 }
1660 else{
1661 sprintf(epsname,"pics/%s/CorrEfficiencyTPC.eps",shortprodname);
1662 sprintf(pngname,"pics/%s/CorrEfficiencyTPC.png",shortprodname);
1663 }
b64de20c 1664 }
1665 else{
1666 sprintf(epsname,"pics/%s/CorrEfficiencyITS.eps",shortprodname);
1667 sprintf(pngname,"pics/%s/CorrEfficiencyITS.png",shortprodname);
1668 }
a02dfa56 1669 delete PHOStotal;
1670 delete PHOSpi;
1671 delete PHOSp;
1672 delete PHOSk;
1673 delete EMCALtotal;
1674 delete EMCALpi;
1675 delete EMCALp;
1676 delete EMCALk;
1677 delete leg;
b64de20c 1678 c->SaveAs(epsname);
1679 c->SaveAs(pngname);
a02dfa56 1680 delete c;
48a07264 1681 delete line;
1682 delete tex;
1683 delete tex3;
b64de20c 1684}
1685
1686//==================================CorrBkgd=================================================
48a07264 1687TH1D *GetHistoCorrBkgd(float etacut,char *name, bool TPC,bool ispp,bool forSim){
1688 file->cd();
1689 char *reweightname = reweightedNo;
1690 if(!forSim) reweightname = reweightedYes;
1691 char *myname = mynameITS;
8663c99d 1692 if(TPC) myname = mynameTPCITS;
b64de20c 1693 TH2F *signal = ((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedPiPlus",myname)))->Clone("signal");
1694 signal->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedPiMinus",myname)));
1695 signal->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedKMinus",myname)));
1696 signal->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedKPlus",myname)));
1697 signal->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedProton",myname)));
1698 signal->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedAntiProton",myname)));
1699 signal->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sUnidentifiedAssumingPion",myname)));
1700
1701 //Et of all unidentified hadrons (plus hadrons identified as pions) calculated assuming their true mass
1702 TH2F *bkgd = ((TH2F*) out2->FindObject(Form("EtReconstructed%sMisidentifiedElectrons",myname)))->Clone("bkgd");
f43fc416 1703 bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sLambdaDaughters%s",myname,reweightname)));
1704 bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sAntiLambdaDaughters%s",myname,reweightname)));
1705 bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sK0SDaughters%s",myname,reweightname)));
b64de20c 1706 bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sXiDaughters",myname)));
1707 bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sAntiXiDaughters",myname)));
1708 bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sOmegaDaughters",myname)));
1709 bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sAntiOmegaDaughters",myname)));
8663c99d 1710 bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sConversionElectrons",myname)) );
1711 bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sSecondaryMuons",myname)) );
1712 bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sSecondaryPions",myname)) );
1713 bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sSecondaryProtons",myname)) );
b64de20c 1714 int lowbin = bkgd->GetYaxis()->FindBin(-etacut+.001);//make sure we don't accidentally get the wrong bin
1715 int highbin = bkgd->GetYaxis()->FindBin(etacut-.001);
a02dfa56 1716 //cout<<"Projecting from "<<bkgd->GetYaxis()->GetBinLowEdge(lowbin)<<" to "<<bkgd->GetYaxis()->GetBinLowEdge(highbin+1)<<endl;
b64de20c 1717
1718
1719 TH1D *denominator = signal->ProjectionX(name,lowbin,highbin);
1720 TH1D *numerator = bkgd->ProjectionX("numerator",lowbin,highbin);
8663c99d 1721 denominator->Add(numerator);
b64de20c 1722 numerator->Divide(denominator);
1723 numerator->SetYTitle("Ratio of E_{T}^{background}/E_{T}^{real}");
1724 numerator->GetYaxis()->SetTitleOffset(1.2);
a02dfa56 1725 delete signal;
1726 delete bkgd;
1727 delete denominator;
48a07264 1728 numerator->SetName(name);
b64de20c 1729 return numerator;
1730
1731}
1732
48a07264 1733void CorrBkgdPlots(char *prodname, char *shortprodname, bool TPC,bool ispp,bool forSim){
b64de20c 1734 gStyle->SetOptTitle(0);
1735 gStyle->SetOptStat(0);
1736 gStyle->SetOptFit(0);
1737 TCanvas *c = new TCanvas("c","c",500,400);
1738 c->SetTopMargin(0.04);
1739 c->SetRightMargin(0.04);
1740 c->SetBorderSize(0);
1741 c->SetFillColor(0);
1742 c->SetFillColor(0);
1743 c->SetBorderMode(0);
1744 c->SetFrameFillColor(0);
1745 c->SetFrameBorderMode(0);
1746
48a07264 1747 TH1D *PHOS = GetHistoCorrBkgd(0.12,"PHOS2",TPC,ispp,forSim);
1748 TH1D *EMCAL = GetHistoCorrBkgd(0.7,"EMCAL2",TPC,ispp,forSim);
b64de20c 1749 PHOS->SetMarkerColor(2);
1750 EMCAL->SetMarkerColor(4);
1751 PHOS->SetLineColor(2);
1752 EMCAL->SetLineColor(4);
1753 //EMCAL->SetLineWidth(2);
1754 //PHOS->SetAxisRange(0.0,4);
1755 PHOS->SetMaximum(0.2);
1756 PHOS->SetMinimum(0.0);
1757 PHOS->SetMarkerStyle(20);;
1758 EMCAL->SetMarkerStyle(21);
1759 // TF1 *funcEMCAL = new TF1("funcEMCAL","[0]+0.0*x",0.05,4);
1760// funcEMCAL->SetParameter(0,0.95);
1761// funcEMCAL->SetParLimits(0,0.9,1.1);
1762 //EMCAL->Fit(funcEMCAL);//,"","",0.05,3.0);
1763// TF1 *funcPHOS = new TF1("funcPHOS","[0]+0.0*x",0.05,4);
1764// funcPHOS->SetParameter(0,1.0);
1765 //PHOS->Fit(funcPHOS);
1766 if(TPC) PHOS->GetXaxis()->SetRange(PHOS->GetXaxis()->FindBin(0.0),PHOS->GetXaxis()->FindBin(4.));
1767 else{ PHOS->GetXaxis()->SetRange(PHOS->GetXaxis()->FindBin(0.0),PHOS->GetXaxis()->FindBin(1.));}
1768 PHOS->Draw();
1769 EMCAL->Draw("same");
1770 TLatex *tex = new TLatex(0.161478,1.0835,prodname);
1771 tex->SetTextSize(0.0537634);
1772 tex->Draw();
1773 TLegend *leg = new TLegend(0.145161,0.604839,0.40121,0.860215);
1774 leg->AddEntry(PHOS,"|#eta|<0.12");
1775 leg->AddEntry(EMCAL,"|#eta|<0.70");
1776 leg->SetFillStyle(0);
1777 leg->SetFillColor(0);
1778 leg->SetBorderSize(0);
1779 leg->Draw();
1780 if(TPC){
1781 c->SaveAs(Form("pics/%s/bkgdTPC.eps",shortprodname));
1782 c->SaveAs(Form("pics/%s/bkgdTPC.png",shortprodname));
1783 }
1784 else{
1785 c->SaveAs(Form("pics/%s/bkgdITS.eps",shortprodname));
1786 c->SaveAs(Form("pics/%s/bkgdITS.png",shortprodname));
1787 }
a02dfa56 1788 delete c;
1789 delete PHOS;
1790 delete EMCAL;
48a07264 1791 delete tex;
1792 delete leg;
b64de20c 1793
1794}
8663c99d 1795
1796//TH1D *ppBkgd()
1797TH1D *pp276TPCBkgd(){
1798//=========Macro generated from canvas: c4/c4
1799//========= (Thu May 5 23:07:14 2011) by ROOT version5.28/00c
1800 TH1D *Allpt7TeVScaling = new TH1D("Allpt7TeVScaling","Reconstructed E_{T} from misidentified electrons",111, xAxis1);
1801 Allpt7TeVScaling->SetBinContent(13,0.1673787);
1802 Allpt7TeVScaling->SetBinContent(14,0.1548408);
1803 Allpt7TeVScaling->SetBinContent(15,0.1328529);
1804 Allpt7TeVScaling->SetBinContent(16,0.1220669);
1805 Allpt7TeVScaling->SetBinContent(17,0.1109226);
1806 Allpt7TeVScaling->SetBinContent(18,0.0981996);
1807 Allpt7TeVScaling->SetBinContent(19,0.09152354);
1808 Allpt7TeVScaling->SetBinContent(20,0.07937801);
1809 Allpt7TeVScaling->SetBinContent(21,0.07163593);
1810 Allpt7TeVScaling->SetBinContent(22,0.0562236);
1811 Allpt7TeVScaling->SetBinContent(23,0.04398756);
1812 Allpt7TeVScaling->SetBinContent(24,0.039459);
1813 Allpt7TeVScaling->SetBinContent(25,0.03618901);
1814 Allpt7TeVScaling->SetBinContent(26,0.0322147);
1815 Allpt7TeVScaling->SetBinContent(27,0.03294796);
1816 Allpt7TeVScaling->SetBinContent(28,0.03114461);
1817 Allpt7TeVScaling->SetBinContent(29,0.03039579);
1818 Allpt7TeVScaling->SetBinContent(30,0.03261539);
1819 Allpt7TeVScaling->SetBinContent(31,0.03239832);
1820 Allpt7TeVScaling->SetBinContent(32,0.03055859);
1821 Allpt7TeVScaling->SetBinContent(33,0.03181271);
1822 Allpt7TeVScaling->SetBinContent(34,0.02882665);
1823 Allpt7TeVScaling->SetBinContent(35,0.03102149);
1824 Allpt7TeVScaling->SetBinContent(36,0.0272696);
1825 Allpt7TeVScaling->SetBinContent(37,0.02783727);
1826 Allpt7TeVScaling->SetBinContent(38,0.02334413);
1827 Allpt7TeVScaling->SetBinContent(39,0.02357657);
1828 Allpt7TeVScaling->SetBinContent(40,0.02630686);
1829 Allpt7TeVScaling->SetBinContent(41,0.02372341);
1830 Allpt7TeVScaling->SetBinContent(42,0.02279457);
1831 Allpt7TeVScaling->SetBinContent(43,0.01999143);
1832 Allpt7TeVScaling->SetBinContent(44,0.02019579);
1833 Allpt7TeVScaling->SetBinContent(45,0.02029719);
1834 Allpt7TeVScaling->SetBinContent(46,0.0166231);
1835 Allpt7TeVScaling->SetBinContent(47,0.01824842);
1836 Allpt7TeVScaling->SetBinContent(48,0.0188995);
1837 Allpt7TeVScaling->SetBinContent(49,0.01836067);
1838 Allpt7TeVScaling->SetBinContent(50,0.02113978);
1839 Allpt7TeVScaling->SetBinContent(51,0.02236854);
1840 Allpt7TeVScaling->SetBinContent(52,0.0204874);
1841 Allpt7TeVScaling->SetBinContent(53,0.02236788);
1842 Allpt7TeVScaling->SetBinContent(54,0.01862457);
1843 Allpt7TeVScaling->SetBinContent(55,0.0215448);
1844 Allpt7TeVScaling->SetBinContent(56,0.01757402);
1845 Allpt7TeVScaling->SetBinContent(57,0.01899477);
1846 Allpt7TeVScaling->SetBinContent(58,0.01766989);
1847 Allpt7TeVScaling->SetBinContent(59,0.01984435);
1848 Allpt7TeVScaling->SetBinContent(60,0.01842092);
1849 Allpt7TeVScaling->SetBinContent(61,0.01668053);
1850 Allpt7TeVScaling->SetBinContent(62,0.01708603);
1851 Allpt7TeVScaling->SetBinContent(63,0.01557306);
1852 Allpt7TeVScaling->SetBinContent(64,0.01878942);
1853 Allpt7TeVScaling->SetBinContent(65,0.01458043);
1854 Allpt7TeVScaling->SetBinContent(66,0.0151346);
1855 Allpt7TeVScaling->SetBinContent(67,0.01565407);
1856 Allpt7TeVScaling->SetBinContent(68,0.01327014);
1857 Allpt7TeVScaling->SetBinContent(69,0.01284378);
1858 Allpt7TeVScaling->SetBinContent(70,0.01046102);
1859 Allpt7TeVScaling->SetBinContent(71,0.009963117);
1860 Allpt7TeVScaling->SetBinContent(72,0.01359609);
1861 Allpt7TeVScaling->SetBinContent(73,0.01088263);
1862 Allpt7TeVScaling->SetBinContent(74,0.01317689);
1863 Allpt7TeVScaling->SetBinContent(75,0.01433201);
1864 Allpt7TeVScaling->SetBinContent(76,0.01215939);
1865 Allpt7TeVScaling->SetBinContent(77,0.01380766);
1866 Allpt7TeVScaling->SetBinContent(78,0.01499505);
1867 Allpt7TeVScaling->SetBinContent(79,0.015013);
1868 Allpt7TeVScaling->SetBinContent(80,0.01140629);
1869 Allpt7TeVScaling->SetBinContent(81,0.009461979);
1870 Allpt7TeVScaling->SetBinContent(82,0.007775343);
1871 Allpt7TeVScaling->SetBinContent(83,0.01092198);
1872 Allpt7TeVScaling->SetBinContent(84,0.009924767);
1873 Allpt7TeVScaling->SetBinContent(85,0.006399066);
1874 Allpt7TeVScaling->SetBinContent(86,0.008370865);
1875 Allpt7TeVScaling->SetBinContent(87,0.01115192);
1876 Allpt7TeVScaling->SetBinContent(88,0.003781796);
1877 Allpt7TeVScaling->SetBinContent(89,0.01596916);
1878 Allpt7TeVScaling->SetBinContent(90,0.005959723);
1879 Allpt7TeVScaling->SetBinContent(91,0.006885685);
1880 Allpt7TeVScaling->SetBinContent(93,0.006011974);
1881 Allpt7TeVScaling->SetBinContent(94,0.008862645);
1882 Allpt7TeVScaling->SetBinContent(95,0.009963223);
1883 Allpt7TeVScaling->SetBinContent(96,0.01457121);
1884 Allpt7TeVScaling->SetBinContent(97,0.007500135);
1885 Allpt7TeVScaling->SetBinContent(98,0.02636933);
1886 Allpt7TeVScaling->SetBinContent(103,0.06353767);
1887 Allpt7TeVScaling->SetBinError(13,0.02859277);
1888 Allpt7TeVScaling->SetBinError(14,0.006796474);
1889 Allpt7TeVScaling->SetBinError(15,0.004234415);
1890 Allpt7TeVScaling->SetBinError(16,0.0036414);
1891 Allpt7TeVScaling->SetBinError(17,0.003333835);
1892 Allpt7TeVScaling->SetBinError(18,0.003009034);
1893 Allpt7TeVScaling->SetBinError(19,0.002839933);
1894 Allpt7TeVScaling->SetBinError(20,0.002588262);
1895 Allpt7TeVScaling->SetBinError(21,0.001703954);
1896 Allpt7TeVScaling->SetBinError(22,0.001495734);
1897 Allpt7TeVScaling->SetBinError(23,0.001297475);
1898 Allpt7TeVScaling->SetBinError(24,0.001213434);
1899 Allpt7TeVScaling->SetBinError(25,0.001162398);
1900 Allpt7TeVScaling->SetBinError(26,0.001137158);
1901 Allpt7TeVScaling->SetBinError(27,0.001208358);
1902 Allpt7TeVScaling->SetBinError(28,0.001183675);
1903 Allpt7TeVScaling->SetBinError(29,0.001263691);
1904 Allpt7TeVScaling->SetBinError(30,0.001320041);
1905 Allpt7TeVScaling->SetBinError(31,0.001362399);
1906 Allpt7TeVScaling->SetBinError(32,0.001338259);
1907 Allpt7TeVScaling->SetBinError(33,0.001369813);
1908 Allpt7TeVScaling->SetBinError(34,0.001358652);
1909 Allpt7TeVScaling->SetBinError(35,0.00142864);
1910 Allpt7TeVScaling->SetBinError(36,0.001378454);
1911 Allpt7TeVScaling->SetBinError(37,0.001384729);
1912 Allpt7TeVScaling->SetBinError(38,0.001257903);
1913 Allpt7TeVScaling->SetBinError(39,0.001295459);
1914 Allpt7TeVScaling->SetBinError(40,0.001546992);
1915 Allpt7TeVScaling->SetBinError(41,0.001496938);
1916 Allpt7TeVScaling->SetBinError(42,0.001486813);
1917 Allpt7TeVScaling->SetBinError(43,0.00140119);
1918 Allpt7TeVScaling->SetBinError(44,0.001478331);
1919 Allpt7TeVScaling->SetBinError(45,0.001566594);
1920 Allpt7TeVScaling->SetBinError(46,0.001407568);
1921 Allpt7TeVScaling->SetBinError(47,0.001509742);
1922 Allpt7TeVScaling->SetBinError(48,0.001583129);
1923 Allpt7TeVScaling->SetBinError(49,0.001668789);
1924 Allpt7TeVScaling->SetBinError(50,0.001915902);
1925 Allpt7TeVScaling->SetBinError(51,0.001968585);
1926 Allpt7TeVScaling->SetBinError(52,0.00195473);
1927 Allpt7TeVScaling->SetBinError(53,0.00207896);
1928 Allpt7TeVScaling->SetBinError(54,0.001937327);
1929 Allpt7TeVScaling->SetBinError(55,0.002108783);
1930 Allpt7TeVScaling->SetBinError(56,0.001816997);
1931 Allpt7TeVScaling->SetBinError(57,0.001892795);
1932 Allpt7TeVScaling->SetBinError(58,0.001803616);
1933 Allpt7TeVScaling->SetBinError(59,0.001994761);
1934 Allpt7TeVScaling->SetBinError(60,0.001964909);
1935 Allpt7TeVScaling->SetBinError(61,0.001255034);
1936 Allpt7TeVScaling->SetBinError(62,0.001312232);
1937 Allpt7TeVScaling->SetBinError(63,0.001358296);
1938 Allpt7TeVScaling->SetBinError(64,0.001569736);
1939 Allpt7TeVScaling->SetBinError(65,0.001469072);
1940 Allpt7TeVScaling->SetBinError(66,0.001588803);
1941 Allpt7TeVScaling->SetBinError(67,0.001683862);
1942 Allpt7TeVScaling->SetBinError(68,0.00164699);
1943 Allpt7TeVScaling->SetBinError(69,0.001760645);
1944 Allpt7TeVScaling->SetBinError(70,0.00160423);
1945 Allpt7TeVScaling->SetBinError(71,0.001693146);
1946 Allpt7TeVScaling->SetBinError(72,0.002042705);
1947 Allpt7TeVScaling->SetBinError(73,0.001965856);
1948 Allpt7TeVScaling->SetBinError(74,0.002245841);
1949 Allpt7TeVScaling->SetBinError(75,0.002520926);
1950 Allpt7TeVScaling->SetBinError(76,0.002402524);
1951 Allpt7TeVScaling->SetBinError(77,0.002627656);
1952 Allpt7TeVScaling->SetBinError(78,0.002963027);
1953 Allpt7TeVScaling->SetBinError(79,0.003088673);
1954 Allpt7TeVScaling->SetBinError(80,0.002958055);
1955 Allpt7TeVScaling->SetBinError(81,0.001434729);
1956 Allpt7TeVScaling->SetBinError(82,0.001531537);
1957 Allpt7TeVScaling->SetBinError(83,0.002200666);
1958 Allpt7TeVScaling->SetBinError(84,0.00242244);
1959 Allpt7TeVScaling->SetBinError(85,0.002270338);
1960 Allpt7TeVScaling->SetBinError(86,0.002972849);
1961 Allpt7TeVScaling->SetBinError(87,0.003966084);
1962 Allpt7TeVScaling->SetBinError(88,0.002679263);
1963 Allpt7TeVScaling->SetBinError(89,0.006083804);
1964 Allpt7TeVScaling->SetBinError(90,0.004227019);
1965 Allpt7TeVScaling->SetBinError(91,0.004886052);
1966 Allpt7TeVScaling->SetBinError(93,0.006030514);
1967 Allpt7TeVScaling->SetBinError(94,0.008892003);
1968 Allpt7TeVScaling->SetBinError(95,0.01001297);
1969 Allpt7TeVScaling->SetBinError(96,0.008480241);
1970 Allpt7TeVScaling->SetBinError(97,0.007527505);
1971 Allpt7TeVScaling->SetBinError(98,0.01889477);
1972 Allpt7TeVScaling->SetBinError(103,0.065502);
1973 Allpt7TeVScaling->SetMinimum(0);
1974 Allpt7TeVScaling->SetMaximum(0.04);
1975 Allpt7TeVScaling->SetEntries(1049.145);
1976 Allpt7TeVScaling->SetStats(0);
1977 Allpt7TeVScaling->SetMarkerStyle(20);
1978 Allpt7TeVScaling->GetXaxis()->SetTitle("p_{T}");
1979 Allpt7TeVScaling->GetXaxis()->SetRange(1,91);
1980 Allpt7TeVScaling->GetYaxis()->SetTitle("Ratio of E_{T}^{background}/E_{T}^{had, meas.}");
1981 Allpt7TeVScaling->GetYaxis()->SetTitleOffset(1.2);
1982 TH1D *Allpt900GeVScaling = new TH1D("Allpt900GeVScaling","Reconstructed E_{T} from misidentified electrons",111, xAxis1);
1983 Allpt900GeVScaling->SetBinContent(13,0.1950247);
1984 Allpt900GeVScaling->SetBinContent(14,0.147561);
1985 Allpt900GeVScaling->SetBinContent(15,0.136378);
1986 Allpt900GeVScaling->SetBinContent(16,0.1233744);
1987 Allpt900GeVScaling->SetBinContent(17,0.1126807);
1988 Allpt900GeVScaling->SetBinContent(18,0.09909555);
1989 Allpt900GeVScaling->SetBinContent(19,0.09191239);
1990 Allpt900GeVScaling->SetBinContent(20,0.08438053);
1991 Allpt900GeVScaling->SetBinContent(21,0.07119319);
1992 Allpt900GeVScaling->SetBinContent(22,0.05773434);
1993 Allpt900GeVScaling->SetBinContent(23,0.04292845);
1994 Allpt900GeVScaling->SetBinContent(24,0.0396127);
1995 Allpt900GeVScaling->SetBinContent(25,0.03395077);
1996 Allpt900GeVScaling->SetBinContent(26,0.03305251);
1997 Allpt900GeVScaling->SetBinContent(27,0.03297093);
1998 Allpt900GeVScaling->SetBinContent(28,0.031215);
1999 Allpt900GeVScaling->SetBinContent(29,0.03178372);
2000 Allpt900GeVScaling->SetBinContent(30,0.03236985);
2001 Allpt900GeVScaling->SetBinContent(31,0.03271276);
2002 Allpt900GeVScaling->SetBinContent(32,0.02993124);
2003 Allpt900GeVScaling->SetBinContent(33,0.03004746);
2004 Allpt900GeVScaling->SetBinContent(34,0.03077143);
2005 Allpt900GeVScaling->SetBinContent(35,0.03211214);
2006 Allpt900GeVScaling->SetBinContent(36,0.02807512);
2007 Allpt900GeVScaling->SetBinContent(37,0.02651954);
2008 Allpt900GeVScaling->SetBinContent(38,0.02503885);
2009 Allpt900GeVScaling->SetBinContent(39,0.02325777);
2010 Allpt900GeVScaling->SetBinContent(40,0.02773712);
2011 Allpt900GeVScaling->SetBinContent(41,0.02491155);
2012 Allpt900GeVScaling->SetBinContent(42,0.02389028);
2013 Allpt900GeVScaling->SetBinContent(43,0.02085532);
2014 Allpt900GeVScaling->SetBinContent(44,0.01959721);
2015 Allpt900GeVScaling->SetBinContent(45,0.01937255);
2016 Allpt900GeVScaling->SetBinContent(46,0.01745646);
2017 Allpt900GeVScaling->SetBinContent(47,0.01890853);
2018 Allpt900GeVScaling->SetBinContent(48,0.02053692);
2019 Allpt900GeVScaling->SetBinContent(49,0.01813791);
2020 Allpt900GeVScaling->SetBinContent(50,0.02187495);
2021 Allpt900GeVScaling->SetBinContent(51,0.02409687);
2022 Allpt900GeVScaling->SetBinContent(52,0.0206565);
2023 Allpt900GeVScaling->SetBinContent(53,0.02269165);
2024 Allpt900GeVScaling->SetBinContent(54,0.01850795);
2025 Allpt900GeVScaling->SetBinContent(55,0.02115427);
2026 Allpt900GeVScaling->SetBinContent(56,0.01543302);
2027 Allpt900GeVScaling->SetBinContent(57,0.01642095);
2028 Allpt900GeVScaling->SetBinContent(58,0.01542331);
2029 Allpt900GeVScaling->SetBinContent(59,0.01931254);
2030 Allpt900GeVScaling->SetBinContent(60,0.01650654);
2031 Allpt900GeVScaling->SetBinContent(61,0.01827512);
2032 Allpt900GeVScaling->SetBinContent(62,0.01700125);
2033 Allpt900GeVScaling->SetBinContent(63,0.01544321);
2034 Allpt900GeVScaling->SetBinContent(64,0.01830588);
2035 Allpt900GeVScaling->SetBinContent(65,0.01584369);
2036 Allpt900GeVScaling->SetBinContent(66,0.0145421);
2037 Allpt900GeVScaling->SetBinContent(67,0.01382206);
2038 Allpt900GeVScaling->SetBinContent(68,0.01358825);
2039 Allpt900GeVScaling->SetBinContent(69,0.01294888);
2040 Allpt900GeVScaling->SetBinContent(70,0.009346655);
2041 Allpt900GeVScaling->SetBinContent(71,0.01235781);
2042 Allpt900GeVScaling->SetBinContent(72,0.0127376);
2043 Allpt900GeVScaling->SetBinContent(73,0.008968166);
2044 Allpt900GeVScaling->SetBinContent(74,0.01467765);
2045 Allpt900GeVScaling->SetBinContent(75,0.01432309);
2046 Allpt900GeVScaling->SetBinContent(76,0.01204856);
2047 Allpt900GeVScaling->SetBinContent(77,0.01436071);
2048 Allpt900GeVScaling->SetBinContent(78,0.01451222);
2049 Allpt900GeVScaling->SetBinContent(79,0.01378967);
2050 Allpt900GeVScaling->SetBinContent(80,0.01040148);
2051 Allpt900GeVScaling->SetBinContent(81,0.01041213);
2052 Allpt900GeVScaling->SetBinContent(82,0.009971816);
2053 Allpt900GeVScaling->SetBinContent(83,0.01417668);
2054 Allpt900GeVScaling->SetBinContent(84,0.008713292);
2055 Allpt900GeVScaling->SetBinContent(85,0.005425386);
2056 Allpt900GeVScaling->SetBinContent(86,0.005303683);
2057 Allpt900GeVScaling->SetBinContent(87,0.006759432);
2058 Allpt900GeVScaling->SetBinContent(88,0.004445477);
2059 Allpt900GeVScaling->SetBinContent(89,0.01810702);
2060 Allpt900GeVScaling->SetBinContent(90,0.0108909);
2061 Allpt900GeVScaling->SetBinContent(91,0.01186746);
2062 Allpt900GeVScaling->SetBinContent(92,0.006128581);
2063 Allpt900GeVScaling->SetBinContent(93,0.007452721);
2064 Allpt900GeVScaling->SetBinContent(94,0.0259471);
2065 Allpt900GeVScaling->SetBinContent(95,0.0114321);
2066 Allpt900GeVScaling->SetBinContent(98,0.03264295);
2067 Allpt900GeVScaling->SetBinContent(103,0.07829265);
2068 Allpt900GeVScaling->SetBinError(13,0.03504783);
2069 Allpt900GeVScaling->SetBinError(14,0.007336667);
2070 Allpt900GeVScaling->SetBinError(15,0.004765958);
2071 Allpt900GeVScaling->SetBinError(16,0.004028143);
2072 Allpt900GeVScaling->SetBinError(17,0.003760166);
2073 Allpt900GeVScaling->SetBinError(18,0.003357858);
2074 Allpt900GeVScaling->SetBinError(19,0.003156502);
2075 Allpt900GeVScaling->SetBinError(20,0.002970822);
2076 Allpt900GeVScaling->SetBinError(21,0.001886555);
2077 Allpt900GeVScaling->SetBinError(22,0.001676045);
2078 Allpt900GeVScaling->SetBinError(23,0.001411794);
2079 Allpt900GeVScaling->SetBinError(24,0.001346425);
2080 Allpt900GeVScaling->SetBinError(25,0.001254258);
2081 Allpt900GeVScaling->SetBinError(26,0.001299384);
2082 Allpt900GeVScaling->SetBinError(27,0.001328066);
2083 Allpt900GeVScaling->SetBinError(28,0.001330088);
2084 Allpt900GeVScaling->SetBinError(29,0.001446767);
2085 Allpt900GeVScaling->SetBinError(30,0.00145402);
2086 Allpt900GeVScaling->SetBinError(31,0.001463994);
2087 Allpt900GeVScaling->SetBinError(32,0.001449209);
2088 Allpt900GeVScaling->SetBinError(33,0.001414847);
2089 Allpt900GeVScaling->SetBinError(34,0.001598429);
2090 Allpt900GeVScaling->SetBinError(35,0.001590854);
2091 Allpt900GeVScaling->SetBinError(36,0.001526798);
2092 Allpt900GeVScaling->SetBinError(37,0.001486126);
2093 Allpt900GeVScaling->SetBinError(38,0.001457142);
2094 Allpt900GeVScaling->SetBinError(39,0.001474238);
2095 Allpt900GeVScaling->SetBinError(40,0.001757902);
2096 Allpt900GeVScaling->SetBinError(41,0.001712601);
2097 Allpt900GeVScaling->SetBinError(42,0.001671385);
2098 Allpt900GeVScaling->SetBinError(43,0.001570556);
2099 Allpt900GeVScaling->SetBinError(44,0.001627725);
2100 Allpt900GeVScaling->SetBinError(45,0.001637262);
2101 Allpt900GeVScaling->SetBinError(46,0.001641227);
2102 Allpt900GeVScaling->SetBinError(47,0.001716345);
2103 Allpt900GeVScaling->SetBinError(48,0.001907778);
2104 Allpt900GeVScaling->SetBinError(49,0.001842589);
2105 Allpt900GeVScaling->SetBinError(50,0.00215445);
2106 Allpt900GeVScaling->SetBinError(51,0.002310602);
2107 Allpt900GeVScaling->SetBinError(52,0.002171046);
2108 Allpt900GeVScaling->SetBinError(53,0.002386521);
2109 Allpt900GeVScaling->SetBinError(54,0.002149237);
2110 Allpt900GeVScaling->SetBinError(55,0.002233898);
2111 Allpt900GeVScaling->SetBinError(56,0.001856697);
2112 Allpt900GeVScaling->SetBinError(57,0.001891742);
2113 Allpt900GeVScaling->SetBinError(58,0.001840334);
2114 Allpt900GeVScaling->SetBinError(59,0.002168741);
2115 Allpt900GeVScaling->SetBinError(60,0.002044863);
2116 Allpt900GeVScaling->SetBinError(61,0.001431972);
2117 Allpt900GeVScaling->SetBinError(62,0.001452706);
2118 Allpt900GeVScaling->SetBinError(63,0.001477499);
2119 Allpt900GeVScaling->SetBinError(64,0.001722091);
2120 Allpt900GeVScaling->SetBinError(65,0.001674803);
2121 Allpt900GeVScaling->SetBinError(66,0.001737491);
2122 Allpt900GeVScaling->SetBinError(67,0.001783912);
2123 Allpt900GeVScaling->SetBinError(68,0.00186443);
2124 Allpt900GeVScaling->SetBinError(69,0.001965873);
2125 Allpt900GeVScaling->SetBinError(70,0.001687347);
2126 Allpt900GeVScaling->SetBinError(71,0.002072538);
2127 Allpt900GeVScaling->SetBinError(72,0.002233273);
2128 Allpt900GeVScaling->SetBinError(73,0.001965905);
2129 Allpt900GeVScaling->SetBinError(74,0.002669571);
2130 Allpt900GeVScaling->SetBinError(75,0.00278613);
2131 Allpt900GeVScaling->SetBinError(76,0.002661412);
2132 Allpt900GeVScaling->SetBinError(77,0.002952605);
2133 Allpt900GeVScaling->SetBinError(78,0.003268721);
2134 Allpt900GeVScaling->SetBinError(79,0.003273694);
2135 Allpt900GeVScaling->SetBinError(80,0.002900898);
2136 Allpt900GeVScaling->SetBinError(81,0.001677933);
2137 Allpt900GeVScaling->SetBinError(82,0.001933408);
2138 Allpt900GeVScaling->SetBinError(83,0.002759328);
2139 Allpt900GeVScaling->SetBinError(84,0.002526604);
2140 Allpt900GeVScaling->SetBinError(85,0.002297818);
2141 Allpt900GeVScaling->SetBinError(86,0.002659213);
2142 Allpt900GeVScaling->SetBinError(87,0.003392141);
2143 Allpt900GeVScaling->SetBinError(88,0.003150511);
2144 Allpt900GeVScaling->SetBinError(89,0.007499872);
2145 Allpt900GeVScaling->SetBinError(90,0.006322856);
2146 Allpt900GeVScaling->SetBinError(91,0.00689283);
2147 Allpt900GeVScaling->SetBinError(92,0.006146806);
2148 Allpt900GeVScaling->SetBinError(93,0.007481131);
2149 Allpt900GeVScaling->SetBinError(94,0.01853139);
2150 Allpt900GeVScaling->SetBinError(95,0.01149767);
2151 Allpt900GeVScaling->SetBinError(98,0.02345991);
2152 Allpt900GeVScaling->SetBinError(103,0.08126059);
2153 Allpt900GeVScaling->SetMinimum(0);
2154 Allpt900GeVScaling->SetMaximum(0.04);
2155 Allpt900GeVScaling->SetEntries(724.3671);
2156 Allpt900GeVScaling->SetStats(0);
2157 Allpt900GeVScaling->SetMarkerStyle(20);
2158 Allpt900GeVScaling->GetXaxis()->SetTitle("p_{T}");
2159 Allpt900GeVScaling->GetXaxis()->SetRange(1,91);
2160 Allpt900GeVScaling->GetYaxis()->SetTitle("Ratio of E_{T}^{background}/E_{T}^{had, meas.}");
2161 Allpt900GeVScaling->GetYaxis()->SetTitleOffset(1.2);
2162 Allpt7TeVScaling->Add(Allpt900GeVScaling);
2163 Allpt7TeVScaling->Scale(0.5);
2164 delete Allpt900GeVScaling;
2165 return Allpt7TeVScaling;
2166}
2167
2168TH1D *PbPb276TPCBkgd(){
2169 TH1D *Allpt7TeVScaling = new TH1D("Allpt7TeVScaling","Reconstructed E_{T} from misidentified electrons",111, xAxis1);
2170 Allpt7TeVScaling->SetBinContent(13,0.1745755);
2171 Allpt7TeVScaling->SetBinContent(14,0.1624186);
2172 Allpt7TeVScaling->SetBinContent(15,0.1431048);
2173 Allpt7TeVScaling->SetBinContent(16,0.1331614);
2174 Allpt7TeVScaling->SetBinContent(17,0.121262);
2175 Allpt7TeVScaling->SetBinContent(18,0.1082923);
2176 Allpt7TeVScaling->SetBinContent(19,0.1011451);
2177 Allpt7TeVScaling->SetBinContent(20,0.08875923);
2178 Allpt7TeVScaling->SetBinContent(21,0.08100933);
2179 Allpt7TeVScaling->SetBinContent(22,0.06527292);
2180 Allpt7TeVScaling->SetBinContent(23,0.05220065);
2181 Allpt7TeVScaling->SetBinContent(24,0.04752904);
2182 Allpt7TeVScaling->SetBinContent(25,0.04421568);
2183 Allpt7TeVScaling->SetBinContent(26,0.03879551);
2184 Allpt7TeVScaling->SetBinContent(27,0.03944679);
2185 Allpt7TeVScaling->SetBinContent(28,0.03707215);
2186 Allpt7TeVScaling->SetBinContent(29,0.03663599);
2187 Allpt7TeVScaling->SetBinContent(30,0.03937437);
2188 Allpt7TeVScaling->SetBinContent(31,0.03888919);
2189 Allpt7TeVScaling->SetBinContent(32,0.03646502);
2190 Allpt7TeVScaling->SetBinContent(33,0.03784992);
2191 Allpt7TeVScaling->SetBinContent(34,0.03360079);
2192 Allpt7TeVScaling->SetBinContent(35,0.03761566);
2193 Allpt7TeVScaling->SetBinContent(36,0.03276653);
2194 Allpt7TeVScaling->SetBinContent(37,0.03401566);
2195 Allpt7TeVScaling->SetBinContent(38,0.02803893);
2196 Allpt7TeVScaling->SetBinContent(39,0.0290018);
2197 Allpt7TeVScaling->SetBinContent(40,0.03323201);
2198 Allpt7TeVScaling->SetBinContent(41,0.03006077);
2199 Allpt7TeVScaling->SetBinContent(42,0.02867674);
2200 Allpt7TeVScaling->SetBinContent(43,0.02471421);
2201 Allpt7TeVScaling->SetBinContent(44,0.02610375);
2202 Allpt7TeVScaling->SetBinContent(45,0.02601621);
2203 Allpt7TeVScaling->SetBinContent(46,0.02184781);
2204 Allpt7TeVScaling->SetBinContent(47,0.02479646);
2205 Allpt7TeVScaling->SetBinContent(48,0.02519956);
2206 Allpt7TeVScaling->SetBinContent(49,0.02376095);
2207 Allpt7TeVScaling->SetBinContent(50,0.02836189);
2208 Allpt7TeVScaling->SetBinContent(51,0.0339595);
2209 Allpt7TeVScaling->SetBinContent(52,0.03057126);
2210 Allpt7TeVScaling->SetBinContent(53,0.03238621);
2211 Allpt7TeVScaling->SetBinContent(54,0.0264272);
2212 Allpt7TeVScaling->SetBinContent(55,0.03203146);
2213 Allpt7TeVScaling->SetBinContent(56,0.02554187);
2214 Allpt7TeVScaling->SetBinContent(57,0.02901947);
2215 Allpt7TeVScaling->SetBinContent(58,0.02584016);
2216 Allpt7TeVScaling->SetBinContent(59,0.03055042);
2217 Allpt7TeVScaling->SetBinContent(60,0.02658193);
2218 Allpt7TeVScaling->SetBinContent(61,0.02553988);
2219 Allpt7TeVScaling->SetBinContent(62,0.02787508);
2220 Allpt7TeVScaling->SetBinContent(63,0.02836785);
2221 Allpt7TeVScaling->SetBinContent(64,0.03449766);
2222 Allpt7TeVScaling->SetBinContent(65,0.02710397);
2223 Allpt7TeVScaling->SetBinContent(66,0.02741966);
2224 Allpt7TeVScaling->SetBinContent(67,0.03184318);
2225 Allpt7TeVScaling->SetBinContent(68,0.02993716);
2226 Allpt7TeVScaling->SetBinContent(69,0.03113033);
2227 Allpt7TeVScaling->SetBinContent(70,0.01946293);
2228 Allpt7TeVScaling->SetBinContent(71,0.02890383);
2229 Allpt7TeVScaling->SetBinContent(72,0.02602078);
2230 Allpt7TeVScaling->SetBinContent(73,0.02063028);
2231 Allpt7TeVScaling->SetBinContent(74,0.03186679);
2232 Allpt7TeVScaling->SetBinContent(75,0.0399062);
2233 Allpt7TeVScaling->SetBinContent(76,0.02051914);
2234 Allpt7TeVScaling->SetBinContent(77,0.04454688);
2235 Allpt7TeVScaling->SetBinContent(78,0.04798449);
2236 Allpt7TeVScaling->SetBinContent(79,0.0311417);
2237 Allpt7TeVScaling->SetBinContent(80,0.03774521);
2238 Allpt7TeVScaling->SetBinContent(81,0.0219128);
2239 Allpt7TeVScaling->SetBinContent(82,0.02323492);
2240 Allpt7TeVScaling->SetBinContent(83,0.02412182);
2241 Allpt7TeVScaling->SetBinContent(84,0.03636555);
2242 Allpt7TeVScaling->SetBinContent(85,0.007488934);
2243 Allpt7TeVScaling->SetBinContent(86,0.01676086);
2244 Allpt7TeVScaling->SetBinContent(87,0.02427021);
2245 Allpt7TeVScaling->SetBinContent(88,0.02482882);
2246 Allpt7TeVScaling->SetBinContent(89,0.03680926);
2247 Allpt7TeVScaling->SetBinContent(90,0.01600685);
2248 Allpt7TeVScaling->SetBinContent(91,0.006885685);
2249 Allpt7TeVScaling->SetBinContent(93,0.0195411);
2250 Allpt7TeVScaling->SetBinContent(94,0.008862645);
2251 Allpt7TeVScaling->SetBinContent(95,0.009963223);
2252 Allpt7TeVScaling->SetBinContent(96,0.01399091);
2253 Allpt7TeVScaling->SetBinContent(97,0.007500135);
2254 Allpt7TeVScaling->SetBinContent(98,0.01922651);
2255 Allpt7TeVScaling->SetBinContent(103,0.03511665);
2256 Allpt7TeVScaling->SetBinError(13,0.03042345);
2257 Allpt7TeVScaling->SetBinError(14,0.007201474);
2258 Allpt7TeVScaling->SetBinError(15,0.004623859);
2259 Allpt7TeVScaling->SetBinError(16,0.004039713);
2260 Allpt7TeVScaling->SetBinError(17,0.003694238);
2261 Allpt7TeVScaling->SetBinError(18,0.003377785);
2262 Allpt7TeVScaling->SetBinError(19,0.00319956);
2263 Allpt7TeVScaling->SetBinError(20,0.00294949);
2264 Allpt7TeVScaling->SetBinError(21,0.001965652);
2265 Allpt7TeVScaling->SetBinError(22,0.001771706);
2266 Allpt7TeVScaling->SetBinError(23,0.0015726);
2267 Allpt7TeVScaling->SetBinError(24,0.001495611);
2268 Allpt7TeVScaling->SetBinError(25,0.00145454);
2269 Allpt7TeVScaling->SetBinError(26,0.001398941);
2270 Allpt7TeVScaling->SetBinError(27,0.001495129);
2271 Allpt7TeVScaling->SetBinError(28,0.001474393);
2272 Allpt7TeVScaling->SetBinError(29,0.001608602);
2273 Allpt7TeVScaling->SetBinError(30,0.001684714);
2274 Allpt7TeVScaling->SetBinError(31,0.001755251);
2275 Allpt7TeVScaling->SetBinError(32,0.001658064);
2276 Allpt7TeVScaling->SetBinError(33,0.001734642);
2277 Allpt7TeVScaling->SetBinError(34,0.001624169);
2278 Allpt7TeVScaling->SetBinError(35,0.001893747);
2279 Allpt7TeVScaling->SetBinError(36,0.001748243);
2280 Allpt7TeVScaling->SetBinError(37,0.001824646);
2281 Allpt7TeVScaling->SetBinError(38,0.001587514);
2282 Allpt7TeVScaling->SetBinError(39,0.001697203);
2283 Allpt7TeVScaling->SetBinError(40,0.002112545);
2284 Allpt7TeVScaling->SetBinError(41,0.002060819);
2285 Allpt7TeVScaling->SetBinError(42,0.002026571);
2286 Allpt7TeVScaling->SetBinError(43,0.001821759);
2287 Allpt7TeVScaling->SetBinError(44,0.002051793);
2288 Allpt7TeVScaling->SetBinError(45,0.002193957);
2289 Allpt7TeVScaling->SetBinError(46,0.001991362);
2290 Allpt7TeVScaling->SetBinError(47,0.002242771);
2291 Allpt7TeVScaling->SetBinError(48,0.002305595);
2292 Allpt7TeVScaling->SetBinError(49,0.002335076);
2293 Allpt7TeVScaling->SetBinError(50,0.002798601);
2294 Allpt7TeVScaling->SetBinError(51,0.003536788);
2295 Allpt7TeVScaling->SetBinError(52,0.003440952);
2296 Allpt7TeVScaling->SetBinError(53,0.003495971);
2297 Allpt7TeVScaling->SetBinError(54,0.003067046);
2298 Allpt7TeVScaling->SetBinError(55,0.003553133);
2299 Allpt7TeVScaling->SetBinError(56,0.003084681);
2300 Allpt7TeVScaling->SetBinError(57,0.003207651);
2301 Allpt7TeVScaling->SetBinError(58,0.002958898);
2302 Allpt7TeVScaling->SetBinError(59,0.003486212);
2303 Allpt7TeVScaling->SetBinError(60,0.003160784);
2304 Allpt7TeVScaling->SetBinError(61,0.00221753);
2305 Allpt7TeVScaling->SetBinError(62,0.002573063);
2306 Allpt7TeVScaling->SetBinError(63,0.003014171);
2307 Allpt7TeVScaling->SetBinError(64,0.003535776);
2308 Allpt7TeVScaling->SetBinError(65,0.003472028);
2309 Allpt7TeVScaling->SetBinError(66,0.003649103);
2310 Allpt7TeVScaling->SetBinError(67,0.004547596);
2311 Allpt7TeVScaling->SetBinError(68,0.004987629);
2312 Allpt7TeVScaling->SetBinError(69,0.005726305);
2313 Allpt7TeVScaling->SetBinError(70,0.003978767);
2314 Allpt7TeVScaling->SetBinError(71,0.00668463);
2315 Allpt7TeVScaling->SetBinError(72,0.005573138);
2316 Allpt7TeVScaling->SetBinError(73,0.005310436);
2317 Allpt7TeVScaling->SetBinError(74,0.007698246);
2318 Allpt7TeVScaling->SetBinError(75,0.01002912);
2319 Allpt7TeVScaling->SetBinError(76,0.006029285);
2320 Allpt7TeVScaling->SetBinError(77,0.0117225);
2321 Allpt7TeVScaling->SetBinError(78,0.01333887);
2322 Allpt7TeVScaling->SetBinError(79,0.009949805);
2323 Allpt7TeVScaling->SetBinError(80,0.01335105);
2324 Allpt7TeVScaling->SetBinError(81,0.004966615);
2325 Allpt7TeVScaling->SetBinError(82,0.006669427);
2326 Allpt7TeVScaling->SetBinError(83,0.007591192);
2327 Allpt7TeVScaling->SetBinError(84,0.01217267);
2328 Allpt7TeVScaling->SetBinError(85,0.002708538);
2329 Allpt7TeVScaling->SetBinError(86,0.008143581);
2330 Allpt7TeVScaling->SetBinError(87,0.01149673);
2331 Allpt7TeVScaling->SetBinError(88,0.01759547);
2332 Allpt7TeVScaling->SetBinError(89,0.01766708);
2333 Allpt7TeVScaling->SetBinError(90,0.01339557);
2334 Allpt7TeVScaling->SetBinError(91,0.004886052);
2335 Allpt7TeVScaling->SetBinError(93,0.01960311);
2336 Allpt7TeVScaling->SetBinError(94,0.008892003);
2337 Allpt7TeVScaling->SetBinError(95,0.01001297);
2338 Allpt7TeVScaling->SetBinError(96,0.008178781);
2339 Allpt7TeVScaling->SetBinError(97,0.007527505);
2340 Allpt7TeVScaling->SetBinError(98,0.01463862);
2341 Allpt7TeVScaling->SetBinError(103,0.03621621);
2342 Allpt7TeVScaling->SetMinimum(0);
2343 Allpt7TeVScaling->SetMaximum(0.04);
2344 Allpt7TeVScaling->SetEntries(1949.423);
2345 Allpt7TeVScaling->SetStats(0);
2346 Allpt7TeVScaling->SetMarkerStyle(20);
2347 Allpt7TeVScaling->GetXaxis()->SetTitle("p_{T}");
2348 Allpt7TeVScaling->GetXaxis()->SetRange(1,91);
2349 Allpt7TeVScaling->GetYaxis()->SetTitle("Ratio of E_{T}^{background}/E_{T}^{had, meas.}");
2350 Allpt7TeVScaling->GetYaxis()->SetTitleOffset(1.2);
2351
2352 TH1D *Allpt900GeVScaling = new TH1D("Allpt900GeVScaling","Reconstructed E_{T} from misidentified electrons",111, xAxis1);
2353 Allpt900GeVScaling->SetBinContent(13,0.2098361);
2354 Allpt900GeVScaling->SetBinContent(14,0.1557776);
2355 Allpt900GeVScaling->SetBinContent(15,0.1480364);
2356 Allpt900GeVScaling->SetBinContent(16,0.1368096);
2357 Allpt900GeVScaling->SetBinContent(17,0.1244875);
2358 Allpt900GeVScaling->SetBinContent(18,0.1119436);
2359 Allpt900GeVScaling->SetBinContent(19,0.104192);
2360 Allpt900GeVScaling->SetBinContent(20,0.0938359);
2361 Allpt900GeVScaling->SetBinContent(21,0.08228509);
2362 Allpt900GeVScaling->SetBinContent(22,0.06783117);
2363 Allpt900GeVScaling->SetBinContent(23,0.05079209);
2364 Allpt900GeVScaling->SetBinContent(24,0.04795673);
2365 Allpt900GeVScaling->SetBinContent(25,0.04181242);
2366 Allpt900GeVScaling->SetBinContent(26,0.03994469);
2367 Allpt900GeVScaling->SetBinContent(27,0.03981588);
2368 Allpt900GeVScaling->SetBinContent(28,0.0377358);
2369 Allpt900GeVScaling->SetBinContent(29,0.0399667);
2370 Allpt900GeVScaling->SetBinContent(30,0.04095473);
2371 Allpt900GeVScaling->SetBinContent(31,0.04058456);
2372 Allpt900GeVScaling->SetBinContent(32,0.03641218);
2373 Allpt900GeVScaling->SetBinContent(33,0.03599966);
2374 Allpt900GeVScaling->SetBinContent(34,0.03853838);
2375 Allpt900GeVScaling->SetBinContent(35,0.04105409);
2376 Allpt900GeVScaling->SetBinContent(36,0.03461075);
2377 Allpt900GeVScaling->SetBinContent(37,0.03478729);
2378 Allpt900GeVScaling->SetBinContent(38,0.03150168);
2379 Allpt900GeVScaling->SetBinContent(39,0.03121329);
2380 Allpt900GeVScaling->SetBinContent(40,0.0370806);
2381 Allpt900GeVScaling->SetBinContent(41,0.03322445);
2382 Allpt900GeVScaling->SetBinContent(42,0.03200198);
2383 Allpt900GeVScaling->SetBinContent(43,0.02753292);
2384 Allpt900GeVScaling->SetBinContent(44,0.02776155);
2385 Allpt900GeVScaling->SetBinContent(45,0.02671865);
2386 Allpt900GeVScaling->SetBinContent(46,0.02612601);
2387 Allpt900GeVScaling->SetBinContent(47,0.02779079);
2388 Allpt900GeVScaling->SetBinContent(48,0.02762603);
2389 Allpt900GeVScaling->SetBinContent(49,0.0288977);
2390 Allpt900GeVScaling->SetBinContent(50,0.03181282);
2391 Allpt900GeVScaling->SetBinContent(51,0.04194707);
2392 Allpt900GeVScaling->SetBinContent(52,0.03287613);
2393 Allpt900GeVScaling->SetBinContent(53,0.04363778);
2394 Allpt900GeVScaling->SetBinContent(54,0.03003709);
2395 Allpt900GeVScaling->SetBinContent(55,0.03286254);
2396 Allpt900GeVScaling->SetBinContent(56,0.02585759);
2397 Allpt900GeVScaling->SetBinContent(57,0.03390592);
2398 Allpt900GeVScaling->SetBinContent(58,0.03212414);
2399 Allpt900GeVScaling->SetBinContent(59,0.03559123);
2400 Allpt900GeVScaling->SetBinContent(60,0.02464371);
2401 Allpt900GeVScaling->SetBinContent(61,0.03680997);
2402 Allpt900GeVScaling->SetBinContent(62,0.03569024);
2403 Allpt900GeVScaling->SetBinContent(63,0.03662885);
2404 Allpt900GeVScaling->SetBinContent(64,0.04690057);
2405 Allpt900GeVScaling->SetBinContent(65,0.04036927);
2406 Allpt900GeVScaling->SetBinContent(66,0.03237555);
2407 Allpt900GeVScaling->SetBinContent(67,0.04285642);
2408 Allpt900GeVScaling->SetBinContent(68,0.04778185);
2409 Allpt900GeVScaling->SetBinContent(69,0.0411135);
2410 Allpt900GeVScaling->SetBinContent(70,0.02465524);
2411 Allpt900GeVScaling->SetBinContent(71,0.03686565);
2412 Allpt900GeVScaling->SetBinContent(72,0.03694553);
2413 Allpt900GeVScaling->SetBinContent(73,0.02206743);
2414 Allpt900GeVScaling->SetBinContent(74,0.04854334);
2415 Allpt900GeVScaling->SetBinContent(75,0.04190287);
2416 Allpt900GeVScaling->SetBinContent(76,0.03255752);
2417 Allpt900GeVScaling->SetBinContent(77,0.0715847);
2418 Allpt900GeVScaling->SetBinContent(78,0.07329647);
2419 Allpt900GeVScaling->SetBinContent(79,0.02727783);
2420 Allpt900GeVScaling->SetBinContent(80,0.041527);
2421 Allpt900GeVScaling->SetBinContent(81,0.0400001);
2422 Allpt900GeVScaling->SetBinContent(82,0.0246785);
2423 Allpt900GeVScaling->SetBinContent(83,0.03546198);
2424 Allpt900GeVScaling->SetBinContent(84,0.0244789);
2425 Allpt900GeVScaling->SetBinContent(85,0.01692187);
2426 Allpt900GeVScaling->SetBinContent(86,0.01669025);
2427 Allpt900GeVScaling->SetBinContent(87,0.01506698);
2428 Allpt900GeVScaling->SetBinContent(88,0.02896953);
2429 Allpt900GeVScaling->SetBinContent(89,0.04019321);
2430 Allpt900GeVScaling->SetBinContent(90,0.0108909);
2431 Allpt900GeVScaling->SetBinContent(91,0.02059646);
2432 Allpt900GeVScaling->SetBinContent(92,0.01781294);
2433 Allpt900GeVScaling->SetBinContent(93,0.01930956);
2434 Allpt900GeVScaling->SetBinContent(94,0.0259471);
2435 Allpt900GeVScaling->SetBinContent(95,0.0114321);
2436 Allpt900GeVScaling->SetBinContent(98,0.04961994);
2437 Allpt900GeVScaling->SetBinContent(103,0.1436233);
2438 Allpt900GeVScaling->SetBinError(13,0.04135227);
2439 Allpt900GeVScaling->SetBinError(14,0.007955716);
2440 Allpt900GeVScaling->SetBinError(15,0.005353158);
2441 Allpt900GeVScaling->SetBinError(16,0.00465994);
2442 Allpt900GeVScaling->SetBinError(17,0.004317818);
2443 Allpt900GeVScaling->SetBinError(18,0.003992759);
2444 Allpt900GeVScaling->SetBinError(19,0.003794229);
2445 Allpt900GeVScaling->SetBinError(20,0.003428406);
2446 Allpt900GeVScaling->SetBinError(21,0.002309662);
2447 Allpt900GeVScaling->SetBinError(22,0.002082593);
2448 Allpt900GeVScaling->SetBinError(23,0.001768867);
2449 Allpt900GeVScaling->SetBinError(24,0.001734781);
2450 Allpt900GeVScaling->SetBinError(25,0.001668325);
2451 Allpt900GeVScaling->SetBinError(26,0.001736728);
2452 Allpt900GeVScaling->SetBinError(27,0.001793642);
2453 Allpt900GeVScaling->SetBinError(28,0.001824914);
2454 Allpt900GeVScaling->SetBinError(29,0.002216558);
2455 Allpt900GeVScaling->SetBinError(30,0.00224095);
2456 Allpt900GeVScaling->SetBinError(31,0.002244602);
2457 Allpt900GeVScaling->SetBinError(32,0.002073202);
2458 Allpt900GeVScaling->SetBinError(33,0.001913981);
2459 Allpt900GeVScaling->SetBinError(34,0.002456659);
2460 Allpt900GeVScaling->SetBinError(35,0.002596584);
2461 Allpt900GeVScaling->SetBinError(36,0.002232065);
2462 Allpt900GeVScaling->SetBinError(37,0.00251725);
2463 Allpt900GeVScaling->SetBinError(38,0.002196274);
2464 Allpt900GeVScaling->SetBinError(39,0.002513529);
2465 Allpt900GeVScaling->SetBinError(40,0.002973807);
2466 Allpt900GeVScaling->SetBinError(41,0.002807704);
2467 Allpt900GeVScaling->SetBinError(42,0.002773487);
2468 Allpt900GeVScaling->SetBinError(43,0.002527062);
2469 Allpt900GeVScaling->SetBinError(44,0.002921618);
2470 Allpt900GeVScaling->SetBinError(45,0.002907984);
2471 Allpt900GeVScaling->SetBinError(46,0.003115439);
2472 Allpt900GeVScaling->SetBinError(47,0.003224686);
2473 Allpt900GeVScaling->SetBinError(48,0.00312276);
2474 Allpt900GeVScaling->SetBinError(49,0.00393121);
2475 Allpt900GeVScaling->SetBinError(50,0.003948797);
2476 Allpt900GeVScaling->SetBinError(51,0.005565144);
2477 Allpt900GeVScaling->SetBinError(52,0.004615559);
2478 Allpt900GeVScaling->SetBinError(53,0.006431509);
2479 Allpt900GeVScaling->SetBinError(54,0.004787345);
2480 Allpt900GeVScaling->SetBinError(55,0.004506561);
2481 Allpt900GeVScaling->SetBinError(56,0.004277351);
2482 Allpt900GeVScaling->SetBinError(57,0.005084143);
2483 Allpt900GeVScaling->SetBinError(58,0.005085463);
2484 Allpt900GeVScaling->SetBinError(59,0.005312616);
2485 Allpt900GeVScaling->SetBinError(60,0.003899113);
2486 Allpt900GeVScaling->SetBinError(61,0.003977416);
2487 Allpt900GeVScaling->SetBinError(62,0.004292332);
2488 Allpt900GeVScaling->SetBinError(63,0.005072534);
2489 Allpt900GeVScaling->SetBinError(64,0.006271891);
2490 Allpt900GeVScaling->SetBinError(65,0.006463988);
2491 Allpt900GeVScaling->SetBinError(66,0.005869634);
2492 Allpt900GeVScaling->SetBinError(67,0.008405251);
2493 Allpt900GeVScaling->SetBinError(68,0.009847454);
2494 Allpt900GeVScaling->SetBinError(69,0.009749354);
2495 Allpt900GeVScaling->SetBinError(70,0.007179523);
2496 Allpt900GeVScaling->SetBinError(71,0.01004867);
2497 Allpt900GeVScaling->SetBinError(72,0.01065873);
2498 Allpt900GeVScaling->SetBinError(73,0.007849093);
2499 Allpt900GeVScaling->SetBinError(74,0.01402708);
2500 Allpt900GeVScaling->SetBinError(75,0.01330162);
2501 Allpt900GeVScaling->SetBinError(76,0.01245402);
2502 Allpt900GeVScaling->SetBinError(77,0.02130282);
2503 Allpt900GeVScaling->SetBinError(78,0.02296044);
2504 Allpt900GeVScaling->SetBinError(79,0.01175655);
2505 Allpt900GeVScaling->SetBinError(80,0.0187519);
2506 Allpt900GeVScaling->SetBinError(81,0.009932965);
2507 Allpt900GeVScaling->SetBinError(82,0.007798875);
2508 Allpt900GeVScaling->SetBinError(83,0.01126926);
2509 Allpt900GeVScaling->SetBinError(84,0.01123177);
2510 Allpt900GeVScaling->SetBinError(85,0.01013651);
2511 Allpt900GeVScaling->SetBinError(86,0.01187595);
2512 Allpt900GeVScaling->SetBinError(87,0.009213867);
2513 Allpt900GeVScaling->SetBinError(88,0.02054123);
2514 Allpt900GeVScaling->SetBinError(89,0.01976358);
2515 Allpt900GeVScaling->SetBinError(90,0.006322856);
2516 Allpt900GeVScaling->SetBinError(91,0.01400211);
2517 Allpt900GeVScaling->SetBinError(92,0.01786717);
2518 Allpt900GeVScaling->SetBinError(93,0.01938449);
2519 Allpt900GeVScaling->SetBinError(94,0.01853139);
2520 Allpt900GeVScaling->SetBinError(95,0.01149767);
2521 Allpt900GeVScaling->SetBinError(98,0.03786105);
2522 Allpt900GeVScaling->SetBinError(103,0.1493976);
2523 Allpt900GeVScaling->SetMinimum(0);
2524 Allpt900GeVScaling->SetMaximum(0.04);
2525 Allpt900GeVScaling->SetEntries(482.6447);
2526 Allpt900GeVScaling->SetStats(0);
2527 Allpt900GeVScaling->SetMarkerStyle(20);
2528 Allpt900GeVScaling->GetXaxis()->SetTitle("p_{T}");
2529 Allpt900GeVScaling->GetXaxis()->SetRange(1,91);
2530 Allpt900GeVScaling->GetYaxis()->SetTitle("Ratio of E_{T}^{background}/E_{T}^{had, meas.}");
2531 Allpt900GeVScaling->GetYaxis()->SetTitleOffset(1.2);
2532 Allpt7TeVScaling->Add(Allpt900GeVScaling);
2533 Allpt7TeVScaling->Scale(0.5);
2534 delete Allpt900GeVScaling;
2535 return Allpt7TeVScaling;
2536}
2537
2538TH1D *pp276ITSBkgd(){
2539 TH1D *Allpt7TeVScaling = new TH1D("Allpt7TeVScaling","Reconstructed E_{T} from misidentified electrons",111, xAxis1);
2540 Allpt7TeVScaling->SetBinContent(11,0.2557976);
2541 Allpt7TeVScaling->SetBinContent(12,0.1130502);
2542 Allpt7TeVScaling->SetBinContent(13,0.07504393);
2543 Allpt7TeVScaling->SetBinContent(14,0.05774832);
2544 Allpt7TeVScaling->SetBinContent(15,0.06389806);
2545 Allpt7TeVScaling->SetBinContent(16,0.0468956);
2546 Allpt7TeVScaling->SetBinContent(17,0.04355167);
2547 Allpt7TeVScaling->SetBinContent(18,0.04035013);
2548 Allpt7TeVScaling->SetBinContent(19,0.04359472);
2549 Allpt7TeVScaling->SetBinContent(20,0.03392261);
2550 Allpt7TeVScaling->SetBinContent(21,0.0327676);
2551 Allpt7TeVScaling->SetBinContent(22,0.02916985);
2552 Allpt7TeVScaling->SetBinContent(23,0.02603138);
2553 Allpt7TeVScaling->SetBinContent(24,0.02298032);
2554 Allpt7TeVScaling->SetBinContent(25,0.02366939);
2555 Allpt7TeVScaling->SetBinContent(26,0.01941947);
2556 Allpt7TeVScaling->SetBinContent(27,0.02077003);
2557 Allpt7TeVScaling->SetBinContent(28,0.01985847);
2558 Allpt7TeVScaling->SetBinContent(29,0.0177459);
2559 Allpt7TeVScaling->SetBinContent(30,0.01889314);
2560 Allpt7TeVScaling->SetBinContent(31,0.01783637);
2561 Allpt7TeVScaling->SetBinContent(32,0.01742894);
2562 Allpt7TeVScaling->SetBinContent(33,0.01400672);
2563 Allpt7TeVScaling->SetBinContent(34,0.01509014);
2564 Allpt7TeVScaling->SetBinContent(35,0.01473409);
2565 Allpt7TeVScaling->SetBinContent(36,0.01337399);
2566 Allpt7TeVScaling->SetBinContent(37,0.01458302);
2567 Allpt7TeVScaling->SetBinContent(38,0.01103552);
2568 Allpt7TeVScaling->SetBinContent(39,0.01440217);
2569 Allpt7TeVScaling->SetBinContent(40,0.0147644);
2570 Allpt7TeVScaling->SetBinContent(41,0.01459072);
2571 Allpt7TeVScaling->SetBinContent(42,0.01318416);
2572 Allpt7TeVScaling->SetBinContent(43,0.01364365);
2573 Allpt7TeVScaling->SetBinContent(44,0.01186023);
2574 Allpt7TeVScaling->SetBinContent(45,0.01218222);
2575 Allpt7TeVScaling->SetBinContent(46,0.01015807);
2576 Allpt7TeVScaling->SetBinContent(47,0.01158454);
2577 Allpt7TeVScaling->SetBinContent(48,0.009338749);
2578 Allpt7TeVScaling->SetBinContent(49,0.01320016);
2579 Allpt7TeVScaling->SetBinContent(50,0.01029357);
2580 Allpt7TeVScaling->SetBinContent(51,0.01238829);
2581 Allpt7TeVScaling->SetBinContent(52,0.008714745);
2582 Allpt7TeVScaling->SetBinContent(53,0.01300408);
2583 Allpt7TeVScaling->SetBinContent(54,0.009445714);
2584 Allpt7TeVScaling->SetBinContent(55,0.01301231);
2585 Allpt7TeVScaling->SetBinContent(56,0.01010809);
2586 Allpt7TeVScaling->SetBinContent(57,0.01181843);
2587 Allpt7TeVScaling->SetBinContent(58,0.01037317);
2588 Allpt7TeVScaling->SetBinContent(59,0.01172911);
2589 Allpt7TeVScaling->SetBinContent(60,0.007576451);
2590 Allpt7TeVScaling->SetBinContent(61,0.011185);
2591 Allpt7TeVScaling->SetBinContent(62,0.01009882);
2592 Allpt7TeVScaling->SetBinContent(63,0.01042078);
2593 Allpt7TeVScaling->SetBinContent(64,0.01079128);
2594 Allpt7TeVScaling->SetBinContent(65,0.008657009);
2595 Allpt7TeVScaling->SetBinContent(66,0.009641373);
2596 Allpt7TeVScaling->SetBinContent(67,0.01201938);
2597 Allpt7TeVScaling->SetBinContent(68,0.01031088);
2598 Allpt7TeVScaling->SetBinContent(69,0.009905995);
2599 Allpt7TeVScaling->SetBinContent(70,0.009569216);
2600 Allpt7TeVScaling->SetBinContent(71,0.009473246);
2601 Allpt7TeVScaling->SetBinContent(72,0.00825013);
2602 Allpt7TeVScaling->SetBinContent(73,0.008405926);
2603 Allpt7TeVScaling->SetBinContent(74,0.006479467);
2604 Allpt7TeVScaling->SetBinContent(75,0.01135131);
2605 Allpt7TeVScaling->SetBinContent(76,0.007318432);
2606 Allpt7TeVScaling->SetBinContent(77,0.01145386);
2607 Allpt7TeVScaling->SetBinContent(78,0.01425465);
2608 Allpt7TeVScaling->SetBinContent(79,0.01205772);
2609 Allpt7TeVScaling->SetBinContent(80,0.009454997);
2610 Allpt7TeVScaling->SetBinContent(81,0.006863416);
2611 Allpt7TeVScaling->SetBinContent(82,0.006285407);
2612 Allpt7TeVScaling->SetBinContent(83,0.004974776);
2613 Allpt7TeVScaling->SetBinContent(84,0.00748478);
2614 Allpt7TeVScaling->SetBinContent(85,0.002485323);
2615 Allpt7TeVScaling->SetBinContent(86,0.009973802);
2616 Allpt7TeVScaling->SetBinContent(87,0.00543998);
2617 Allpt7TeVScaling->SetBinContent(89,0.01703395);
2618 Allpt7TeVScaling->SetBinContent(90,0.004394557);
2619 Allpt7TeVScaling->SetBinContent(96,0.01833441);
2620 Allpt7TeVScaling->SetBinContent(98,0.02964621);
2621 Allpt7TeVScaling->SetBinContent(101,0.0574538);
2622 Allpt7TeVScaling->SetBinError(11,0.07407797);
2623 Allpt7TeVScaling->SetBinError(12,0.01275005);
2624 Allpt7TeVScaling->SetBinError(13,0.00608927);
2625 Allpt7TeVScaling->SetBinError(14,0.00428747);
2626 Allpt7TeVScaling->SetBinError(15,0.004071853);
2627 Allpt7TeVScaling->SetBinError(16,0.003225169);
2628 Allpt7TeVScaling->SetBinError(17,0.002968269);
2629 Allpt7TeVScaling->SetBinError(18,0.002761875);
2630 Allpt7TeVScaling->SetBinError(19,0.002800096);
2631 Allpt7TeVScaling->SetBinError(20,0.002386005);
2632 Allpt7TeVScaling->SetBinError(21,0.001589813);
2633 Allpt7TeVScaling->SetBinError(22,0.001475329);
2634 Allpt7TeVScaling->SetBinError(23,0.001364666);
2635 Allpt7TeVScaling->SetBinError(24,0.00126007);
2636 Allpt7TeVScaling->SetBinError(25,0.001265789);
2637 Allpt7TeVScaling->SetBinError(26,0.001156208);
2638 Allpt7TeVScaling->SetBinError(27,0.001182566);
2639 Allpt7TeVScaling->SetBinError(28,0.001171098);
2640 Allpt7TeVScaling->SetBinError(29,0.001122203);
2641 Allpt7TeVScaling->SetBinError(30,0.001173633);
2642 Allpt7TeVScaling->SetBinError(31,0.001154546);
2643 Allpt7TeVScaling->SetBinError(32,0.001162445);
2644 Allpt7TeVScaling->SetBinError(33,0.001067574);
2645 Allpt7TeVScaling->SetBinError(34,0.001116243);
2646 Allpt7TeVScaling->SetBinError(35,0.001144851);
2647 Allpt7TeVScaling->SetBinError(36,0.001110251);
2648 Allpt7TeVScaling->SetBinError(37,0.001192711);
2649 Allpt7TeVScaling->SetBinError(38,0.001062774);
2650 Allpt7TeVScaling->SetBinError(39,0.001255752);
2651 Allpt7TeVScaling->SetBinError(40,0.001319021);
2652 Allpt7TeVScaling->SetBinError(41,0.001323284);
2653 Allpt7TeVScaling->SetBinError(42,0.001303463);
2654 Allpt7TeVScaling->SetBinError(43,0.001388458);
2655 Allpt7TeVScaling->SetBinError(44,0.001312344);
2656 Allpt7TeVScaling->SetBinError(45,0.001383885);
2657 Allpt7TeVScaling->SetBinError(46,0.001289152);
2658 Allpt7TeVScaling->SetBinError(47,0.001430287);
2659 Allpt7TeVScaling->SetBinError(48,0.001302716);
2660 Allpt7TeVScaling->SetBinError(49,0.001578988);
2661 Allpt7TeVScaling->SetBinError(50,0.0014581);
2662 Allpt7TeVScaling->SetBinError(51,0.00165325);
2663 Allpt7TeVScaling->SetBinError(52,0.001404793);
2664 Allpt7TeVScaling->SetBinError(53,0.001757303);
2665 Allpt7TeVScaling->SetBinError(54,0.001562987);
2666 Allpt7TeVScaling->SetBinError(55,0.001911932);
2667 Allpt7TeVScaling->SetBinError(56,0.001695077);
2668 Allpt7TeVScaling->SetBinError(57,0.001932989);
2669 Allpt7TeVScaling->SetBinError(58,0.001844963);
2670 Allpt7TeVScaling->SetBinError(59,0.002000117);
2671 Allpt7TeVScaling->SetBinError(60,0.001689391);
2672 Allpt7TeVScaling->SetBinError(61,0.001386339);
2673 Allpt7TeVScaling->SetBinError(62,0.001349763);
2674 Allpt7TeVScaling->SetBinError(63,0.001454327);
2675 Allpt7TeVScaling->SetBinError(64,0.001584791);
2676 Allpt7TeVScaling->SetBinError(65,0.00151686);
2677 Allpt7TeVScaling->SetBinError(66,0.001668507);
2678 Allpt7TeVScaling->SetBinError(67,0.001963962);
2679 Allpt7TeVScaling->SetBinError(68,0.001970941);
2680 Allpt7TeVScaling->SetBinError(69,0.001992913);
2681 Allpt7TeVScaling->SetBinError(70,0.002006771);
2682 Allpt7TeVScaling->SetBinError(71,0.002187254);
2683 Allpt7TeVScaling->SetBinError(72,0.002140473);
2684 Allpt7TeVScaling->SetBinError(73,0.002256925);
2685 Allpt7TeVScaling->SetBinError(74,0.002056219);
2686 Allpt7TeVScaling->SetBinError(75,0.002854892);
2687 Allpt7TeVScaling->SetBinError(76,0.002450159);
2688 Allpt7TeVScaling->SetBinError(77,0.003197387);
2689 Allpt7TeVScaling->SetBinError(78,0.003840947);
2690 Allpt7TeVScaling->SetBinError(79,0.003660464);
2691 Allpt7TeVScaling->SetBinError(80,0.003363956);
2692 Allpt7TeVScaling->SetBinError(81,0.001624793);
2693 Allpt7TeVScaling->SetBinError(82,0.00181065);
2694 Allpt7TeVScaling->SetBinError(83,0.001888966);
2695 Allpt7TeVScaling->SetBinError(84,0.002671173);
2696 Allpt7TeVScaling->SetBinError(85,0.001759843);
2697 Allpt7TeVScaling->SetBinError(86,0.004094911);
2698 Allpt7TeVScaling->SetBinError(87,0.003871198);
2699 Allpt7TeVScaling->SetBinError(89,0.008630108);
2700 Allpt7TeVScaling->SetBinError(90,0.004405367);
2701 Allpt7TeVScaling->SetBinError(96,0.01308755);
2702 Allpt7TeVScaling->SetBinError(98,0.02127892);
2703 Allpt7TeVScaling->SetBinError(101,0.05904744);
2704 Allpt7TeVScaling->SetMinimum(0);
2705 Allpt7TeVScaling->SetMaximum(0.04);
2706 Allpt7TeVScaling->SetEntries(300.6659);
2707 Allpt7TeVScaling->SetStats(0);
2708 Allpt7TeVScaling->SetMarkerStyle(20);
2709 Allpt7TeVScaling->GetXaxis()->SetTitle("p_{T}");
2710 Allpt7TeVScaling->GetXaxis()->SetRange(1,61);
2711 Allpt7TeVScaling->GetYaxis()->SetTitle("Ratio of E_{T}^{background}/E_{T}^{had, meas.}");
2712 Allpt7TeVScaling->GetYaxis()->SetTitleOffset(1.2);
2713 TH1D *Allpt900GeVScaling = new TH1D("Allpt900GeVScaling","Reconstructed E_{T} from misidentified electrons",111, xAxis1);
2714 Allpt900GeVScaling->SetBinContent(9,1);
2715 Allpt900GeVScaling->SetBinContent(11,0.2834258);
2716 Allpt900GeVScaling->SetBinContent(12,0.1188776);
2717 Allpt900GeVScaling->SetBinContent(13,0.08085647);
2718 Allpt900GeVScaling->SetBinContent(14,0.05677858);
2719 Allpt900GeVScaling->SetBinContent(15,0.0616757);
2720 Allpt900GeVScaling->SetBinContent(16,0.04844882);
2721 Allpt900GeVScaling->SetBinContent(17,0.03999142);
2722 Allpt900GeVScaling->SetBinContent(18,0.03890007);
2723 Allpt900GeVScaling->SetBinContent(19,0.0406008);
2724 Allpt900GeVScaling->SetBinContent(20,0.02900627);
2725 Allpt900GeVScaling->SetBinContent(21,0.03088961);
2726 Allpt900GeVScaling->SetBinContent(22,0.03033992);
2727 Allpt900GeVScaling->SetBinContent(23,0.02521969);
2728 Allpt900GeVScaling->SetBinContent(24,0.02143008);
2729 Allpt900GeVScaling->SetBinContent(25,0.02266187);
2730 Allpt900GeVScaling->SetBinContent(26,0.01981764);
2731 Allpt900GeVScaling->SetBinContent(27,0.02127366);
2732 Allpt900GeVScaling->SetBinContent(28,0.0192753);
2733 Allpt900GeVScaling->SetBinContent(29,0.01854744);
2734 Allpt900GeVScaling->SetBinContent(30,0.01903471);
2735 Allpt900GeVScaling->SetBinContent(31,0.01819287);
2736 Allpt900GeVScaling->SetBinContent(32,0.01715784);
2737 Allpt900GeVScaling->SetBinContent(33,0.01488607);
2738 Allpt900GeVScaling->SetBinContent(34,0.0156348);
2739 Allpt900GeVScaling->SetBinContent(35,0.01699235);
2740 Allpt900GeVScaling->SetBinContent(36,0.01398954);
2741 Allpt900GeVScaling->SetBinContent(37,0.01435865);
2742 Allpt900GeVScaling->SetBinContent(38,0.01236315);
2743 Allpt900GeVScaling->SetBinContent(39,0.01282288);
2744 Allpt900GeVScaling->SetBinContent(40,0.01668125);
2745 Allpt900GeVScaling->SetBinContent(41,0.01372736);
2746 Allpt900GeVScaling->SetBinContent(42,0.01433745);
2747 Allpt900GeVScaling->SetBinContent(43,0.01477496);
2748 Allpt900GeVScaling->SetBinContent(44,0.0116776);
2749 Allpt900GeVScaling->SetBinContent(45,0.01245205);
2750 Allpt900GeVScaling->SetBinContent(46,0.009475905);
2751 Allpt900GeVScaling->SetBinContent(47,0.01117031);
2752 Allpt900GeVScaling->SetBinContent(48,0.009558273);
2753 Allpt900GeVScaling->SetBinContent(49,0.01404047);
2754 Allpt900GeVScaling->SetBinContent(50,0.01037464);
2755 Allpt900GeVScaling->SetBinContent(51,0.01195013);
2756 Allpt900GeVScaling->SetBinContent(52,0.01155682);
2757 Allpt900GeVScaling->SetBinContent(53,0.0137127);
2758 Allpt900GeVScaling->SetBinContent(54,0.009255665);
2759 Allpt900GeVScaling->SetBinContent(55,0.01133598);
2760 Allpt900GeVScaling->SetBinContent(56,0.009080946);
2761 Allpt900GeVScaling->SetBinContent(57,0.01124535);
2762 Allpt900GeVScaling->SetBinContent(58,0.008398657);
2763 Allpt900GeVScaling->SetBinContent(59,0.008324869);
2764 Allpt900GeVScaling->SetBinContent(60,0.007103489);
2765 Allpt900GeVScaling->SetBinContent(61,0.01142644);
2766 Allpt900GeVScaling->SetBinContent(62,0.0110906);
2767 Allpt900GeVScaling->SetBinContent(63,0.01076479);
2768 Allpt900GeVScaling->SetBinContent(64,0.01168746);
2769 Allpt900GeVScaling->SetBinContent(65,0.008513672);
2770 Allpt900GeVScaling->SetBinContent(66,0.00828279);
2771 Allpt900GeVScaling->SetBinContent(67,0.01140648);
2772 Allpt900GeVScaling->SetBinContent(68,0.01111323);
2773 Allpt900GeVScaling->SetBinContent(69,0.007425678);
2774 Allpt900GeVScaling->SetBinContent(70,0.009847098);
2775 Allpt900GeVScaling->SetBinContent(71,0.009834419);
2776 Allpt900GeVScaling->SetBinContent(72,0.008930991);
2777 Allpt900GeVScaling->SetBinContent(73,0.00669819);
2778 Allpt900GeVScaling->SetBinContent(74,0.00662618);
2779 Allpt900GeVScaling->SetBinContent(75,0.01370167);
2780 Allpt900GeVScaling->SetBinContent(76,0.006451024);
2781 Allpt900GeVScaling->SetBinContent(77,0.01307605);
2782 Allpt900GeVScaling->SetBinContent(78,0.01579264);
2783 Allpt900GeVScaling->SetBinContent(79,0.01255205);
2784 Allpt900GeVScaling->SetBinContent(80,0.01010045);
2785 Allpt900GeVScaling->SetBinContent(81,0.01082155);
2786 Allpt900GeVScaling->SetBinContent(82,0.006495255);
2787 Allpt900GeVScaling->SetBinContent(83,0.005512525);
2788 Allpt900GeVScaling->SetBinContent(84,0.003527945);
2789 Allpt900GeVScaling->SetBinContent(85,0.001806946);
2790 Allpt900GeVScaling->SetBinContent(86,0.004225982);
2791 Allpt900GeVScaling->SetBinContent(89,0.01106803);
2792 Allpt900GeVScaling->SetBinContent(90,0.005044269);
2793 Allpt900GeVScaling->SetBinContent(98,0.04456838);
2794 Allpt900GeVScaling->SetBinContent(101,0.07960857);
2795 Allpt900GeVScaling->SetBinError(9,1.414214);
2796 Allpt900GeVScaling->SetBinError(11,0.08936516);
2797 Allpt900GeVScaling->SetBinError(12,0.01474769);
2798 Allpt900GeVScaling->SetBinError(13,0.006947232);
2799 Allpt900GeVScaling->SetBinError(14,0.00470276);
2800 Allpt900GeVScaling->SetBinError(15,0.004394222);
2801 Allpt900GeVScaling->SetBinError(16,0.003598075);
2802 Allpt900GeVScaling->SetBinError(17,0.00312581);
2803 Allpt900GeVScaling->SetBinError(18,0.003002622);
2804 Allpt900GeVScaling->SetBinError(19,0.002976063);
2805 Allpt900GeVScaling->SetBinError(20,0.002438669);
2806 Allpt900GeVScaling->SetBinError(21,0.00172144);
2807 Allpt900GeVScaling->SetBinError(22,0.001661658);
2808 Allpt900GeVScaling->SetBinError(23,0.001477901);
2809 Allpt900GeVScaling->SetBinError(24,0.001329128);
2810 Allpt900GeVScaling->SetBinError(25,0.00137131);
2811 Allpt900GeVScaling->SetBinError(26,0.001299862);
2812 Allpt900GeVScaling->SetBinError(27,0.001332285);
2813 Allpt900GeVScaling->SetBinError(28,0.001274491);
2814 Allpt900GeVScaling->SetBinError(29,0.001266741);
2815 Allpt900GeVScaling->SetBinError(30,0.001305369);
2816 Allpt900GeVScaling->SetBinError(31,0.001295113);
2817 Allpt900GeVScaling->SetBinError(32,0.001278961);
2818 Allpt900GeVScaling->SetBinError(33,0.00122243);
2819 Allpt900GeVScaling->SetBinError(34,0.001256858);
2820 Allpt900GeVScaling->SetBinError(35,0.001357681);
2821 Allpt900GeVScaling->SetBinError(36,0.001267233);
2822 Allpt900GeVScaling->SetBinError(37,0.00131839);
2823 Allpt900GeVScaling->SetBinError(38,0.001256835);
2824 Allpt900GeVScaling->SetBinError(39,0.001306764);
2825 Allpt900GeVScaling->SetBinError(40,0.001544152);
2826 Allpt900GeVScaling->SetBinError(41,0.001438378);
2827 Allpt900GeVScaling->SetBinError(42,0.001507702);
2828 Allpt900GeVScaling->SetBinError(43,0.001615741);
2829 Allpt900GeVScaling->SetBinError(44,0.00143817);
2830 Allpt900GeVScaling->SetBinError(45,0.001536765);
2831 Allpt900GeVScaling->SetBinError(46,0.001377493);
2832 Allpt900GeVScaling->SetBinError(47,0.001536932);
2833 Allpt900GeVScaling->SetBinError(48,0.001466076);
2834 Allpt900GeVScaling->SetBinError(49,0.001814185);
2835 Allpt900GeVScaling->SetBinError(50,0.001620601);
2836 Allpt900GeVScaling->SetBinError(51,0.001814658);
2837 Allpt900GeVScaling->SetBinError(52,0.001822325);
2838 Allpt900GeVScaling->SetBinError(53,0.001976947);
2839 Allpt900GeVScaling->SetBinError(54,0.001729338);
2840 Allpt900GeVScaling->SetBinError(55,0.001988634);
2841 Allpt900GeVScaling->SetBinError(56,0.001792157);
2842 Allpt900GeVScaling->SetBinError(57,0.00206644);
2843 Allpt900GeVScaling->SetBinError(58,0.001842037);
2844 Allpt900GeVScaling->SetBinError(59,0.001826512);
2845 Allpt900GeVScaling->SetBinError(60,0.001732292);
2846 Allpt900GeVScaling->SetBinError(61,0.001512696);
2847 Allpt900GeVScaling->SetBinError(62,0.001543542);
2848 Allpt900GeVScaling->SetBinError(63,0.001633358);
2849 Allpt900GeVScaling->SetBinError(64,0.001816012);
2850 Allpt900GeVScaling->SetBinError(65,0.001680175);
2851 Allpt900GeVScaling->SetBinError(66,0.001692314);
2852 Allpt900GeVScaling->SetBinError(67,0.00213108);
2853 Allpt900GeVScaling->SetBinError(68,0.002295308);
2854 Allpt900GeVScaling->SetBinError(69,0.001926907);
2855 Allpt900GeVScaling->SetBinError(70,0.002272706);
2856 Allpt900GeVScaling->SetBinError(71,0.002475109);
2857 Allpt900GeVScaling->SetBinError(72,0.002399123);
2858 Allpt900GeVScaling->SetBinError(73,0.002241209);
2859 Allpt900GeVScaling->SetBinError(74,0.002365641);
2860 Allpt900GeVScaling->SetBinError(75,0.003450507);
2861 Allpt900GeVScaling->SetBinError(76,0.002503392);
2862 Allpt900GeVScaling->SetBinError(77,0.003801781);
2863 Allpt900GeVScaling->SetBinError(78,0.004417338);
2864 Allpt900GeVScaling->SetBinError(79,0.00421245);
2865 Allpt900GeVScaling->SetBinError(80,0.003844397);
2866 Allpt900GeVScaling->SetBinError(81,0.002274688);
2867 Allpt900GeVScaling->SetBinError(82,0.002043975);
2868 Allpt900GeVScaling->SetBinError(83,0.002262563);
2869 Allpt900GeVScaling->SetBinError(84,0.00204239);
2870 Allpt900GeVScaling->SetBinError(85,0.00180851);
2871 Allpt900GeVScaling->SetBinError(86,0.002994568);
2872 Allpt900GeVScaling->SetBinError(89,0.007939965);
2873 Allpt900GeVScaling->SetBinError(90,0.005058548);
2874 Allpt900GeVScaling->SetBinError(98,0.03222111);
2875 Allpt900GeVScaling->SetBinError(101,0.08264771);
2876 Allpt900GeVScaling->SetMinimum(0);
2877 Allpt900GeVScaling->SetMaximum(0.04);
2878 Allpt900GeVScaling->SetEntries(3.837105);
2879 Allpt900GeVScaling->SetStats(0);
2880 Allpt900GeVScaling->SetMarkerStyle(20);
2881 Allpt900GeVScaling->GetXaxis()->SetTitle("p_{T}");
2882 Allpt900GeVScaling->GetXaxis()->SetRange(1,61);
2883 Allpt900GeVScaling->GetYaxis()->SetTitle("Ratio of E_{T}^{background}/E_{T}^{had, meas.}");
2884 Allpt900GeVScaling->GetYaxis()->SetTitleOffset(1.2);
2885
2886 Allpt7TeVScaling->Add(Allpt900GeVScaling);
2887 Allpt7TeVScaling->Scale(0.5);
2888 delete Allpt900GeVScaling;
2889 return Allpt7TeVScaling;
2890}