本文整理汇总了C++中TH1D::DrawNormalized方法的典型用法代码示例。如果您正苦于以下问题:C++ TH1D::DrawNormalized方法的具体用法?C++ TH1D::DrawNormalized怎么用?C++ TH1D::DrawNormalized使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TH1D
的用法示例。
在下文中一共展示了TH1D::DrawNormalized方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: vertex_distribution_dataMC
void vertex_distribution_dataMC() {
bool print = false;
TFile *file0 = TFile::Open("results/RecoRoutines_W-selection_WJetsMGZ238PU.root");
TFile *file1 = TFile::Open("results/RecoRoutines_W-selection_dataskimnov4rereco_newJetColl.root");
TCanvas * canvas = makeCanvas("vertexDistribution_dataMC");
TH1D * mc = (TH1D*)file0->Get("RECO_PolPlots_50toinf/RECO_NumVerticesPerEvent");
TH1D * data = (TH1D*)file1->Get("RECO_PolPlots_50toinf/RECO_NumVerticesPerEvent");
mc->GetXaxis()->SetTitle("Vertex Multiplicity");
mc->GetXaxis()->SetTitleSize(0.06);
mc->GetXaxis()->SetLabelOffset(0.015);
mc->GetXaxis()->SetTitleOffset(1.2);
mc->GetXaxis()->SetRangeUser(0,10);
mc->GetYaxis()->SetRangeUser(0,0.35);
mc->GetYaxis()->SetTitle("Normalised");
mc->GetYaxis()->SetTitleSize(0.06);
mc->GetYaxis()->SetTitleOffset(0.85);
mc->SetLineColor(kRed);
data->SetLineColor(kBlack);
mc->SetLineWidth(4);
mc->SetLineStyle(2);
data->SetLineWidth(4);
data->SetLineStyle(1);
leg = new TLegend(0.6426174,0.8074324,0.9010067,0.9273649,NULL,"brNDC");
leg->AddEntry(mc,"MC","l");
leg->AddEntry(data,"Data","l");
leg->SetFillColor(kWhite);
leg->SetBorderSize(0);
leg->SetTextFont(62);
canvas->cd();
mc->DrawNormalized("h");
data->DrawNormalized("sameh");
leg->DrawClone();
if(print) {
canvas->Write();
}
file1->Close();
file0->Close();
return;
}
示例2: aDrawBkgdPlots
//.........这里部分代码省略.........
z_inv->SetLineColor(kBlack);
z_inv->SetLineStyle(1);
z_inv->SetLineWidth(1);
z_jets->SetLineColor(kBlack);
z_jets->SetLineStyle(3);
z_jets->SetLineWidth(1);
}
lm0->SetLineColor(kRed);
lm0->SetLineStyle(1);
lm0->SetLineWidth(2);
lm1->SetLineColor(kRed);
lm1->SetLineStyle(3);
lm1->SetLineWidth(2);
// Populate legend
legend->AddEntry( qcd, " QCD", "f" );
legend->AddEntry( lm0, " SUSY LM0", "L" );
legend->AddEntry( lm1, " SUSY LM1", "L" );
legend->AddEntry( tt_jets, " t#bar{t}+jets", "L" );
legend->AddEntry( w_jets, " W+jets", "L" );
if ( combine ) {
legend->AddEntry( z_all, " Z", "L" );
} else {
legend->AddEntry( z_jets, " Z+jets", "L" );
legend->AddEntry( z_inv, " Z#rightarrow#nu#nu", "L" );
}
// Calc maximum number of entries
double aMax = 0.;
if ( qcd->GetMaximum() > aMax ) { aMax = qcd->GetMaximum(); }
if ( lm0->GetMaximum() > aMax ) { aMax = lm0->GetMaximum(); }
if ( lm1->GetMaximum() > aMax ) { aMax = lm1->GetMaximum(); }
if ( tt_jets->GetMaximum() > aMax ) { aMax = tt_jets->GetMaximum(); }
if ( w_jets->GetMaximum() > aMax ) { aMax = w_jets->GetMaximum(); }
if ( combine ) {
if ( z_all->GetMaximum() > aMax ) { aMax = z_all->GetMaximum(); }
} else {
if ( z_inv->GetMaximum() > aMax ) { aMax = z_inv->GetMaximum(); }
if ( z_jets->GetMaximum() > aMax ) { aMax = z_jets->GetMaximum(); }
}
// Calc minimum number of entries
double aMin = 1.e12;
if ( qcd->GetMinimum(1.e-12) < aMin ) { aMin = qcd->GetMinimum(1.e-12); }
if ( lm0->GetMinimum(1.e-12) < aMin ) { aMin = lm0->GetMinimum(1.e-12); }
if ( lm1->GetMinimum(1.e-12) < aMin ) { aMin = lm1->GetMinimum(1.e-12); }
if ( tt_jets->GetMinimum(1.e-12) < aMin ) { aMin = tt_jets->GetMinimum(1.e-12); }
if ( w_jets->GetMinimum(1.e-12) < aMin ) { aMin = w_jets->GetMinimum(1.e-12); }
if ( combine ) {
if ( z_all->GetMinimum(1.e-12) < aMin ) { aMin = z_all->GetMinimum(1.e-12); }
} else {
if ( z_inv->GetMinimum(1.e-12) < aMin ) { aMin = z_inv->GetMinimum(1.e-12); }
if ( z_jets->GetMinimum(1.e-12) < aMin ) { aMin = z_jets->GetMinimum(1.e-12); }
}
if ( qcd ) qcd->GetYaxis()->SetTitleOffset(1.43);
if ( qcd ) qcd->GetYaxis()->SetTitleSize(0.06);
if ( qcd ) qcd->GetXaxis()->SetTitleSize(0.06);
if ( qcd ) qcd->GetXaxis()->SetTitleOffset(0.9);
if ( log ) {
if ( qcd ) qcd->SetMaximum( aMax * 10. );
if ( qcd ) qcd->SetMinimum( aMin * 0.1 );
} else {
if ( qcd ) qcd->SetMaximum( aMax * 1.1 );
if ( qcd ) qcd->SetMinimum( aMin * 0.9 );
}
if ( norm ) {
if ( qcd ) qcd->DrawNormalized("Ehist");
if ( lm0->GetEntries() > 0. ) { lm0->DrawNormalized("hsame"); }
if ( lm1->GetEntries() > 0. ) { lm1->DrawNormalized("hsame"); }
if ( tt_jets->GetEntries() > 0. ) { tt_jets->DrawNormalized("hsame"); }
if ( w_jets->GetEntries() > 0. ) { w_jets->DrawNormalized("hsame"); }
if ( combine ) {
if ( z_all->GetEntries() > 0. ) { z_all->DrawNormalized("hsame"); }
} else {
if ( z_inv->GetEntries() > 0. ) { z_inv->DrawNormalized("hsame"); }
if ( z_jets->GetEntries() > 0. ) { z_jets->DrawNormalized("hsame"); }
}
} else {
if ( qcd ) qcd->Draw("h");
lm0->Draw("sameH");
lm1->Draw("sameH");
if ( tt_jets ) tt_jets->Draw("sameh");
w_jets->Draw("sameH");
if ( combine ) {
z_all->Draw("sameH");
} else {
z_inv->Draw("sameH");
z_jets->Draw("sameH");
}
}
file->cd();
legend->Draw("same");
aCanvas->Write();
return aCanvas;
}
示例3: TCanvas
GenVBosonPlot(TString name, int rebin,float min = -1,float max =0, bool log=false){
// TCanvas* aCan = new TCanvas(name,name,0.6,0.6,0.8,0.8);
TCanvas* aCan = new TCanvas(name);
aCan->Divide(2,1);
aCan->cd(1);
if(log) aCan->SetLogy();
// int rebin= 10;
TFile* W = new TFile("results5/IC5Calo_WJets_madgraph.root");
//W->ls();
TDirectory* Wdir = ( TDirectory*) W->Get("GenVBoson200");
Wdir->ls();
TH1D* Wh = (TH1D*) Wdir->Get(name);
Wh->Rebin(rebin);
Wh->SetLineWidth(2);
Wh->SetLineStyle(2);
// Wh->
if(min>-.2) Wh->GetXaxis()->SetRangeUser(min,max);
Wh->DrawNormalized();
//cout << Wh->GetMaximum() <<endl;
Wh->GetXaxis()->SetRangeUser(0.00001,1);
// Wh->SetMaximum( Wh->GetMaximum()*1.75);
TFile* Z = new TFile("results5/IC5Calo_Zinvisible_jets.root");
//Z->ls();
TDirectory* Zdir = ( TDirectory*) Z->Get("GenVBoson200");
// Zdir->ls();
TH1D* Zh = (TH1D*) Zdir->Get(name);
Zh->SetLineColor(kRed);
Zh->SetLineWidth(2);
Zh->SetLineStyle(2);
Zh->Rebin(rebin);
Zh->DrawNormalized("same");
TFile* Ph = new TFile("results5/photon.root");
Ph->ls();
TDirectory* Phdir = ( TDirectory*) Ph->Get("GenVBoson200");
// Phdir->ls();
TH1D* Phh = (TH1D*) Phdir->Get(name);
Phh->SetLineColor(kBlue);
Phh->SetLineWidth(2);
Phh->Rebin(rebin);
Phh->DrawNormalized("same");
TLegend* leg = new TLegend(0.5,0.5,0.7,0.7);
leg->AddEntry(Zh,"Z","l" );
leg->AddEntry(Wh,"W","l" );
leg->AddEntry(Phh,"#gamma","l" );
leg->Draw("same");
aCan->cd(1);
TH1D* DivPhh = Phh->Clone();
DivPhh->Divide(Zh);
TH1D* DivWh = Wh->Clone();
DivWh->Divide(Zh);
DivPhh->Draw();
DivWh->Draw("same");
}
示例4: plot_TauTemplate
//.........这里部分代码省略.........
catLeg1->SetTextFont(42);
catLeg1->SetFillColor(0);
catLeg1->SetLineColor(0);
catLeg1->SetBorderSize(0);
//
sprintf(tempname,"TauHad/Stack/%sHadTau_TauResponseTemplates_stacked.root",Elog.c_str());
TFile *file_13TeV = new TFile(tempname,"R");
//TFile *file_13TeV_Koushik = new TFile("HadTau_TauResponseTemplates_PHYS14_13TeV.root","R");
TFile *file_TauGan = new TFile("TauHad/HadTau_TauResponseTemplates_GenTau_Matching04.root","R");
TH1D * thist;
catLeg1->SetHeader("p_{T}(#tau^{tau})");
for(int i=0;i<4;i++){
sprintf(tempname,"hTauResp_%d",i);
thist = (TH1D*)file_13TeV->Get(tempname)->Clone();
sprintf(tempname2,"hTauResp_%d_AB",i);
thist->SetName(tempname2);
thist->SetFillColor(0);
thist->SetLineColor(i+1);
thist->SetLineWidth(3);
thist->SetStats(kFALSE);
thist->SetMaximum(1.5);
if(i==0){
thist->SetMaximum(1.4);
thist->GetXaxis()->SetLabelFont(42);
thist->GetXaxis()->SetLabelOffset(0.007);
thist->GetXaxis()->SetLabelSize(0.04);
thist->GetXaxis()->SetTitleSize(0.05);
thist->GetXaxis()->SetTitleOffset(0.9);
thist->GetXaxis()->SetTitleFont(42);
thist->GetYaxis()->SetLabelFont(42);
thist->GetYaxis()->SetLabelOffset(0.007);
thist->GetYaxis()->SetLabelSize(0.04);
thist->GetYaxis()->SetTitleSize(0.05);
thist->GetYaxis()->SetTitleOffset(1.25);
thist->GetYaxis()->SetTitleFont(42);
}
//KH if (i==0){
thist->GetYaxis()->SetTitle("Arbitrary unit");
thist->DrawNormalized("same,hist");
/*
if(i==0)sprintf(tempname,"20 - 30: t#bar{t}");
if(i==1)sprintf(tempname,"30 - 50: t#bar{t}");
if(i==2)sprintf(tempname,"50 - 100: t#bar{t}");
if(i==3)sprintf(tempname,">100: t#bar{t}");
*/
if(i==0)sprintf(tempname,"20 - 30 GeV");
if(i==1)sprintf(tempname,"30 - 50 GeV");
if(i==2)sprintf(tempname,"50 - 100 GeV");
if(i==3)sprintf(tempname,">100 GeV");
catLeg1->AddEntry(thist,tempname,"l");
//KH}
}
catLeg1->Draw();
/*
TLatex * tex = new TLatex(1.5,0.03,"arXiv:1602.06581");
tex->SetTextColor(4);
tex->SetTextFont(61);
tex->SetTextSize(0.0375);
tex->SetLineColor(4);
tex->SetLineWidth(2);
//tex->Draw();
*/
TH1D * thist_km;
if (icomp==1){
for(int i=0;i<4;i++){
sprintf(tempname,"hTauResp_%d",i);
thist_km = (TH1D*)file_TauGan->Get(tempname)->Clone();
sprintf(tempname2,"hTauResp_%d_KM",i);
thist_km->SetName(tempname2);
thist_km->SetLineColor(i+1);
thist_km->SetLineWidth(3);
thist_km->SetLineStyle(3);
if (i==0) {
thist_km->DrawNormalized("same,hist");
if(i==0)sprintf(tempname,"20 - 30: TauGan");
if(i==1)sprintf(tempname,"30 - 50: TauGan");
if(i==2)sprintf(tempname,"50 - 100: TauGan");
if(i==3)sprintf(tempname,">100: TauGan");
catLeg1->AddEntry(thist_km,tempname,"l");
}
}
}
{
CMS_lumi( c1, iPeriod, iPos ); // writing the lumi information and the CMS "logo"
}
c1->Update();
c1->RedrawAxis();
catLeg1->Draw();
c1->Print("Plot_TauTemplate_TTbar_Wjets.pdf");
c1->Print("Plot_TauTemplate_TTbar_Wjets.png");
}
示例5: plot_TauTemplate
void plot_TauTemplate(int icomp=0){
//
// icomp=0: only show own results
// 1: show also Koushik's results
//
//
///////////////////////////////////////////////////////////////////////////////////////////
////Some cosmetic work for official documents.
gROOT->LoadMacro("tdrstyle.C");
//setTDRStyle();
gROOT->LoadMacro("CMS_lumi_v2.C");
char tempname[200];
char tempname2[200];
int W = 600;
int H = 600;
int H_ref = 600;
int W_ref = 800;
float T = 0.08*H_ref;
float B = 0.12*H_ref;
float L = 0.12*W_ref;
float R = 0.04*W_ref;
TCanvas* c1 = new TCanvas("name","name",10,10,W,H);
c1->SetFillColor(0);
c1->SetBorderMode(0);
c1->SetFrameFillStyle(0);
c1->SetFrameBorderMode(0);
c1->SetLeftMargin( L/W );
c1->SetRightMargin( R/W );
c1->SetTopMargin( T/H );
c1->SetBottomMargin( B/H );
c1->SetTickx(0);
c1->SetTicky(0);
gStyle->SetOptStat(000000);
Float_t legendX1 = .60; //.50;
Float_t legendX2 = .90; //.70;
Float_t legendY1 = .60; //.65;
Float_t legendY2 = .90;
TLegend* catLeg1 = new TLegend(legendX1,legendY1,legendX2,legendY2);
catLeg1->SetTextSize(0.042);
catLeg1->SetTextFont(42);
catLeg1->SetFillColor(0);
catLeg1->SetLineColor(0);
catLeg1->SetBorderSize(0);
//
TFile *file_08TeV = new TFile("tauTemplatesRes_8TeV.root","R");
TFile *file_13TeV = new TFile("HadTau_TauResponseTemplates_TTbar_.root","R");
//TFile *file_13TeV_Koushik = new TFile("HadTau_TauResponseTemplates_PHYS14_13TeV.root","R");
TFile *file_TauGan = new TFile("HadTau_TauResponseTemplates_GenTau_Matching04.root","R");
TH1D * thist;
catLeg1->SetHeader("p_{T}(#tau^{tau})");
for(int i=0;i<4;i++){
sprintf(tempname,"hTauResp_%d",i);
thist = (TH1D*)file_13TeV->Get(tempname)->Clone();
sprintf(tempname2,"hTauResp_%d_AB",i);
thist->SetName(tempname2);
thist->SetLineColor(i+1);
thist->SetLineWidth(3);
thist->SetStats(kFALSE);
thist->SetMaximum(1.5);
if(i==0){
thist->SetMaximum(1.4);
thist->GetXaxis()->SetLabelFont(42);
thist->GetXaxis()->SetLabelOffset(0.007);
thist->GetXaxis()->SetLabelSize(0.04);
thist->GetXaxis()->SetTitleSize(0.05);
thist->GetXaxis()->SetTitleOffset(0.9);
thist->GetXaxis()->SetTitleFont(42);
thist->GetYaxis()->SetLabelFont(42);
thist->GetYaxis()->SetLabelOffset(0.007);
thist->GetYaxis()->SetLabelSize(0.04);
thist->GetYaxis()->SetTitleSize(0.05);
thist->GetYaxis()->SetTitleOffset(1.25);
thist->GetYaxis()->SetTitleFont(42);
}
//KH if (i==0){
thist->GetYaxis()->SetTitle("Arbitrary unit");
thist->DrawNormalized("same,hist");
/*
if(i==0)sprintf(tempname,"20 - 30: t#bar{t}");
if(i==1)sprintf(tempname,"30 - 50: t#bar{t}");
if(i==2)sprintf(tempname,"50 - 100: t#bar{t}");
if(i==3)sprintf(tempname,">100: t#bar{t}");
*/
if(i==0)sprintf(tempname,"20 - 30 GeV");
if(i==1)sprintf(tempname,"30 - 50 GeV");
if(i==2)sprintf(tempname,"50 - 100 GeV");
if(i==3)sprintf(tempname,">100 GeV");
//.........这里部分代码省略.........
示例6: fit
void PurityFit::fit(){
string signame ="ChargedHiggsQCDPurity/Vars/Uperp_pt%.0f_%.0f_IsoInv_Data";
string bkgname ="ChargedHiggsQCDPurity/Vars/Uperp_pt%.0f_%.0f_%s";
string bkgnameInv="ChargedHiggsQCDPurity/Vars/Uperp_pt%.0f_%.0f_IsoInv_%s";
string targetname="ChargedHiggsQCDPurity/Vars/Uperp_pt%.0f_%.0f_Data";
vector<string> bkglabels;
bkglabels.push_back("WJets");
//bkglabels.push_back("TTJets");
bkglabels.push_back("WW");
bkglabels.push_back("WZ");
bkglabels.push_back("ZZ");
bkglabels.push_back("DY");
// reset output file
TFile *fOut= TFile::Open(outname.c_str(),"RECREATE");
fOut->Close();
ofstream fw;
fw.open("R.txt");
fw <<"# QCD R-factor computed by PurityFit"<<endl;
for (size_t iBin=0;iBin+1<PtBins.size() ;++iBin)
{
TCanvas *cEWK= new TCanvas(Form("EWK_control_pt%.0f_%.0f",PtBins[iBin],PtBins[iBin+1] ));
TCanvas *cQCD= new TCanvas(Form("QCD_control_pt%.0f_%.0f",PtBins[iBin],PtBins[iBin+1] ));
if (verbose_ >0 ) cout <<"[PurityFit]::[fit]::[INFO] Getting histogram: '"<< Form(targetname.c_str(),PtBins[iBin],PtBins[iBin+1])<<"'" <<endl;
TH1D *h = (TH1D*) fIn_ -> Get( Form(targetname.c_str(), PtBins[iBin],PtBins[iBin+1]) ) -> Clone(); // EWK
if (verbose_ >0 ) cout <<"[PurityFit]::[fit]::[INFO] Getting histogram: '"<< Form(signame.c_str(),PtBins[iBin],PtBins[iBin+1])<<"'" <<endl;
TH1D *sig = (TH1D*) fIn_ -> Get( Form(signame.c_str(), PtBins[iBin],PtBins[iBin+1]) ) -> Clone();// QCD
if ( h != NULL and sig != NULL and h->Integral() >0 and sig->Integral() >0) // control plots QCD
{
cQCD->cd();
sig->DrawNormalized("P");
if (verbose_ >0 ) cout <<"[PurityFit]::[fit]::[INFO] Getting histogram: '"<<Form(bkgname.c_str(),PtBins[iBin],PtBins[iBin+1],"QCD")<<"'" <<endl;
TH1D * qcd = (TH1D*) fIn_ ->Get( Form( bkgname.c_str() , PtBins[iBin],PtBins[iBin+1],"QCD") );
if (verbose_ >0 ) cout <<"[PurityFit]::[fit]::[INFO] Getting histogram: '"<<Form(bkgnameInv.c_str(),PtBins[iBin],PtBins[iBin+1],"QCD")<<"'" <<endl;
TH1D * qcdInv = (TH1D*) fIn_ ->Get( Form( bkgnameInv.c_str() , PtBins[iBin],PtBins[iBin+1],"QCD") ) ;
sig->SetMarkerStyle(20);
qcd->SetLineColor(kRed+2);
qcdInv->SetMarkerColor(kRed);
qcdInv->SetLineColor(kRed);
qcdInv->SetMarkerStyle(21);
if (qcd->Integral() >0 ) qcd->DrawNormalized("HIST SAME");
if (qcdInv->Integral() > 0 ) qcdInv->DrawNormalized("P SAME");
TLegend *l = new TLegend(0.6,.6,.9,.9);
l->SetFillStyle(0);
l->SetBorderSize(0);
l->AddEntry(sig,"Data InvIso");
l->AddEntry(qcd,"QCD DirectIso");
l->AddEntry(qcdInv,"QCD InvIso");
l->Draw();
cQCD->Update();
// Open and close. Don't leave files open, otherwise root will write stuff inside
fOut = TFile::Open(outname.c_str(),"UPDATE");
fOut->cd();
cQCD->Write();
fOut->Close();
delete cQCD;
}
//else { cout << "NO QCD Control plots"<<endl; } //DEBUG
cEWK->cd() ;
TLegend *l =new TLegend(0.6,.6,.9,.9);
l->SetFillStyle(0);
l->SetBorderSize(0);
///-----
//NegativeWeightInterpolator n;
//n.print();
// ----
TH1D *bkg= NULL;
for (string& s : bkglabels)
{
TH1D *bkg_tmp = (TH1D*) fIn_ ->Get( Form( bkgname.c_str() , PtBins[iBin],PtBins[iBin+1],s.c_str()) );
TH1D *bkg_binned = NULL;
//if ( s== "WJets" or s=="DY" )
//{
// bkg_binned = bkg_tmp;
// TH1D*pos = static_cast<TH1D*>(fIn_ ->Get( Form( (bkgname+ "_wPlus").c_str() , PtBins[iBin],PtBins[iBin+1],s.c_str()) ));
// TH1D*neg = static_cast<TH1D*>(fIn_ ->Get( Form( (bkgname+ "_wMinus").c_str() , PtBins[iBin],PtBins[iBin+1],s.c_str()) ));
// bkg_tmp = static_cast<TH1D*>(n.add(pos,neg));
//}
if ( bkg_tmp == NULL ) cout <<"[PurityFit]::[fit]::[ERROR] histo "<< Form( bkgname.c_str() , PtBins[iBin],PtBins[iBin+1],s.c_str()) << " is NULL"<<endl;
bool first = false;
if (bkg==NULL) {
bkg = (TH1D*) bkg_tmp->Clone( Form( bkgname.c_str(), PtBins[iBin],PtBins[iBin+1], "EWK") );
first = true;
}
else bkg->Add(bkg_tmp);
//.........这里部分代码省略.........
示例7: main
//.........这里部分代码省略.........
h1->SetMarkerStyle(21);
h1->SetLineStyle(1);
h1->SetLineWidth(3);
h1->SetTitleSize(0.05,"X");
h1->SetTitleSize(0.05,"Y");
TString title=(TString)dir_before->Get(list_before->At(i+j)->GetName())->GetTitle();
TString name=(TString)dir_before->Get(list_before->At(i+j)->GetName())->GetName();
TString nameD =name+"_MC";
h1->SetXTitle(title);
h1->SetName(nameD);
h1->SetYTitle("");
h1->SetTitle("");
h1->SetTitleOffset(0.85,"X");
TH1D* hr = (TH1D*)dirref_before->Get(list_before->At(i+j)->GetName());
hr->SetLineColor(kPink-4);
// hr->SetLineStyle(2);
hr->SetLineWidth(3);
hr->SetTitleSize(0.05,"X");
hr->SetTitleSize(0.05,"Y");
hr->SetFillColor(kPink-4);
hr->SetFillStyle(3001);
hr->SetXTitle(title);
TString nameMC =name+"_Data";
h1->SetName(nameMC);
hr->SetYTitle("");
hr->SetTitle("");
hr->SetTitleOffset(0.85,"X");
if(normalize) {hr->DrawNormalized("hist",h1->Integral());}
else{hr->Draw("hist");}
h1->Draw("sames,p,E");
int max1=h1->GetMaximum();
int maxr=hr->GetMaximum();
if(!normalize){
if(max1 >= maxr) { hr->SetMaximum(max1*1.2); h1->SetMaximum(max1*1.2);}
else {hr->SetMaximum(maxr*1.2); h1->SetMaximum(maxr*1.2);}
}
else if (normalize){
hr->GetYaxis()->SetRangeUser(h1->GetMinimum()*0.1,max1*1.2);
}
leg->Clear();
leg->AddEntry(h1,labelData.Data(),"Lp");
leg->AddEntry(hr,labelRef.Data() ,"f");
leg->Draw();
}
first_plots_done = true;
c1->Modified();
c1->Update();
char chplot[80];
sprintf(chplot,"%sValidation_%s_BEFORECUTS_%d.root",chsample.Data(),cmssw_version.Data(),i/4);
c1->SaveAs(chplot);
sprintf(chplot,"%sValidation_%s_BEFORECUTS_%d.gif",chsample.Data(),cmssw_version.Data(),i/4);
c1->SaveAs(chplot);
示例8: massSubtraction
void massSubtraction(){
//TFile* opFile = new TFile("./pairQA/qa_9_9_invMass.root");
TFile* opFile = new TFile("~/Desktop/Research/2012IFF/rootFiles/qa_9_9_invMass.root");
TH1D* hOpMass = (TH1D*)opFile->Get("invarM");
// double opInt = hOpMass->GetIntegral();
double opInt = hOpMass->GetEntries();
cout << hOpMass->GetEntries() << " " << hOpMass->GetIntegral() << endl;
//TFile* sameFile = new TFile("./pairQA/sameSign_4_14_InvarMassRad03.root");
TFile* sameFile = new TFile("~/Desktop/Research/2012IFF/rootFiles/sameSign_4_14_InvarMassRad03.root");
TH1D* hSameMass = (TH1D*)sameFile->Get("invarM");
// double sameInt = hSameMass->GetIntegral();
double sameInt = hSameMass->GetEntries();
cout << hSameMass->GetEntries() << " " << hSameMass->GetIntegral() << endl;
/*
hOpMass->DrawNormalized();
hSameMass->DrawNormalized("Same");
hSameMass->SetLineColor(kRed);
//*/
TH1D* hdiff = new TH1D("hdiff","hdiff",800,0,5);
//hdiff->Add(hSameMass, hOpMass, -1/sameInt, 1/opInt);
//hdiff->Add(hSameMass, -1/sameInt);
hdiff->Add(hOpMass, 1/opInt);
hdiff->Add(hSameMass, -1/sameInt);
//hOpMass->Add(hSameMass, -1*opInt/sameInt);
//hOpMass->Draw();
hdiff->Draw();
TCanvas* c2 = new TCanvas();
hOpMass->SetLineColor(1);
hOpMass->DrawNormalized();
hSameMass->SetLineColor(2);
hSameMass->DrawNormalized("same");
}