#include "myHist.C" #include #include inline void ScaleSecondToFirst( TH1D* hDt, TH1D* hMC ) { int b2 = hDt->GetNbinsX() ; int b1 = hDt->GetNbinsX()/2 + 1 ; float scalf = hDt->Integral(b1,b2) / hMC->Integral(b1,b2) ; cout << scalf << endl ; hMC->SetNormFactor( hMC->Integral(0,b2) * scalf ) ; hDt->SetLineColor(36) ; hDt->SetMarkerSize(0.6) ; hDt->SetMarkerColor(36) ; hMC->SetLineColor(46) ; zone(1,2); hDt->DrawCopy() ; hMC->DrawCopy("samehist") ; TH1D* Rat = hDt->Clone("Rat") ; Rat->Divide(hDt,hMC,1.,scalf) ; NewC->cd(2) ; Rat->SetMaximum( Rat->GetMaximum()*1.05 ) ; Rat->SetMinimum( Rat->GetMinimum()*0.95) ; Rat->Draw() ; } void PlotQ() { TH1D* qmDt = (TH1D*) GetFromFile("qmm","OutputChainData.root","qmDt") ; TH1D* qpDt = (TH1D*) GetFromFile("qpp","OutputChainData.root","qpDt"); TH1D* qpmDt = (TH1D*) GetFromFile("qmix","OutputChainData.root","qpmDt") ; TH1D* qpinvDt = (TH1D*) GetFromFile("qinvpp","OutputChainData.root","qpinvDt") ; TH1D* qminvDt = (TH1D*) GetFromFile("qinvmm","OutputChainData.root","qminvDt") ; TH1D* qpMC = (TH1D*) GetFromFile("qpp","OutputChainMC.root","qmMC") ; TH1D* qmMC = (TH1D*) GetFromFile("qmm","OutputChainMC.root","qmMC") ; TH1D* qpmMC =(TH1D*) GetFromFile("qmix","OutputChainMC.root","qpmMC") ; TH1D* qpinvMC = (TH1D*) GetFromFile("qinvpp","OutputChainMC.root","qpinvMC") ; TH1D* qminvMC = (TH1D*) GetFromFile("qinvmm","OutputChainMC.root","qminvMC") ; // normalize MC to Data ScaleSecondToFirst( qmDt, qmMC ) ; NewC->Print("q_pp.gif") ; ScaleSecondToFirst( qpDt, qpMC ) ; NewC->Print("q_mm.gif") ; ScaleSecondToFirst( qpmDt, qpmMC ) ; NewC->Print("q_pm.gif") ; ScaleSecondToFirst( qminvDt, qminvMC ) ; NewC->Print("q_mm_inv.gif") ; ScaleSecondToFirst( qpinvDt, qpinvMC ) ;NewC->Print("q_pp_inv.gif") ; gDirectory->Print() ; }