ROOT logo
void DrawMCQAplots(Int_t imode){

  // if you want to draw differential yield for charm, set imode==4
  // if you want to draw differential yield for charm, set imode==5
  // if you want to draw differential yield for charm and beauty, set imode==0
  // if you want to compare differential yield of electron yield from charm and beauty w/wo acc cut(eta<0.9), set imode==11
  // if you want to compare differetail cross section together with NLO prediction, set imode==12

  // load libs
  gSystem->Load("libANALYSIS.so");
  gSystem->Load("libANALYSISalice.so");
  gSystem->Load("libCORRFW.so");
  gSystem->Load("libPWG0base.so");
  gSystem->Load("libPWGHFhfe.so");

  // put input file name
  //char filename[]="./HFEtask.root";
  char filename[]="/lustre/alice/train/V006.MC_pp/2011-01-07_1954.4718/mergedPeriods/MC_pp/7TeV/LHC10f7a_c/HFEtask.root"; // pwg3 samples for pp
  //char NLOcalcc[]="../rootfiles/cpp10CTQ6diff.root"; // p+p 10TeV for cquark (pt, rapidity for q and fragments )
  //char NLOcalcb[]="../rootfiles/bpp10CTQ6diff.root"; // p+p 10TeV for bquark (pt, rapidity for q and fragments )
  //char NLOcalccb[]="../rootfiles/pp10CTQ6_pt_yall_cb.root"; // p+p 7TeV for c and b (pT only)
  char NLOcalcc[]="../rootfiles/cpp7CTQ6diff.root"; // p+p 7TeV for cquark (pt, rapidity for q and fragments )
  char NLOcalcb[]="../rootfiles/bpp7CTQ6diff.root"; // p+p 7TeV for bquark (pt, rapidity for q and fragments )
  char NLOcalccb[]="../rootfiles/pp7CTQ6_pt_yall_cb.root"; // p+p 7TeV for c and b (pT only)


  if(imode == 4) DrawDifferentialYield(4,filename, NLOcalcc); // charm differentail yield 
  if(imode == 5) DrawDifferentialYield(5,filename, NLOcalcb); // beauty differential yield
  if(imode == 0) DrawDifferentialYieldBoth(filename, NLOcalccb); // both charm and beauty
  if(imode == 11) DrawDifferentialYieldAcc(filename); // electron yield w/wo acc cut
  //if(imode == 12) DrawDifferentialXsectionBoth(filename, NLOcalccb); //be careful, have to look again the overall normalization  

}

//--------------------------
void DrawDifferentialYield(Int_t qtype, char *filename, char *NLOcalc){

  TFile *_file[2]; 
  _file[0] = TFile::Open(filename);
  _file[1] = TFile::Open(NLOcalc);

  setGeneralStyle();
  char configname[]="mcQA";
  enum qType {kQuark=0, kantiQuark=1, kHadron=2, kElec=3, kElec2nd=4, keHadron=5, kDeHadron=6};
  enum hqType {kCharmQuark=4, kBeautyQuark=5};
  Int_t fgkQuark = qtype;
  const Int_t fgkqType=7;

  struct hists {
        TH1F *Pt;
        TH1F *Eta;
        TH1F *Y;
  };

  struct histsComm {
        TH1F *PdgCode;
        TH1F *Nq;
  };

  hists fHist[7];
  histsComm fHistComm;

  TString kqTypeLabel[fgkqType];
  if (fgkQuark == kCharmQuark){
    kqTypeLabel[kQuark]="c";
    kqTypeLabel[kantiQuark]="cbar";
    kqTypeLabel[kHadron]="cHadron";
    kqTypeLabel[kElec]="ce";
    kqTypeLabel[kElec2nd]="nulle";
    kqTypeLabel[keHadron]="ceHadron";
    kqTypeLabel[kDeHadron]="nullHadron";
  } else if (fgkQuark == kBeautyQuark){
    kqTypeLabel[kQuark]="b";
    kqTypeLabel[kantiQuark]="bbar";
    kqTypeLabel[kHadron]="bHadron";
    kqTypeLabel[kElec]="be";
    kqTypeLabel[kElec2nd]="bce";
    kqTypeLabel[keHadron]="beHadron";
    kqTypeLabel[kDeHadron]="bDeHadron";
  }
  Int_t kColorCode[fgkqType];
  kColorCode[kQuark]=2;
  kColorCode[kantiQuark]=2;
  kColorCode[kHadron]=6;
  kColorCode[kElec]=4;
  kColorCode[kElec2nd]=4;
  kColorCode[keHadron]=3;
  kColorCode[kDeHadron]=3;

  Int_t kLineStyle[fgkqType];
  kLineStyle[kQuark]=1;
  kLineStyle[kantiQuark]=1;
  kLineStyle[kHadron]=3;
  kLineStyle[kElec]=2;
  kLineStyle[kElec2nd]=1;
  kLineStyle[keHadron]=2;
  kLineStyle[kDeHadron]=1;


  cPt = new TCanvas("cPt","pT",0,0,600,500);	
  cY = new TCanvas("cY","rapidity",0,0,600,500);	
  cPdg = new TCanvas("cPdg","pdg code",0,0,600,500);	
  cNq = new TCanvas("cNq","number of quark",0,0,600,500);	


  TList *tl = (TList *)_file[0]->Get("HFE_QA")->FindObject("MCqa");
  //count # of events
  TList *tl_result = (TList *)_file[0]->Get("HFE_Results");
  AliHFEcontainer *containerhfe = (AliHFEcontainer *) tl_result->FindObject("trackContainer");
  if(!containerhfe) {
      printf("No hfe container \n");
      return;
  }
  Int_t nEvt = (Int_t) containerhfe->GetNumberOfEvents();
  cout << "# of events " << nEvt << endl;

  Double_t scalefactor = 1./float(nEvt); //normalize with total number of event 

  TString hname; 
  for (Int_t iqType = 0; iqType < fgkqType; iqType++ ){

     //pT distribution
     hname="mcqa_Pt_";
     hname=hname+kqTypeLabel[iqType];
     fHist[iqType].Pt = (TH1F*)tl->FindObject(hname);
     fHist[iqType].Pt->SetXTitle("p_{t} [GeV/c]");
     fHist[iqType].Pt->SetYTitle("1/N_{Evt}dN/dp_{t} [1/GeVc^{-1}]");
     setDataStyle(*fHist[iqType].Pt, kColorCode[iqType], 3, kLineStyle[iqType]);

     CorrectFromTheWidth(fHist[iqType].Pt); //consider pT bin size
     fHist[iqType].Pt->Scale(scalefactor); //normalize with # of events 
     if (iqType==1) {
       fHist[iqType].Pt->Add(fHist[0].Pt); // add Q and Qbar
       fHist[iqType].Pt->Scale(0.5); // get number of ccbar pair
     }  

     //eta and rapidity distribution 	
     hname="mcqa_Eta_";
     hname=hname+kqTypeLabel[iqType];
     fHist[iqType].Eta = (TH1F*)tl->FindObject(hname);
     hname="mcqa_Y_";
     hname=hname+kqTypeLabel[iqType];
     fHist[iqType].Y = (TH1F*)tl->FindObject(hname);
     fHist[iqType].Y->SetXTitle("Y");
     fHist[iqType].Y->SetYTitle("1/N_{Evt}dN/dY");
     setDataStyle(*fHist[iqType].Y, kColorCode[iqType], 3, kLineStyle[iqType]);

     CorrectFromTheWidth(fHist[iqType].Y); //consider pT bin size
     fHist[iqType].Y->Scale(scalefactor); //normalize with # of events 
     if (iqType==1) {
       fHist[iqType].Y->Add(fHist[0].Y); // add Q and Qbar
       fHist[iqType].Y->Scale(0.5); // get number of ccbar pair
     }  

     cPt->cd();
     setPadStyle(2,gPad);
     if (iqType==1) fHist[iqType].Pt->Draw();
     if(iqType==2 || iqType==3 || iqType==4 || iqType==5 || iqType==6) fHist[iqType].Pt->Draw("same");

     cY->cd();
     setPadStyle(2,gPad);
     if (iqType==1) fHist[iqType].Y->Draw();
     if(iqType==2 || iqType==3 || iqType==4 || iqType==5 || iqType==6) fHist[iqType].Y->Draw("same");
     
  }

  cPdg->cd();	
  hname="mcqa_PdgCode_";
  hname=hname+kqTypeLabel[kQuark]+"Hadron";
  fHistComm.PdgCode = (TH1F*)tl->FindObject(hname);
  fHistComm.PdgCode->SetXTitle("hadron pdg code");
  fHistComm.PdgCode->SetYTitle("Yield");
  setDataStyle(*fHistComm.PdgCode, 2, 2, 1);
  setPadStyle(2,gPad);
  fHistComm.PdgCode->Draw();

  cNq->cd();
  hname="mcqa_Nq_";
  hname=hname+kqTypeLabel[kQuark];
  fHistComm.Nq = (TH1F*)tl->FindObject(hname);
  fHistComm.Nq->SetXTitle("number of "+kqTypeLabel[kQuark]+","+kqTypeLabel[kQuark]+"-bar per event");
  fHistComm.Nq->SetYTitle("Yield per Event");
  setDataStyle(*fHistComm.Nq, 2, 4, 1);
  setPadStyle(1,gPad);
  fHistComm.Nq->Scale(scalefactor); 
  fHistComm.Nq->Draw();



  TLegend *legend1 = new TLegend(0.50,0.73,0.98,0.99,"");
  setLegendStyle(*legend1,1);
  legend1->AddEntry(fHist[0].Pt,kqTypeLabel[kQuark]+"#bar{"+kqTypeLabel[kQuark]+"}"+" pair", "l");
  legend1->AddEntry(fHist[2].Pt,kqTypeLabel[kQuark]+" hadrons from "+kqTypeLabel[kQuark]+", #bar{"+kqTypeLabel[kQuark]+"}", "l");
  legend1->AddEntry(fHist[3].Pt,"elec. from "+kqTypeLabel[kQuark]+"->e", "l");
  if(qtype==5) legend1->AddEntry(fHist[4].Pt,"elec. from "+kqTypeLabel[kQuark]+"->c->e", "l");
  legend1->AddEntry(fHist[5].Pt,kqTypeLabel[kQuark]+" hadron decaying "+kqTypeLabel[kQuark]+"->e", "l");
  if(qtype==5) legend1->AddEntry(fHist[6].Pt,kqTypeLabel[kQuark]+" hadron decaying "+kqTypeLabel[kQuark]+"->c->e", "l");

  TLegend *legend1_ = new TLegend(0.65,0.42,0.90,0.72,"");
  setLegendStyle(*legend1_,1);
  legend1_->AddEntry(fHist[0].Pt,"Yield per event", "");
  legend1_->AddEntry(fHist[0].Pt,"(0.1<p_{t}<20)", "");
  legend1_->AddEntry(fHist[0].Pt,Form("%1.4f",fHist[1].Pt->Integral("width")), "l");
  legend1_->AddEntry(fHist[2].Pt,Form("%1.4f",fHist[2].Pt->Integral("width")), "l");
  legend1_->AddEntry(fHist[3].Pt,Form("%1.4f",fHist[3].Pt->Integral("width")), "l");
  if(qtype==5) legend1_->AddEntry(fHist[4].Pt,Form("%1.4f",fHist[4].Pt->Integral("width")), "l");
  legend1_->AddEntry(fHist[5].Pt,Form("%1.4f",fHist[5].Pt->Integral("width")), "l");
  if(qtype==5) legend1_->AddEntry(fHist[6].Pt,Form("%1.4f",fHist[6].Pt->Integral("width")), "l");

  cPt->cd();
  legend1_->Draw();

  TLegend *legend2 = new TLegend(0.26,0.15,0.74,0.37,"");
  setLegendStyle(*legend2,1);
  legend2->AddEntry(fHist[0].Y,kqTypeLabel[kQuark]+"#bar{"+kqTypeLabel[kQuark]+"}"+" pair", "l");
  legend2->AddEntry(fHist[2].Y,kqTypeLabel[kQuark]+" hadrons from "+kqTypeLabel[kQuark], "l");
  legend2->AddEntry(fHist[3].Y,"elec. from "+kqTypeLabel[kQuark]+"->e", "l");
  if(qtype==5) legend2->AddEntry(fHist[4].Y,"elec. from "+kqTypeLabel[kQuark]+"->c->e", "l");
  legend2->AddEntry(fHist[5].Y,kqTypeLabel[kQuark]+" hadron decaying "+kqTypeLabel[kQuark]+"->e", "l");
  if(qtype==5) legend2->AddEntry(fHist[6].Y,kqTypeLabel[kQuark]+" hadron decaying "+kqTypeLabel[kQuark]+"->c->e", "l");

  TLegend *legend2_ = new TLegend(0.70,0.77,0.98,0.99,"");
  setLegendStyle(*legend2_,1);
  legend2_->AddEntry(fHist[0].Y,"Yield per event", "");
  legend2_->AddEntry(fHist[0].Y,"(all p_{t},-7.5<Y<7.5)", "");
  legend2_->AddEntry(fHist[0].Y,Form("%1.4f",fHist[1].Y->Integral("width")), "l");
  legend2_->AddEntry(fHist[2].Y,Form("%1.4f",fHist[2].Y->Integral("width")), "l");
  legend2_->AddEntry(fHist[3].Y,Form("%1.4f",fHist[3].Y->Integral("width")), "l");
  if(qtype==5) legend2_->AddEntry(fHist[4].Y,Form("%1.4f",fHist[4].Y->Integral("width")), "l");
  legend2_->AddEntry(fHist[5].Y,Form("%1.4f",fHist[5].Y->Integral("width")), "l");
  if(qtype==5) legend2_->AddEntry(fHist[6].Y,Form("%1.4f",fHist[6].Y->Integral("width")), "l");

  cY->cd();
  legend2_->Draw();

  TLegend *legend3 = new TLegend(0.35,0.80,0.88,0.88,"");
  setLegendStyle(*legend3,0);
  legend3->AddEntry(fHistComm.Nq,"semi-leptonic decay", "");
	      
  cNq->cd();
  legend3->Draw();
  
  Double_t totcrossNLO=0;
  Double_t scalefactorNLO=0;
  Double_t totcrossNLOY=0;
  Double_t scalefactorNLOY=0;
  if(qtype==4) {
    //TH1F *hNLO = (TH1F*)_file[1]->Get("hpt_c");
    TH1F *hNLO = (TH1F*)_file[1]->Get("hptQwkick");
    TH1F *hNLOY = (TH1F*)_file[1]->Get("hyQwkick");
  }
  if(qtype==5) {
    //if(qtype==5) TH1F *hNLO = (TH1F*)_file[1]->Get("hpt_b");
    TH1F *hNLO = (TH1F*)_file[1]->Get("hptQwkick");
    TH1F *hNLOY = (TH1F*)_file[1]->Get("hyQwkick");
  }  
  // pt
  totcrossNLO = hNLO->Integral("width");
  hNLO->SetMarkerStyle(3);
  hNLO->SetMarkerColor(1);
  hNLO->SetLineColor(1);
  hNLO->SetLineWidth(2);
  scalefactorNLO = (fHist[1].Pt->Integral("width"))/totcrossNLO; // normalize to the b-bbar total cross section 
  hNLO->Scale(scalefactorNLO);
  // rapidity
  totcrossNLOY = hNLOY->Integral("width");
  hNLOY->SetMarkerStyle(3);
  hNLOY->SetMarkerColor(1);
  hNLOY->SetLineColor(1);
  hNLOY->SetLineWidth(2);
  scalefactorNLOY = (fHist[1].Y->Integral("width"))/totcrossNLOY; // normalize to the b-bbar total cross section 
  hNLOY->Scale(scalefactorNLOY);

  cPt->cd();
  hNLO->Draw("samep");
  if(qtype==4) legend1->AddEntry(hNLO,"charm from NLO", "lp");
  if(qtype==5) legend1->AddEntry(hNLO,"bottom from NLO", "lp");
  legend1->Draw();

  cY->cd();
  hNLOY->Draw("samep");
  if(qtype==4) legend2->AddEntry(hNLOY,"charm from NLO", "lp");
  if(qtype==5) legend2->AddEntry(hNLOY,"bottom from NLO", "lp");
  legend2->Draw();
}
 
//--------------------------
void DrawDifferentialYieldBoth(char *filename, char *NLOcalc){

  TFile *_file[1]; 
  _file[0] = TFile::Open(filename);
  _file[1] = TFile::Open(NLOcalc);

  setGeneralStyle();
  char configname[]="mcQA";
  enum qType {kQuark, kantiQuark, kHadron, kElec, kElec2nd, keHadron, kDeHadron};
  const Int_t fgkqType=7;

  struct hists {
        TH1F *Pt;
        TH1F *Eta;
        TH1F *Y;
  };

  hists fHist[2][7];

  TString kqTypeLabel[2][fgkqType];
  kqTypeLabel[0][kQuark]="c";
  kqTypeLabel[0][kantiQuark]="cbar";
  kqTypeLabel[0][kHadron]="cHadron";
  kqTypeLabel[0][kElec]="ce";
  kqTypeLabel[0][kElec2nd]="nulle";
  kqTypeLabel[0][keHadron]="ceHadron";
  kqTypeLabel[0][kDeHadron]="nullHadron";
  kqTypeLabel[1][kQuark]="b";
  kqTypeLabel[1][kantiQuark]="bbar";
  kqTypeLabel[1][kHadron]="bHadron";
  kqTypeLabel[1][kElec]="be";
  kqTypeLabel[1][kElec2nd]="bce";
  kqTypeLabel[1][keHadron]="beHadron";
  kqTypeLabel[1][kDeHadron]="bDeHadron";

  Int_t kColorCode[2][fgkqType];
  for(Int_t iq=0; iq<7; iq++){
    kColorCode[0][iq]=4;
    kColorCode[1][iq]=2;
  }  

  Int_t kLineStyle[fgkqType];
  kLineStyle[kQuark]=1;
  kLineStyle[kantiQuark]=1;
  kLineStyle[kHadron]=2;
  kLineStyle[kElec]=2;
  kLineStyle[kElec2nd]=1;
  kLineStyle[keHadron]=2;
  kLineStyle[kDeHadron]=1;


  cPt = new TCanvas("cPt","pT of Quark & Hadron",0,0,600,500);	
  cY = new TCanvas("cY","rapidity of Quark & Hadron",0,0,600,500);	

  cPtElec = new TCanvas("cPtElec","pT of Electron",0,0,600,500);	
  cYQElec = new TCanvas("cYElec","rapidity of Electron",0,0,600,500);	

  TList *tl = (TList *)_file[0]->Get("HFE_QA")->FindObject("MCqa");
  //count # of events
  TList *tl_result = (TList *)_file[0]->Get("HFE_Results");
  AliHFEcontainer *containerhfe = (AliHFEcontainer *) tl_result->FindObject("trackContainer");
  if(!containerhfe) {
      printf("No hfe container \n");
      return;
  }
  Int_t nEvt = (Int_t) containerhfe->GetNumberOfEvents();
  cout << "# of events " << nEvt << endl;

  Double_t scalefactor = 1./float(nEvt); //normalize with total number of event 

  TString hname; 
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    for (Int_t iqType = 0; iqType < fgkqType; iqType++ ){

      //pT distribution
      hname="mcqa_Pt_";
      hname=hname+kqTypeLabel[iHQ][iqType];
      fHist[iHQ][iqType].Pt = (TH1F*)tl->FindObject(hname);
      fHist[iHQ][iqType].Pt->SetXTitle("p_{t} [GeV/c]");
      fHist[iHQ][iqType].Pt->SetYTitle("1/N_{Evt}dN/dp_{t} [1/GeVc^{-1}]");
      setDataStyle(*fHist[iHQ][iqType].Pt, kColorCode[iHQ][iqType], 3, kLineStyle[iqType]);

      CorrectFromTheWidth(fHist[iHQ][iqType].Pt); //consider pT bin size
      fHist[iHQ][iqType].Pt->Scale(scalefactor); //normalize with # of events 
      if (iqType==1) {
        fHist[iHQ][iqType].Pt->Add(fHist[iHQ][0].Pt); // Q+Qbar
	fHist[iHQ][iqType].Pt->Scale(0.5); // pair 
      }	

      //eta and rapidity distribution 	
      hname="mcqa_Eta_";
      hname=hname+kqTypeLabel[iHQ][iqType];
      fHist[iHQ][iqType].Eta = (TH1F*)tl->FindObject(hname);
      hname="mcqa_Y_";
      hname=hname+kqTypeLabel[iHQ][iqType];
      fHist[iHQ][iqType].Y = (TH1F*)tl->FindObject(hname);
      fHist[iHQ][iqType].Y->SetXTitle("Y");
      fHist[iHQ][iqType].Y->SetYTitle("1/N_{Evt}dN/dY");
      setDataStyle(*fHist[iHQ][iqType].Y, kColorCode[iHQ][iqType], 3, kLineStyle[iqType]);

      CorrectFromTheWidth(fHist[iHQ][iqType].Y); //consider Y bin size
      fHist[iHQ][iqType].Y->Scale(scalefactor); //normalize with # of events 
      if (iqType==1) {
        fHist[iHQ][iqType].Y->Add(fHist[iHQ][0].Y); // Q+Qbar
	fHist[iHQ][iqType].Y->Scale(0.5); // pair 
      }
    }
  }

  Int_t iorder[2] = {0,1}; 
  if (fHist[0][1].Pt->GetEntries() < fHist[1][1].Pt->GetEntries()) {iorder[0]=1; iorder[1]=0;};

  cPt->cd();
  setPadStyle(2,gPad);
  fHist[iorder[0]][1].Pt->Draw();
  fHist[iorder[1]][1].Pt->Draw("same");
  fHist[iorder[0]][2].Pt->Draw("same");
  fHist[iorder[1]][2].Pt->Draw("same");

  cY->cd();
  setPadStyle(2,gPad);
  fHist[iorder[0]][1].Y->Draw();
  fHist[iorder[1]][1].Y->Draw("same");
  fHist[iorder[0]][2].Y->Draw("same");
  fHist[iorder[1]][2].Y->Draw("same");

  cPtElec->cd();
  setPadStyle(2,gPad);
  fHist[iorder[0]][3].Pt->Draw();
  fHist[iorder[1]][3].Pt->Draw("same");
  fHist[1][4].Pt->Draw("same");

  cYElec->cd();
  setPadStyle(2,gPad);
  fHist[iorder[0]][3].Y->Draw();
  fHist[iorder[1]][3].Y->Draw("same");
  fHist[1][4].Y->Draw("same");


  TLegend *legend1 = new TLegend(0.50,0.77,0.98,0.99,"");
  setLegendStyle(*legend1,1);
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    legend1->AddEntry(fHist[iHQ][0].Pt,kqTypeLabel[iHQ][kQuark]+"#bar{"+kqTypeLabel[iHQ][kQuark]+"}"+" pair", "l");
    legend1->AddEntry(fHist[iHQ][2].Pt,kqTypeLabel[iHQ][kQuark]+" hadrons from "+kqTypeLabel[iHQ][kQuark], "l");
  }
  TLegend *legend1_ = new TLegend(0.65,0.42,0.90,0.72,"");
  setLegendStyle(*legend1_,1);
  legend1_->AddEntry(fHist[0][0].Pt,"Yield per event", "");
  legend1_->AddEntry(fHist[0][0].Pt,"(0.1<p_{t}<20)", "");
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    legend1_->AddEntry(fHist[iHQ][0].Pt,Form("%1.4f",fHist[iHQ][1].Pt->Integral("width")), "l");
    legend1_->AddEntry(fHist[iHQ][2].Pt,Form("%1.4f",fHist[iHQ][2].Pt->Integral("width")), "l");
  }

  TLegend *legend2 = new TLegend(0.50,0.77,0.98,0.99,"");
  setLegendStyle(*legend2,1);
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    legend2->AddEntry(fHist[iHQ][3].Pt,"elec. from "+kqTypeLabel[iHQ][kQuark]+"->e", "l");
    if(iHQ==1) legend2->AddEntry(fHist[iHQ][4].Pt,"elec. from "+kqTypeLabel[iHQ][kQuark]+"->c->e", "l");
  }
  TLegend *legend2_ = new TLegend(0.65,0.42,0.90,0.72,"");
  setLegendStyle(*legend2_,1);
  legend2_->AddEntry(fHist[0][0].Pt,"Yield per event", "");
  legend2_->AddEntry(fHist[0][0].Pt,"(0.1<p_{t}<20)", "");
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    legend2_->AddEntry(fHist[iHQ][3].Pt,Form("%1.4f",fHist[iHQ][3].Pt->Integral("width")), "l");
    if(iHQ==1) legend2_->AddEntry(fHist[iHQ][4].Pt,Form("%1.4f",fHist[iHQ][4].Pt->Integral("width")), "l");
  }


  TLegend *legend3 = new TLegend(0.26,0.15,0.74,0.37,"");
  setLegendStyle(*legend3,1);
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    legend3->AddEntry(fHist[iHQ][0].Y,kqTypeLabel[iHQ][kQuark]+"#bar{"+kqTypeLabel[iHQ][kQuark]+"}"+" pair", "l");
    legend3->AddEntry(fHist[iHQ][2].Y,kqTypeLabel[iHQ][kQuark]+" hadrons from "+kqTypeLabel[iHQ][kQuark], "l");
  }
  TLegend *legend3_ = new TLegend(0.70,0.77,0.98,0.99,"");
  setLegendStyle(*legend3_,1);
  legend3_->AddEntry(fHist[0][0].Y,"Yield per event", "");
  legend3_->AddEntry(fHist[0][0].Y,"(all p_{t},-7.5<Y<7.5)", "");
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    legend3_->AddEntry(fHist[iHQ][0].Y,Form("%1.4f",fHist[iHQ][1].Y->Integral("width")), "l");
    legend3_->AddEntry(fHist[iHQ][2].Y,Form("%1.4f",fHist[iHQ][2].Y->Integral("width")), "l");
  }

  TLegend *legend4 = new TLegend(0.30,0.15,0.70,0.27,"");
  setLegendStyle(*legend4,1);
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    legend4->AddEntry(fHist[iHQ][3].Y,"elec. from "+kqTypeLabel[iHQ][kQuark]+"->e", "l");
    if(iHQ==1) legend4->AddEntry(fHist[iHQ][4].Y,"elec. from "+kqTypeLabel[iHQ][kQuark]+"->c->e", "l");
  }
  TLegend *legend4_ = new TLegend(0.70,0.82,0.98,0.99,"");
  setLegendStyle(*legend4_,1);
  legend4_->AddEntry(fHist[0][0].Y,"Yield per event", "");
  legend4_->AddEntry(fHist[0][0].Y,"(all p_{t},-7.5<Y<7.5)", "");
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    legend4_->AddEntry(fHist[iHQ][3].Y,Form("%1.4f",fHist[iHQ][3].Y->Integral("width")), "l");
    if(iHQ==1) legend4_->AddEntry(fHist[iHQ][4].Y,Form("%1.4f",fHist[iHQ][4].Y->Integral("width")), "l");
  }


  cPt->cd();
  legend1->Draw();
  legend1_->Draw();

  cPtElec->cd();
  legend2->Draw();
  legend2_->Draw();

  cY->cd();
  legend3->Draw();
  legend3_->Draw();

  cYElec->cd();
  legend4->Draw();
  legend4_->Draw();

  TH1F *hNLOc = (TH1F*)_file[1]->Get("hpt_c");
  TH1F *hNLOb = (TH1F*)_file[1]->Get("hpt_b");
  Double_t ctotcrossNLO = hNLOc->Integral("width");
  Double_t btotcrossNLO = hNLOb->Integral("width");
  Double_t cscalefactorNLO = (fHist[0][1].Pt->Integral("width"))/ctotcrossNLO; // normalize to the b-bbar total cross section 
  Double_t bscalefactorNLO = (fHist[1][1].Pt->Integral("width"))/btotcrossNLO; // normalize to the b-bbar total cross section 
  hNLOc->Scale(cscalefactorNLO);
  hNLOb->Scale(bscalefactorNLO);
  cPt->cd();
  hNLOc->SetMarkerStyle(28);
  hNLOb->SetMarkerStyle(3);
  hNLOc->SetMarkerColor(1);
  hNLOb->SetMarkerColor(1);
  hNLOc->Draw("samep");
  hNLOb->Draw("samep");
  legend1->AddEntry(hNLOc,"charm from NLO", "p");
  legend1->AddEntry(hNLOb,"bottom from NLO", "p");
  legend1->Draw();

}


//--------------------------
void DrawDifferentialYieldAcc(char *filename){

  TFile *_file[1]; 
  _file[0] = TFile::Open(filename);

  setGeneralStyle();
  char configname[]="mcQA";
  enum qType {kQuark, kantiQuark, kHadron, kElec, kElec2nd, keHadron, kDeHadron};
  const Int_t fgkqType=7;

  struct hists {
        TH1F *Pt;
        TH1F *Eta;
        TH1F *Y;
        TH1F *barrel_Pt;
        TH1F *barrel_Eta;
        TH1F *barrel_Y;
  };

  hists fHist[2][7];

  TString kqTypeLabel[2][fgkqType];
  kqTypeLabel[0][kQuark]="c";
  kqTypeLabel[0][kElec]="ce";
  kqTypeLabel[0][kElec2nd]="nulle";
  kqTypeLabel[1][kQuark]="b";
  kqTypeLabel[1][kElec]="be";
  kqTypeLabel[1][kElec2nd]="bce";

  Int_t kColorCode[2][fgkqType][2];
  for(Int_t iq=0; iq<7; iq++){
    kColorCode[0][iq][0]=kRed;
    kColorCode[1][iq][0]=kBlue;
  }  
  kColorCode[1][kElec2nd][0]=kBlack;

  Int_t kMarkerStyle[2][2][fgkqType];
  kMarkerStyle[0][0][kElec]=24;
  kMarkerStyle[0][1][kElec]=25;
  kMarkerStyle[1][0][kElec]=20;
  kMarkerStyle[1][1][kElec]=21;
  kMarkerStyle[0][1][kElec2nd]=25;
  kMarkerStyle[1][1][kElec2nd]=21;

  Int_t kLineStyle[fgkqType];
  kLineStyle[kElec]=1;
  kLineStyle[kElec2nd]=1;

  cPtElec = new TCanvas("cPtElec","pT of Electron",0,0,600,500);	
  cYQElec = new TCanvas("cYElec","rapidity of Electron",0,0,600,500);	

  TList *tl = (TList *)_file[0]->Get("HFE_QA")->FindObject("MCqa");
  //count # of events
  TList *tl_result = (TList *)_file[0]->Get("HFE_Results");
  AliHFEcontainer *containerhfe = (AliHFEcontainer *) tl_result->FindObject("trackContainer");
  if(!containerhfe) {
      printf("No hfe container \n");
      return;
  }
  Int_t nEvt = (Int_t) containerhfe->GetNumberOfEvents();
  cout << "# of events " << nEvt << endl;

  Double_t scalefactor = 1./float(nEvt); //normalize with total number of event 

  TString hname; 
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    for (Int_t iqType = 3; iqType < 5; iqType++ ){

      //pT distribution
      hname="mcqa_Pt_";
      hname=hname+kqTypeLabel[iHQ][iqType];
      fHist[iHQ][iqType].Pt = (TH1F*)tl->FindObject(hname);
      fHist[iHQ][iqType].Pt->SetXTitle("p_{t} [GeV/c]");
      fHist[iHQ][iqType].Pt->SetYTitle("1/N_{Evt}dN/dp_{t} [1/GeVc^{-1}]");
      setDataStyle(*fHist[iHQ][iqType].Pt, kColorCode[iHQ][iqType][0], 1, kLineStyle[iqType]);
      fHist[iHQ][iqType].Pt->SetMarkerStyle(kMarkerStyle[0][iHQ][iqType]);

      fHist[iHQ][iqType].Pt->Sumw2(); 
      CorrectFromTheWidth(fHist[iHQ][iqType].Pt); //consider pT bin size
      fHist[iHQ][iqType].Pt->Scale(scalefactor); //normalize with # of events 
      fHist[iHQ][iqType].Pt->Scale(0.5); //to get (e+e-)/2 

      hname="mcqa_barrel_Pt_";
      hname=hname+kqTypeLabel[iHQ][iqType];
      fHist[iHQ][iqType].barrel_Pt = (TH1F*)tl->FindObject(hname);
      fHist[iHQ][iqType].barrel_Pt->SetXTitle("p_{t} [GeV/c]");
      fHist[iHQ][iqType].barrel_Pt->SetYTitle("1/N_{Evt}dN/dp_{t} [1/GeVc^{-1}]");
      setDataStyle(*fHist[iHQ][iqType].barrel_Pt, kColorCode[iHQ][iqType][0], 1, kLineStyle[iqType]);
      fHist[iHQ][iqType].barrel_Pt->SetMarkerStyle(kMarkerStyle[1][iHQ][iqType]);

      fHist[iHQ][iqType].barrel_Pt->Sumw2();
      CorrectFromTheWidth(fHist[iHQ][iqType].barrel_Pt); //consider pT bin size
      fHist[iHQ][iqType].barrel_Pt->Scale(scalefactor); //normalize with # of events
      fHist[iHQ][iqType].barrel_Pt->Scale(0.5); //to get (e+e-)/2 


      //eta and rapidity distribution 	
      hname="mcqa_Eta_";
      hname=hname+kqTypeLabel[iHQ][iqType];
      fHist[iHQ][iqType].Eta = (TH1F*)tl->FindObject(hname);
      hname="mcqa_Y_";
      hname=hname+kqTypeLabel[iHQ][iqType];
      fHist[iHQ][iqType].Y = (TH1F*)tl->FindObject(hname);
      fHist[iHQ][iqType].Y->SetXTitle("Y");
      fHist[iHQ][iqType].Y->SetYTitle("1/N_{Evt}dN/dY");
      setDataStyle(*fHist[iHQ][iqType].Y, kColorCode[iHQ][iqType][0], 1, kLineStyle[iqType]);
      fHist[iHQ][iqType].Y->SetMarkerStyle(kMarkerStyle[0][1][iqType]);

      fHist[iHQ][iqType].Y->Rebin(2);
      fHist[iHQ][iqType].Y->Sumw2();
      CorrectFromTheWidth(fHist[iHQ][iqType].Y); //consider Y bin size
      fHist[iHQ][iqType].Y->Scale(scalefactor); //normalize with # of events
      fHist[iHQ][iqType].Y->Scale(0.5); //to get (e+e-)/2

      hname="mcqa_barrel_Eta_";
      hname=hname+kqTypeLabel[iHQ][iqType];
      fHist[iHQ][iqType].barrel_Eta = (TH1F*)tl->FindObject(hname);
      hname="mcqa_barrel_Y_";
      hname=hname+kqTypeLabel[iHQ][iqType];
      fHist[iHQ][iqType].barrel_Y = (TH1F*)tl->FindObject(hname);
      fHist[iHQ][iqType].barrel_Y->SetXTitle("Y");
      fHist[iHQ][iqType].barrel_Y->SetYTitle("1/N_{Evt}dN/dY");
      setDataStyle(*fHist[iHQ][iqType].barrel_Y, kColorCode[iHQ][iqType][0], 1, kLineStyle[iqType]);
      fHist[iHQ][iqType].barrel_Y->SetMarkerStyle(kMarkerStyle[1][iHQ][iqType]);

      fHist[iHQ][iqType].barrel_Y->Rebin(2);
      fHist[iHQ][iqType].barrel_Y->Sumw2();
      CorrectFromTheWidth(fHist[iHQ][iqType].barrel_Y); //consider Y bin size
      fHist[iHQ][iqType].barrel_Y->Scale(scalefactor); //normalize with # of events
      fHist[iHQ][iqType].barrel_Y->Scale(0.5); //to get (e+e-)/2
    }
  }

  Int_t iorder[2] = {0,1}; 
  if (fHist[0][3].Pt->GetEntries() < fHist[1][3].Pt->GetEntries()) {iorder[0]=1; iorder[1]=0;};

  cPtElec->cd();
  setPadStyle(2,gPad);
  fHist[iorder[0]][3].Pt->SetAxisRange(0,10,"X");
  fHist[iorder[0]][3].Pt->Draw("p");
  fHist[iorder[1]][3].Pt->Draw("samep");
  fHist[1][4].Pt->Draw("samep");
  fHist[iorder[0]][3].barrel_Pt->Draw("samep");
  fHist[iorder[1]][3].barrel_Pt->Draw("samep");
  fHist[1][4].barrel_Pt->Draw("samep");

  cYElec->cd();
  setPadStyle(2,gPad);
  fHist[iorder[0]][3].Y->Draw();
  fHist[iorder[1]][3].Y->Draw("same");
  fHist[1][4].Y->Draw("same");
  fHist[iorder[0]][3].barrel_Y->Draw("samelp");
  fHist[iorder[1]][3].barrel_Y->Draw("samelp");
  fHist[1][4].barrel_Y->Draw("samelp");


  TLegend *legend2 = new TLegend(0.62,0.74,0.98,0.99,"");
  setLegendStyle(*legend2,1);
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    legend2->AddEntry(fHist[iHQ][3].Pt,"(e+e^{-})/2, "+kqTypeLabel[iHQ][kQuark]+"->e", "p");
    legend2->AddEntry(fHist[iHQ][3].barrel_Pt,"(e+e^{-})/2, "+kqTypeLabel[iHQ][kQuark]+"->e |#eta<0.9|", "p");
    if(iHQ==1) legend2->AddEntry(fHist[iHQ][4].Pt,"(e+e^{-})/2, "+kqTypeLabel[iHQ][kQuark]+"->c->e", "p");
    if(iHQ==1) legend2->AddEntry(fHist[iHQ][4].barrel_Pt,"(e+e^{-})/2, "+kqTypeLabel[iHQ][kQuark]+"->c->e |#eta<0.9|", "p");
  }
  TLegend *legend2_ = new TLegend(0.62,0.42,0.98,0.72,"");
  setLegendStyle(*legend2_,1);
  legend2_->AddEntry(fHist[0][0].Pt,"(e+e^{-})/2, yield per event", "");
  legend2_->AddEntry(fHist[0][0].Pt,"(0.1<p_{t}<20)", "");
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    legend2_->AddEntry(fHist[iHQ][3].Pt,Form("%1.4f",fHist[iHQ][3].Pt->Integral("width")), "p");
    legend2_->AddEntry(fHist[iHQ][3].barrel_Pt,Form("%1.4f",fHist[iHQ][3].barrel_Pt->Integral("width")), "p");
    if(iHQ==1) legend2_->AddEntry(fHist[iHQ][4].Pt,Form("%1.4f",fHist[iHQ][4].Pt->Integral("width")), "p");
    if(iHQ==1) legend2_->AddEntry(fHist[iHQ][4].barrel_Pt,Form("%1.4f",fHist[iHQ][4].barrel_Pt->Integral("width")), "p");
  }


  TLegend *legend4 = new TLegend(0.30,0.12,0.70,0.36,"");
  setLegendStyle(*legend4,1);
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    legend4->AddEntry(fHist[iHQ][3].Y,"(e+e^{-})/2, "+kqTypeLabel[iHQ][kQuark]+"->e", "p");
    legend4->AddEntry(fHist[iHQ][3].barrel_Y,"(e+e^{-})/2, "+kqTypeLabel[iHQ][kQuark]+"->e |#eta<0.9|", "p");
    if(iHQ==1) legend4->AddEntry(fHist[iHQ][4].Y,"(e+e^{-})/2, "+kqTypeLabel[iHQ][kQuark]+"->c->e", "p");
    if(iHQ==1) legend4->AddEntry(fHist[iHQ][4].barrel_Y,"(e+e^{-})/2, "+kqTypeLabel[iHQ][kQuark]+"->c->e |#eta<0.9|", "p");
  }
  TLegend *legend4_ = new TLegend(0.65,0.72,0.98,0.99,"");
  setLegendStyle(*legend4_,1);
  legend4_->AddEntry(fHist[0][0].Y,"(e+e^{-})/2, yield per event", "");
  legend4_->AddEntry(fHist[0][0].Y,"(all p_{t})", "");
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    legend4_->AddEntry(fHist[iHQ][3].Y,Form("%1.4f",fHist[iHQ][3].Y->Integral("width")), "p");
    legend4_->AddEntry(fHist[iHQ][3].barrel_Y,Form("%1.4f",fHist[iHQ][3].barrel_Y->Integral("width")), "p");
    if(iHQ==1) legend4_->AddEntry(fHist[iHQ][4].Y,Form("%1.4f",fHist[iHQ][4].Y->Integral("width")), "p");
    if(iHQ==1) legend4_->AddEntry(fHist[iHQ][4].barrel_Y,Form("%1.4f",fHist[iHQ][4].barrel_Y->Integral("width")), "p");
  }


  cPtElec->cd();
  legend2->Draw();
  legend2_->Draw();

  cYElec->cd();
  legend4->Draw();
  legend4_->Draw();

}

//--------------------------
void DrawDifferentialXsectionBoth(char *filename, char *NLOcalc){

  TFile *_file[1]; 
  _file[0] = TFile::Open(filename);
  _file[1] = TFile::Open(NLOcalc);

  setGeneralStyle();
  char configname[]="mcQA";
  enum qType {kQuark, kantiQuark, kHadron, kElec, kElec2nd, keHadron, kDeHadron};
  const Int_t fgkqType=7;

  struct hists {
        TH1F *Pt;
  };

  hists fHist[2][7];

  TString kqTypeLabel[2][fgkqType];
  kqTypeLabel[0][kQuark]="c";
  kqTypeLabel[0][kantiQuark]="cbar";
  kqTypeLabel[0][kHadron]="cHadron";
  kqTypeLabel[0][kElec]="ce";
  kqTypeLabel[0][kElec2nd]="nulle";
  kqTypeLabel[0][keHadron]="ceHadron";
  kqTypeLabel[0][kDeHadron]="nullHadron";
  kqTypeLabel[1][kQuark]="b";
  kqTypeLabel[1][kantiQuark]="bbar";
  kqTypeLabel[1][kHadron]="bHadron";
  kqTypeLabel[1][kElec]="be";
  kqTypeLabel[1][kElec2nd]="bce";
  kqTypeLabel[1][keHadron]="beHadron";
  kqTypeLabel[1][kDeHadron]="bDeHadron";

  Int_t kColorCode[2][fgkqType];
  for(Int_t iq=0; iq<7; iq++){
    kColorCode[0][iq]=4;
    kColorCode[1][iq]=2;
  }  

  Int_t kLineStyle[fgkqType];
  kLineStyle[kQuark]=1;
  kLineStyle[kantiQuark]=1;
  kLineStyle[kHadron]=2;
  kLineStyle[kElec]=2;
  kLineStyle[kElec2nd]=1;
  kLineStyle[keHadron]=2;
  kLineStyle[kDeHadron]=1;


  cPt = new TCanvas("cPt","pT of Quark & Hadron",0,0,600,500);	

  Double_t totcrossNLO[2];
  TH1F *hNLOc = (TH1F*)_file[1]->Get("hpt_c");
  TH1F *hNLOb = (TH1F*)_file[1]->Get("hpt_b");
  totcrossNLO[0] = hNLOc->Integral("width");
  totcrossNLO[1] = hNLOb->Integral("width");
  cPt->cd();
  setPadStyle(2,gPad);
  hNLOc->SetMarkerStyle(28);
  hNLOb->SetMarkerStyle(3);
  hNLOc->SetMarkerColor(1);
  hNLOb->SetMarkerColor(1);
  hNLOc->Draw("p");
  hNLOb->Draw("samep");


  TList *tl = (TList *)_file[0]->Get("HFE_QA")->FindObject("MCqa");
  //count # of events
  TList *tl_result = (TList *)_file[0]->Get("HFE_Results");
  AliHFEcontainer *containerhfe = (AliHFEcontainer *) tl_result->FindObject("trackContainer");
  if(!containerhfe) {
      printf("No hfe container \n");
      return;
  }
  Int_t nEvt = (Int_t) containerhfe->GetNumberOfEvents();
  cout << "# of events " << nEvt << endl;

  Double_t scalefactor = 1./float(nEvt); //normalize with total number of event 

  TString hname; 
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    for (Int_t iqType = 0; iqType < 3; iqType++ ){

      //pT distribution
      hname="mcqa_Pt_";
      hname=hname+kqTypeLabel[iHQ][iqType];
      fHist[iHQ][iqType].Pt = (TH1F*)tl->FindObject(hname);
      fHist[iHQ][iqType].Pt->SetXTitle("p_{t} [GeV/c]");
      fHist[iHQ][iqType].Pt->SetYTitle("1/N_{Evt}dN/dp_{t} [1/GeVc^{-1}]");
      setDataStyle(*fHist[iHQ][iqType].Pt, kColorCode[iHQ][iqType], 3, kLineStyle[iqType]);

      CorrectFromTheWidth(fHist[iHQ][iqType].Pt); //consider pT bin size
      fHist[iHQ][iqType].Pt->Scale(scalefactor); //normalize with # of events 
      if (iqType==1) {
        fHist[iHQ][iqType].Pt->Add(fHist[iHQ][0].Pt); //Q+Qbar
        fHist[iHQ][iqType].Pt->Scale(0.5); // pari
        Double_t xfactor = fHist[iHQ][iqType].Pt->Integral("width"); 
        fHist[iHQ][iqType].Pt->Scale(totcrossNLO[iHQ]/xfactor); //consider pT bin size 
      }
    }
  }

  Int_t iorder[2] = {0,1}; 
  if (fHist[0][1].Pt->GetEntries() < fHist[1][1].Pt->GetEntries()) {iorder[0]=1; iorder[1]=0;};

  cPt->cd();
  setPadStyle(2,gPad);
  fHist[iorder[0]][1].Pt->Draw("same");
  fHist[iorder[1]][1].Pt->Draw("same");

  TLegend *legend1 = new TLegend(0.50,0.77,0.98,0.99,"");
  setLegendStyle(*legend1,1);
  for (Int_t iHQ= 0; iHQ < 2; iHQ++ ){
    legend1->AddEntry(fHist[iHQ][0].Pt,kqTypeLabel[iHQ][kQuark]+"#bar{"+kqTypeLabel[iHQ][kQuark]+"}"+" pair", "l");
  }
  legend1->AddEntry(hNLOc,"charm from NLO", "p");
  legend1->AddEntry(hNLOb,"bottom from NLO", "p");

  cPt->cd();
  legend1->Draw();

}
//--------------------------
void setDataStyle(TH1F &h, Int_t lc, Int_t lw, Int_t ls){

  h.SetLineColor(lc);
  h.SetLineWidth(lw);
  h.SetLineStyle(ls);
  h.SetMarkerColor(lc);

}

//--------------------------
void setLegendStyle(TLegend &legend, Int_t bs){

  legend.SetBorderSize(bs);
  legend.SetFillColor(0);
  legend.SetTextFont(132);
  legend.SetTextSize(0.04);
  legend.SetMargin(0.15);

}

//--------------------------
void setPadStyle(Int_t lvl, TPad *pad){

  pad->SetLogy();
  if(lvl>0) gPad->SetGridy();
  if(lvl>1) gPad->SetGridx();

}

//--------------------------
void setGeneralStyle(){

  gStyle->SetPalette(1);

  gStyle->SetFrameBorderMode(0);
  gStyle->SetFrameFillColor(0);
  gStyle->SetPadBorderSize(0);
  gStyle->SetPadBorderMode(0);
  gStyle->SetCanvasColor(0);
  gStyle->SetCanvasBorderSize(10);

  gStyle->SetOptStat(0);
  gStyle->SetOptTitle(0);
  gStyle->SetTitleFillColor(10);
  gStyle->SetTitleBorderSize(0);
  gStyle->SetTitleSize(0.04,"X");
  gStyle->SetTitleSize(0.04,"Y");
  gStyle->SetTitleFont(132,"X");
  gStyle->SetTitleFont(132,"Y");
  gStyle->SetTitleXOffset(0.9);
  gStyle->SetTitleYOffset(0.9);
  gStyle->SetLabelFont(132,"X");
  gStyle->SetLabelFont(132,"Y");
  gStyle->SetLabelSize(0.04,"X");
  gStyle->SetLabelSize(0.04,"Y");

  gStyle->SetTitleSize(0.05,"X");
  gStyle->SetTitleSize(0.05,"Y");
  gStyle->SetLineWidth(2);

}

void CorrectFromTheWidth(TH1F *h1) const {
  //
  // Correct from the width of the bins --> dN/dp_{T} (GeV/c)^{-1}
  //

  TAxis *axis = h1->GetXaxis();
  Int_t nbinX = h1->GetNbinsX();
  
  for(Int_t i = 1; i <= nbinX; i++) {
  
    Double_t width = axis->GetBinWidth(i);
    Double_t content = h1->GetBinContent(i);
    Double_t error = h1->GetBinError(i);
    h1->SetBinContent(i,content/width);
    h1->SetBinError(i,error/width);
  }
  
}

 DrawMCQAplots.C:1
 DrawMCQAplots.C:2
 DrawMCQAplots.C:3
 DrawMCQAplots.C:4
 DrawMCQAplots.C:5
 DrawMCQAplots.C:6
 DrawMCQAplots.C:7
 DrawMCQAplots.C:8
 DrawMCQAplots.C:9
 DrawMCQAplots.C:10
 DrawMCQAplots.C:11
 DrawMCQAplots.C:12
 DrawMCQAplots.C:13
 DrawMCQAplots.C:14
 DrawMCQAplots.C:15
 DrawMCQAplots.C:16
 DrawMCQAplots.C:17
 DrawMCQAplots.C:18
 DrawMCQAplots.C:19
 DrawMCQAplots.C:20
 DrawMCQAplots.C:21
 DrawMCQAplots.C:22
 DrawMCQAplots.C:23
 DrawMCQAplots.C:24
 DrawMCQAplots.C:25
 DrawMCQAplots.C:26
 DrawMCQAplots.C:27
 DrawMCQAplots.C:28
 DrawMCQAplots.C:29
 DrawMCQAplots.C:30
 DrawMCQAplots.C:31
 DrawMCQAplots.C:32
 DrawMCQAplots.C:33
 DrawMCQAplots.C:34
 DrawMCQAplots.C:35
 DrawMCQAplots.C:36
 DrawMCQAplots.C:37
 DrawMCQAplots.C:38
 DrawMCQAplots.C:39
 DrawMCQAplots.C:40
 DrawMCQAplots.C:41
 DrawMCQAplots.C:42
 DrawMCQAplots.C:43
 DrawMCQAplots.C:44
 DrawMCQAplots.C:45
 DrawMCQAplots.C:46
 DrawMCQAplots.C:47
 DrawMCQAplots.C:48
 DrawMCQAplots.C:49
 DrawMCQAplots.C:50
 DrawMCQAplots.C:51
 DrawMCQAplots.C:52
 DrawMCQAplots.C:53
 DrawMCQAplots.C:54
 DrawMCQAplots.C:55
 DrawMCQAplots.C:56
 DrawMCQAplots.C:57
 DrawMCQAplots.C:58
 DrawMCQAplots.C:59
 DrawMCQAplots.C:60
 DrawMCQAplots.C:61
 DrawMCQAplots.C:62
 DrawMCQAplots.C:63
 DrawMCQAplots.C:64
 DrawMCQAplots.C:65
 DrawMCQAplots.C:66
 DrawMCQAplots.C:67
 DrawMCQAplots.C:68
 DrawMCQAplots.C:69
 DrawMCQAplots.C:70
 DrawMCQAplots.C:71
 DrawMCQAplots.C:72
 DrawMCQAplots.C:73
 DrawMCQAplots.C:74
 DrawMCQAplots.C:75
 DrawMCQAplots.C:76
 DrawMCQAplots.C:77
 DrawMCQAplots.C:78
 DrawMCQAplots.C:79
 DrawMCQAplots.C:80
 DrawMCQAplots.C:81
 DrawMCQAplots.C:82
 DrawMCQAplots.C:83
 DrawMCQAplots.C:84
 DrawMCQAplots.C:85
 DrawMCQAplots.C:86
 DrawMCQAplots.C:87
 DrawMCQAplots.C:88
 DrawMCQAplots.C:89
 DrawMCQAplots.C:90
 DrawMCQAplots.C:91
 DrawMCQAplots.C:92
 DrawMCQAplots.C:93
 DrawMCQAplots.C:94
 DrawMCQAplots.C:95
 DrawMCQAplots.C:96
 DrawMCQAplots.C:97
 DrawMCQAplots.C:98
 DrawMCQAplots.C:99
 DrawMCQAplots.C:100
 DrawMCQAplots.C:101
 DrawMCQAplots.C:102
 DrawMCQAplots.C:103
 DrawMCQAplots.C:104
 DrawMCQAplots.C:105
 DrawMCQAplots.C:106
 DrawMCQAplots.C:107
 DrawMCQAplots.C:108
 DrawMCQAplots.C:109
 DrawMCQAplots.C:110
 DrawMCQAplots.C:111
 DrawMCQAplots.C:112
 DrawMCQAplots.C:113
 DrawMCQAplots.C:114
 DrawMCQAplots.C:115
 DrawMCQAplots.C:116
 DrawMCQAplots.C:117
 DrawMCQAplots.C:118
 DrawMCQAplots.C:119
 DrawMCQAplots.C:120
 DrawMCQAplots.C:121
 DrawMCQAplots.C:122
 DrawMCQAplots.C:123
 DrawMCQAplots.C:124
 DrawMCQAplots.C:125
 DrawMCQAplots.C:126
 DrawMCQAplots.C:127
 DrawMCQAplots.C:128
 DrawMCQAplots.C:129
 DrawMCQAplots.C:130
 DrawMCQAplots.C:131
 DrawMCQAplots.C:132
 DrawMCQAplots.C:133
 DrawMCQAplots.C:134
 DrawMCQAplots.C:135
 DrawMCQAplots.C:136
 DrawMCQAplots.C:137
 DrawMCQAplots.C:138
 DrawMCQAplots.C:139
 DrawMCQAplots.C:140
 DrawMCQAplots.C:141
 DrawMCQAplots.C:142
 DrawMCQAplots.C:143
 DrawMCQAplots.C:144
 DrawMCQAplots.C:145
 DrawMCQAplots.C:146
 DrawMCQAplots.C:147
 DrawMCQAplots.C:148
 DrawMCQAplots.C:149
 DrawMCQAplots.C:150
 DrawMCQAplots.C:151
 DrawMCQAplots.C:152
 DrawMCQAplots.C:153
 DrawMCQAplots.C:154
 DrawMCQAplots.C:155
 DrawMCQAplots.C:156
 DrawMCQAplots.C:157
 DrawMCQAplots.C:158
 DrawMCQAplots.C:159
 DrawMCQAplots.C:160
 DrawMCQAplots.C:161
 DrawMCQAplots.C:162
 DrawMCQAplots.C:163
 DrawMCQAplots.C:164
 DrawMCQAplots.C:165
 DrawMCQAplots.C:166
 DrawMCQAplots.C:167
 DrawMCQAplots.C:168
 DrawMCQAplots.C:169
 DrawMCQAplots.C:170
 DrawMCQAplots.C:171
 DrawMCQAplots.C:172
 DrawMCQAplots.C:173
 DrawMCQAplots.C:174
 DrawMCQAplots.C:175
 DrawMCQAplots.C:176
 DrawMCQAplots.C:177
 DrawMCQAplots.C:178
 DrawMCQAplots.C:179
 DrawMCQAplots.C:180
 DrawMCQAplots.C:181
 DrawMCQAplots.C:182
 DrawMCQAplots.C:183
 DrawMCQAplots.C:184
 DrawMCQAplots.C:185
 DrawMCQAplots.C:186
 DrawMCQAplots.C:187
 DrawMCQAplots.C:188
 DrawMCQAplots.C:189
 DrawMCQAplots.C:190
 DrawMCQAplots.C:191
 DrawMCQAplots.C:192
 DrawMCQAplots.C:193
 DrawMCQAplots.C:194
 DrawMCQAplots.C:195
 DrawMCQAplots.C:196
 DrawMCQAplots.C:197
 DrawMCQAplots.C:198
 DrawMCQAplots.C:199
 DrawMCQAplots.C:200
 DrawMCQAplots.C:201
 DrawMCQAplots.C:202
 DrawMCQAplots.C:203
 DrawMCQAplots.C:204
 DrawMCQAplots.C:205
 DrawMCQAplots.C:206
 DrawMCQAplots.C:207
 DrawMCQAplots.C:208
 DrawMCQAplots.C:209
 DrawMCQAplots.C:210
 DrawMCQAplots.C:211
 DrawMCQAplots.C:212
 DrawMCQAplots.C:213
 DrawMCQAplots.C:214
 DrawMCQAplots.C:215
 DrawMCQAplots.C:216
 DrawMCQAplots.C:217
 DrawMCQAplots.C:218
 DrawMCQAplots.C:219
 DrawMCQAplots.C:220
 DrawMCQAplots.C:221
 DrawMCQAplots.C:222
 DrawMCQAplots.C:223
 DrawMCQAplots.C:224
 DrawMCQAplots.C:225
 DrawMCQAplots.C:226
 DrawMCQAplots.C:227
 DrawMCQAplots.C:228
 DrawMCQAplots.C:229
 DrawMCQAplots.C:230
 DrawMCQAplots.C:231
 DrawMCQAplots.C:232
 DrawMCQAplots.C:233
 DrawMCQAplots.C:234
 DrawMCQAplots.C:235
 DrawMCQAplots.C:236
 DrawMCQAplots.C:237
 DrawMCQAplots.C:238
 DrawMCQAplots.C:239
 DrawMCQAplots.C:240
 DrawMCQAplots.C:241
 DrawMCQAplots.C:242
 DrawMCQAplots.C:243
 DrawMCQAplots.C:244
 DrawMCQAplots.C:245
 DrawMCQAplots.C:246
 DrawMCQAplots.C:247
 DrawMCQAplots.C:248
 DrawMCQAplots.C:249
 DrawMCQAplots.C:250
 DrawMCQAplots.C:251
 DrawMCQAplots.C:252
 DrawMCQAplots.C:253
 DrawMCQAplots.C:254
 DrawMCQAplots.C:255
 DrawMCQAplots.C:256
 DrawMCQAplots.C:257
 DrawMCQAplots.C:258
 DrawMCQAplots.C:259
 DrawMCQAplots.C:260
 DrawMCQAplots.C:261
 DrawMCQAplots.C:262
 DrawMCQAplots.C:263
 DrawMCQAplots.C:264
 DrawMCQAplots.C:265
 DrawMCQAplots.C:266
 DrawMCQAplots.C:267
 DrawMCQAplots.C:268
 DrawMCQAplots.C:269
 DrawMCQAplots.C:270
 DrawMCQAplots.C:271
 DrawMCQAplots.C:272
 DrawMCQAplots.C:273
 DrawMCQAplots.C:274
 DrawMCQAplots.C:275
 DrawMCQAplots.C:276
 DrawMCQAplots.C:277
 DrawMCQAplots.C:278
 DrawMCQAplots.C:279
 DrawMCQAplots.C:280
 DrawMCQAplots.C:281
 DrawMCQAplots.C:282
 DrawMCQAplots.C:283
 DrawMCQAplots.C:284
 DrawMCQAplots.C:285
 DrawMCQAplots.C:286
 DrawMCQAplots.C:287
 DrawMCQAplots.C:288
 DrawMCQAplots.C:289
 DrawMCQAplots.C:290
 DrawMCQAplots.C:291
 DrawMCQAplots.C:292
 DrawMCQAplots.C:293
 DrawMCQAplots.C:294
 DrawMCQAplots.C:295
 DrawMCQAplots.C:296
 DrawMCQAplots.C:297
 DrawMCQAplots.C:298
 DrawMCQAplots.C:299
 DrawMCQAplots.C:300
 DrawMCQAplots.C:301
 DrawMCQAplots.C:302
 DrawMCQAplots.C:303
 DrawMCQAplots.C:304
 DrawMCQAplots.C:305
 DrawMCQAplots.C:306
 DrawMCQAplots.C:307
 DrawMCQAplots.C:308
 DrawMCQAplots.C:309
 DrawMCQAplots.C:310
 DrawMCQAplots.C:311
 DrawMCQAplots.C:312
 DrawMCQAplots.C:313
 DrawMCQAplots.C:314
 DrawMCQAplots.C:315
 DrawMCQAplots.C:316
 DrawMCQAplots.C:317
 DrawMCQAplots.C:318
 DrawMCQAplots.C:319
 DrawMCQAplots.C:320
 DrawMCQAplots.C:321
 DrawMCQAplots.C:322
 DrawMCQAplots.C:323
 DrawMCQAplots.C:324
 DrawMCQAplots.C:325
 DrawMCQAplots.C:326
 DrawMCQAplots.C:327
 DrawMCQAplots.C:328
 DrawMCQAplots.C:329
 DrawMCQAplots.C:330
 DrawMCQAplots.C:331
 DrawMCQAplots.C:332
 DrawMCQAplots.C:333
 DrawMCQAplots.C:334
 DrawMCQAplots.C:335
 DrawMCQAplots.C:336
 DrawMCQAplots.C:337
 DrawMCQAplots.C:338
 DrawMCQAplots.C:339
 DrawMCQAplots.C:340
 DrawMCQAplots.C:341
 DrawMCQAplots.C:342
 DrawMCQAplots.C:343
 DrawMCQAplots.C:344
 DrawMCQAplots.C:345
 DrawMCQAplots.C:346
 DrawMCQAplots.C:347
 DrawMCQAplots.C:348
 DrawMCQAplots.C:349
 DrawMCQAplots.C:350
 DrawMCQAplots.C:351
 DrawMCQAplots.C:352
 DrawMCQAplots.C:353
 DrawMCQAplots.C:354
 DrawMCQAplots.C:355
 DrawMCQAplots.C:356
 DrawMCQAplots.C:357
 DrawMCQAplots.C:358
 DrawMCQAplots.C:359
 DrawMCQAplots.C:360
 DrawMCQAplots.C:361
 DrawMCQAplots.C:362
 DrawMCQAplots.C:363
 DrawMCQAplots.C:364
 DrawMCQAplots.C:365
 DrawMCQAplots.C:366
 DrawMCQAplots.C:367
 DrawMCQAplots.C:368
 DrawMCQAplots.C:369
 DrawMCQAplots.C:370
 DrawMCQAplots.C:371
 DrawMCQAplots.C:372
 DrawMCQAplots.C:373
 DrawMCQAplots.C:374
 DrawMCQAplots.C:375
 DrawMCQAplots.C:376
 DrawMCQAplots.C:377
 DrawMCQAplots.C:378
 DrawMCQAplots.C:379
 DrawMCQAplots.C:380
 DrawMCQAplots.C:381
 DrawMCQAplots.C:382
 DrawMCQAplots.C:383
 DrawMCQAplots.C:384
 DrawMCQAplots.C:385
 DrawMCQAplots.C:386
 DrawMCQAplots.C:387
 DrawMCQAplots.C:388
 DrawMCQAplots.C:389
 DrawMCQAplots.C:390
 DrawMCQAplots.C:391
 DrawMCQAplots.C:392
 DrawMCQAplots.C:393
 DrawMCQAplots.C:394
 DrawMCQAplots.C:395
 DrawMCQAplots.C:396
 DrawMCQAplots.C:397
 DrawMCQAplots.C:398
 DrawMCQAplots.C:399
 DrawMCQAplots.C:400
 DrawMCQAplots.C:401
 DrawMCQAplots.C:402
 DrawMCQAplots.C:403
 DrawMCQAplots.C:404
 DrawMCQAplots.C:405
 DrawMCQAplots.C:406
 DrawMCQAplots.C:407
 DrawMCQAplots.C:408
 DrawMCQAplots.C:409
 DrawMCQAplots.C:410
 DrawMCQAplots.C:411
 DrawMCQAplots.C:412
 DrawMCQAplots.C:413
 DrawMCQAplots.C:414
 DrawMCQAplots.C:415
 DrawMCQAplots.C:416
 DrawMCQAplots.C:417
 DrawMCQAplots.C:418
 DrawMCQAplots.C:419
 DrawMCQAplots.C:420
 DrawMCQAplots.C:421
 DrawMCQAplots.C:422
 DrawMCQAplots.C:423
 DrawMCQAplots.C:424
 DrawMCQAplots.C:425
 DrawMCQAplots.C:426
 DrawMCQAplots.C:427
 DrawMCQAplots.C:428
 DrawMCQAplots.C:429
 DrawMCQAplots.C:430
 DrawMCQAplots.C:431
 DrawMCQAplots.C:432
 DrawMCQAplots.C:433
 DrawMCQAplots.C:434
 DrawMCQAplots.C:435
 DrawMCQAplots.C:436
 DrawMCQAplots.C:437
 DrawMCQAplots.C:438
 DrawMCQAplots.C:439
 DrawMCQAplots.C:440
 DrawMCQAplots.C:441
 DrawMCQAplots.C:442
 DrawMCQAplots.C:443
 DrawMCQAplots.C:444
 DrawMCQAplots.C:445
 DrawMCQAplots.C:446
 DrawMCQAplots.C:447
 DrawMCQAplots.C:448
 DrawMCQAplots.C:449
 DrawMCQAplots.C:450
 DrawMCQAplots.C:451
 DrawMCQAplots.C:452
 DrawMCQAplots.C:453
 DrawMCQAplots.C:454
 DrawMCQAplots.C:455
 DrawMCQAplots.C:456
 DrawMCQAplots.C:457
 DrawMCQAplots.C:458
 DrawMCQAplots.C:459
 DrawMCQAplots.C:460
 DrawMCQAplots.C:461
 DrawMCQAplots.C:462
 DrawMCQAplots.C:463
 DrawMCQAplots.C:464
 DrawMCQAplots.C:465
 DrawMCQAplots.C:466
 DrawMCQAplots.C:467
 DrawMCQAplots.C:468
 DrawMCQAplots.C:469
 DrawMCQAplots.C:470
 DrawMCQAplots.C:471
 DrawMCQAplots.C:472
 DrawMCQAplots.C:473
 DrawMCQAplots.C:474
 DrawMCQAplots.C:475
 DrawMCQAplots.C:476
 DrawMCQAplots.C:477
 DrawMCQAplots.C:478
 DrawMCQAplots.C:479
 DrawMCQAplots.C:480
 DrawMCQAplots.C:481
 DrawMCQAplots.C:482
 DrawMCQAplots.C:483
 DrawMCQAplots.C:484
 DrawMCQAplots.C:485
 DrawMCQAplots.C:486
 DrawMCQAplots.C:487
 DrawMCQAplots.C:488
 DrawMCQAplots.C:489
 DrawMCQAplots.C:490
 DrawMCQAplots.C:491
 DrawMCQAplots.C:492
 DrawMCQAplots.C:493
 DrawMCQAplots.C:494
 DrawMCQAplots.C:495
 DrawMCQAplots.C:496
 DrawMCQAplots.C:497
 DrawMCQAplots.C:498
 DrawMCQAplots.C:499
 DrawMCQAplots.C:500
 DrawMCQAplots.C:501
 DrawMCQAplots.C:502
 DrawMCQAplots.C:503
 DrawMCQAplots.C:504
 DrawMCQAplots.C:505
 DrawMCQAplots.C:506
 DrawMCQAplots.C:507
 DrawMCQAplots.C:508
 DrawMCQAplots.C:509
 DrawMCQAplots.C:510
 DrawMCQAplots.C:511
 DrawMCQAplots.C:512
 DrawMCQAplots.C:513
 DrawMCQAplots.C:514
 DrawMCQAplots.C:515
 DrawMCQAplots.C:516
 DrawMCQAplots.C:517
 DrawMCQAplots.C:518
 DrawMCQAplots.C:519
 DrawMCQAplots.C:520
 DrawMCQAplots.C:521
 DrawMCQAplots.C:522
 DrawMCQAplots.C:523
 DrawMCQAplots.C:524
 DrawMCQAplots.C:525
 DrawMCQAplots.C:526
 DrawMCQAplots.C:527
 DrawMCQAplots.C:528
 DrawMCQAplots.C:529
 DrawMCQAplots.C:530
 DrawMCQAplots.C:531
 DrawMCQAplots.C:532
 DrawMCQAplots.C:533
 DrawMCQAplots.C:534
 DrawMCQAplots.C:535
 DrawMCQAplots.C:536
 DrawMCQAplots.C:537
 DrawMCQAplots.C:538
 DrawMCQAplots.C:539
 DrawMCQAplots.C:540
 DrawMCQAplots.C:541
 DrawMCQAplots.C:542
 DrawMCQAplots.C:543
 DrawMCQAplots.C:544
 DrawMCQAplots.C:545
 DrawMCQAplots.C:546
 DrawMCQAplots.C:547
 DrawMCQAplots.C:548
 DrawMCQAplots.C:549
 DrawMCQAplots.C:550
 DrawMCQAplots.C:551
 DrawMCQAplots.C:552
 DrawMCQAplots.C:553
 DrawMCQAplots.C:554
 DrawMCQAplots.C:555
 DrawMCQAplots.C:556
 DrawMCQAplots.C:557
 DrawMCQAplots.C:558
 DrawMCQAplots.C:559
 DrawMCQAplots.C:560
 DrawMCQAplots.C:561
 DrawMCQAplots.C:562
 DrawMCQAplots.C:563
 DrawMCQAplots.C:564
 DrawMCQAplots.C:565
 DrawMCQAplots.C:566
 DrawMCQAplots.C:567
 DrawMCQAplots.C:568
 DrawMCQAplots.C:569
 DrawMCQAplots.C:570
 DrawMCQAplots.C:571
 DrawMCQAplots.C:572
 DrawMCQAplots.C:573
 DrawMCQAplots.C:574
 DrawMCQAplots.C:575
 DrawMCQAplots.C:576
 DrawMCQAplots.C:577
 DrawMCQAplots.C:578
 DrawMCQAplots.C:579
 DrawMCQAplots.C:580
 DrawMCQAplots.C:581
 DrawMCQAplots.C:582
 DrawMCQAplots.C:583
 DrawMCQAplots.C:584
 DrawMCQAplots.C:585
 DrawMCQAplots.C:586
 DrawMCQAplots.C:587
 DrawMCQAplots.C:588
 DrawMCQAplots.C:589
 DrawMCQAplots.C:590
 DrawMCQAplots.C:591
 DrawMCQAplots.C:592
 DrawMCQAplots.C:593
 DrawMCQAplots.C:594
 DrawMCQAplots.C:595
 DrawMCQAplots.C:596
 DrawMCQAplots.C:597
 DrawMCQAplots.C:598
 DrawMCQAplots.C:599
 DrawMCQAplots.C:600
 DrawMCQAplots.C:601
 DrawMCQAplots.C:602
 DrawMCQAplots.C:603
 DrawMCQAplots.C:604
 DrawMCQAplots.C:605
 DrawMCQAplots.C:606
 DrawMCQAplots.C:607
 DrawMCQAplots.C:608
 DrawMCQAplots.C:609
 DrawMCQAplots.C:610
 DrawMCQAplots.C:611
 DrawMCQAplots.C:612
 DrawMCQAplots.C:613
 DrawMCQAplots.C:614
 DrawMCQAplots.C:615
 DrawMCQAplots.C:616
 DrawMCQAplots.C:617
 DrawMCQAplots.C:618
 DrawMCQAplots.C:619
 DrawMCQAplots.C:620
 DrawMCQAplots.C:621
 DrawMCQAplots.C:622
 DrawMCQAplots.C:623
 DrawMCQAplots.C:624
 DrawMCQAplots.C:625
 DrawMCQAplots.C:626
 DrawMCQAplots.C:627
 DrawMCQAplots.C:628
 DrawMCQAplots.C:629
 DrawMCQAplots.C:630
 DrawMCQAplots.C:631
 DrawMCQAplots.C:632
 DrawMCQAplots.C:633
 DrawMCQAplots.C:634
 DrawMCQAplots.C:635
 DrawMCQAplots.C:636
 DrawMCQAplots.C:637
 DrawMCQAplots.C:638
 DrawMCQAplots.C:639
 DrawMCQAplots.C:640
 DrawMCQAplots.C:641
 DrawMCQAplots.C:642
 DrawMCQAplots.C:643
 DrawMCQAplots.C:644
 DrawMCQAplots.C:645
 DrawMCQAplots.C:646
 DrawMCQAplots.C:647
 DrawMCQAplots.C:648
 DrawMCQAplots.C:649
 DrawMCQAplots.C:650
 DrawMCQAplots.C:651
 DrawMCQAplots.C:652
 DrawMCQAplots.C:653
 DrawMCQAplots.C:654
 DrawMCQAplots.C:655
 DrawMCQAplots.C:656
 DrawMCQAplots.C:657
 DrawMCQAplots.C:658
 DrawMCQAplots.C:659
 DrawMCQAplots.C:660
 DrawMCQAplots.C:661
 DrawMCQAplots.C:662
 DrawMCQAplots.C:663
 DrawMCQAplots.C:664
 DrawMCQAplots.C:665
 DrawMCQAplots.C:666
 DrawMCQAplots.C:667
 DrawMCQAplots.C:668
 DrawMCQAplots.C:669
 DrawMCQAplots.C:670
 DrawMCQAplots.C:671
 DrawMCQAplots.C:672
 DrawMCQAplots.C:673
 DrawMCQAplots.C:674
 DrawMCQAplots.C:675
 DrawMCQAplots.C:676
 DrawMCQAplots.C:677
 DrawMCQAplots.C:678
 DrawMCQAplots.C:679
 DrawMCQAplots.C:680
 DrawMCQAplots.C:681
 DrawMCQAplots.C:682
 DrawMCQAplots.C:683
 DrawMCQAplots.C:684
 DrawMCQAplots.C:685
 DrawMCQAplots.C:686
 DrawMCQAplots.C:687
 DrawMCQAplots.C:688
 DrawMCQAplots.C:689
 DrawMCQAplots.C:690
 DrawMCQAplots.C:691
 DrawMCQAplots.C:692
 DrawMCQAplots.C:693
 DrawMCQAplots.C:694
 DrawMCQAplots.C:695
 DrawMCQAplots.C:696
 DrawMCQAplots.C:697
 DrawMCQAplots.C:698
 DrawMCQAplots.C:699
 DrawMCQAplots.C:700
 DrawMCQAplots.C:701
 DrawMCQAplots.C:702
 DrawMCQAplots.C:703
 DrawMCQAplots.C:704
 DrawMCQAplots.C:705
 DrawMCQAplots.C:706
 DrawMCQAplots.C:707
 DrawMCQAplots.C:708
 DrawMCQAplots.C:709
 DrawMCQAplots.C:710
 DrawMCQAplots.C:711
 DrawMCQAplots.C:712
 DrawMCQAplots.C:713
 DrawMCQAplots.C:714
 DrawMCQAplots.C:715
 DrawMCQAplots.C:716
 DrawMCQAplots.C:717
 DrawMCQAplots.C:718
 DrawMCQAplots.C:719
 DrawMCQAplots.C:720
 DrawMCQAplots.C:721
 DrawMCQAplots.C:722
 DrawMCQAplots.C:723
 DrawMCQAplots.C:724
 DrawMCQAplots.C:725
 DrawMCQAplots.C:726
 DrawMCQAplots.C:727
 DrawMCQAplots.C:728
 DrawMCQAplots.C:729
 DrawMCQAplots.C:730
 DrawMCQAplots.C:731
 DrawMCQAplots.C:732
 DrawMCQAplots.C:733
 DrawMCQAplots.C:734
 DrawMCQAplots.C:735
 DrawMCQAplots.C:736
 DrawMCQAplots.C:737
 DrawMCQAplots.C:738
 DrawMCQAplots.C:739
 DrawMCQAplots.C:740
 DrawMCQAplots.C:741
 DrawMCQAplots.C:742
 DrawMCQAplots.C:743
 DrawMCQAplots.C:744
 DrawMCQAplots.C:745
 DrawMCQAplots.C:746
 DrawMCQAplots.C:747
 DrawMCQAplots.C:748
 DrawMCQAplots.C:749
 DrawMCQAplots.C:750
 DrawMCQAplots.C:751
 DrawMCQAplots.C:752
 DrawMCQAplots.C:753
 DrawMCQAplots.C:754
 DrawMCQAplots.C:755
 DrawMCQAplots.C:756
 DrawMCQAplots.C:757
 DrawMCQAplots.C:758
 DrawMCQAplots.C:759
 DrawMCQAplots.C:760
 DrawMCQAplots.C:761
 DrawMCQAplots.C:762
 DrawMCQAplots.C:763
 DrawMCQAplots.C:764
 DrawMCQAplots.C:765
 DrawMCQAplots.C:766
 DrawMCQAplots.C:767
 DrawMCQAplots.C:768
 DrawMCQAplots.C:769
 DrawMCQAplots.C:770
 DrawMCQAplots.C:771
 DrawMCQAplots.C:772
 DrawMCQAplots.C:773
 DrawMCQAplots.C:774
 DrawMCQAplots.C:775
 DrawMCQAplots.C:776
 DrawMCQAplots.C:777
 DrawMCQAplots.C:778
 DrawMCQAplots.C:779
 DrawMCQAplots.C:780
 DrawMCQAplots.C:781
 DrawMCQAplots.C:782
 DrawMCQAplots.C:783
 DrawMCQAplots.C:784
 DrawMCQAplots.C:785
 DrawMCQAplots.C:786
 DrawMCQAplots.C:787
 DrawMCQAplots.C:788
 DrawMCQAplots.C:789
 DrawMCQAplots.C:790
 DrawMCQAplots.C:791
 DrawMCQAplots.C:792
 DrawMCQAplots.C:793
 DrawMCQAplots.C:794
 DrawMCQAplots.C:795
 DrawMCQAplots.C:796
 DrawMCQAplots.C:797
 DrawMCQAplots.C:798
 DrawMCQAplots.C:799
 DrawMCQAplots.C:800
 DrawMCQAplots.C:801
 DrawMCQAplots.C:802
 DrawMCQAplots.C:803
 DrawMCQAplots.C:804
 DrawMCQAplots.C:805
 DrawMCQAplots.C:806
 DrawMCQAplots.C:807
 DrawMCQAplots.C:808
 DrawMCQAplots.C:809
 DrawMCQAplots.C:810
 DrawMCQAplots.C:811
 DrawMCQAplots.C:812
 DrawMCQAplots.C:813
 DrawMCQAplots.C:814
 DrawMCQAplots.C:815
 DrawMCQAplots.C:816
 DrawMCQAplots.C:817
 DrawMCQAplots.C:818
 DrawMCQAplots.C:819
 DrawMCQAplots.C:820
 DrawMCQAplots.C:821
 DrawMCQAplots.C:822
 DrawMCQAplots.C:823
 DrawMCQAplots.C:824
 DrawMCQAplots.C:825
 DrawMCQAplots.C:826
 DrawMCQAplots.C:827
 DrawMCQAplots.C:828
 DrawMCQAplots.C:829
 DrawMCQAplots.C:830
 DrawMCQAplots.C:831
 DrawMCQAplots.C:832
 DrawMCQAplots.C:833
 DrawMCQAplots.C:834
 DrawMCQAplots.C:835
 DrawMCQAplots.C:836
 DrawMCQAplots.C:837
 DrawMCQAplots.C:838
 DrawMCQAplots.C:839
 DrawMCQAplots.C:840
 DrawMCQAplots.C:841
 DrawMCQAplots.C:842
 DrawMCQAplots.C:843
 DrawMCQAplots.C:844
 DrawMCQAplots.C:845
 DrawMCQAplots.C:846
 DrawMCQAplots.C:847
 DrawMCQAplots.C:848
 DrawMCQAplots.C:849
 DrawMCQAplots.C:850
 DrawMCQAplots.C:851
 DrawMCQAplots.C:852
 DrawMCQAplots.C:853
 DrawMCQAplots.C:854
 DrawMCQAplots.C:855
 DrawMCQAplots.C:856
 DrawMCQAplots.C:857
 DrawMCQAplots.C:858
 DrawMCQAplots.C:859
 DrawMCQAplots.C:860
 DrawMCQAplots.C:861
 DrawMCQAplots.C:862
 DrawMCQAplots.C:863
 DrawMCQAplots.C:864
 DrawMCQAplots.C:865
 DrawMCQAplots.C:866
 DrawMCQAplots.C:867
 DrawMCQAplots.C:868
 DrawMCQAplots.C:869
 DrawMCQAplots.C:870
 DrawMCQAplots.C:871
 DrawMCQAplots.C:872
 DrawMCQAplots.C:873
 DrawMCQAplots.C:874
 DrawMCQAplots.C:875
 DrawMCQAplots.C:876
 DrawMCQAplots.C:877
 DrawMCQAplots.C:878
 DrawMCQAplots.C:879
 DrawMCQAplots.C:880
 DrawMCQAplots.C:881
 DrawMCQAplots.C:882
 DrawMCQAplots.C:883
 DrawMCQAplots.C:884
 DrawMCQAplots.C:885
 DrawMCQAplots.C:886
 DrawMCQAplots.C:887
 DrawMCQAplots.C:888
 DrawMCQAplots.C:889
 DrawMCQAplots.C:890
 DrawMCQAplots.C:891
 DrawMCQAplots.C:892
 DrawMCQAplots.C:893
 DrawMCQAplots.C:894
 DrawMCQAplots.C:895
 DrawMCQAplots.C:896
 DrawMCQAplots.C:897
 DrawMCQAplots.C:898
 DrawMCQAplots.C:899
 DrawMCQAplots.C:900
 DrawMCQAplots.C:901
 DrawMCQAplots.C:902
 DrawMCQAplots.C:903
 DrawMCQAplots.C:904
 DrawMCQAplots.C:905
 DrawMCQAplots.C:906
 DrawMCQAplots.C:907
 DrawMCQAplots.C:908
 DrawMCQAplots.C:909
 DrawMCQAplots.C:910
 DrawMCQAplots.C:911
 DrawMCQAplots.C:912
 DrawMCQAplots.C:913
 DrawMCQAplots.C:914
 DrawMCQAplots.C:915
 DrawMCQAplots.C:916
 DrawMCQAplots.C:917
 DrawMCQAplots.C:918
 DrawMCQAplots.C:919
 DrawMCQAplots.C:920
 DrawMCQAplots.C:921
 DrawMCQAplots.C:922
 DrawMCQAplots.C:923
 DrawMCQAplots.C:924
 DrawMCQAplots.C:925
 DrawMCQAplots.C:926
 DrawMCQAplots.C:927
 DrawMCQAplots.C:928
 DrawMCQAplots.C:929
 DrawMCQAplots.C:930
 DrawMCQAplots.C:931
 DrawMCQAplots.C:932
 DrawMCQAplots.C:933
 DrawMCQAplots.C:934
 DrawMCQAplots.C:935
 DrawMCQAplots.C:936
 DrawMCQAplots.C:937
 DrawMCQAplots.C:938
 DrawMCQAplots.C:939