void 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){
TStopwatch timer;
timer.Start();
- gSystem->Load("libTree.so");
- gSystem->Load("libGeom.so");
- gSystem->Load("libVMC.so");
- gSystem->Load("libXMLIO.so");
+ gSystem->Load("libTree");
+ gSystem->Load("libGeom");
+ gSystem->Load("libVMC");
+ gSystem->Load("libXMLIO");
- gSystem->Load("libSTEERBase.so");
- gSystem->Load("libESD.so");
- gSystem->Load("libAOD.so");
+ gSystem->Load("libSTEERBase");
+ gSystem->Load("libESD");
+ gSystem->Load("libAOD");
gSystem->Load("libANALYSIS");
gSystem->Load("libANALYSISalice");
hadCorrectionEMCAL->SetNeutralCorrection(neutralCorr);
//Using error from data, see analysis note for details
if(ispp){
- hadCorrectionEMCAL->SetNeutralCorrectionLowBound(neutralCorr*(1.0-0.013));
- hadCorrectionEMCAL->SetNeutralCorrectionHighBound(neutralCorr*(1.0+0.013));
+ hadCorrectionEMCAL->SetNeutralCorrectionLowBound(neutralCorr*(1.0-0.014));
+ hadCorrectionEMCAL->SetNeutralCorrectionHighBound(neutralCorr*(1.0+0.014));
}
else{
hadCorrectionEMCAL->SetNeutralCorrectionLowBound(neutralCorr*(1.0-0.049));
hadCorrectionEMCAL->SetNotHadronicCorrectionLowBound(hadronicCorr*(1.0-0.023));
hadCorrectionEMCAL->SetNotHadronicCorrectionHighBound(hadronicCorr*(1.0+0.023));
}
-
float ptcutITS = CorrPtCut(0.1,prodname,shortprodname,ispp,forSim);
hadCorrectionEMCAL->SetpTCutCorrectionITS(ptcutITS);
float ptcutTPC = CorrPtCut(0.15,prodname,shortprodname,ispp,forSim);
TH1D *efficiencyHadronITSCB10 = GetHistoEfficiency(etacut,"hEfficiencyHadronITSCB10",0,1,20,false,true,10,15);
for(int i=10;i<=20;i++) hadCorrectionEMCAL->SetEfficiencyHadronITS((TH1D*)efficiencyHadronITSCB10->Clone(Form("Test%i",i)),i);//Hadron
}//EMCAL
- hadCorrectionEMCAL->SetEfficiencyErrorLowBound(0.99);
- hadCorrectionEMCAL->SetEfficiencyErrorHighBound(1.01);
+ hadCorrectionEMCAL->SetEfficiencyErrorLowBound(0.95);
+ hadCorrectionEMCAL->SetEfficiencyErrorHighBound(1.05);
//CorrEfficiencyPlots(true,prodname,shortprodname);
//CorrEfficiencyPlots(false,prodname,shortprodname,infilename);
//hadCorrectionEMCAL->GetEfficiencyHadronTPC()->Draw();
TH1D *backgroundTPC;
TH1D *backgroundITS;
- if((dataset==20111 || dataset==20100) && !forSim){//2.76 TeV p+p or Pb+Pb
+ if((dataset==20111 || dataset==20100|| dataset==2011) && !forSim){//2.76 TeV p+p or Pb+Pb
if(dataset==20111){
cout<<"Fixing 2.76 TeV p+p background to be average of 900 GeV and 7 TeV scaling"<<endl;
backgroundTPC = pp276TPCBkgd();
bkgdpcterror = 0.13;
break;
case 20100:
+ case 2011:
bkgdpcterror = 0.76;
break;
}
hadCorrectionPHOS->SetNeutralCorrection(neutralCorr);
//Using error from data, see analysis note for details
if(ispp){
- hadCorrectionPHOS->SetNeutralCorrectionLowBound(neutralCorr*(1.0-.013));
- hadCorrectionPHOS->SetNeutralCorrectionHighBound(neutralCorr*(1.0+.013));
+ hadCorrectionPHOS->SetNeutralCorrectionLowBound(neutralCorr*(1.0-.014));
+ hadCorrectionPHOS->SetNeutralCorrectionHighBound(neutralCorr*(1.0+.014));
}
else{
hadCorrectionPHOS->SetNeutralCorrectionLowBound(neutralCorr*(1.0-0.049));
TH1D *efficiencyHadronITSCB10 = GetHistoEfficiency(etacut,"hEfficiencyHadronITSCB10",0,1,20,false,true,10,15);
for(int i=10;i<=20;i++) hadCorrectionPHOS->SetEfficiencyHadronITS((TH1D*)efficiencyHadronITSCB10->Clone(Form("Test%i",i)),i);//Hadron
}//EMCAL
+ hadCorrectionPHOS->SetEfficiencyErrorLowBound(0.95);
+ hadCorrectionPHOS->SetEfficiencyErrorHighBound(1.05);
TH1D *backgroundTPC;
TH1D *backgroundITS;
- if((dataset==20111 || dataset==20100) && !forSim){//2.76 TeV p+p or Pb+Pb
+ if((dataset==20111 || dataset==20100|| dataset==2011) && !forSim){//2.76 TeV p+p or Pb+Pb
if(dataset==20111){
cout<<"Fixing 2.76 TeV p+p background to be average of 900 GeV and 7 TeV scaling"<<endl;
backgroundTPC = pp276TPCBkgd();
Float_t CorrNeutral(float ptcut, char *prodname, char *shortprodname, bool ispp, bool forSim, bool TPC, bool hadronic, float etacut, int dataset){
if(!forSim){//for data we have evaluated the neutral correction from ALICE data
if(hadronic){//for tot et from had et
- return 0.581;
+ return 1/0.5665;//0.5665 0.0145 <-- Correct - what should be applied
}
else{//for had et only
if(dataset==2009){
return 1.0/0.7571;
}
else{
- return 1.0/0.755;
+ return 1.0/0.751;
}
}
}
int nbins = allhad->GetXaxis()->GetNbins();
//cout<<"Projecting from "<<allhad->GetXaxis()->GetBinLowEdge(lowbin)<<" to "<<allhad->GetXaxis()->GetBinLowEdge(highbin+1)<<endl;
//cout<<"Projecting from "<<allhad->GetXaxis()->GetBinLowEdge(lowbin)<<" to "<<allhad->GetXaxis()->GetBinLowEdge(nbins)<<endl;
-
//allhad->Sumw2();
TH1D *numerator;
TH1D *denominator;
case -1:
numerator = ptlow->ProjectionY("nameLow",lowbin,highbin);
denominator = allhad->ProjectionY("denominatorLow",highbin,nbins);
- denominator->Add(ptlow);
+ denominator->Add(numerator);
break;
case 1:
numerator = pthigh->ProjectionY("nameHigh",lowbin,highbin);
denominator = allhad->ProjectionY("denominatorHigh",highbin,nbins);
- denominator->Add(pthigh);
+ denominator->Add(numerator);
break;
default:
numerator = allhad->ProjectionY("name",lowbin,highbin);