ROOT logo
TH1D *GetHisto(float etacut = 0.12, bool eta = true, char *name, bool TPC,bool ITS, int mycase = 0, int color=1, int marker = 20, char *filename="Et.ESD.new.sim.merged.root",bool reweight = false,float kaonFactor=1.0, float lambdaFactor = 1.0, float baryonEnhancement = 1.0){
  TFile *file = new TFile(filename);
  TList *list = file->FindObject("out2");
  char *reweightname = "";
  if(reweight) reweightname = "Reweighted";
  char *myname = "ITS";
  if(TPC){
    if(ITS) myname = "TPCITS";
    else{    myname = "TPC";}
  }
  //cout<<"Using "<<myname<<" tracks"<<endl;
  TH2F *signal = ((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedPiPlus",myname)))->Clone("signal");
  signal->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedPiMinus",myname)));
  signal->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedKMinus",myname)),kaonFactor);
  signal->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedKPlus",myname)),kaonFactor);
  signal->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedProton",myname)),baryonEnhancement);
  signal->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sIdentifiedAntiProton",myname)),baryonEnhancement);
  signal->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sUnidentifiedAssumingPion",myname)));

  //Et of all unidentified hadrons (plus hadrons identified as pions) calculated assuming their true mass
  TH2F *bkgd;
  switch(mycase){
  case 0:
    bkgd = (TH2F*)((TH2F*) out2->FindObject(Form("EtReconstructed%sMisidentifiedElectrons",myname)))->Clone("bkgd");
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sLambdaDaughters%s",myname,reweightname)),baryonEnhancement*lambdaFactor);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sAntiLambdaDaughters%s",myname,reweightname)),baryonEnhancement*lambdaFactor);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sK0SDaughters%s",myname,reweightname)),kaonFactor);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sXiDaughters",myname)),baryonEnhancement);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sAntiXiDaughters",myname)),baryonEnhancement);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sOmegaDaughters",myname)),baryonEnhancement);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sAntiOmegaDaughters",myname)),baryonEnhancement);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sConversionElectrons",myname)) );
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sSecondaryMuons",myname)) );
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sSecondaryPions",myname)) );
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sSecondaryProtons",myname)) );
    break;
  case 1:
    bkgd = (TH2F*)((TH2F*) out2->FindObject(Form("EtReconstructed%sMisidentifiedElectrons",myname)))->Clone("bkgd");
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sConversionElectrons",myname)) );
    break;
  case 2:
    bkgd = (TH2F*)((TH2F*) out2->FindObject(Form("EtReconstructed%sLambdaDaughters%s",myname,reweightname)))->Clone("bkgd");
    bkgd->Scale(baryonEnhancement*lambdaFactor);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sAntiLambdaDaughters%s",myname,reweightname)),baryonEnhancement*lambdaFactor);
    break;
  case 3:
    bkgd = (TH2F*)((TH2F*) out2->FindObject(Form("EtReconstructed%sK0SDaughters%s",myname,reweightname)))->Clone("bkgd");
    bkgd->Scale(kaonFactor);
    break;
  case 4:
    bkgd = (TH2F*)((TH2F*) out2->FindObject(Form("EtReconstructed%sLambdaDaughters%s",myname,reweightname)))->Clone("bkgd");
    bkgd->Scale(baryonEnhancement*lambdaFactor);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sAntiLambdaDaughters%s",myname,reweightname)),baryonEnhancement*lambdaFactor);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sK0SDaughters%s",myname,reweightname)),kaonFactor);
    break;
  case 5:
    bkgd = (TH2F*)((TH2F*) out2->FindObject(Form("EtReconstructed%sXiDaughters",myname)))->Clone("bkgd");
    bkgd->Scale(baryonEnhancement);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sAntiXiDaughters",myname)),baryonEnhancement);
    break;
  case 6:
    bkgd = (TH2F*)((TH2F*) out2->FindObject(Form("EtReconstructed%sOmegaDaughters",myname)))->Clone("bkgd");
    bkgd->Scale(baryonEnhancement);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sAntiOmegaDaughters",myname)),baryonEnhancement);
    break;
  case 7:
    bkgd = (TH2F*)((TH2F*) out2->FindObject(Form("EtReconstructed%sXiDaughters",myname)))->Clone("bkgd");
    bkgd->Scale(baryonEnhancement);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sAntiXiDaughters",myname)),baryonEnhancement);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sOmegaDaughters",myname)),baryonEnhancement);
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sAntiOmegaDaughters",myname)),baryonEnhancement);
    break;
  case 8:
    bkgd = (TH2F*)((TH2F*) out2->FindObject(Form("EtReconstructed%sLambdaDaughters%s",myname,reweightname)))->Clone("bkgd");
    bkgd->Scale(baryonEnhancement*lambdaFactor);
    break;
  case 9:
    bkgd = (TH2F*)((TH2F*) out2->FindObject(Form("EtReconstructed%sAntiLambdaDaughters%s",myname,reweightname)))->Clone("bkgd");
    bkgd->Scale(baryonEnhancement*lambdaFactor);
    break;
  case 10:
    bkgd = (TH2F*) ((TH2F*) out2->FindObject(Form("EtReconstructed%sSecondaryMuons",myname)) )->Clone("bkgdOther");
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sSecondaryPions",myname)) );
    bkgd->Add((TH2F*) out2->FindObject(Form("EtReconstructed%sSecondaryProtons",myname)) );
    break;
  }
  TH1D *denominator;
  TH1D *numerator;
  if(eta){
    int lowbin = bkgd->GetXaxis()->FindBin(etacut+.001);//make sure we don't accidentally get the wrong bin
    int highbin = bkgd->GetXaxis()->GetNbins();
    //cout<<"Projecting from "<<bkgd->GetXaxis()->GetBinLowEdge(lowbin)<<" to "<<bkgd->GetXaxis()->GetBinLowEdge(highbin+1)<<endl;
    denominator = signal->ProjectionY("name",lowbin,highbin);
    numerator = bkgd->ProjectionY(name,lowbin,highbin);
  }
  else{
    int lowbin = bkgd->GetYaxis()->FindBin(-etacut+.001);//make sure we don't accidentally get the wrong bin
    int highbin = bkgd->GetYaxis()->FindBin(etacut-.001);
    //cout<<"Projecting from "<<bkgd->GetYaxis()->GetBinLowEdge(lowbin)<<" to "<<bkgd->GetYaxis()->GetBinLowEdge(highbin+1)<<endl;
    denominator = signal->ProjectionX("name",lowbin,highbin);
    numerator = bkgd->ProjectionX(name,lowbin,highbin);
  }
  denominator->Add(numerator);
  numerator->Divide(denominator);
  numerator->SetYTitle("Ratio of E_{T}^{background}/E_{T}^{had, meas.}");
  numerator->GetYaxis()->SetTitleOffset(1.2);
  numerator->SetLineColor(color);
  numerator->SetMarkerColor(color);
  numerator->SetMarkerStyle(marker);
  return numerator;

}

void CorrBkgdErrors(char *prodname = "LHC11a4_bis HIJING 2.76 TeV Pb+Pb",char *shortprodname= "LHC11a4_bis", char *filename = "rootFiles/LHC11a10a_bis/Et.ESD.sim.LHC11a10a_bis.Run139465.root",bool alt = false,bool TPC = true, bool ITS=true, bool reweight = false, int scale = -1,float kaonFactor=1.0, float lambdaFactor = 1.0, float baryonEnhancement = 1.0){
  gStyle->SetOptTitle(0);
  gStyle->SetOptStat(0);
  gStyle->SetOptFit(0);
  TCanvas *c = new TCanvas("c","c",400,400);
  c->SetTopMargin(0.04);
  c->SetRightMargin(0.04);
  c->SetBorderSize(0);
  c->SetFillColor(0);
  c->SetFillColor(0);
  c->SetBorderMode(0);
  c->SetFrameFillColor(0);
  c->SetFrameBorderMode(0);
  c->SetLeftMargin(0.159091);
  //char * filename = "Et.ESD.new.sim.LHC10d4.pp.merged.root";
  //  char * filename = "rootFiles/LHC11a4_bis/Et.ESD.new.sim.LHC11a4_bis.root";
  //char *filename = "rootFiles/LHC11a4_bis/Et.ESD.new.sim.LHC11a4_bis.root";
  //char *filename = "rootFiles/LHC11a4_bis/Et.ESD.new.sim.LHC11a4_bis.effFromPtReco.root";
  //char *filename = "rootFiles/LHC11a4_bis23Apr11/Et.ESD.new.sim.LHC11a4_bis.root";
  TH1D *All = GetHisto(0.1,true,"All",TPC,ITS,0,1,20,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);
  TH1D *Electrons = GetHisto(0.1,true,"Electrons",TPC,ITS,1,2,21,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);
  TH1D *V0s = GetHisto(0.1,true,"V0s",TPC,ITS,4,4,22,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);
  //case, color, marker
  TH1D *K0S = GetHisto(0.1,true,"K0S",TPC,ITS,3,TColor::kOrange+8,33,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);
  TH1D *Lambda = GetHisto(0.1,true,"K0S",TPC,ITS,8,TColor::kMagenta+3,29,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);
  TH1D *AntiLambda = GetHisto(0.1,true,"K0S",TPC,ITS,9,TColor::kMagenta+3,30,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);
  TH1D *Multistrange = GetHisto(0.1,true,"Multistrange",TPC,ITS,7,TColor::kGreen+2,23,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);

  TH1D *Allpt = GetHisto(0.7,false,"Allpt",TPC,ITS,0,1,20,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);
  TH1D *Electronspt = GetHisto(0.7,false,"Electronspt",TPC,ITS,1,2,21,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);
  TH1D *V0spt = GetHisto(0.7,false,"V0spt",TPC,ITS,4,4,22,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);
  TH1D *K0Spt = GetHisto(0.1,false,"K0S",TPC,ITS,3,TColor::kOrange+8,33,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);
  TH1D *Lambdapt = GetHisto(0.1,false,"K0S",TPC,ITS,8,TColor::kMagenta+3,29,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);
  TH1D *AntiLambdapt = GetHisto(0.1,false,"K0S",TPC,ITS,9,TColor::kMagenta+3,30,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);
  TH1D *Multistrangept = GetHisto(0.7,false,"Multistrangept",TPC,ITS,7,TColor::kGreen+2,23,filename,reweight,kaonFactor,lambdaFactor,baryonEnhancement);
  if(ITS){
    if(TPC) All->SetMaximum(0.15);
    else{All->SetMaximum(0.025);}
  }
  else{
    All->SetMaximum(0.2);
  }
  All->SetMinimum(0.0);
  All->SetMarkerStyle(20);
  All->GetYaxis()->SetTitleOffset(1.8);
  TF1 *func = new TF1("func","[0]",-.7,.7);
  func->SetParameter(0,0.02);
  TF1 *funcLam = new TF1("funcLam","[0]",-.7,.7);
  funcLam->SetParameter(0,0.001);
  funcLam->SetLineColor(Lambda->GetMarkerColor());
  TF1 *funcAlam = new TF1("funcAlam","[0]",-.7,.7);
  funcAlam->SetParameter(0,0.003);
  funcAlam->SetLineColor(AntiLambda->GetMarkerColor());
  TF1 *funcK0 = new TF1("funcK0","[0]",-.7,.7);
  funcK0->SetParameter(0,0.013);
  funcK0->SetLineColor(K0S->GetMarkerColor());
  TF1 *funcElectrons = new TF1("funcElectrons","[0]",-.7,.7);
  funcElectrons->SetParameter(0,0.013);
  funcElectrons->SetLineColor(Electrons->GetMarkerColor());
  All->Fit(func);
  Lambda->Fit(funcLam);
  AntiLambda->Fit(funcAlam);
  K0S->Fit(funcK0);
  Electrons->Fit(funcElectrons);
  float k0Err900 = 0.07/0.184;
  float lamErr900 = 0.005/0.048;
  float alamErr900 = 0.006/0.047;
  float k0Err7 = 0.03/0.347;
  float lamErr7 = 0.02/0.182;
  float alamErr7 = lamErr7;

  float lambda = funcLam->GetParameter(0);
  cout<<"Lambda contribution 900: ";
  cout<<Form("%2.2f $\\pm$ %2.2f",lambda*100.0,lambda*lamErr900*100.0)<<endl;
  cout<<"Lambda contribution 7 ";
  cout<<Form("%2.2f $\\pm$ %2.2f",lambda*100.0,lambda*lamErr7*100.0)<<endl;

  float antilambda = funcAlam->GetParameter(0);
  cout<<"AntiLambda contribution 900: ";
  cout<<Form("%2.2f $\\pm$ %2.2f",antilambda*100.0,antilambda*alamErr900*100.0)<<endl;
  cout<<"AntiLambda contribution 7 ";
  cout<<Form("%2.2f $\\pm$ %2.2f",antilambda*100.0,antilambda*alamErr7*100.0)<<endl;

  float k0 = funcK0->GetParameter(0);
  cout<<"K0 contribution 900: ";
  cout<<Form("%2.2f $\\pm$ %2.2f",k0*100.0,k0*k0Err900*100.0)<<endl;
  cout<<"K0 contribution 7 ";
  cout<<Form("%2.2f $\\pm$ %2.2f",k0*100.0,k0*k0Err7*100.0)<<endl;

  cout<<"Total 900: ";
  float totalerr900 = 100.0*TMath::Sqrt(lambda*lamErr900*lambda*lamErr900+antilambda*alamErr900*antilambda*alamErr900+k0*k0Err900*k0*k0Err900);
  float total900 = lambda*100.0+antilambda*100.0+k0*100.0;
  cout<<Form("%2.2f $\\pm$ %2.2f",total900,totalerr900)<<endl;
  cout<<"Total 7: ";
  float totalerr7 = 100.0*TMath::Sqrt(lambda*lamErr7*lambda*lamErr7+antilambda*alamErr7*antilambda*alamErr7+k0*k0Err7*k0*k0Err7);
  float total7 = lambda*100.0+antilambda*100.0+k0*100.0;
  cout<<Form("%2.2f $\\pm$ %2.2f",total7,totalerr7)<<endl;


  //cout<<funcLam->GetParameter(0)<<" +/- "<<funcLam->GetParError(0)<<endl;
  cout<<"AntiLambda contribution ";
  //cout<<funcAlam->GetParameter(0)<<" +/- "<<funcAlam->GetParError(0)<<endl;
  cout<<"K0 contribution ";
  //cout<<funcK0->GetParameter(0)<<" +/- "<<funcK0->GetParError(0)<<endl;


  cout<<"Electron contribution ";
  //cout<<funcElectrons->GetParameter(0)<<" +/- "<<funcElectrons->GetParError(0)<<endl;
  All->Draw();
  Electrons->Draw("same");
  V0s->Draw("same");
  Multistrange->Draw("same");
  K0S->Draw("same");
  Lambda->Draw("same");
  AntiLambda->Draw("same");
  TLatex *tex = new TLatex(0.161478,1.0835,"LHC10d15: p+p, Pythia6 Perugia-0");
  tex->SetTextSize(0.0537634);
  tex->Draw();
  TLegend *leg = new TLegend(0.636364,0.612903,0.893939,0.962366);
  leg->AddEntry(All,"All");
  leg->AddEntry(Electrons,"Electrons");
  leg->AddEntry(V0s,"V0s");
  leg->AddEntry(K0S,"K_{S}^{0}");
  leg->AddEntry(Lambda,"#Lambda");
  leg->AddEntry(AntiLambda,"#bar{#Lambda}");
  leg->AddEntry(Multistrange,"Multistrange");
  leg->SetFillStyle(0);
  leg->SetFillColor(0);
  leg->SetBorderSize(0);
  leg->Draw();
  TLatex *tex = new TLatex(-0.711139,0.0157696,Form("%2.5f#pm%2.5f",func->GetParameter(0),func->GetParError(0)));
  tex->Draw();
  TLatex *texLam = new TLatex(-0.711139,0.00201613,Form("%2.5f#pm%2.5f",funcLam->GetParameter(0),funcLam->GetParError(0)));
  texLam->SetTextColor(Lambda->GetMarkerColor());
  texLam->Draw();
  TLatex *texAlam = new TLatex(-0.711139,0.00365716,Form("%2.5f#pm%2.5f",funcAlam->GetParameter(0),funcAlam->GetParError(0)));
  texAlam->SetTextColor(AntiLambda->GetMarkerColor());
  texAlam->Draw();
  TLatex *texK0 = new TLatex(-0.711139,0.008,Form("%2.5f#pm%2.5f",funcK0->GetParameter(0),funcK0->GetParError(0)));
  texK0->SetTextColor(K0S->GetMarkerColor());
  texK0->Draw();

 
  TCanvas *c1 = new TCanvas("c1","c1",600,400);
  c1->SetTopMargin(0.04);
  c1->SetRightMargin(0.04);
  c1->SetBorderSize(0);
  c1->SetFillColor(0);
  c1->SetFillColor(0);
  c1->SetBorderMode(0);
  c1->SetFrameFillColor(0);
  c1->SetFrameBorderMode(0);
  if(TPC && ITS){  
    Allpt->SetMaximum(0.15);
    Allpt->GetXaxis()->SetRange(Allpt->GetXaxis()->FindBin(0.15),Allpt->GetXaxis()->FindBin(1.));
  }
  else{
    Allpt->GetXaxis()->SetRange(Allpt->GetXaxis()->FindBin(0.1),Allpt->GetXaxis()->FindBin(0.3));
  }
  Allpt->SetMinimum(0.0);
  Allpt->SetMarkerStyle(20);
  Allpt->Draw();
  Electronspt->Draw("same");
  V0spt->Draw("same");
  K0Spt->Draw("same");
  Lambdapt->Draw("same");
  AntiLambdapt->Draw("same");
  Multistrangept->Draw("same");
  TLatex *texpt = new TLatex(0.161478,1.0835,"LHC10d15: p+p, Pythia6 Perugia-0");
  texpt->SetTextSize(0.0537634);
  texpt->Draw();
  TLegend *legpt = new TLegend(0.634228,0.430108,0.892617,0.905914);
  legpt->AddEntry(Allpt,"All");
  legpt->AddEntry(Electronspt,"Electrons");
  legpt->AddEntry(V0spt,"V0s");
  legpt->AddEntry(K0Spt,"K_{S}^{0}");
  legpt->AddEntry(Lambdapt,"#Lambda");
  legpt->AddEntry(AntiLambdapt,"#bar{#Lambda}");
  legpt->AddEntry(Multistrangept,"Multistrange");
  legpt->SetFillStyle(0);
  legpt->SetFillColor(0);
  legpt->SetBorderSize(0);
  legpt->Draw();
  float x = 0.399919;
  if(reweight) x = 0.18332;
  TLatex *texprod = new TLatex(x,0.140566,prodname);
  texprod->SetTextSize(0.0537634);
  texprod->Draw();
  if(scale!=-1){
    TString scale900 = "Using scaling from 900 GeV p+p";
    TString scale7 = "Using scaling from 7 TeV p+p";
    TString scaleString;
    if(scale==2009) scaleString = scale900;
    else{scaleString = scale7;}
    TLatex *texscale = new TLatex(0.190421,0.129782,scaleString.Data());
    texscale->SetTextSize(0.0537634);
    texscale->Draw();
  }

  char TPCnameeps[200];
  char TPCnamepng[200];
  char ITSnameeps[200];
  char ITSnamepng[200];
  TString *None = new TString("");
  TString *Factors = None;
  if(kaonFactor!=1.0||lambdaFactor!=1.0||baryonEnhancement!=1.0){
    Factors = new TString(Form("Lambda%2.1fKaon%2.1fBaryon%2.1f",lambdaFactor,kaonFactor,baryonEnhancement));
  }
  TString dir = "/home/madscientistgirl/UTK/Et/aliceet/AN/pics/hadEt";
  TString detector = "TPC";
  if(!TPC) detector = "ITS";
  TString altName = "";
  if(alt) altName = "Alt";
  TString bary = "";
  if(reweight) bary = "Enhanced";
  gSystem->MakeDirectory(Form("%s/%s",dir.Data(),shortprodname));
  sprintf(TPCnameeps,"%s/%s/bkgdComponentsErrors%s%s%s%s.eps",dir.Data(),shortprodname,detector.Data(),Factors->Data(),altName.Data(),bary.Data());
  sprintf(TPCnamepng,"%s/%s/bkgdComponentsErrors%s%s%s%s.png",dir.Data(),shortprodname,detector.Data(),Factors->Data(),altName.Data(),bary.Data());
  c->SaveAs(TPCnameeps);
  //c->SaveAs(TPCnamepng);
  sprintf(TPCnameeps,"%s/%s/bkgdComponents%s%s%s%s.eps",dir.Data(),shortprodname,detector.Data(),Factors->Data(),altName.Data(),bary.Data());
  sprintf(TPCnamepng,"%s/%s/bkgdComponents%s%s%s%s.png",dir.Data(),shortprodname,detector.Data(),Factors->Data(),altName.Data(),bary.Data());
  c1->SaveAs(TPCnameeps);
  //c1->SaveAs(TPCnamepng);
//   if(TPC){
//     sprintf(TPCnameeps,"pics/bkgdComponentsErrorsTPC%s.eps",Factors->Data());
//     sprintf(TPCnamepng,"pics/bkgdComponentsErrorsTPC%s.png",Factors->Data());
//     c->SaveAs(TPCnameeps);
//     c->SaveAs(TPCnamepng);
//     sprintf(TPCnameeps,"pics/bkgdComponentsTPC%s.eps",Factors->Data());
//     sprintf(TPCnamepng,"pics/bkgdComponentsTPC%s.png",Factors->Data());
//     c1->SaveAs(TPCnameeps);
//     c1->SaveAs(TPCnamepng);
//   }
//   else{
//     sprintf(ITSnameeps,"pics/bkgdComponentsErrorsITS%s.eps",Factors->Data());
//     sprintf(ITSnamepng,"pics/bkgdComponentsErrorsITS%s.png",Factors->Data());
//     c->SaveAs(ITSnameeps);
//     c->SaveAs(ITSnamepng);
//     sprintf(ITSnameeps,"pics/bkgdComponentsITS%s.eps",Factors->Data());
//     sprintf(ITSnamepng,"pics/bkgdComponentsITS%s.png",Factors->Data());
//     c1->SaveAs(ITSnameeps);
//     c1->SaveAs(ITSnamepng);
//  }

//   TCanvas *c4 = new TCanvas("c4","c4",600,400);
//   c4->SetTopMargin(0.04);
//   c4->SetRightMargin(0.04);
//   c4->SetBorderSize(0);
//   c4->SetFillColor(0);
//   c4->SetFillColor(0);
//   c4->SetBorderMode(0);
//   c4->SetFrameFillColor(0);
//   c4->SetFrameBorderMode(0);
//   Allpt->Draw();
//   c4->SaveAs("pics/bkgd276ppV07TeVITS.C");
}
 CorrBkgdErrors.C:1
 CorrBkgdErrors.C:2
 CorrBkgdErrors.C:3
 CorrBkgdErrors.C:4
 CorrBkgdErrors.C:5
 CorrBkgdErrors.C:6
 CorrBkgdErrors.C:7
 CorrBkgdErrors.C:8
 CorrBkgdErrors.C:9
 CorrBkgdErrors.C:10
 CorrBkgdErrors.C:11
 CorrBkgdErrors.C:12
 CorrBkgdErrors.C:13
 CorrBkgdErrors.C:14
 CorrBkgdErrors.C:15
 CorrBkgdErrors.C:16
 CorrBkgdErrors.C:17
 CorrBkgdErrors.C:18
 CorrBkgdErrors.C:19
 CorrBkgdErrors.C:20
 CorrBkgdErrors.C:21
 CorrBkgdErrors.C:22
 CorrBkgdErrors.C:23
 CorrBkgdErrors.C:24
 CorrBkgdErrors.C:25
 CorrBkgdErrors.C:26
 CorrBkgdErrors.C:27
 CorrBkgdErrors.C:28
 CorrBkgdErrors.C:29
 CorrBkgdErrors.C:30
 CorrBkgdErrors.C:31
 CorrBkgdErrors.C:32
 CorrBkgdErrors.C:33
 CorrBkgdErrors.C:34
 CorrBkgdErrors.C:35
 CorrBkgdErrors.C:36
 CorrBkgdErrors.C:37
 CorrBkgdErrors.C:38
 CorrBkgdErrors.C:39
 CorrBkgdErrors.C:40
 CorrBkgdErrors.C:41
 CorrBkgdErrors.C:42
 CorrBkgdErrors.C:43
 CorrBkgdErrors.C:44
 CorrBkgdErrors.C:45
 CorrBkgdErrors.C:46
 CorrBkgdErrors.C:47
 CorrBkgdErrors.C:48
 CorrBkgdErrors.C:49
 CorrBkgdErrors.C:50
 CorrBkgdErrors.C:51
 CorrBkgdErrors.C:52
 CorrBkgdErrors.C:53
 CorrBkgdErrors.C:54
 CorrBkgdErrors.C:55
 CorrBkgdErrors.C:56
 CorrBkgdErrors.C:57
 CorrBkgdErrors.C:58
 CorrBkgdErrors.C:59
 CorrBkgdErrors.C:60
 CorrBkgdErrors.C:61
 CorrBkgdErrors.C:62
 CorrBkgdErrors.C:63
 CorrBkgdErrors.C:64
 CorrBkgdErrors.C:65
 CorrBkgdErrors.C:66
 CorrBkgdErrors.C:67
 CorrBkgdErrors.C:68
 CorrBkgdErrors.C:69
 CorrBkgdErrors.C:70
 CorrBkgdErrors.C:71
 CorrBkgdErrors.C:72
 CorrBkgdErrors.C:73
 CorrBkgdErrors.C:74
 CorrBkgdErrors.C:75
 CorrBkgdErrors.C:76
 CorrBkgdErrors.C:77
 CorrBkgdErrors.C:78
 CorrBkgdErrors.C:79
 CorrBkgdErrors.C:80
 CorrBkgdErrors.C:81
 CorrBkgdErrors.C:82
 CorrBkgdErrors.C:83
 CorrBkgdErrors.C:84
 CorrBkgdErrors.C:85
 CorrBkgdErrors.C:86
 CorrBkgdErrors.C:87
 CorrBkgdErrors.C:88
 CorrBkgdErrors.C:89
 CorrBkgdErrors.C:90
 CorrBkgdErrors.C:91
 CorrBkgdErrors.C:92
 CorrBkgdErrors.C:93
 CorrBkgdErrors.C:94
 CorrBkgdErrors.C:95
 CorrBkgdErrors.C:96
 CorrBkgdErrors.C:97
 CorrBkgdErrors.C:98
 CorrBkgdErrors.C:99
 CorrBkgdErrors.C:100
 CorrBkgdErrors.C:101
 CorrBkgdErrors.C:102
 CorrBkgdErrors.C:103
 CorrBkgdErrors.C:104
 CorrBkgdErrors.C:105
 CorrBkgdErrors.C:106
 CorrBkgdErrors.C:107
 CorrBkgdErrors.C:108
 CorrBkgdErrors.C:109
 CorrBkgdErrors.C:110
 CorrBkgdErrors.C:111
 CorrBkgdErrors.C:112
 CorrBkgdErrors.C:113
 CorrBkgdErrors.C:114
 CorrBkgdErrors.C:115
 CorrBkgdErrors.C:116
 CorrBkgdErrors.C:117
 CorrBkgdErrors.C:118
 CorrBkgdErrors.C:119
 CorrBkgdErrors.C:120
 CorrBkgdErrors.C:121
 CorrBkgdErrors.C:122
 CorrBkgdErrors.C:123
 CorrBkgdErrors.C:124
 CorrBkgdErrors.C:125
 CorrBkgdErrors.C:126
 CorrBkgdErrors.C:127
 CorrBkgdErrors.C:128
 CorrBkgdErrors.C:129
 CorrBkgdErrors.C:130
 CorrBkgdErrors.C:131
 CorrBkgdErrors.C:132
 CorrBkgdErrors.C:133
 CorrBkgdErrors.C:134
 CorrBkgdErrors.C:135
 CorrBkgdErrors.C:136
 CorrBkgdErrors.C:137
 CorrBkgdErrors.C:138
 CorrBkgdErrors.C:139
 CorrBkgdErrors.C:140
 CorrBkgdErrors.C:141
 CorrBkgdErrors.C:142
 CorrBkgdErrors.C:143
 CorrBkgdErrors.C:144
 CorrBkgdErrors.C:145
 CorrBkgdErrors.C:146
 CorrBkgdErrors.C:147
 CorrBkgdErrors.C:148
 CorrBkgdErrors.C:149
 CorrBkgdErrors.C:150
 CorrBkgdErrors.C:151
 CorrBkgdErrors.C:152
 CorrBkgdErrors.C:153
 CorrBkgdErrors.C:154
 CorrBkgdErrors.C:155
 CorrBkgdErrors.C:156
 CorrBkgdErrors.C:157
 CorrBkgdErrors.C:158
 CorrBkgdErrors.C:159
 CorrBkgdErrors.C:160
 CorrBkgdErrors.C:161
 CorrBkgdErrors.C:162
 CorrBkgdErrors.C:163
 CorrBkgdErrors.C:164
 CorrBkgdErrors.C:165
 CorrBkgdErrors.C:166
 CorrBkgdErrors.C:167
 CorrBkgdErrors.C:168
 CorrBkgdErrors.C:169
 CorrBkgdErrors.C:170
 CorrBkgdErrors.C:171
 CorrBkgdErrors.C:172
 CorrBkgdErrors.C:173
 CorrBkgdErrors.C:174
 CorrBkgdErrors.C:175
 CorrBkgdErrors.C:176
 CorrBkgdErrors.C:177
 CorrBkgdErrors.C:178
 CorrBkgdErrors.C:179
 CorrBkgdErrors.C:180
 CorrBkgdErrors.C:181
 CorrBkgdErrors.C:182
 CorrBkgdErrors.C:183
 CorrBkgdErrors.C:184
 CorrBkgdErrors.C:185
 CorrBkgdErrors.C:186
 CorrBkgdErrors.C:187
 CorrBkgdErrors.C:188
 CorrBkgdErrors.C:189
 CorrBkgdErrors.C:190
 CorrBkgdErrors.C:191
 CorrBkgdErrors.C:192
 CorrBkgdErrors.C:193
 CorrBkgdErrors.C:194
 CorrBkgdErrors.C:195
 CorrBkgdErrors.C:196
 CorrBkgdErrors.C:197
 CorrBkgdErrors.C:198
 CorrBkgdErrors.C:199
 CorrBkgdErrors.C:200
 CorrBkgdErrors.C:201
 CorrBkgdErrors.C:202
 CorrBkgdErrors.C:203
 CorrBkgdErrors.C:204
 CorrBkgdErrors.C:205
 CorrBkgdErrors.C:206
 CorrBkgdErrors.C:207
 CorrBkgdErrors.C:208
 CorrBkgdErrors.C:209
 CorrBkgdErrors.C:210
 CorrBkgdErrors.C:211
 CorrBkgdErrors.C:212
 CorrBkgdErrors.C:213
 CorrBkgdErrors.C:214
 CorrBkgdErrors.C:215
 CorrBkgdErrors.C:216
 CorrBkgdErrors.C:217
 CorrBkgdErrors.C:218
 CorrBkgdErrors.C:219
 CorrBkgdErrors.C:220
 CorrBkgdErrors.C:221
 CorrBkgdErrors.C:222
 CorrBkgdErrors.C:223
 CorrBkgdErrors.C:224
 CorrBkgdErrors.C:225
 CorrBkgdErrors.C:226
 CorrBkgdErrors.C:227
 CorrBkgdErrors.C:228
 CorrBkgdErrors.C:229
 CorrBkgdErrors.C:230
 CorrBkgdErrors.C:231
 CorrBkgdErrors.C:232
 CorrBkgdErrors.C:233
 CorrBkgdErrors.C:234
 CorrBkgdErrors.C:235
 CorrBkgdErrors.C:236
 CorrBkgdErrors.C:237
 CorrBkgdErrors.C:238
 CorrBkgdErrors.C:239
 CorrBkgdErrors.C:240
 CorrBkgdErrors.C:241
 CorrBkgdErrors.C:242
 CorrBkgdErrors.C:243
 CorrBkgdErrors.C:244
 CorrBkgdErrors.C:245
 CorrBkgdErrors.C:246
 CorrBkgdErrors.C:247
 CorrBkgdErrors.C:248
 CorrBkgdErrors.C:249
 CorrBkgdErrors.C:250
 CorrBkgdErrors.C:251
 CorrBkgdErrors.C:252
 CorrBkgdErrors.C:253
 CorrBkgdErrors.C:254
 CorrBkgdErrors.C:255
 CorrBkgdErrors.C:256
 CorrBkgdErrors.C:257
 CorrBkgdErrors.C:258
 CorrBkgdErrors.C:259
 CorrBkgdErrors.C:260
 CorrBkgdErrors.C:261
 CorrBkgdErrors.C:262
 CorrBkgdErrors.C:263
 CorrBkgdErrors.C:264
 CorrBkgdErrors.C:265
 CorrBkgdErrors.C:266
 CorrBkgdErrors.C:267
 CorrBkgdErrors.C:268
 CorrBkgdErrors.C:269
 CorrBkgdErrors.C:270
 CorrBkgdErrors.C:271
 CorrBkgdErrors.C:272
 CorrBkgdErrors.C:273
 CorrBkgdErrors.C:274
 CorrBkgdErrors.C:275
 CorrBkgdErrors.C:276
 CorrBkgdErrors.C:277
 CorrBkgdErrors.C:278
 CorrBkgdErrors.C:279
 CorrBkgdErrors.C:280
 CorrBkgdErrors.C:281
 CorrBkgdErrors.C:282
 CorrBkgdErrors.C:283
 CorrBkgdErrors.C:284
 CorrBkgdErrors.C:285
 CorrBkgdErrors.C:286
 CorrBkgdErrors.C:287
 CorrBkgdErrors.C:288
 CorrBkgdErrors.C:289
 CorrBkgdErrors.C:290
 CorrBkgdErrors.C:291
 CorrBkgdErrors.C:292
 CorrBkgdErrors.C:293
 CorrBkgdErrors.C:294
 CorrBkgdErrors.C:295
 CorrBkgdErrors.C:296
 CorrBkgdErrors.C:297
 CorrBkgdErrors.C:298
 CorrBkgdErrors.C:299
 CorrBkgdErrors.C:300
 CorrBkgdErrors.C:301
 CorrBkgdErrors.C:302
 CorrBkgdErrors.C:303
 CorrBkgdErrors.C:304
 CorrBkgdErrors.C:305
 CorrBkgdErrors.C:306
 CorrBkgdErrors.C:307
 CorrBkgdErrors.C:308
 CorrBkgdErrors.C:309
 CorrBkgdErrors.C:310
 CorrBkgdErrors.C:311
 CorrBkgdErrors.C:312
 CorrBkgdErrors.C:313
 CorrBkgdErrors.C:314
 CorrBkgdErrors.C:315
 CorrBkgdErrors.C:316
 CorrBkgdErrors.C:317
 CorrBkgdErrors.C:318
 CorrBkgdErrors.C:319
 CorrBkgdErrors.C:320
 CorrBkgdErrors.C:321
 CorrBkgdErrors.C:322
 CorrBkgdErrors.C:323
 CorrBkgdErrors.C:324
 CorrBkgdErrors.C:325
 CorrBkgdErrors.C:326
 CorrBkgdErrors.C:327
 CorrBkgdErrors.C:328
 CorrBkgdErrors.C:329
 CorrBkgdErrors.C:330
 CorrBkgdErrors.C:331
 CorrBkgdErrors.C:332
 CorrBkgdErrors.C:333
 CorrBkgdErrors.C:334
 CorrBkgdErrors.C:335
 CorrBkgdErrors.C:336
 CorrBkgdErrors.C:337
 CorrBkgdErrors.C:338
 CorrBkgdErrors.C:339
 CorrBkgdErrors.C:340
 CorrBkgdErrors.C:341
 CorrBkgdErrors.C:342
 CorrBkgdErrors.C:343
 CorrBkgdErrors.C:344
 CorrBkgdErrors.C:345
 CorrBkgdErrors.C:346
 CorrBkgdErrors.C:347
 CorrBkgdErrors.C:348
 CorrBkgdErrors.C:349
 CorrBkgdErrors.C:350
 CorrBkgdErrors.C:351
 CorrBkgdErrors.C:352
 CorrBkgdErrors.C:353
 CorrBkgdErrors.C:354
 CorrBkgdErrors.C:355
 CorrBkgdErrors.C:356
 CorrBkgdErrors.C:357
 CorrBkgdErrors.C:358
 CorrBkgdErrors.C:359
 CorrBkgdErrors.C:360
 CorrBkgdErrors.C:361
 CorrBkgdErrors.C:362
 CorrBkgdErrors.C:363
 CorrBkgdErrors.C:364
 CorrBkgdErrors.C:365
 CorrBkgdErrors.C:366
 CorrBkgdErrors.C:367
 CorrBkgdErrors.C:368
 CorrBkgdErrors.C:369
 CorrBkgdErrors.C:370
 CorrBkgdErrors.C:371