Back to home page

Project CMSSW displayed by LXR

 
 

    


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 // gStyle->SetTitleFillColor(0);
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 //TFile f5("../../SurveyLAS/zmumu65To100/Misalignment_SurveyLASOnlyScenario_refitter_zmumu_NOAPE.root");
0056 TTree *MyTree6=Tracks;
0057 
0058 
0059 ////&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0060 
0061 //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0062 /// EFFICIENCIES VS ETA ALIGNED
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 //c1->WaitPrimitive();
0104 
0105 ////&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0106 
0107 //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0108 /// EFFICIENCIES VS ETA SCEN 1
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 //c1->WaitPrimitive();
0151 
0152 // // ////&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0153 
0154 // //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0155 // /// EFFICIENCIES VS YZMU SCEN 2
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 //c1->WaitPrimitive();
0197 
0198 // //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0199 // /// EFFICIENCIES VS YZMU SCEN 2
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 //c1->WaitPrimitive();
0241 
0242 // //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0243 // /// EFFICIENCIES VS YZMU SCEN 2
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 //c1->WaitPrimitive();
0285 
0286 
0287 // /////&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0288 // //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0289 // /// EFFICIENCIES VS YZMU SCEN 1 APE = 0
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 // c1->SetGrid(1,1);
0333 
0334 //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
0335 /// EFFICIENCIES VS YZMU STACKED
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 //c1->WaitPrimitive();
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 }