5 CMS_lumi( TPad* pad, TString mytxt ,
int iPeriod,
int iPosX )
9 bool outOfFrame =
false;
16 if( iPosX/10==0 ) alignX_=1;
17 if( iPosX==0 ) alignX_=1;
18 if( iPosX==0 ) alignY_=1;
19 if( iPosX/10==1 ) alignX_=1;
20 if( iPosX/10==2 ) alignX_=2;
21 if( iPosX/10==3 ) alignX_=3;
22 if( iPosX == 0 )
relPosX = 0.12;
23 int align_ = 10*alignX_ + alignY_;
25 float H = pad->GetWh();
26 float W = pad->GetWw();
27 float l = pad->GetLeftMargin();
28 float t = pad->GetTopMargin();
29 float r = pad->GetRightMargin();
30 float b = pad->GetBottomMargin();
39 lumiText +=
" (7 TeV)";
41 else if ( iPeriod==2 )
44 lumiText +=
" (8 TeV)";
49 lumiText +=
" (8 TeV)";
52 lumiText +=
" (7 TeV)";
54 else if ( iPeriod==4 )
57 lumiText +=
" (13 TeV)";
59 else if ( iPeriod==7 )
61 if( outOfFrame ) lumiText +=
"#scale[0.85]{";
63 lumiText +=
" (13 TeV)";
66 lumiText +=
" (8 TeV)";
69 lumiText +=
" (7 TeV)";
70 if( outOfFrame) lumiText +=
"}";
72 else if ( iPeriod==12 )
77 std::cout<< lumiText << std::endl;
81 latex.SetTextAngle(0);
82 latex.SetTextColor(kBlack);
86 latex.SetTextFont(42);
87 latex.SetTextAlign(31);
94 latex.SetTextAlign(11);
95 latex.SetTextSize(cmsTextSize*t);
106 else if( iPosX%10==2 )
108 posX_ = l + 0.5*(1-l-r);
110 else if( iPosX%10==3 )
114 float posY_ = 1-t -
relPosY*(1-t-b);
119 posX_ = l + 0.045*(1-l-r)*W/H;
120 posY_ = 1-t - 0.045*(1-t-b);
122 float yl_0 = posY_ - 0.15;
123 float xl_1 = posX_ + 0.15*H/
W;
126 TPad* pad_logo =
new TPad(
"logo",
"logo", xl_0, yl_0, xl_1, yl_1 );
130 pad_logo->Modified();
136 latex.SetTextSize(cmsTextSize*t);
137 latex.SetTextAlign(align_);
138 latex.DrawLatex(posX_, posY_,
cmsText);
142 latex.SetTextAlign(align_);
143 latex.SetTextSize(extraTextSize*t);
156 latex.SetTextSize(extraTextSize*t);
157 latex.SetTextAlign(align_);
159 latex.DrawLatex(posX_, posY_,
extraText);
void CMS_lumi(TPad *pad, TString mytxt, int iPeriod, int iPosX)
float extraOverCmsTextSize