1 |
{
|
2 |
gROOT->Reset();
|
3 |
#include "Riostream.h"
|
4 |
#include "TStyle.h"
|
5 |
|
6 |
TFile * theFile1 = new TFile("simLevelPlots.root");
|
7 |
|
8 |
std::cout<<"Reading histos for ECAL"<<std::endl;
|
9 |
|
10 |
TH1F * simHitsEcalEnergyHistEB_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalEnergyOfSimHitsEB"));
|
11 |
TH1F * simHitsEcalEnergyHistEE_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalEnergyOfSimHitsEE"));
|
12 |
TH1F * simHitsEcalTimeHistEB_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalTimingOfSimHitsEB"));
|
13 |
TH1F * simHitsEcalTimeHistEE_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalTimingOfSimHitsEE"));
|
14 |
TH1F * simHitsEcalNumHistEB_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalNumberOfSimHitsEB"));
|
15 |
TH1F * simHitsEcalNumHistEE_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalNumberOfSimHitsEE"));
|
16 |
TH2F * simHitsEcalEnergyVsTimeHistEB_ = (TH2F*) (theFile1->Get("hscpSimPlotsEcal/ecalEnergyVsTimeOfSimHitsEB"));
|
17 |
TH2F * simHitsEcalEnergyVsTimeHistEE_ = (TH2F*) (theFile1->Get("hscpSimPlotsEcal/ecalEnergyVsTimeOfSimHitsEE"));
|
18 |
TH1F * simHitsEcalDigiMatchEnergyHistEB_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalEnergyOfDigiMatSimHitsEB"));
|
19 |
TH1F * simHitsEcalDigiMatchEnergyHistEE_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalEnergyOfDigiMatSimHitsEE"));
|
20 |
TH1F * simHitsEcalDigiMatchTimeHistEB_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalTimingOfDigiMatSimHitsEB"));
|
21 |
TH1F * simHitsEcalDigiMatchTimeHistEE_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalTimingOfDigiMatSimHitsEE"));
|
22 |
TH2F * simHitsEcalDigiMatchEnergyVsTimeHistEB_ = (TH2F*) (theFile1->Get("hscpSimPlotsEcal/ecalEnergyVsTimeOfDigiMatSimHitsEB"));
|
23 |
TH2F * simHitsEcalDigiMatchEnergyVsTimeHistEE_ = (TH2F*) (theFile1->Get("hscpSimPlotsEcal/ecalEnergyVsTimeOfDigiMatSimHitsEE"));
|
24 |
TH1F * simHitsEcalDigiMatchIEtaHist_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalIEtaOfDigiMatchSimHits"));
|
25 |
TH1F * simHitsEcalDigiMatchIPhiHist_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalIPhiOfDigiMatchSimHits"));
|
26 |
TH1F * digisEcalNumHistEB_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalDigisNumberEB"));
|
27 |
TH1F * digisEcalNumHistEE_ = (TH1F*) (theFile1->Get("hscpSimPlotsEcal/ecalDigisNumberEE"));
|
28 |
TH2F * digiOccupancyMapEB_ = (TH2F*) (theFile1->Get("hscpSimPlotsEcal/ecalDigiOccupancyMapEB"));
|
29 |
TH2F * digiOccupancyMapEEP_ = (TH2F*) (theFile1->Get("hscpSimPlotsEcal/ecalDigiOccupancyMapEEM"));
|
30 |
TH2F * digiOccupancyMapEEM_ = (TH2F*) (theFile1->Get("hscpSimPlotsEcal/ecalDigiOccupancyMapEEP"));
|
31 |
|
32 |
std::string command = "mkdir sim";
|
33 |
system(command.c_str());
|
34 |
std::string command = "mkdir digi";
|
35 |
system(command.c_str());
|
36 |
|
37 |
|
38 |
TStyle* thisStyle = new TStyle("myStyle", "NewStyle");
|
39 |
thisStyle->SetOptStat(2222211);
|
40 |
thisStyle->SetPalette(1);
|
41 |
thisStyle->cd();
|
42 |
|
43 |
system(command.c_str());
|
44 |
|
45 |
TCanvas t;
|
46 |
t.cd();
|
47 |
|
48 |
simHitsEcalEnergyHistEB_->Draw();
|
49 |
t.Print("sim/simHitsEnergyEB.png");
|
50 |
simHitsEcalEnergyHistEE_->Draw();
|
51 |
t.Print("sim/simHitsEnergyEE.png");
|
52 |
simHitsEcalTimeHistEB_->Draw();
|
53 |
t.Print("sim/simHitsTimeEB.png");
|
54 |
simHitsEcalTimeHistEE_->Draw();
|
55 |
t.Print("sim/simHitsTimeEE.png");
|
56 |
simHitsEcalNumHistEB_->Draw();
|
57 |
t.Print("sim/simHitsNumberEB.png");
|
58 |
simHitsEcalNumHistEE_->Draw();
|
59 |
t.Print("sim/simHitsNumberEE.png");
|
60 |
simHitsEcalEnergyVsTimeHistEB_->Draw("colz");
|
61 |
t.Print("sim/simHitsEnergyVsTimeEB.png");
|
62 |
simHitsEcalEnergyVsTimeHistEE_->Draw("colz");
|
63 |
t.Print("sim/simHitsEnergyVsTimeEE.png");
|
64 |
|
65 |
simHitsEcalDigiMatchEnergyHistEB_->Draw();
|
66 |
t.Print("sim/digiMatchedSimHitsEnergyEB.png");
|
67 |
simHitsEcalDigiMatchEnergyHistEE_->Draw();
|
68 |
t.Print("sim/digiMatchedSimHitsEnergyEE.png");
|
69 |
simHitsEcalDigiMatchTimeHistEB_->Draw();
|
70 |
t.Print("sim/digiMatchedSimHitsTimeEB.png");
|
71 |
simHitsEcalDigiMatchTimeHistEE_->Draw();
|
72 |
t.Print("sim/digiMatchedSimHitsTimeEE.png");
|
73 |
simHitsEcalDigiMatchEnergyVsTimeHistEB_->Draw("colz");
|
74 |
t.Print("sim/digiMatchedSimHitsEnergyVsTimeEB.png");
|
75 |
simHitsEcalDigiMatchEnergyVsTimeHistEE_->Draw("colz");
|
76 |
t.Print("sim/digiMatchedSimHitsEnergyVsTimeEE.png");
|
77 |
|
78 |
simHitsEcalDigiMatchIEtaHist_->Draw();
|
79 |
t.Print("sim/digiMatchedSimHitsIeta.png");
|
80 |
simHitsEcalDigiMatchIPhiHist_->Draw();
|
81 |
t.Print("sim/digiMatchedSimHitsIphi.png");
|
82 |
|
83 |
digisEcalNumHistEB_->Draw();
|
84 |
t.Print("sim/numDigisEB.png");
|
85 |
digisEcalNumHistEE_->Draw();
|
86 |
t.Print("sim/numDigisEE.png");
|
87 |
|
88 |
thisStyle->SetOptStat(11);
|
89 |
thisStyle->cd();
|
90 |
|
91 |
digiOccupancyMapEB_->Draw("colz");
|
92 |
t.Print("digi/digiOccupancyEB.png");
|
93 |
digiOccupancyMapEEP_->Draw("colz");
|
94 |
t.Print("digi/digiOccupancyEEP.png");
|
95 |
digiOccupancyMapEEM_->Draw("colz");
|
96 |
t.Print("digi/digiOccupancyEEM.png");
|
97 |
|
98 |
|
99 |
|
100 |
//The RPC Part
|
101 |
|
102 |
|
103 |
TH1F* residualsRPCRecHitSimDigis_;
|
104 |
TH1F* efficiencyRPCRecHitSimDigis_;
|
105 |
TH1F* cluSizeDistribution_;
|
106 |
TH1F* rpcTimeOfFlightBarrel_[6];
|
107 |
TH1F* rpcBXBarrel_[6];
|
108 |
TH1F* rpcTimeOfFlightEndCap_[3];
|
109 |
TH1F* rpcBXEndCap_[3];
|
110 |
|
111 |
|
112 |
|
113 |
residualsRPCRecHitSimDigis_ = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/residualsRPCRecHitSimDigis"));
|
114 |
efficiencyRPCRecHitSimDigis_= (TH1F*) (theFile1->Get("hscpSimPlotsRPC/efficiencyRPCRecHitSimDigis"));
|
115 |
cluSizeDistribution_ = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCCluSizeDistro"));
|
116 |
rpcTimeOfFlightBarrel_[0] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCToFLayer1"));
|
117 |
rpcTimeOfFlightBarrel_[1] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCToFLayer2"));
|
118 |
rpcTimeOfFlightBarrel_[2] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCToFLayer3"));
|
119 |
rpcTimeOfFlightBarrel_[3] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCToFLayer4"));
|
120 |
rpcTimeOfFlightBarrel_[4] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCToFLayer5"));
|
121 |
rpcTimeOfFlightBarrel_[5] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCToFLayer6"));
|
122 |
rpcBXBarrel_[0] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCBXLayer1"));
|
123 |
rpcBXBarrel_[1] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCBXLayer2"));
|
124 |
rpcBXBarrel_[2] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCBXLayer3"));
|
125 |
rpcBXBarrel_[3] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCBXLayer4"));
|
126 |
rpcBXBarrel_[4] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCBXLayer5"));
|
127 |
rpcBXBarrel_[5] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCBXLayer6"));
|
128 |
rpcTimeOfFlightEndCap_[0] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCToFDisk1"));
|
129 |
rpcTimeOfFlightEndCap_[1] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCToFDisk2"));
|
130 |
rpcTimeOfFlightEndCap_[2] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCToFDisk3"));
|
131 |
rpcBXEndCap_[0] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCBXDisk1"));
|
132 |
rpcBXEndCap_[1] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCBXDisk2"));
|
133 |
rpcBXEndCap_[2] = (TH1F*) (theFile1->Get("hscpSimPlotsRPC/RPCBXDisk3"));
|
134 |
|
135 |
residualsRPCRecHitSimDigis_->Draw();
|
136 |
t.Print("digi/rpcresiduals.png");
|
137 |
|
138 |
efficiencyRPCRecHitSimDigis_->Draw();
|
139 |
t.Print("digi/rpcefficiency.png");
|
140 |
|
141 |
cluSizeDistribution_->Draw();
|
142 |
t.Print("digi/cluRPCSize.png");
|
143 |
|
144 |
TLegend *leg = new TLegend(0.6,0.85,0.9,0.3);
|
145 |
rpcTimeOfFlightBarrel_[0]->SetFillColor(1);
|
146 |
rpcTimeOfFlightBarrel_[0]->Draw();
|
147 |
rpcTimeOfFlightBarrel_[0]->GetXaxis()->SetTitle("ToF (ns)");
|
148 |
std::stringstream legend;
|
149 |
legend.str("");
|
150 |
legend<<"ToF Layer 1 Mean "<<rpcTimeOfFlightBarrel_[0]->GetMean()<<"ns";
|
151 |
leg->AddEntry(rpcTimeOfFlightBarrel_[0],legend.str().c_str(),"f");
|
152 |
for(int i=1; i<6;i++){
|
153 |
rpcTimeOfFlightBarrel_[i]->SetFillColor(i+1);
|
154 |
legend.str("");
|
155 |
legend<<"ToF Layer "<<i+1<<" Mean "<<rpcTimeOfFlightBarrel_[i]->GetMean()<<"ns";
|
156 |
leg->AddEntry(rpcTimeOfFlightBarrel_[i],legend.str().c_str(),"f");
|
157 |
rpcTimeOfFlightBarrel_[i]->Draw("same");
|
158 |
}
|
159 |
leg->Draw("same");
|
160 |
gStyle->SetOptStat(0);
|
161 |
gStyle->SetOptTitle(0);
|
162 |
t.Print("sim/RPCBToF.png");
|
163 |
|
164 |
leg->Clear();
|
165 |
|
166 |
rpcTimeOfFlightEndCap_[2]->Draw();
|
167 |
rpcTimeOfFlightEndCap_[2]->SetFillColor(3);
|
168 |
rpcTimeOfFlightEndCap_[2]->GetXaxis()->SetTitle("ToF (ns)");
|
169 |
|
170 |
legend.str("");
|
171 |
legend<<"ToF Disk 3 Mean "<<rpcTimeOfFlightEndCap_[2]->GetMean()<<"ns";
|
172 |
leg->AddEntry(rpcTimeOfFlightEndCap_[2],legend.str().c_str(),"f");
|
173 |
for(int i=1;i>=0;i--){
|
174 |
rpcTimeOfFlightEndCap_[i]->SetFillColor(i+1);
|
175 |
legend.str("");
|
176 |
legend<<"ToF Disk "<<i+1<<" Mean "<<rpcTimeOfFlightEndCap_[i]->GetMean()<<"ns";
|
177 |
leg->AddEntry(rpcTimeOfFlightEndCap_[i],legend.str().c_str(),"f");
|
178 |
rpcTimeOfFlightEndCap_[i]->Draw("same");
|
179 |
rpcTimeOfFlightEndCap_[i]->GetYaxis()->UnZoom();
|
180 |
}
|
181 |
|
182 |
leg->Draw("same");
|
183 |
gStyle->SetOptStat(0);
|
184 |
gStyle->SetOptTitle(0);
|
185 |
t.Print("sim/RPCEToF.png");
|
186 |
|
187 |
leg->Clear();
|
188 |
|
189 |
rpcBXBarrel_[0]->SetLineColor(1);
|
190 |
rpcBXBarrel_[0]->Draw();
|
191 |
rpcBXBarrel_[0]->GetXaxis()->SetTitle("BX Units(25ns)");
|
192 |
rpcBXBarrel_[0]->SetLineWidth(3);
|
193 |
|
194 |
legend.str("");
|
195 |
legend<<"BX Layer 1 Mean "<<rpcBXBarrel_[0]->GetMean();
|
196 |
leg->AddEntry(rpcBXBarrel_[0],legend.str().c_str(),"l");
|
197 |
|
198 |
for(int i=1; i<6;i++){
|
199 |
rpcBXBarrel_[i]->SetLineColor(i+1);
|
200 |
legend.str("");
|
201 |
legend<<"BX Layer "<<i+1<<" Mean "<<rpcBXBarrel_[i]->GetMean();
|
202 |
leg->AddEntry(rpcBXBarrel_[i],legend.str().c_str(),"l");
|
203 |
rpcBXBarrel_[i]->SetLineWidth(3);
|
204 |
rpcBXBarrel_[i]->Draw("same");
|
205 |
}
|
206 |
|
207 |
leg->Draw("same");
|
208 |
gStyle->SetOptStat(0);
|
209 |
gStyle->SetOptTitle(0);
|
210 |
|
211 |
t.Print("digi/RPCBBX.png");
|
212 |
|
213 |
leg->Clear();
|
214 |
|
215 |
rpcBXEndCap_[0]->SetLineColor(1);
|
216 |
rpcBXEndCap_[0]->Draw();
|
217 |
rpcBXEndCap_[0]->GetXaxis()->SetTitle("BX Units(25ns)");
|
218 |
rpcBXEndCap_[0]->SetLineWidth(3);
|
219 |
|
220 |
legend.str("");
|
221 |
legend<<"BX Disk 1 Mean "<<rpcBXEndCap_[0]->GetMean();
|
222 |
leg->AddEntry(rpcBXEndCap_[0],legend.str().c_str(),"l");
|
223 |
|
224 |
for(int i=1; i<3;i++){
|
225 |
rpcBXEndCap_[i]->SetLineColor(i+1);
|
226 |
legend.str("");
|
227 |
legend<<"BX Disk "<<i+1<<" Mean "<<rpcBXEndCap_[i]->GetMean();
|
228 |
leg->AddEntry(rpcBXEndCap_[i],legend.str().c_str(),"l");
|
229 |
rpcBXEndCap_[i]->SetLineWidth(3);
|
230 |
rpcBXEndCap_[i]->Draw("same");
|
231 |
}
|
232 |
|
233 |
leg->Draw("same");
|
234 |
gStyle->SetOptStat(0);
|
235 |
gStyle->SetOptTitle(0);
|
236 |
|
237 |
t.Print("digi/RPCEBX.png");
|
238 |
|
239 |
|
240 |
}
|
241 |
|
242 |
|
243 |
|
244 |
|
245 |
|
246 |
|
247 |
|
248 |
|
249 |
|