本文整理汇总了C++中TH1F::SetMarkerSize方法的典型用法代码示例。如果您正苦于以下问题:C++ TH1F::SetMarkerSize方法的具体用法?C++ TH1F::SetMarkerSize怎么用?C++ TH1F::SetMarkerSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TH1F
的用法示例。
在下文中一共展示了TH1F::SetMarkerSize方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: draw_ratio
void draw_ratio(std::vector<TH1F*> h,
TString name, TString xTitle,
double xmin, double xmax,
TString legHeader = "", bool legRIGHT = true, bool legTOP = true,
bool logX = false, bool stat = false, int rebin = -1, int orbin = -1,
TString option = "", int nclus = 99) { //double ymin_ratio, double ymax_ratio,
TCanvas* can = new TCanvas(name+"_ratio",name+"_ratio",900,450);
can->cd();
double legxmin = (legRIGHT ? 0.55 : 0.18);
double legxmax = legxmin+0.25;
double legymin = (legTOP ? 0.70 : 0.15);
double legymax = legymin+0.15;
TLegend* leg = new TLegend(legxmin,legymin,legxmax,legymax);
if (legHeader!="") leg->SetHeader(legHeader);
leg->SetTextSize(0.04);
leg->SetFillColor(0);
leg->SetLineColor(0);
TString options = (option=="" ? "pe" : option);
if (rebin>0) h[h.size()-1]->Rebin(rebin); //to rebin benchmark before divide
for (size_t i=0; i<h.size(); i++) {
//if(h[i]->GetNbinsX() != orbin) cout << "WARNING: orbin for " << h[i]->GetName() << " are " << h[i]->GetNbinsX() << endl; //debug - shift of h[][] wrt clu[][]
if (rebin>0 && i<(h.size()-1)) h[i]->Rebin(rebin);
TH1F* ratio = (TH1F*)h[i]->Clone("ratio_"+name);
ratio->Sumw2();
ratio->Divide(h[h.size()-1]); //benchmark is at the end.
if (logX) gPad->SetLogx();
ratio->SetMarkerStyle(20+i);
ratio->SetMarkerSize(1.0); //1.2
ratio->GetXaxis()->SetRangeUser(xmin,xmax);
ratio->SetMinimum(-0.1);
ratio->SetMaximum(4);
if (i==0){ //just for the first one
ratio->GetXaxis()->SetLabelSize(0.05);
ratio->GetXaxis()->SetTitle(xTitle);
ratio->GetXaxis()->SetTitleOffset(1);
ratio->GetXaxis()->SetTitleSize(0.06);
ratio->GetYaxis()->SetTitle("ratio");
ratio->GetYaxis()->SetTitleSize(0.06);
ratio->GetYaxis()->SetTitleOffset(0.7);
ratio->GetYaxis()->SetLabelSize(0.05);
}
string nam = "";
nam = translate(clu[nclus][0].c_str());
if(i==(h.size()-1)) leg->AddEntry(h[i],nam.c_str(),"l"); //to print only benchmark (first in the list)
if (i==1) options = options + (stat ? "sames" : "same"); //once is enought
ratio->Draw(options);
}
leg->Draw("same");
drawPrivate(0.04);
can->Update();
can->SaveAs(Outfolder+name+"_ratio.png");
}
示例2: SetDataStyle
void SetDataStyle(TH1F & ele) {
ele.SetMarkerColor(1);
ele.SetLineColor(1);
ele.SetFillColor(1);
ele.SetFillStyle(0);
ele.SetLineWidth(2);
ele.SetMarkerStyle(20);
ele.SetMarkerSize(1.1);
return;
}
示例3: if
///
/// Make a plot out of a 1D histogram holding a 1-CL curve.
/// This is a fall back function that does no fancy stuff.
///
/// \param s The scanner to plot.
/// \param first Set this to true for the first plotted scanner.
///
void OneMinusClPlot::scan1dPlotSimple(MethodAbsScan* s, bool first, int CLsType)
{
if ( arg->debug ){
cout << "OneMinusClPlot::scan1dPlotSimple() : plotting ";
cout << s->getName() << " (" << s->getMethodName() << ")" << endl;
}
m_mainCanvas->cd();
TH1F *hCL = (TH1F*)s->getHCL()->Clone(getUniqueRootName());
if (CLsType==1) hCL = (TH1F*)s->getHCLs()->Clone(getUniqueRootName());
else if (CLsType==2) hCL = (TH1F*)s->getHCLsFreq()->Clone(getUniqueRootName());
// get rid of nan and inf
for ( int i=1; i<=hCL->GetNbinsX(); i++ ){
if ( hCL->GetBinContent(i)!=hCL->GetBinContent(i)
|| std::isinf(hCL->GetBinContent(i)) ) hCL->SetBinContent(i, 0.0);
}
int color = s->getLineColor();
if(CLsType==1) color = color + 2 ;
hCL->SetStats(0);
hCL->SetLineColor(color);
hCL->SetMarkerColor(color);
hCL->SetLineWidth(2);
hCL->SetLineStyle(s->getLineStyle());
hCL->SetMarkerColor(color);
hCL->SetMarkerStyle(8);
hCL->SetMarkerSize(0.6);
hCL->GetYaxis()->SetNdivisions(407, true);
hCL->GetXaxis()->SetTitle(s->getScanVar1()->GetTitle());
hCL->GetYaxis()->SetTitle("1-CL");
hCL->GetXaxis()->SetLabelFont(font);
hCL->GetYaxis()->SetLabelFont(font);
hCL->GetXaxis()->SetTitleFont(font);
hCL->GetYaxis()->SetTitleFont(font);
hCL->GetXaxis()->SetTitleOffset(0.9);
hCL->GetYaxis()->SetTitleOffset(0.85);
hCL->GetXaxis()->SetLabelSize(labelsize);
hCL->GetYaxis()->SetLabelSize(labelsize);
hCL->GetXaxis()->SetTitleSize(titlesize);
hCL->GetYaxis()->SetTitleSize(titlesize);
if ( plotLegend && !arg->isQuickhack(22) ){
if ( arg->plotlog ) hCL->GetYaxis()->SetRangeUser(1e-3,10);
else hCL->GetYaxis()->SetRangeUser(0.0,1.3);
}
else{
if ( arg->plotlog ) hCL->GetYaxis()->SetRangeUser(1e-3,1);
else hCL->GetYaxis()->SetRangeUser(0.0,1.0);
}
hCL->Draw(first?"":"same");
}
示例4: newDumHistForLegend
TH1F* newDumHistForLegend(const Plot_t* hist) {
// caller is responsible for deleting the hist
TH1F* h = 0;
if (hist!=0) {
TString hn(Form("%s_leg%s",hist->GetName(),
(gPad!=0) ? gPad->GetName() : ""));
h = new TH1F(hn.Data(), "", 1, 0, 1);
h->SetFillColor(hist->GetLineColor());
h->SetLineColor(kWhite);
h->SetMarkerColor(kWhite);
h->SetMarkerStyle(hist->GetMarkerStyle());
h->SetMarkerSize(1);
h->SetBit(TObject::kCanDelete);
}
return h;
}
示例5: getHist
//------------------------------------------------------------//
// Get histogram
//------------------------------------------------------------//
TH1F* getHist(TFile* file, TString pname, TString xtitle,
TString ytitle, int color, int marker)
{
TH1F* hist = (TH1F*) (file->Get(pname.Data())->Clone(Form("%s_%i",pname.Data(),color)));
hist->GetXaxis()->SetTitle(xtitle.Data());
hist->GetYaxis()->SetTitle(ytitle.Data());
hist->SetMarkerStyle(marker);
hist->SetMarkerColor(color);
hist->SetMarkerSize(0.5);
hist->SetLineColor(color);
hist->SetTitle("");
hist->SetStats(0);
hist->GetYaxis()->SetTitleOffset(1.5);
hist->SetLineWidth(2);
return hist;
}
示例6: binomialEfficiency1D
void binomialEfficiency1D(TH1F * numerator,TH1F * denominator){
TH1F * efficiency = numerator->Clone("efficiency");
efficiency->SetXTitle(numerator->GetXaxis()->GetTitle());
efficiency->SetYTitle("#epsilon");
for(int j=0;j<=numerator->GetXaxis()->GetNbins() ;j++){
if(denominator->GetBinContent(j)!=0){
float eff = numerator->GetBinContent(j)/denominator->GetBinContent(j);
float err = sqrt(eff*(1-eff)/denominator->GetBinContent(j));
efficiency->SetBinContent(j,eff);
efficiency->SetBinError(j,err);
cout<<"1Deff "<<j<<" "<<eff<<" +/- "<<err<<endl;
}
}
efficiency->Draw("E");
efficiency->SetMarkerColor(kRed);
efficiency->SetMarkerStyle(23);
efficiency->SetMarkerSize(2);
}
示例7: Ef_Branch
void Ef_Branch(){
gROOT->ProcessLine(" .L tdrstyle.C");
setTDRStyle();
gStyle->SetOptStat(0);
TH1F *IsoPaftl = new TH1F("IsoPaftl","IsoP cut only",100,0,100);
TH1F *IsoPaftlb = new TH1F("IsoPaftlb","IsoP cut only",100,0,100);
//Pt dependency
IsoPaftl->Divide(EffNp,EffN0,1.,1.,"B");
IsoPaftlb->Divide(EffNpb,EffN0b,1.,1.,"B");
TCanvas *c10 = new TCanvas("c10","Branch Out Cuts",900,600);
c10->Divide(3,2);
IsoPaftl->Draw();
IsoPaftlb->Draw("same");
IsoPaftl->SetLineColor(kRed);
IsoPaftl->SetMarkerColor(kRed);
IsoPaftl->SetMarkerSize(0.5);
IsoPaftl->GetYaxis()->SetTitle("Only iso P Cut Efficiency");
IsoPaftl->GetXaxis()->SetTitle("Nvtx");
c10->Update();
c10->SaveAs("LCheck.png");
}
示例8: GoodRun
float GoodRun(int icent, int ihar, int isub, int irun){
float pi = acos(-1);
TF1 *fun = new TF1("fun","pol0",-pi,pi);
TString str;
TFile *fin;
ofstream fout;
if(isub==1){
str = "FVTX1S";
}
else if(isub==2){
str = "FVTX2S";
}
else return -9999;
fin = TFile::Open(Form("Run15pAu200MinBias/output_fvtxwithcntEP_%d.root",GetRun(irun)));
TH1F* hpsi = new TH1F("psi","psi",100,-pi,pi);
for(int ibbcz=0;ibbcz<nbbcz;ibbcz++){
hpsitemp = (TH1F*)fin->Get(Form("psi_%d_%d_%d_%d",icent,ibbcz,ihar,isub));
hpsi->Add(hpsitemp);
}
if(hpsi->GetEntries()>10000){
hpsi->SetMarkerStyle(20);
hpsi->SetMarkerSize(0.6);
hpsi->SetMarkerColor(4);
hpsi->SetMinimum(10);
hpsi->Fit("fun","QR0");
float par=fun->GetParameter(0);
hpsi->SetMaximum(1.5*par);
//hpsi->Draw();
fin->Close();
return fun->GetChisquare()/fun->GetNDF();
}
else{
fin->Close();
return -9999;
}
}
示例9: drawFigure4a
void drawFigure4a(TString var="Njets")
{
gInterpreter->ExecuteMacro("GoodStyle.C");
gROOT->LoadMacro("tdrstyle.C");
setTDRStyle();
TString variable = "p_{T,max}^{#font[12]{l}}";
std::ostringstream filename, madname;
filename<<"rootfiles/all_unfolding_"<<var<<".root";
TFile* file = new TFile(filename.str().c_str(), "read");
madname<<"hGenXs"<<var<<"_1";
std::cout<<madname.str().c_str()<<std::endl;
TH1F* xsValue = (TH1F*)(file->Get("hComb_diff")->Clone("xsValue"));
TH1F* xsValue_Madgraph = (TH1F*)(file->Get(madname.str().c_str())->Clone("xsValue_Madgraph"));
TH1F* xsValue_MCnlo = (TH1F*)(file->Get("mcfm_tot")->Clone("xsValue_MCnlo"));
// Set the data errors- I don't need this because I already have complete error in my plot
//----------------------------------------------------------------------------
// Data cosmetics
//----------------------------------------------------------------------------
xsValue->SetLineWidth(1);
xsValue->SetMarkerSize(_msize);
xsValue->SetMarkerStyle(kFullCircle);
xsValue->SetMarkerColor(kBlack);
xsValue->SetLineColor(kBlack);
xsValue->SetFillStyle(1001);
xsValue->SetFillColor(kWhite);
// Madgraph cosmetics
//----------------------------------------------------------------------------
xsValue_Madgraph->SetFillColor(kOrange);
//xsValue_Madgraph->SetFillColor(kWhite);
xsValue_Madgraph->SetFillStyle(1001);
xsValue_Madgraph->SetLineColor(kOrange+7);
xsValue_Madgraph->SetLineWidth(1);
xsValue_Madgraph->SetMarkerColor(kOrange+7);
xsValue_Madgraph->SetMarkerSize(_msize);
xsValue_Madgraph->SetMarkerStyle(21);
// MCNLO cosmetics
//----------------------------------------------------------------------------
xsValue_MCnlo->SetFillColor(kAzure-9);
//xsValue_MCnlo->SetFillColor(kWhite);
xsValue_MCnlo->SetFillStyle(1001);
xsValue_MCnlo->SetLineColor(kAzure);
xsValue_MCnlo->SetLineWidth(1);
xsValue_MCnlo->SetMarkerColor(kAzure);
xsValue_MCnlo->SetMarkerSize(_msize);
// xsValue_MCnlo->SetMarkerStyle(21);
xsValue_MCnlo->SetMarkerStyle(24);
// TCanvas * c1=new TCanvas("c1", "c1");
//xsValue_MCnlo->Draw("pey0");
// Set the canvas and pads
//----------------------------------------------------------------------------
TCanvas* canvas = new TCanvas("wwxs", "wwxs", 600, 600);
// TCanvas* canvas = new TCanvas("wwxs", "wwxs");
//defalut
//TCanvas* canvas = new TCanvas("wwxs", "wwxs", 600, 850);
// TPad* pad1 = new TPad("pad1", "pad1", 0, 0.55, 1, 1.000);
//TPad* pad2 = new TPad("pad2", "pad2", 0, 0.39, 1, 0.552);
//TPad* pad3 = new TPad("pad3", "pad3", 0, 0.23, 1, 0.392);
TPad* pad1 = new TPad("pad1", "pad1", 0, 0.49, 1, 1.000);
TPad* pad2 = new TPad("pad2", "pad2", 0, 0.33, 1, 0.492);
TPad* pad3 = new TPad("pad3", "pad3", 0, 0, 1, 0.332);
pad1->SetTopMargin(0.09);
pad2->SetTopMargin(0);
pad3->SetTopMargin(0);
pad1->SetBottomMargin(0);
pad2->SetBottomMargin(0);
// pad3->SetBottomMargin(0.15);
pad3->SetBottomMargin(0.45);
pad1->SetLeftMargin(0.16);
pad2->SetLeftMargin(0.16);
pad3->SetLeftMargin(0.16);
pad1->SetRightMargin(0.06);
pad2->SetRightMargin(0.06);
pad3->SetRightMargin(0.06);
// pad1
//----------------------------------------------------------------------------
pad1->Draw();
pad1->cd();
pad1->SetLogy();
// Draw
//----------------------------------------------------------------------------
//.........这里部分代码省略.........
示例10: format_plots_data
//.........这里部分代码省略.........
/*Debug*/ if(printlevel > 0) cout << "Build mass plots" << endl;
//diphoton mass plots, one for each data plot, for each topology.
if(makediphoMassPlot){
for (int iTop = 0; iTop<nEventTopologies; iTop++) {
/*Debug*/ if(printlevel > 1) cout << "first loop, iTop = "<<iTop <<endl;
string canvName = string("c_mgg")+s_EventTopology_v2[iTop]+"_unsliced";
/*Debug*/ if(printlevel > 1) cout << "made tempCanv with name "<<canvName <<endl;
TCanvas* tempCanv = newTCanvas((char*)canvName.c_str()); //char*error
/*Debug*/ if(printlevel > 1) cout << "Enter the merky deptsh of diphoMassPlot"<<endl;
diphoMassPlot(h_mGG_unsliced[Data][s_EventTopology[iTop]],tempCanv,mgg_fit_curve[iTop]);
/*Debug*/ if(printlevel > 1) cout << "fin dinphoMass plot, try to write to fplots" <<endl;
tempCanv->Write();
if(saveImages) SaveCanvas(tempCanv,plotsdir+tempCanv->GetName(),"ggifpdfjpgepspng");//save as all types
//if(saveImages) SaveCanvas(tempCanv,plotsdir+tempCanv->GetName(),"ggifpdfeps");//save as all types
}
}
// %%%%%%%%%%%%%%%%%%%%%%%% Kinematics and backgrounds %%%%%%%%%%%%%%%%%
// ___ __ ___ ___ __ __
// / _ )/ /_____ _/ _ \___ __ _ ___ / _ \/ /__ / /____
// / _ / '_/ _ `/ // / -_) ' \/ _ \ / ___/ / _ \/ __(_-<
// /____/_/\_\\_, /____/\__/_/_/_/\___/ /_/ /_/\___/\__/___/
// /___/
/*Debug*/ if(printlevel > 0) cout << "Build Kin Var plots type 1" << endl;
//Arrangement 1
TH1F * box = new TH1F("box","asdf",1,0,1);
box->SetMarkerColor(kRed);
box->SetMarkerStyle(25);
box->SetMarkerSize(2);
box->SetLineColor(0);
///Demonstrate background. Plot two side bands with their ratio as a sub-plot. include a switchable Tag.
if(makeBkgDemo){
for (int iTop = 0; iTop<nEventTopologies; iTop++){
for (int kKinVar = 0; kKinVar<nKinemVars; kKinVar++){
/*Debug*/ if(printlevel >2) cout << "iTop="<<iTop<<" kKinVar="<<kKinVar<<endl;
if (s_EventTopology[iTop].compare("metCut")==0 && s_KinemVars[kKinVar].compare("MET")==0 ){
/*Debug*/ if(printlevel >2) cout << "skipping met plot for met cut"<<endl;
continue;
}
string canvName = string("BkgFull_")+s_KinemVars[kKinVar]+s_EventTopology_v2[iTop];
/*Debug*/ if(printlevel >6) {TH1F** h = KinVarHistMap[Data][s_EventTopology[iTop]][s_KinemVars[kKinVar]];
/*Debug*/ if(printlevel >6) printf("Scan1 Ratio bin1 for %s %s = %f\n",s_EventTopology[iTop].c_str(),s_KinemVars[kKinVar].c_str(),h[7]->GetBinContent(1));}
TCanvas* tempCanv = newTCanvas((char*)canvName.c_str());
BkgDemo_Diplot(tempCanv,
KinVarHistMap[Data][s_EventTopology[iTop]][s_KinemVars[kKinVar]],
makeL1(0.2072864,0.7203704,0.4070352,0.9203704),
makeL2(0.51005,0.706436,0.708543,0.902669));
//tempCanv->Write();
//if(saveImages)SaveCanvas(tempCanv,plotsdir+tempCanv->GetName(),"ggif");//save as all types
//if(saveImages)SaveCanvas(tempCanv,plotsdir+tempCanv->GetName(),"ggifpdfeps");//save as all types
}//edn for each kinematic varriable
}//end for each topology
}
// ___ __ ___ ___ __ __
// / _ )/ /_____ < / / _ \/ /__ / /____
// / _ / '_/ _ `/ / / ___/ / _ \/ __(_-<
// /____/_/\_\\_, /_/ /_/ /_/\___/\__/___/
// /___/
示例11: DrawMass
void DrawMass(int iSEL)
{
gROOT->ForceStyle();
TString SET[2] = {"A","B"};
RooMsgService::instance().setSilentMode(kTRUE);
for(int i=0;i<2;i++) {
RooMsgService::instance().setStreamStatus(i,kFALSE);
}
TString SELECTION[2] = {"NOM","VBF"};
TString MASS_RAW[2] = {"mbb[1]","mbb[2]"};
TString MASS_REG[2] = {"mbbReg[1]","mbbReg[2]"};
// TFile *inf = TFile::Open("Fit_VBFPowheg125_sel"+SELECTION[iSEL]+".root");
TFile *inf = TFile::Open("/usb/data2/UAData/2015/flatTree_VBFPowheg125.root");
TTree *tr = (TTree*)inf->Get("Hbb/events");
TH1F *hRaw = new TH1F("hRawMass","hRawMass",150,0,300);
TH1F *hReg = new TH1F("hRegMass","hRegMass",150,0,300);
RooRealVar x("mbb","mbb",60,170);
TCanvas *can = new TCanvas("Mbb_sel"+SELECTION[iSEL],"Mbb_sel"+SELECTION[iSEL],900,750);
TCut ct1 = TCut("triggerResult[0]==1||triggerResult[1]==1");
TCut cs1 = TCut("jetBtag[b1[1]]>0.244 && jetBtag[b2[1]]>0.244 && jetPt[3]>40. && jetPt[2]>50. && jetPt[1]>70. && jetPt[0]>80. && dEtaqq[1]>2.5 && mqq[1]>250 && dPhibb[1]<2.0 && nLeptons==0");
tr->Draw(MASS_RAW[iSEL]+">>hRawMass",ct1&&cs1);
tr->Draw(MASS_REG[iSEL]+">>hRegMass",ct1&&cs1);
hRaw->Sumw2();
hReg->Sumw2();
hRaw->Scale(1./(hRaw->Integral()*hRaw->GetBinWidth(1)));
hReg->Scale(1./(hReg->Integral()*hReg->GetBinWidth(1)));
RooDataHist *rRaw = new RooDataHist("rRaw","rRaw",x,hRaw);
RooDataHist *rReg = new RooDataHist("rReg","rReg",x,hReg);
RooRealVar m1("m1","m1",125,110,140);
RooRealVar m2("m2","m2",125,110,140);
RooRealVar sL1("sL1","sL1",12,3,30);
RooRealVar sL2("sL2","sL2",12,3,30);
RooRealVar sR1("sR1","sR1",12,3,30);
RooRealVar sR2("sR2","sR2",12,3,30);
RooRealVar a1("a1","a1",1,-10,10);
RooRealVar a2("a2","a2",1,-10,10);
RooRealVar n1("n1","n1",1,0,100);
RooRealVar n2("n2","n2",1,0,100);
RooRealVar b10("b10","b10",0.5,0.,1.);
RooRealVar b11("b11","b11",0.5,0.,1.);
RooRealVar b12("b12","b12",0.5,0.,1.);
RooRealVar b13("b13","b13",0.5,0.,1.);
RooRealVar b20("b20","b20",0.5,0.,1.);
RooRealVar b21("b21","b21",0.5,0.,1.);
RooRealVar b22("b22","b22",0.5,0.,1.);
RooRealVar b23("b23","b23",0.5,0.,1.);
RooBernstein bkg1("bkg1","bkg1",x,RooArgSet(b10,b11,b12,b13));
RooBernstein bkg2("bkg2","bkg2",x,RooArgSet(b20,b21,b22,b23));
RooRealVar fsig1("fsig1","fsig1",0.7,0.,1.);
RooRealVar fsig2("fsig2","fsig2",0.7,0.,1.);
RooBifurGauss sig1("sig1","sig1",x,m1,sL1,sR1);
RooBifurGauss sig2("sig2","sig2",x,m2,sL2,sR2);
//RooCBShape sig1("sig1","sig1",x,m1,s1,a1,n1);
//RooCBShape sig2("sig2","sig2",x,m2,s2,a2,n2);
RooAddPdf *model1 = new RooAddPdf("model1","model1",RooArgList(sig1,bkg1),fsig1);
RooAddPdf *model2 = new RooAddPdf("model2","model2",RooArgList(sig2,bkg2),fsig2);
model1->fitTo(*rRaw,SumW2Error(kFALSE),"q");
model2->fitTo(*rReg,SumW2Error(kFALSE),"q");
hRaw->SetLineWidth(2);
hReg->SetLineWidth(2);
hRaw->SetLineColor(kBlack);
hReg->SetLineColor(kRed+1);
hReg->SetFillColor(kRed-10);
hRaw->SetMarkerStyle(21);
hReg->SetMarkerStyle(20);
hRaw->SetMarkerSize(1.5);
hReg->SetMarkerSize(1.5);
hRaw->SetMarkerColor(kBlack);
hReg->SetMarkerColor(kRed+1);
RooPlot* frame = x.frame();
rRaw->plotOn(frame,LineColor(kBlack),LineWidth(1),MarkerColor(kBlack),MarkerStyle(21));
model1->plotOn(frame,LineColor(kBlack),LineWidth(2));
rReg->plotOn(frame,LineColor(kRed+1),LineWidth(1),MarkerColor(kRed+1),MarkerStyle(20));
model2->plotOn(frame,LineColor(kRed+1),LineWidth(2));
TF1 *tmp_func1 = model1->asTF(x,fsig1,x);
TF1 *tmp_func2 = model2->asTF(x,fsig2,x);
double y01 = tmp_func1->GetMaximum();
double x01 = tmp_func1->GetMaximumX();
double x11 = tmp_func1->GetX(y01/2,60,x01);
double x21 = tmp_func1->GetX(y01/2,x01,200);
double FWHM1 = x21-x11;
double y02 = tmp_func2->GetMaximum();
double x02 = tmp_func2->GetMaximumX();
double x12 = tmp_func2->GetX(y02/2,60,x02);
//.........这里部分代码省略.........
示例12: fitSignalShapeW
//.........这里部分代码省略.........
frameTitle << massBin << " GeV";
stringstream nameFileRoot;
nameFileRoot << "fitM" << massBin << ".root";
TFile *fileplot = TFile::Open(nameFileRoot.str().c_str(), "recreate");
RooPlot* xframe = x.frame() ;
xframe->SetTitle("");
xframe->SetName("m4lplot");
dataset.plotOn(xframe,DataError(RooAbsData::SumW2), MarkerStyle(kOpenCircle), MarkerSize(1.1) );
int col;
if(channels==0) col=kOrange+7;
if(channels==1) col=kAzure+2;
if(channels==2) col=kGreen+3;
totPDF.plotOn(xframe,LineColor(col));
RooHist* hpull = xframe->pullHist();
RooPlot* frame3 = x.frame(Title("Pull Distribution")) ;
frame3->addPlotable(hpull,"P");
// cosmetics
TLegend *legend = new TLegend(0.20,0.45,0.45,0.60,NULL,"brNDC");
legend->SetBorderSize(0);
legend->SetFillColor(0);
legend->SetTextAlign(12);
legend->SetTextFont (42);
legend->SetTextSize (0.03);
TH1F *dummyPoints = new TH1F("dummyP","dummyP",1,0,1);
TH1F *dummyLine = new TH1F("dummyL","dummyL",1,0,1);
dummyPoints->SetMarkerStyle(kOpenCircle);
dummyPoints->SetMarkerSize(1.1);
dummyLine->SetLineColor(col);
legend->AddEntry(dummyPoints, "Simulation", "pe");
legend->AddEntry(dummyLine, "Parametric Model", "l");
TPaveText *text = new TPaveText(0.15,0.90,0.77,0.98,"brNDC");
text->AddText("CMS Simulation");
text->SetBorderSize(0);
text->SetFillStyle(0);
text->SetTextAlign(12);
text->SetTextFont(42);
text->SetTextSize(0.03);
TPaveText *titlet = new TPaveText(0.15,0.80,0.60,0.85,"brNDC");
titlet->AddText(frameTitle.str().c_str());
titlet->SetBorderSize(0);
titlet->SetFillStyle(0);
titlet->SetTextAlign(12);
titlet->SetTextFont(132);
titlet->SetTextSize(0.045);
TPaveText *sigmat = new TPaveText(0.15,0.65,0.77,0.78,"brNDC");
stringstream sigmaval0, sigmaval1, sigmaval2;
sigmaval0 << fixed;
sigmaval0 << setprecision(1);
sigmaval0 << "m_{dCB} = " << mean.getVal() + massBin << " GeV";
sigmaval1 << fixed;
sigmaval1 << setprecision(1);
sigmaval1 << "#sigma_{dCB} = " << sigma.getVal() << " GeV";
sigmaval2 << fixed;
sigmaval2 << setprecision(1);
sigmaval2 << "RMS_{eff} = " << effSigma(hmass) << " GeV";
示例13: plotComparison
void plotComparison( TH1F* h_dt , TH1F* h_mc , TH1F *h_extra, char* label, bool dolog, bool drawbkg) {
TPad* fullpad = new TPad();
TPad* plotpad = new TPad();
TPad* respad = new TPad();
fullpad = new TPad("fullpad","fullpad",0,0,1,1);
fullpad->Draw();
fullpad->cd();
plotpad = new TPad("plotpad","plotpad",0,0,1,0.8);
plotpad->Draw();
plotpad->cd();
if (dolog) plotpad->SetLogy();
h_dt->GetYaxis()->SetTitle("Entries");
h_dt->GetXaxis()->SetTitle(Form("%s", label));
h_dt->GetYaxis()->SetTitleSize(0.05);
h_dt->GetXaxis()->SetTitleSize(0.05);
h_dt->GetYaxis()->SetTitleOffset(1.5);
h_dt->GetXaxis()->SetTitleOffset(1.3);
if (!dolog) h_dt->GetYaxis()->SetRangeUser(0., 1.4*h_dt->GetMaximum());
h_dt->SetLineColor(kBlack);
h_dt->SetMarkerColor(kBlack);
h_mc->SetLineColor(kBlue);
h_mc->SetMarkerColor(kBlue);
h_extra->SetLineColor(kRed);
h_extra->SetLineWidth(2);
h_mc->SetLineWidth(2);
h_dt->Draw();
h_mc->Draw("HISTSAME");
if (drawbkg) h_extra->Draw("HISTSAME");
h_dt->Draw("ESAME");
TLegend *legComp = new TLegend( 0.653, 0.663, 0.944, 0.870);
legComp->AddEntry(h_dt, "Data", "lp");
legComp->AddEntry(h_mc, "MC", "l");
if (drawbkg) legComp->AddEntry(h_extra, "MC Bkg", "l");
legComp->SetFillColor(0);
legComp->SetBorderSize(0);
legComp->Draw();
TLatex *text = new TLatex();
text->SetNDC();
text->SetTextSize(0.04);
// float xtex = 0.65;
// text->DrawLatex(xtex,0.88,"1 lepton + jets Sample");
fullpad->cd();
respad = new TPad("respad","respad",0,0.8,1,1);
respad->Draw();
respad->cd();
//gPad->SetGridy();
TH1F* ratio = (TH1F*) h_dt->Clone("ratio");
ratio->Divide(h_mc);
ratio->GetYaxis()->SetTitleOffset(0.3);
ratio->GetYaxis()->SetTitleSize(0.2);
ratio->GetYaxis()->SetNdivisions(5);
ratio->GetYaxis()->SetLabelSize(0.2);
if (dolog) ratio->GetYaxis()->SetRangeUser(0.5,1.5);
else ratio->GetYaxis()->SetRangeUser(0.7,1.3);
ratio->GetYaxis()->SetTitle("Ratio ");
ratio->GetXaxis()->SetLabelSize(0);
ratio->GetXaxis()->SetTitleSize(0);
ratio->SetMarkerSize(1);
ratio->SetLineWidth(2);
ratio->SetLineColor(kBlue);
ratio->SetMarkerColor(kBlue);
ratio->SetFillColor(kBlue);
ratio->SetFillStyle(3002);
ratio->Draw("E2");
TLine line;
line.SetLineWidth(2);
line.DrawLine(h_dt->GetXaxis()->GetXmin(),1,h_dt->GetXaxis()->GetXmax(),1);
}
示例14: plotv2
void plotv2(){
gStyle->SetOptTitle(0);
gStyle->SetOptStat(0);
gStyle->SetStripDecimals(0);
float pt[24];
float ept[24];
float v2pAu[24], ev2pAu[24];
float v2mpcs[24], ev2mpcs[24];
float v3mpcs[24], ev3mpcs[24];
float v2bbcs[24], ev2bbcs[24];
float v3bbcs[24], ev3bbcs[24];
float v2fvtxs[24], ev2fvtxs[24];
float v3fvtxs[24], ev3fvtxs[24];
ifstream fin2mpcs("run15pAu_mpcs_hadron_v2_0_5.txt");
ifstream fin2bbcs("run15pAu_bbcs_hadron_v2_0_5.txt");
ifstream fin2fvtxs("run15pAu_fvtx0s_hadron_v2_0_5.txt");
ifstream fin2fvtxs_RES("../../final05/vn/run15pAu_fvtx0s_hadron_v2_0_5.txt");
ifstream fin2pAu("v2_pt_pAu_00_05_sys.dat");
/*
ifstream fin3mpcs("run15pAu_mpcs_hadron_v3_0_5.txt");
ifstream fin3bbcs("run15pAu_bbcs_hadron_v3_0_5.txt");
ifstream fin3fvtxs("../../final06/vn/run15pAu_fvtx0s_hadron_v2_0_5.txt");
*/
float tmp;
for(int i=0; i<13; i++){
ept[i]=0;
fin2pAu>>pt[i]>>v2pAu[i]>>ev2pAu[i]>>tmp;
}
TGraphErrors *grpAu2 = new TGraphErrors(13, pt, v2pAu, ept, ev2pAu);
for(int i=0; i<14; i++){
ept[i]=0;
fin2mpcs>>pt[i]>>v2mpcs[i]>>ev2mpcs[i];
//fin3mpcs>>pt[i]>>v3mpcs[i]>>ev3mpcs[i];
fin2bbcs>>pt[i]>>v2bbcs[i]>>ev2bbcs[i];
//fin3bbcs>>pt[i]>>v3bbcs[i]>>ev3bbcs[i];
fin2fvtxs>>pt[i]>>v2fvtxs[i]>>ev2fvtxs[i];
//fin3fvtxs>>pt[i]>>v3fvtxs[i]>>ev3fvtxs[i];
}
fin2bbcs.close();
fin2mpcs.close();
fin2fvtxs.close();
//fin3bbcs.close();
//fin3mpcs.close();
//fin3fvtxs.close();
TGraphErrors *grmpcs2 = new TGraphErrors(14, pt, v2mpcs, ept, ev2mpcs);
TGraphErrors *grbbcs2 = new TGraphErrors(14, pt, v2bbcs, ept, ev2bbcs);
TGraphErrors *grfvtxs2 = new TGraphErrors(14, pt, v2fvtxs, ept, ev2fvtxs);
TGraphErrors *grmpcs3 = new TGraphErrors(14, pt, v3mpcs, ept, ev3mpcs);
TGraphErrors *grbbcs3 = new TGraphErrors(14, pt, v3bbcs, ept, ev3bbcs);
TGraphErrors *grfvtxs3 = new TGraphErrors(14, pt, v3fvtxs, ept, ev3fvtxs);
c1=new TCanvas("c1","c1");
c1->SetFillColor(10);
c1->cd();
TH1F *h = new TH1F("h", "h", 50, 0, 5.0);
h->SetMinimum(0.002);
h->SetMaximum(0.312);
h->SetMarkerStyle(20);
h->SetMarkerSize(1.2);
h->Draw();
h->GetYaxis()->SetTitleOffset(0.9);
h->GetYaxis()->SetTitleSize(0.05);
h->GetYaxis()->SetTitle("v_{2}");
h->GetXaxis()->SetTitle("p_{T} (GeV/c)");
h->GetXaxis()->SetTitleSize(0.04);
h->GetYaxis()->CenterTitle(kTRUE);
h->GetXaxis()->CenterTitle(kTRUE);
grmpcs2->SetMarkerStyle(20);
grmpcs2->SetMarkerSize(1.2);
grmpcs2->SetMarkerColor(2);
//grmpcs2->Draw("P");
grbbcs2->SetMarkerStyle(24);
grbbcs2->SetMarkerSize(1.2);
grbbcs2->SetMarkerColor(4);
grbbcs2->Draw("P");
grfvtxs2->SetMarkerStyle(21);
grfvtxs2->SetMarkerSize(1.2);
grfvtxs2->SetMarkerColor(6);
grfvtxs2->Draw("P");
//.........这里部分代码省略.........
示例15: CheckSDDInESD
//.........这里部分代码省略.........
hdedx6->GetXaxis()->SetTitle("dE/dx Lay6");
hdEdxVsMod->SetStats(0);
TCanvas* cdedx=new TCanvas("cdedx","dedx SDD",1400,600);
cdedx->SetLogz();
hdEdxVsMod->Draw("col");
hdEdxVsMod->GetXaxis()->SetTitle("SDD Module Id");
hdEdxVsMod->GetYaxis()->SetTitle("dE/dx (keV/300 #mum)");
hdEdxVsMod->GetYaxis()->SetTitleOffset(1.25);
TCanvas* cv=new TCanvas("cv","Vertex",600,900);
cv->Divide(1,3);
cv->cd(1);
hvx->Draw();
hvx->GetXaxis()->SetTitle("Xv (cm)");
cv->cd(2);
hvy->Draw();
hvy->GetXaxis()->SetTitle("Yv (cm)");
cv->cd(3);
hvz->Draw();
hvz->GetXaxis()->SetTitle("Xv (cm)");
hGoodPMod->SetStats(0);
hGoodPMod->SetTitle("");
TCanvas* ceff0=new TCanvas("ceff0","ModuleIndexInfo",1000,600);
hGoodPMod->Draw("e");
hGoodPMod->GetXaxis()->SetTitle("SDD Module Id");
hGoodPMod->GetYaxis()->SetTitle("Number of tracks");
hMissPMod->SetLineColor(2);
hMissPMod->SetMarkerColor(2);
hMissPMod->SetMarkerStyle(22);
hMissPMod->SetMarkerSize(0.5);
hMissPMod->Draw("psame");
hBadRegMod->SetLineColor(kGreen+1);
hBadRegMod->SetMarkerColor(kGreen+1);
hBadRegMod->SetMarkerStyle(20);
hBadRegMod->SetMarkerSize(0.5);
hBadRegMod->Draw("esame");
hSkippedMod->SetLineColor(kYellow);
hSkippedMod->Draw("esame");
hOutAccMod->SetLineColor(4);
hOutAccMod->Draw("esame");
hNoRefitMod->SetLineColor(6);
hNoRefitMod->Draw("esame");
TLatex* t1=new TLatex(0.7,0.85,"Good Point");
t1->SetNDC();
t1->SetTextColor(1);
t1->Draw();
TLatex* t2=new TLatex(0.7,0.8,"Missing Point");
t2->SetNDC();
t2->SetTextColor(2);
t2->Draw();
TLatex* t3=new TLatex(0.7,0.75,"Bad Region");
t3->SetNDC();
t3->SetTextColor(kGreen+1);
t3->Draw();
ceff0->Update();
TH1F* heff=new TH1F("heff","",260,239.5,499.5);
for(Int_t imod=0; imod<260;imod++){
Float_t numer=hGoodPMod->GetBinContent(imod+1)+hBadRegMod->GetBinContent(imod+1)+hOutAccMod->GetBinContent(imod+1)+hNoRefitMod->GetBinContent(imod+1);
Float_t denom=hAllPMod->GetBinContent(imod+1);
Float_t eff=0.;
Float_t erreff=0.;