File indexing completed on 2023-03-17 10:40:26
0001 {
0002 gROOT->Reset();
0003 gROOT->Clear();
0004
0005 gStyle->SetNdivisions(5);
0006 gStyle->SetCanvasBorderMode(0);
0007 gStyle->SetPadBorderMode(1);
0008 gStyle->SetOptTitle(1);
0009 gStyle->SetStatFont(42);
0010 gStyle->SetCanvasColor(10);
0011 gStyle->SetPadColor(0);
0012 gStyle->SetTitleFont(62,"xy");
0013 gStyle->SetLabelFont(62,"xy");
0014 gStyle->SetTitleFontSize(0.07);
0015 gStyle->SetTitleSize(0.046,"xy");
0016 gStyle->SetLabelSize(0.052,"xy");
0017
0018 gStyle->SetHistFillStyle(1001);
0019 gStyle->SetHistFillColor(0);
0020 gStyle->SetHistLineStyle(1);
0021 gStyle->SetHistLineWidth(2);
0022 gStyle->SetHistLineColor(2);
0023 gStyle->SetTitleXOffset(1.1);
0024 gStyle->SetTitleYOffset(1.15);
0025 gStyle->SetOptStat(1110);
0026 gStyle->SetOptStat(kFALSE);
0027 gStyle->SetOptFit(0111);
0028 gStyle->SetStatH(0.1);
0029
0030
0031 TCanvas *c1 = new TCanvas("c1","c1",129,17,926,703);
0032 c1->SetBorderSize(2);
0033 c1->SetFrameFillColor(0);
0034 c1->SetLogy(0);
0035 c1->SetGrid(1);
0036
0037 c1->cd();
0038
0039 TFile f0("../../Z/MisalignmentIdeal.root");
0040 TTree *MyTree=Tracks;
0041
0042 TFile f1("../../SurveyLAS/zmumu/Misalignment_SurveyLASOnlyScenario_refitter_zmumu.root");
0043 TTree *MyTree2=Tracks;
0044
0045 TFile f2("Misalignment_SurveyLASOnlyScenario_refitter_zmumuSurveyLASCosmics.root");
0046 TTree *MyTree3=Tracks;
0047
0048 TFile f3("../../Z/Misalignment10.root");
0049 TTree *MyTree4=Tracks;
0050
0051 TFile f4("../../Z/Misalignment100.root");
0052 TTree *MyTree5=Tracks;
0053
0054 TFile f5("../../Z/Misalignment_NOAPE_2.root");
0055
0056 TTree *MyTree6=Tracks;
0057
0058
0059
0060
0061
0062
0063
0064
0065 TH1F *yzmuzero = new TH1F("yzmuzero","yzmu zero",80,0.,2.7);
0066 TH1F *yzmuuno = new TH1F("yzmuuno","yzmu uno",80,0.,2.7);
0067
0068 MyTree->Project("yzmuzero","yzmu","yzmu>-101.");
0069 MyTree->Project("yzmuuno","yzmu","eff==1 && recyzmu>-101.");
0070 TH1F *Effyzmu = yzmuzero->Clone("Z selection efficiency vs yzmu");
0071
0072 Effyzmu->Reset();
0073 Effyzmu->Divide(yzmuuno,yzmuzero,1,1);
0074 Effyzmu->Sumw2();
0075
0076 float MC_bin=0.,Eff_bin=0.,err=0.;
0077 for (int k=1; k<81; k++){
0078 MC_bin = yzmuzero->GetBinContent(k);
0079 Eff_bin = Effyzmu->GetBinContent(k);
0080 if (MC_bin != 0.) {
0081 err=Eff_bin*(1.-Eff_bin)/MC_bin;
0082 if (err >0) {
0083 err=sqrt(err);
0084 }
0085 else {
0086 err=0.0001;
0087 }
0088 }
0089 Effyzmu->SetBinError(k,err);
0090 MC_bin=0.;
0091 Eff_bin=0.;
0092 err=0.;
0093 }
0094
0095 Effyzmu->SetMarkerStyle(20);
0096 Effyzmu->SetMarkerColor(2);
0097 Effyzmu->SetMarkerSize(0.9);
0098 Effyzmu->SetLineColor(1);
0099 Effyzmu->SetLineWidth(1);
0100 Effyzmu->Draw("P");
0101
0102 c1->Update();
0103
0104
0105
0106
0107
0108
0109
0110
0111 TH1F *yzmuzero_scen1 = new TH1F("yzmuzero_scen1","yzmu zero",80,0.,2.7);
0112 TH1F *yzmuuno_scen1 = new TH1F("yzmuuno_scen1","yzmu uno",80,0.,2.7);
0113
0114 MyTree2->Project("yzmuzero_scen1","yzmu","yzmu>-101.");
0115 MyTree2->Project("yzmuuno_scen1","yzmu","eff==1 && recyzmu>-101.");
0116 TH1F *Effyzmu_scen1 = yzmuzero_scen1->Clone("Z selection efficiency vs yzmu");
0117
0118 Effyzmu_scen1->Reset();
0119 Effyzmu_scen1->Divide(yzmuuno_scen1,yzmuzero_scen1,1,1);
0120 Effyzmu_scen1->Sumw2();
0121
0122 float MCyzmu_bin=0.,Eff_bin=0.,err=0.;
0123
0124 for (int k=1; k<81; k++){
0125 MC_bin = yzmuzero_scen1->GetBinContent(k);
0126 Eff_bin = Effyzmu_scen1->GetBinContent(k);
0127 if (MC_bin != 0.) {
0128 err=Eff_bin*(1.-Eff_bin)/MC_bin;
0129 if (err >0) {
0130 err=sqrt(err);
0131 }
0132 else {
0133 err=0.0001;
0134 }
0135 }
0136 Effyzmu_scen1->SetBinError(k,err);
0137
0138 MC_bin=0.;
0139 Eff_bin=0.;
0140 err=0.;
0141 }
0142
0143 Effyzmu_scen1->SetMarkerStyle(21);
0144 Effyzmu_scen1->SetMarkerColor(3);
0145 Effyzmu_scen1->SetMarkerSize(0.9);
0146 Effyzmu_scen1->SetLineColor(1);
0147 Effyzmu_scen1->SetLineWidth(1);
0148 Effyzmu_scen1->Draw("P");
0149 c1->Update();
0150
0151
0152
0153
0154
0155
0156
0157
0158 TH1F *yzmuzero_scen2 = new TH1F("yzmuzero_scen2","yzmu zero",80,0.,2.7);
0159 TH1F *yzmuuno_scen2 = new TH1F("yzmuuno_scen2","yzmu uno",80,0.,2.7);
0160
0161 MyTree3->Project("yzmuzero_scen2","yzmu","yzmu>-101.");
0162 MyTree3->Project("yzmuuno_scen2","yzmu","eff==1 && recyzmu>-101.");
0163 TH1F *Effyzmu_scen2 = yzmuzero_scen2->Clone("Z selection efficiency vs yzmu");
0164
0165 Effyzmu_scen2->Reset();
0166 Effyzmu_scen2->Divide(yzmuuno_scen2,yzmuzero_scen2,1,1);
0167 Effyzmu_scen2->Sumw2();
0168
0169 float MC_bin=0.,Eff_bin=0.,err=0.;
0170 for (int k=1; k<81; k++){
0171 MC_bin = yzmuzero_scen2->GetBinContent(k);
0172 Eff_bin = Effyzmu_scen2->GetBinContent(k);
0173 if (MC_bin != 0.) {
0174 err=Eff_bin*(1.-Eff_bin)/MC_bin;
0175 if (err >0) {
0176 err=sqrt(err);
0177 }
0178 else {
0179 err=0.0001;
0180 }
0181 }
0182 Effyzmu_scen2->SetBinError(k,err);
0183
0184 MC_bin=0.;
0185 Eff_bin=0.;
0186 err=0.;
0187 }
0188
0189 Effyzmu_scen2->SetMarkerStyle(22);
0190 Effyzmu_scen2->SetMarkerColor(4);
0191 Effyzmu_scen2->SetMarkerSize(0.9);
0192 Effyzmu_scen2->SetLineColor(1);
0193 Effyzmu_scen2->SetLineWidth(1);
0194 Effyzmu_scen2->Draw("P");
0195 c1->Update();
0196
0197
0198
0199
0200
0201
0202 TH1F *yzmuzero_scen3 = new TH1F("yzmuzero_scen3","yzmu zero",80,0.,2.7);
0203 TH1F *yzmuuno_scen3 = new TH1F("yzmuuno_scen3","yzmu uno",80,0.,2.7);
0204
0205 MyTree4->Project("yzmuzero_scen3","yzmu","yzmu>-101.");
0206 MyTree4->Project("yzmuuno_scen3","yzmu","eff==1 && recyzmu>-101.");
0207 TH1F *Effyzmu_scen3 = yzmuzero_scen3->Clone("Z selection efficiency vs yzmu");
0208
0209 Effyzmu_scen3->Reset();
0210 Effyzmu_scen3->Divide(yzmuuno_scen3,yzmuzero_scen3,1,1);
0211 Effyzmu_scen3->Sumw2();
0212
0213 float MC_bin=0.,Eff_bin=0.,err=0.;
0214 for (int k=1; k<81; k++){
0215 MC_bin = yzmuzero_scen3->GetBinContent(k);
0216 Eff_bin = Effyzmu_scen3->GetBinContent(k);
0217 if (MC_bin != 0.) {
0218 err=Eff_bin*(1.-Eff_bin)/MC_bin;
0219 if (err >0) {
0220 err=sqrt(err);
0221 }
0222 else {
0223 err=0.0001;
0224 }
0225 }
0226 Effyzmu_scen3->SetBinError(k,err);
0227
0228 MC_bin=0.;
0229 Eff_bin=0.;
0230 err=0.;
0231 }
0232
0233 Effyzmu_scen3->SetMarkerStyle(23);
0234 Effyzmu_scen3->SetMarkerColor(5);
0235 Effyzmu_scen3->SetMarkerSize(0.9);
0236 Effyzmu_scen3->SetLineColor(1);
0237 Effyzmu_scen3->SetLineWidth(1);
0238 Effyzmu_scen3->Draw("P");
0239 c1->Update();
0240
0241
0242
0243
0244
0245
0246 TH1F *yzmuzero_scen4 = new TH1F("yzmuzero_scen4","yzmu zero",80,0.,2.7);
0247 TH1F *yzmuuno_scen4 = new TH1F("yzmuuno_scen4","yzmu uno",80,0.,2.7);
0248
0249 MyTree5->Project("yzmuzero_scen4","yzmu","yzmu>-101.");
0250 MyTree5->Project("yzmuuno_scen4","yzmu","eff==1 && recyzmu>-101.");
0251 TH1F *Effyzmu_scen4 = yzmuzero_scen4->Clone("Z selection efficiency vs yzmu");
0252
0253 Effyzmu_scen4->Reset();
0254 Effyzmu_scen4->Divide(yzmuuno_scen4,yzmuzero_scen4,1,1);
0255 Effyzmu_scen4->Sumw2();
0256
0257 float MC_bin=0.,Eff_bin=0.,err=0.;
0258 for (int k=1; k<81; k++){
0259 MC_bin = yzmuzero_scen4->GetBinContent(k);
0260 Eff_bin = Effyzmu_scen4->GetBinContent(k);
0261 if (MC_bin != 0.) {
0262 err=Eff_bin*(1.-Eff_bin)/MC_bin;
0263 if (err >0) {
0264 err=sqrt(err);
0265 }
0266 else {
0267 err=0.0001;
0268 }
0269 }
0270 Effyzmu_scen4->SetBinError(k,err);
0271
0272 MC_bin=0.;
0273 Eff_bin=0.;
0274 err=0.;
0275 }
0276
0277 Effyzmu_scen4->SetMarkerStyle(24);
0278 Effyzmu_scen4->SetMarkerColor(6);
0279 Effyzmu_scen4->SetMarkerSize(0.9);
0280 Effyzmu_scen4->SetLineColor(1);
0281 Effyzmu_scen4->SetLineWidth(1);
0282 Effyzmu_scen4->Draw("P");
0283 c1->Update();
0284
0285
0286
0287
0288
0289
0290
0291
0292 TH1F *yzmuzero_scen1_noErr = new TH1F("yzmuzero_scen1_noErr","yzmu zero",80,0.,2.7);
0293 TH1F *yzmuuno_scen1_noErr = new TH1F("yzmuuno_scen1_noErr","yzmu uno",80,0.,2.7);
0294
0295 MyTree6->Project("yzmuzero_scen1_noErr","yzmu","yzmu>-101.");
0296 MyTree6->Project("yzmuuno_scen1_noErr","yzmu","eff==1 && recyzmu>-101.");
0297 TH1F *Effyzmu_scen1_noErr = yzmuzero_scen1_noErr->Clone("Efficiency vs #yzmu");
0298
0299 Effyzmu_scen1_noErr->Reset();
0300 Effyzmu_scen1_noErr->Divide(yzmuuno_scen1_noErr,yzmuzero_scen1_noErr,1,1);
0301 Effyzmu_scen1_noErr->Sumw2();
0302
0303 float MC_bin=0.,Eff_bin=0.,err=0.;
0304 for (int k=1; k<81; k++){
0305 MC_bin = yzmuzero_scen1_noErr->GetBinContent(k);
0306 Eff_bin = Effyzmu_scen1_noErr->GetBinContent(k);
0307 if (MC_bin != 0.) {
0308 err=Eff_bin*(1.-Eff_bin)/MC_bin;
0309 if (err >0) {
0310 err=sqrt(err);
0311 }
0312 else {
0313 err=0.0001;
0314 }
0315 }
0316 Effyzmu_scen1_noErr->SetBinError(k,err);
0317
0318 MC_bin=0.;
0319 Eff_bin=0.;
0320 err=0.;
0321 }
0322
0323 Effyzmu_scen1_noErr->SetMarkerStyle(26);
0324 Effyzmu_scen1_noErr->SetMarkerColor(7);
0325 Effyzmu_scen1_noErr->SetMarkerSize(0.9);
0326 Effyzmu_scen1_noErr->SetLineColor(1);
0327 Effyzmu_scen1_noErr->SetLineWidth(1);
0328 Effyzmu_scen1_noErr->Draw("P");
0329 c1->Update();
0330
0331
0332
0333
0334
0335
0336
0337
0338 Effyzmu->SetTitle("Z selection Efficiency vs y");
0339 Effyzmu->SetXTitle("y");
0340 Effyzmu->SetYTitle("Z selection Efficiency");
0341 Effyzmu->Draw("");
0342 Effyzmu_scen1->Draw("same");
0343 Effyzmu_scen2->Draw("same");
0344 Effyzmu_scen3->Draw("same");
0345 Effyzmu_scen4->Draw("same");
0346 Effyzmu_scen1_noErr->Draw("same");
0347
0348 TLegend *leg1 = new TLegend(0.45,0.11,0.8,0.22);
0349 leg1->SetTextAlign(32);
0350 leg1->SetTextColor(1);
0351 leg1->SetTextSize(0.015);
0352
0353 leg1->AddEntry(Effyzmu,"perfect alignment", "P");
0354 leg1->AddEntry(Effyzmu_scen1,"SurveyLAS alignment", "P");
0355 leg1->AddEntry(Effyzmu_scen2,"SurveyLASCosmics alignment", "P");
0356 leg1->AddEntry(Effyzmu_scen3,"10 pb-1 alignment", "P");
0357 leg1->AddEntry(Effyzmu_scen4,"100 pb-1 alignment", "P");
0358 leg1->AddEntry(Effyzmu_scen1_noErr,"10 pb-1 alignment; APE not used", "P");
0359
0360 leg1->Draw();
0361
0362 c1->Update();
0363
0364
0365 c1->SaveAs("Eff_Z_yzmu.gif");
0366 c1->SaveAs("Eff_Z_yzmu.eps");
0367 c1->SaveAs("Eff_Z_yzmu.pdf");
0368
0369 gROOT->Reset();
0370 gROOT->Clear();
0371
0372 delete c1;
0373 }