source: trunk/WuerzburgSoft/Thomas/mphys/anale.C@ 10107

Last change on this file since 10107 was 1370, checked in by tbretz, 23 years ago
*** empty log message ***
File size: 3.2 KB
Line 
1//Double_t kRad2Deg = 180./TMath::Pi();
2
3void anale()
4{
5 TChain chain("Electrons");
6// chain.Add("cascade_100kpc_0*.root");
7// chain.Add("cascade_100kpc_14*.root");
8// chain.Add("cascade_100kpc_4*.root");
9 chain.Add("cascade_100kpc_21d.root");
10/*
11 chain.Add("cascade_100kpc_01.root");
12 chain.Add("cascade_100kpc_02.root");
13 chain.Add("cascade_100kpc_03.root");
14 */
15
16
17 MElectron *e = new MElectron;
18 chain.SetBranchAddress("MElectron.", &e);
19
20 Int_t n = chain.GetEntries();
21
22 cout << "Found " << n << " entries." << endl;
23
24 MBinning binsx;
25 MBinning binsy;
26 MBinning binsr;
27 binsx.SetEdgesLog(80, 1e1, 1e9);
28 binsy.SetEdgesLog(80, 1e1, 1e9);
29 binsr.SetEdgesLog(84, 1e-5, 1.8);
30
31 TH2D h;
32 h.SetName("Photons");
33 h.SetTitle(" Photons from inv.Compton ");
34 h.SetXTitle("E_{e} [GeV]");
35 h.SetYTitle("E\\gamma [GeV]");
36 h.SetZTitle("Counts");
37 MH::SetBinning(&h, &binsx, &binsy);
38
39 TH2D r;
40 r.SetName("ratio");
41 r.SetTitle("Ratio E\\gamma / E_{e}");
42 r.SetXTitle("E_{e} [GeV]");
43 r.SetYTitle("Ratio");
44 r.SetZTitle("Counts");
45 MH::SetBinning(&r, &binsx, &binsr);
46
47 Double_t E = -1;
48 for (int i=0; i<n; i++)
49 {
50 chain.GetEntry(i);
51
52 if (e->IsPrimary())
53 {
54 E = e->GetEnergy();
55 continue;
56 }
57
58 Double_t dE = E - e->GetEnergy();
59
60 h.Fill(E, dE);
61 r.Fill(E, dE/E);
62
63 E = e->GetEnergy();
64 }
65
66 delete e;
67
68 gStyle->SetOptStat(10);
69
70 TLine line;
71 line.SetLineColor(kBlack);
72 line.SetLineWidth(1);
73
74 TCanvas *c = new TCanvas("c1", "name");
75 c->Divide(2,2);
76
77 c->cd(1);
78 gPad->SetLogx();
79 gPad->SetLogy();
80 h.GetXaxis()->SetRangeUser(5e3, 1e9);
81 h.GetXaxis()->SetLabelOffset(-0.015);
82 h.GetXaxis()->SetTitleOffset(1.1);
83 h.GetYaxis()->SetTitleOffset(1.1);
84// h.SetMinimum(1e1);
85// h.SetMaximum(1e9);
86 h.DrawCopy();
87 TH1 *p=h.ProfileX();
88 p->SetDirectory(NULL);
89 p->SetBit(kCanDelete);
90 p->SetLineColor(kRed);
91 p->Draw("same");
92 line.DrawLine(4.2, 4.2, 8.8, 8.8);
93
94 c->cd(2);
95 gPad->SetLogx();
96 gPad->SetLogy();
97 r.GetXaxis()->SetLabelOffset(-0.015);
98 r.GetXaxis()->SetTitleOffset(1.1);
99 r.GetXaxis()->SetRangeUser(1e4, 1e9);
100 r.DrawCopy();
101 p=r.ProfileX();
102 p->SetDirectory(NULL);
103 p->SetBit(kCanDelete);
104 p->SetLineColor(kRed);
105 p->Draw("same");
106
107 c->cd(3);
108 gPad->SetLogx();
109 p=h.ProjectionX();
110 p->SetDirectory(NULL);
111 p->SetBit(kCanDelete);
112 p->SetTitle("e^{-} / \\gamma Distribution");
113 p->GetXaxis()->SetLabelOffset(-0.015);
114 p->GetXaxis()->SetTitleOffset(1.1);
115 p->GetYaxis()->SetTitleOffset(1.3);
116 p->SetXTitle("E [GeV]");
117 p->SetYTitle("Counts");
118 p->Draw();
119 p=h.ProjectionY();
120 p->SetDirectory(NULL);
121 p->SetBit(kCanDelete);
122 p->SetTitle("Projection Y");
123 p->SetLineColor(kBlue);
124 p->Draw("same");
125
126 c->cd(4);
127 gPad->SetLogx();
128 p=r.ProjectionY();
129 p->SetDirectory(NULL);
130 p->SetBit(kCanDelete);
131 p->SetTitle("Ratio E\\gamma / E_{e}");
132 p->GetXaxis()->SetLabelOffset(-0.015);
133 p->GetXaxis()->SetTitleOffset(1.1);
134 p->GetYaxis()->SetTitleOffset(1.3);
135 p->SetXTitle("Ratio");
136 p->SetYTitle("Counts");
137 p->SetLineColor(kBlue);
138 p->Draw();
139}
Note: See TracBrowser for help on using the repository browser.