ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/Jeng/scripts/drawFitResultsVsRun.C
Revision: 1.2
Committed: Tue Mar 2 22:38:20 2010 UTC (15 years, 2 months ago) by jengbou
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +16 -0 lines
Error occurred while calculating annotation data.
Log Message:
Add sigmaZ plot

File Contents

# Content
1 void drawFitResultsVsRun()
2 {
3 gROOT->SetStyle("CMS");
4 TChain chain("fitResults");
5 chain.Add("Run123815/LumiScan_Run123815LS008to018.root");//904
6 chain.Add("Fill907/Fill907.root");
7 chain.Add("Fill911/Fill911.root");
8 chain.Add("Fill912/Fill912_2.root");
9 chain.Add("Run124120/LumiScan_Run124120LS001to059.root");//916
10 chain.Add("Run124230/LumiScan_Run124230LS026to069.root");//919
11 chain.Add("Run124275/LumiScan_Run124275LS003to030.root");//923
12
13 int fillNumbers [] = {904,907,911,912,916,919,923};
14
15 Double_t x,y,z,sigmaZ,dxdz,dydz;
16 Double_t xErr,yErr,zErr,sigmaZErr,dxdzErr,dydzErr;
17 UInt_t run,beginLumi,endLumi;
18 char* beginTime;
19 char* endTime;
20
21 chain.SetBranchAddress("run",&run);
22 chain.SetBranchAddress("beginLumi",&beginLumi);
23 chain.SetBranchAddress("endLumi",&endLumi);
24 chain.SetBranchAddress("beginTime",beginTime);
25 chain.SetBranchAddress("endTime",endTime);
26 chain.SetBranchAddress("x",&x);
27 chain.SetBranchAddress("y",&y);
28 chain.SetBranchAddress("z",&z);
29 chain.SetBranchAddress("sigmaZ",&sigmaZ);
30 chain.SetBranchAddress("dxdz",&dxdz);
31 chain.SetBranchAddress("dydz",&dydz);
32 chain.SetBranchAddress("xErr",&xErr);
33 chain.SetBranchAddress("yErr",&yErr);
34 chain.SetBranchAddress("zErr",&zErr);
35 chain.SetBranchAddress("sigmaZErr",&sigmaZErr);
36 chain.SetBranchAddress("dxdzErr",&dxdzErr);
37 chain.SetBranchAddress("dydzErr",&dydzErr);
38 // int binLow,binUp;
39 // binLow = binUp = 0;
40
41 Int_t nentries = (Int_t)chain.GetEntries();
42 // for (Int_t i=0;i<nentries;i++) {
43 // chain.GetEntry(i);
44 // if (i==0)
45 // binLow = endLumi;
46 // if (endLumi > binUp) binUp = endLumi;
47 // if (beginLumi < binLow) binLow = beginLumi;
48 // }
49 // cout << "binLow = " << binLow << "; binUp = " << binUp << endl;
50
51 //create one histogram
52 TH1D *hx0_Fill = new TH1D("hx0_Fill","x_{0} vs. LHC Fill",nentries,0.5,nentries+0.5);
53 TH1D *hy0_Fill = new TH1D("hy0_Fill","y_{0} vs. LHC Fill",nentries,0.5,nentries+0.5);
54 TH1D *hz0_Fill = new TH1D("hz0_Fill","z_{0} vs. LHC Fill",nentries,0.5,nentries+0.5);
55 TH1D *hsigmaZ0_Fill = new TH1D("hsigmaZ0_Fill","#sigma_{z_{0}} vs. LHC Fill",nentries,0.5,nentries+0.5);
56
57 for (Int_t i=0;i<nentries;i++) {
58 chain.GetEntry(i);
59 hx0_Fill->SetBinContent(i+1,x);
60 hx0_Fill->SetBinError(i+1,xErr);
61 char xlabel [10];
62 if (fillNumbers[i] == 916 || fillNumbers[i] == 923)
63 sprintf(xlabel, "%i %s", fillNumbers[i],"(2.36 TeV)");
64 else
65 sprintf(xlabel, "%i", fillNumbers[i]);
66 // hx0_Fill->GetXaxis()->LabelsOption("v");
67 hx0_Fill->GetXaxis()->SetBinLabel(i+1,xlabel);
68 hy0_Fill->SetBinContent(i+1,y);
69 hy0_Fill->SetBinError(i+1,yErr);
70 hy0_Fill->GetXaxis()->SetBinLabel(i+1,xlabel);
71 hz0_Fill->SetBinContent(i+1,z);
72 hz0_Fill->SetBinError(i+1,zErr);
73 hz0_Fill->GetXaxis()->SetBinLabel(i+1,xlabel);
74 hsigmaZ0_Fill->SetBinContent(i+1,sigmaZ);
75 hsigmaZ0_Fill->SetBinError(i+1,sigmaZErr);
76 hsigmaZ0_Fill->GetXaxis()->SetBinLabel(i+1,xlabel);
77 }
78
79 gStyle->SetErrorX(0);
80 gStyle->SetEndErrorSize(6);
81
82 TPaveText *ppt= new TPaveText(.38,.68,.78,.82,"NDC");
83 ppt->AddText("CMS Preliminary 2009");
84 // ppt->AddText("Run 124024 : #sqrt{s} = 900 GeV");
85 ppt->SetTextAlign(12);
86 ppt->SetTextFont(62);
87 ppt->SetTextSize(0.045);
88 ppt->SetBorderSize(0);
89 ppt->SetFillColor(0);
90 ppt->SetFillStyle(0);
91
92 TLegend *l0 = new TLegend(0.24,0.54,0.58,0.6);
93 l0->SetTextFont(62);
94 l0->SetFillColor(0);
95 l0->SetFillStyle(0);
96 l0->AddEntry(hx0_Fill," Data","p");
97
98 TCanvas *c1 = new TCanvas("c1","c1",756,600);
99 hx0_Fill->GetYaxis()->SetRangeUser(hx0_Fill->GetMinimum()-0.005,hx0_Fill->GetMaximum()+0.01);
100 hx0_Fill->GetXaxis()->SetTitle("LHC Fill");
101 hx0_Fill->GetYaxis()->SetTitle("X position of beam spot (cm)");
102 hx0_Fill->Draw("E1");
103 ppt->Draw();
104 // l0->Draw();
105
106 c1->Print("x0_Fill.png");
107
108 gPad->Update();
109
110 TCanvas *c2 = new TCanvas("c2","c2",756,600);
111 hy0_Fill->GetYaxis()->SetRangeUser(hy0_Fill->GetMinimum()-0.005,hy0_Fill->GetMaximum()+0.01);
112 hy0_Fill->GetXaxis()->SetTitle("LHC Fill");
113 hy0_Fill->GetYaxis()->SetTitle("Y position of beam spot (cm)");
114 hy0_Fill->Draw("E1");
115 ppt->Draw();
116 // l0->Draw();
117
118 c2->Print("y0_Fill.png");
119
120 gPad->Update();
121
122 TCanvas *c3 = new TCanvas("c3","c3",756,600);
123 hz0_Fill->GetYaxis()->SetRangeUser(hz0_Fill->GetMinimum()-0.5,hz0_Fill->GetMaximum()+0.5);
124 hz0_Fill->GetXaxis()->SetTitle("LHC Fill");
125 hz0_Fill->GetYaxis()->SetTitle("Z position of beam spot (cm)");
126 hz0_Fill->Draw("E1");
127 ppt->Draw();
128 // l0->Draw();
129
130 c3->Print("z0_Fill.png");
131
132 gPad->Update();
133
134 TCanvas *c4 = new TCanvas("c4","c4",756,600);
135 hsigmaZ0_Fill->GetYaxis()->SetRangeUser(hsigmaZ0_Fill->GetMinimum()-0.5,hsigmaZ0_Fill->GetMaximum()+0.9);
136 hsigmaZ0_Fill->GetXaxis()->SetTitle("LHC Fill");
137 hsigmaZ0_Fill->GetYaxis()->SetTitle("#sigma_{z} of beam spots (cm)");
138 hsigmaZ0_Fill->Draw("E1");
139 ppt->Draw();
140 // l0->Draw();
141
142 c4->Print("sigmaZ0_Fill.png");
143
144 }