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
Log Message:
Add sigmaZ plot

File Contents

# User Rev Content
1 jengbou 1.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 jengbou 1.2 TH1D *hsigmaZ0_Fill = new TH1D("hsigmaZ0_Fill","#sigma_{z_{0}} vs. LHC Fill",nentries,0.5,nentries+0.5);
56 jengbou 1.1
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 jengbou 1.2 hsigmaZ0_Fill->SetBinContent(i+1,sigmaZ);
75     hsigmaZ0_Fill->SetBinError(i+1,sigmaZErr);
76     hsigmaZ0_Fill->GetXaxis()->SetBinLabel(i+1,xlabel);
77 jengbou 1.1 }
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 jengbou 1.2 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 jengbou 1.1 }