StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
plPRL_QPT.C
1 TString dataPath="sortMarch22/";
2 TString dataFinalRoot=dataPath+"run9setP1234.wana.hist.root";
3 TFile* fd=0;
4 
5 //============================================
6 //============================================
7 void plPRL_QPT(TString cCore="WAL_PRL_QPT"){
8  gStyle->SetFillStyle(0);
9  fd=new TFile( dataFinalRoot); assert(fd->IsOpen());
10  gStyle->SetPalette(1,0);
11  gStyle->SetOptStat(0);
12  const Char_t *title = "High-energy electron charge separation with TPC";
13  c=new TCanvas(cCore,title,500,260);
14  setPadPaperSize(245.0); // column width, approx. 3.4 in = 245 pt
15  setPadMarginWidthPoint(gPad, 27, 5, 25, (2.0*12.0) + 2, gPad);
16  setPadLineWidthPoint(gPad, 0.5);
17 
18  h=AspinQpT2;
19  h->Rebin2D(2,2);
20 
21  // h->Draw("colz"); return;
22 
23  // rotated X-Y axis
24  TAxis *aX=h->GetXaxis(),*aY=h->GetYaxis();
25  TH2F* h2=new TH2F("aa",";Lepton charge sign_{ }#times 1#font[122]{/}" + SYMBOL_pT + " (#font[12]{c}#font[122]{/}_{_{ }}" + SYMBOL_GeV + "); E^{e}_{T} (" + SYMBOL_GeV + ") ",aY->GetNbins(),aY->GetXmin()+0.0001,aY->GetXmax()-0.0001,
26  aX->GetNbins(),aX->GetXmin(),aX->GetXmax());
27 
28  for(int bx=1;bx<=aX->GetNbins();bx++)
29  for(int by=1;by<=aY->GetNbins();by++)
30  h2->SetBinContent(by,bx,h->GetBinContent(bx,by));
31 
32  stripCmdHist(h2);
33  setHistFontSize(h2, 10.0);
34  setLineWidthPoint(h2, 0.5);
35  setMarkerSizePoint(h2, 3.5);
36  setHistTickLength(h2, 4.0, 4.0);
37  setHistTitleLabelOffset(h2, 2.0*12.0 - 2.0, 18, 12.0 - 2.0, 4.5 - 2.0);
38  h2->GetZaxis()->SetLabelSize(h2->GetYaxis()->GetLabelSize());
39  h2->GetZaxis()->SetLabelOffset(h2->GetYaxis()->GetLabelOffset());
40  h2->GetZaxis()->SetTickLength(h2->GetYaxis()->GetTickLength());
41  h2->GetXaxis()->CenterTitle(true);
42  h2->GetYaxis()->CenterTitle(true);
43 
44  h2->Draw("colz");
45 
46 
47  h2->SetAxisRange(15,67,"y");
48  h2->GetXaxis()->SetNdivisions(5);
49  h2->GetYaxis()->SetNdivisions(4);
50  h2->GetZaxis()->SetNdivisions(4);
51 
52  //Q+, Q-
53  float y0=61.5;
54  ln=new TLine(0,15,0,68); ln->Draw();
55  tx=new TLatex(0.05,y0,"positive");
56  tx->SetTextAlign(21);
57  stripCmdLatex(tx);
58  setTextFontSize(tx, 10);
59  tx->Draw();
60  tx=new TLatex(-0.05,y0,"negative");
61  tx->SetTextAlign(21);
62  stripCmdLatex(tx);
63  setTextFontSize(tx, 10);
64  tx->Draw();
65 
66  //ET cut lines
67  int ic=kBlack;
68  ln=new TLine(-.1,25,0.08,25); ln->Draw();
69  ln->SetLineColor(kRed);
70  ln->SetLineStyle(2);
71  setLineWidthPoint(ln, 1);
72  ln=new TLine(-.1,50,0.05,50);
73  ln->Draw();
74  ln->SetLineColor(kRed);
75  ln->SetLineStyle(2);
76  setLineWidthPoint(ln, 1);
77 
78 
79  // Q/PT cut lines
80  TList *list=h->GetListOfFunctions(); // to capture old slanted lines
81  for(int i=0;i<2;i++) {
82  float x0=0.01; if(i)x0=-x0;
83  ln=new TLine(x0,25,x0,50);
84  ln->Draw();
85  ln->SetLineColor(ic);
86  setLineWidthPoint(ln, 1);
87  TLine* lr = (TLine*)list->At(i+4);
88  ln=new TLine(lr->GetY1(),lr->GetX1(),lr->GetY2(),lr->GetX2());
89  ln->Draw();
90  ln->SetLineColor(ic);
91  setLineWidthPoint(ln, 1);
92  }
93 
94 
95 }
96 
97