1 /// \file CosmicPerformance.C
8 /// gSystem->Load("libSTAT");
9 /// gSystem->Load("libANALYSIS");
10 /// gSystem->Load("libTPCcalib");
11 /// gSystem->Load("libSTAT");
13 /// gSystem->AddIncludePath("-I$ALICE_ROOT/TPC/macros");
14 /// gROOT->LoadMacro("$ALICE_ROOT/TPC/macros/AliXRDPROOFtoolkit.cxx+");
15 /// AliXRDPROOFtoolkit tool;
16 /// TChain * chain = tool.MakeChain("cosmic.txt","Track0",0,1000000);
18 /// chain->SetProof(kTRUE);
20 /// .L $ALICE_ROOT/TPC/CalibMacros/CosmicPerformance.C+
21 /// chainCosmic=chain;
42 #include "AliTPCcalibV0.h"
43 #include "AliExternalTrackParam.h"
45 TChain * chainCosmic=0;
46 Int_t kmicolors[10]={1,2,3,4,6,7,8,9,10,11};
47 Int_t kmimarkers[10]={21,22,23,24,25,26,27,28,29,30};
50 Bool_t bUseCorrection =kFALSE;
54 TCut cutDiff[6]; // parameter diff cuts - 5 all
55 TCut cutPull[6]; // pull diff cuts - 5 all
56 TCut cutGeomTPC; // TPC geometrical cuts
57 TCut cutN("cutN","min(Orig0.fTPCncls,Orig1.fTPCncls)>80");
58 TCut cutN120("cutN120","min(Orig0.fTPCncls,Orig1.fTPCncls)+abs(Tr1.fP[4]*10)>120");
59 TCut cutN130("cutN120","min(Orig0.fTPCncls,Orig1.fTPCncls)+abs(Tr1.fP[4]*20)>130");
60 TCut cutS("cutS","!crossI&&!crossO");
61 TCut cutRun("run<620600");
63 TCut cutCustom=cutN130+cutS+cutRun;
64 TCut cut1Pt = "Tr0.fP[1]>0"; // Use only A side for Pt study
68 TString dP[5]; // delta of parameters
69 TString sP[5]; // sigma of parameters
70 TString pP[5]; // pull of parameters
71 TString axisYDP[5]; // axis title
72 TString axisYPP[5]; // axis title
73 TString axisYDPm[5]; // axis title
74 TString axisYPPm[5]; // axis title
77 Float_t range[5] = {5,3,10,3,0.05}; // ranges for diff histogram
79 Float_t scale[5] = {10,10,1000,1000,1}; // scaling factor
82 TH2F * histoDPZ[5]={0,0,0,0,0};
83 TH2F * histoSPZ[5]={0,0,0,0,0};
84 TH2F * histoPPZ[5]={0,0,0,0,0};
93 TH2F * histoDP1Pt[5]={0,0,0,0,0};
94 TH2F * histoSP1Pt[5]={0,0,0,0,0};
95 TH2F * histoPP1Pt[5]={0,0,0,0,0};
103 void MakeCutsParam(){
104 /// Default selection criteria
106 cutDiff[0]="abs(Tr0.fP[0]+Tr1.fP[0])<3";
107 cutDiff[1]="abs(Tr0.fP[1]-Tr1.fP[1])<15";
108 cutDiff[2]="abs(Tr1.fAlpha-Tr0.fAlpha+pi)<0.1";
109 cutDiff[3]="abs(Tr0.fP[3]+Tr1.fP[3])<0.1";
110 cutDiff[4]="abs(Tr0.fP[4]+Tr1.fP[4])<0.5";
111 for (Int_t i=0;i<5;i++) cutDiff[5]+=cutDiff[i];
113 cutPull[0]="abs(Tr0.fP[0]+Tr1.fP[0])/sqrt(Tr0.fC[0]+Tr1.fC[0])<10";
115 cutPull[2]="((Tr1.fAlpha-Tr0.fAlpha+pi))/sqrt(Tr0.fC[5]+Tr1.fC[5])<10";
117 cutPull[4]="abs(Tr0.fP[4]+Tr1.fP[4])/sqrt(Tr0.fC[14]+Tr1.fC[14])<10";
118 for (Int_t i=0;i<5;i++) cutPull[5]+=cutPull[i];
124 TCut cutOx("Op1.fX>240&&Op0.fX>240");
125 TCut cutOz("abs(Op1.fP[1])<240&&abs(Op0.fP[1])<240");
126 TCut cutIz("abs(Ip1.fP[1])<240&&abs(Ip0.fP[1])<240");
127 TCut cutX00("abs(x00)<70");
128 TCut cutX10("abs(x10)<70");
129 TCut cutT1P2("abs(Ip1.fP[2])<0.8");
130 TCut cutT0P2("abs(Ip0.fP[2])<0.8");
131 cutGeomTPC = cutOx+cutOz+cutIz+cutX00+cutX10+cutT1P2+cutT0P2;
139 cutAll = cutDiff[5]+cutPull[5]+cutGeomTPC;
143 AliExternalTrackParam p;
144 dP[0]="(Tr0.fP[0]+Tr1.fP[0])";
145 dP[1]="(Tr0.fP[1]-Tr1.fP[1])";
146 dP[2]="(Tr1.fAlpha-Tr0.fAlpha+pi)";
147 dP[3]="(Tr0.fP[3]+Tr1.fP[3])";
148 dP[4]="(Tr0.fP[4]+Tr1.fP[4])";
149 for (Int_t i=0;i<5;i++){
150 sP[i]=Form("%f*sqrt(Tr0.fC[%d]+Tr1.fC[%d])",scale[i],p.GetIndex(i,i),p.GetIndex(i,i));
151 pP[i]=Form("%s/sqrt(Tr0.fC[%d]+Tr1.fC[%d])",dP[i].Data(),scale[i],p.GetIndex(i,i),p.GetIndex(i,i));
152 dP[i]+=Form("*%f",scale[i]);
155 axisYDP[0]="#sigma_{r#phi} (mm)";
156 axisYDP[1]="#sigma_{z} (mm)";
157 axisYDP[2]="#sigma_{#phi} (mrad)";
158 axisYDP[3]="#sigma_{#theta} (mrad)";
159 axisYDP[4]="#sigma_{1/pt} (1/GeV))";
161 axisYPP[0]="#sigma_{r#phi} (Unit)";
162 axisYPP[1]="#sigma_{z} (Unit)";
163 axisYPP[2]="#sigma_{#phi} (Unit)";
164 axisYPP[3]="#sigma_{#theta} (Unit)";
165 axisYPP[4]="#sigma_{1/pt} (Unit))";
167 axisYDPm[0]="#Delta_{r#phi} (mm)";
168 axisYDPm[1]="#Delta_{z} (mm)";
169 axisYDPm[2]="#Delta_{#phi} (mrad)";
170 axisYDPm[3]="#Delta_{#theta} (mrad)";
171 axisYDPm[4]="#Delta_{1/pt} (1/GeV))";
173 axisYPPm[0]="#Delta_{r#phi} (Unit)";
174 axisYPPm[1]="#Delta_{z} (Unit)";
175 axisYPPm[2]="#Delta_{#phi} (Unit)";
176 axisYPPm[3]="#Delta_{#theta} (Unit)";
177 axisYPPm[4]="#Delta_{1/pt} (Unit))";
182 for (Int_t i=0;i<5;i++){
184 sprintf(hname,"dP%ivZ",i);
186 if ( histoDPZ[i]==0){
187 histoDPZ[i]= new TH2F(hname, hname,10,-240,240,100,-range[i],range[i]);
188 sprintf(hname,"sP%ivZ",i);
189 histoSPZ[i]= new TH2F(hname, hname,10,-240,240,100,0,range[i]/3);
190 sprintf(hname,"pP%ivZ",i);
191 histoPPZ[i]= new TH2F(hname, hname,10,-240,240,100,-6,6);
194 histoDPZ[i]->SetXTitle("z (cm)");
195 histoSPZ[i]->SetXTitle("z (cm)");
196 histoPPZ[i]->SetXTitle("z (cm)");
197 histoDPZ[i]->SetYTitle(axisYDP[i]);
198 histoSPZ[i]->SetYTitle(axisYDP[i]);
199 histoPPZ[i]->SetYTitle(axisYPP[i]);
200 chainCosmic->Draw((dP[i]+"/sqrt(2.):Tr0.fP[1]>>"+histoDPZ[i]->GetName()),cutAll+cutCustom+cutS);
201 chainCosmic->Draw((sP[i]+"/sqrt(2.):Tr0.fP[1]>>"+histoSPZ[i]->GetName()),cutAll+cutCustom+cutS);
202 chainCosmic->Draw((pP[i]+":Tr0.fP[1]>>"+histoPPZ[i]->GetName()),cutAll+cutCustom+cutS);
207 for (Int_t i=0;i<5;i++){
208 histoDPZ[i]->FitSlicesY(0,0,-1,0,"QNR",&array);
209 hmDPZ[i] = (TH1F*)((array.At(1))->Clone());
210 hsDPZ[i] = (TH1F*)((array.At(2))->Clone());
211 histoSPZ[i]->FitSlicesY(0,0,-1,0,"QNR",&array);
212 hmSPZ[i] = (TH1F*)((array.At(1))->Clone());
213 hsSPZ[i] = (TH1F*)((array.At(2))->Clone());
214 histoPPZ[i]->FitSlicesY(0,0,-1,0,"QNR",&array);
215 hmPPZ[i] = (TH1F*)((array.At(1))->Clone());
216 hsPPZ[i] = (TH1F*)((array.At(2))->Clone());
218 hmDPZ[i]->SetYTitle(axisYDPm[i]);
219 hmSPZ[i]->SetYTitle(axisYDPm[i]);
220 hmPPZ[i]->SetYTitle(axisYPPm[i]);
221 hsDPZ[i]->SetMinimum(0);
222 hsDPZ[i]->SetYTitle(axisYDP[i]);
223 hsSPZ[i]->SetYTitle(axisYDP[i]);
224 hsPPZ[i]->SetYTitle(axisYPP[i]);
226 hmDPZ[i]->SetMarkerColor(kmicolors[1]);
227 hmDPZ[i]->SetMarkerStyle(kmimarkers[1]);
228 hsDPZ[i]->SetMarkerColor(kmicolors[2]);
229 hsDPZ[i]->SetMarkerStyle(kmimarkers[2]);
230 hmPPZ[i]->SetMarkerColor(kmicolors[1]);
231 hmPPZ[i]->SetMarkerStyle(kmimarkers[1]);
232 hsPPZ[i]->SetMarkerColor(kmicolors[2]);
233 hsPPZ[i]->SetMarkerStyle(kmimarkers[2]);
240 for (Int_t i=0;i<5;i++){
242 sprintf(hname,"dP%iv1Pt",i);
244 if ( histoDP1Pt[i]==0){
245 histoDP1Pt[i]= new TH2F(hname, hname,6,0.02,0.75,100,-range[i],range[i]);
246 sprintf(hname,"sP%ivZ",i);
247 histoSP1Pt[i]= new TH2F(hname, hname,6,0.02,0.75,100,0,range[i]/3);
248 sprintf(hname,"pP%ivZ",i);
249 histoPP1Pt[i]= new TH2F(hname, hname,6,0.02,0.75,100,-6,6);
252 histoDP1Pt[i]->SetXTitle("#sqrt{1/p_{t} (GeV)}");
253 histoSP1Pt[i]->SetXTitle("#sqrt{1/p_{t} (GeV)}");
254 histoPP1Pt[i]->SetXTitle("#sqrt{1/p_{t} (GeV)}");
255 histoDP1Pt[i]->SetYTitle(axisYDP[i]);
256 histoSP1Pt[i]->SetYTitle(axisYDP[i]);
257 histoPP1Pt[i]->SetYTitle(axisYPP[i]);
258 chainCosmic->Draw((dP[i]+"/sqrt(2.):sqrt(0.5*abs(Tr0.fP[4]-Tr1.fP[4]))>>"+histoDP1Pt[i]->GetName()),cutAll+cutCustom+cutS+cut1Pt);
259 chainCosmic->Draw((sP[i]+"/sqrt(2.):sqrt(0.5*abs(Tr0.fP[4]-Tr1.fP[4]))>>"+histoSP1Pt[i]->GetName()),cutAll+cutCustom+cutS+cut1Pt);
260 chainCosmic->Draw((pP[i]+":sqrt(0.5*abs(Tr0.fP[4]-Tr1.fP[4]))>>"+histoPP1Pt[i]->GetName()),cutAll+cutCustom+cutS+cut1Pt);
265 for (Int_t i=0;i<5;i++){
266 histoDP1Pt[i]->FitSlicesY(0,0,-1,0,"QNR",&array);
267 hmDP1Pt[i] = (TH1F*)((array.At(1))->Clone());
268 hsDP1Pt[i] = (TH1F*)((array.At(2))->Clone());
269 histoSP1Pt[i]->FitSlicesY(0,0,-1,0,"QNR",&array);
270 hmSP1Pt[i] = (TH1F*)((array.At(1))->Clone());
271 hsSP1Pt[i] = (TH1F*)((array.At(2))->Clone());
272 histoPP1Pt[i]->FitSlicesY(0,0,-1,0,"QNR",&array);
273 hmPP1Pt[i] = (TH1F*)((array.At(1))->Clone());
274 hsPP1Pt[i] = (TH1F*)((array.At(2))->Clone());
275 hmDP1Pt[i]->SetYTitle(axisYDPm[i]);
276 hmSP1Pt[i]->SetYTitle(axisYDPm[i]);
277 hmPP1Pt[i]->SetYTitle(axisYPPm[i]);
278 hsDP1Pt[i]->SetMinimum(0);
279 hsDP1Pt[i]->SetYTitle(axisYDP[i]);
280 hsSP1Pt[i]->SetYTitle(axisYDP[i]);
281 hsPP1Pt[i]->SetYTitle(axisYPP[i]);
283 hmDP1Pt[i]->SetMarkerColor(kmicolors[1]);
284 hmDP1Pt[i]->SetMarkerStyle(kmimarkers[1]);
285 hsDP1Pt[i]->SetMarkerColor(kmicolors[2]);
286 hsDP1Pt[i]->SetMarkerStyle(kmimarkers[2]);
287 hmPP1Pt[i]->SetMarkerColor(kmicolors[1]);
288 hmPP1Pt[i]->SetMarkerStyle(kmimarkers[1]);
289 hsPP1Pt[i]->SetMarkerColor(kmicolors[2]);
290 hsPP1Pt[i]->SetMarkerStyle(kmimarkers[2]);
298 TCanvas *czd = new TCanvas("Z depend (abs)","Z depend (abs)",700,900);
300 for (Int_t i=0;i<5;i++){
306 czd->SaveAs("picResol/deltaPxZ.eps");
307 czd->SaveAs("picResol/deltaPxZ.gif");
308 czd->SaveAs("picResol/deltaPxZ.root");
312 TCanvas *czp = new TCanvas("Z depend (Pull)","Z depend (Pull)",700,900);
314 for (Int_t i=0;i<5;i++){
320 czp->SaveAs("picResol/pullPxZ.eps");
321 czp->SaveAs("picResol/pullPxZ.gif");
322 czp->SaveAs("picResol/pullPxZ.root");
328 TCanvas *cpd = new TCanvas("1/Pt depend","1/Pt depend",700,900);
330 for (Int_t i=0;i<5;i++){
332 hmDP1Pt[i]->Draw("");
334 hsDP1Pt[i]->Draw("");
336 cpd->SaveAs("picResol/deltaPx1Pt.eps");
337 cpd->SaveAs("picResol/deltaPx1Pt.gif");
338 cpd->SaveAs("picResol/deltaPx1Pt.root");
341 TCanvas *cpp = new TCanvas("Pull 1/Pt","Pull 1/Pt",700,900);
343 for (Int_t i=0;i<5;i++){
345 hmPP1Pt[i]->Draw("");
347 hsPP1Pt[i]->Draw("");
349 cpp->SaveAs("picResol/pullPx1Pt.eps");
350 cpp->SaveAs("picResol/pullPx1Pt.gif");
351 cpp->SaveAs("picResol/pullPx1Pt.root");
361 void DrawPtSpectra(){
362 TH1F * hisPt0 = new TH1F("hisPt0","hisPt0",50,0,100);
363 TH1F * hisPtC = new TH1F("hisPtC","hisPtC",50,0,100);
364 chainCosmic->Draw("Tr0.Pt()>>hisPt0",cutAll+cutCustom);
365 chainCosmic->Draw("Tr0.Pt()>>hisPtC","abs(Tr0.fP[4])>3*sqrt(Tr0.fC[14])"+cutAll+cutCustom);
367 hisPt0->SetXTitle("p_{t} (GeV)");
368 hisPt0->SetLineColor(kmicolors[1]);
369 hisPtC->SetLineColor(kmicolors[2]);
373 hisPtC->Draw("same");
374 TLegend * legend = new TLegend(.4,.7, .99, .99,"Cosmic p_{t} spectra");
375 legend->AddEntry(hisPt0,"Raw spectra");
376 legend->AddEntry(hisPtC,"Selection abs(p_{t})<3#sigma_{p_{t}}");
378 gPad->SaveAs("picSpectra/ptSpectra.eps");
379 gPad->SaveAs("picSpectra/ptSpectra.gif");
380 gPad->SaveAs("picSpectra/ptSpectra.root");
389 chainCosmic->Draw(">>listELP",cutAll,"entryList");
390 TEntryList *elist = (TEntryList*)gDirectory->Get("listELP");
391 chainCosmic->SetEntryList(elist);
393 chainCosmic->Draw(">>listELFit",cutAll+cuthpt+cutS+cutRun,"entryList");
394 TEntryList *elistFit = (TEntryList*)gDirectory->Get("listELFit");
395 chainCosmic->SetEntryList(elistFit);
402 chainCosmic->SetAlias("dP0","(Tr0.fP[0]+Tr1.fP[0])");
403 chainCosmic->SetAlias("dP1","(Tr0.fP[1]-Tr1.fP[1])");
404 chainCosmic->SetAlias("dP2","(Tr1.fAlpha-Tr0.fAlpha+pi)");
405 chainCosmic->SetAlias("dP3","(Tr0.fP[3]+Tr1.fP[3])");
406 chainCosmic->SetAlias("dP4","(Tr0.fP[4]+Tr1.fP[4])");
408 chainCosmic->SetAlias("sP0","sqrt(Tr0.fC[0]+Tr1.fC[0])");
409 chainCosmic->SetAlias("sP1","sqrt(Tr0.fC[2]+Tr1.fC[2])");
410 chainCosmic->SetAlias("sP2","sqrt(Tr0.fC[5]+Tr0.fC[5])");
411 chainCosmic->SetAlias("sP3","sqrt(Tr0.fC[9]+Tr1.fC[9])");
412 chainCosmic->SetAlias("sP4","sqrt(Tr0.fC[14]+Tr1.fC[14])");
414 chainCosmic->SetAlias("corrP0","0");
415 chainCosmic->SetAlias("corrP1","0");
416 chainCosmic->SetAlias("corrP2","0");
417 chainCosmic->SetAlias("corrP3","0");
418 chainCosmic->SetAlias("corrP4","0");
420 chainCosmic->SetAlias("dR","(1-abs(Tr0.fP[1]/250))");
421 chainCosmic->SetAlias("side","(-1+(Tr0.fP[1]>0)*2)");
422 chainCosmic->SetAlias("meanPt","((Tr0.Pt()+Tr1.Pt())/2.)");
430 TStatToolkit toolkit;
441 fstring+="Tr0.fP[3]++";
443 fstring+="dR*side++";
444 fstring+="dR*dR*side++";
445 fstring+="Tr0.fP[3]*side++";
447 TString * strP0 = TStatToolkit::FitPlane(chainCosmic,"dP0", fstring.Data(),"1", chi2,npoints,fitParam,covMatrix);
448 chainCosmic->SetAlias("corrP0",strP0->Data());
450 TString * strP1 = TStatToolkit::FitPlane(chainCosmic,"dP1", fstring.Data(),"!crossI&&!crossO", chi2,npoints,fitParam,covMatrix);
451 chainCosmic->SetAlias("corrP1",strP1->Data());
453 TString * strP2 = TStatToolkit::FitPlane(chainCosmic,"dP2", fstring.Data(),"1", chi2,npoints,fitParam,covMatrix);
454 chainCosmic->SetAlias("corrP2",strP2->Data());
456 TString * strP3 = TStatToolkit::FitPlane(chainCosmic,"dP3", fstring.Data(),"!crossI&&!crossO", chi2,npoints,fitParam,covMatrix);
457 chainCosmic->SetAlias("corrP3",strP3->Data());
459 TString * strP4 = TStatToolkit::FitPlane(chainCosmic,"dP4", fstring.Data(),"1", chi2,npoints,fitParam,covMatrix);
460 chainCosmic->SetAlias("corrP4",strP4->Data());
461 bUseCorrection = kTRUE;
466 void DrawNClusterGeom(){
470 TH2F * hNd("hNd","hNd",50,0,190,100,10,160);
471 chainCosmic->Draw("Orig0.fTPCncls:sqrt(x00^2+x01^2)>>hNd",cutOx+cutOz+cutIx+cutIz);
473 hNd_1->SetXTitle("DCA_{r} (cm)");
474 hNd_1->SetYTitle("Mean number of clusters");
475 gPad->SaveAs("pic/NCl_Radius.eps");
476 gPad->SaveAs("pic/NCl_Radius.gif");
477 gPad->SaveAs("pic/NCl_Radius.root");
485 TH2F * hdPtPt = new TH2F("hdPtPt","hdPtPt",20,0.5,30,100,-60,60);
486 TH2F * hsPtPt = new TH2F("hsPtPt","hsPtPt",20,0.5,30,200,-0,30);
487 TH2F * hdPtPtNoCor = new TH2F("hdPtPtNoCor","hdPtPtNoCor",20,0.5,30,100,-60,60);
488 TH2F * hdPtPtCor = new TH2F("hdPtPtCor","hdPtPtCor",20,0.5,30,200,-60,60);
492 v0.BinLogX(hdPtPtNoCor);
493 v0.BinLogX(hdPtPtCor);
495 chainCosmic->Draw("100*((Tr0.Pt()-Tr1.Pt())/meanPt)/sqrt(2.):meanPt>>hdPtPt","side>0"+cutAll+cutRun+cutS+cutN120,"");
496 chainCosmic->Draw("100*(sP4*meanPt)/sqrt(2.):meanPt>>hsPtPt","side>0"+cutAll+cutRun+cutS+cutN120,"");
497 if (bUseCorrection) chainCosmic->Draw("100*((dP4-corrP4)*meanPt)/sqrt(2.):meanPt>>hdPtPtCorr","side>0"+cutAll+cutRun+cutS+cutN120,"");
498 if (bUseCorrection) chainCosmic->Draw("100*(dP4*meanPt)/sqrt(2.):meanPt>>hdPtPtNoCorr","side>0"+cutAll+cutRun+cutS+cutN120,"");
499 hdPtPt->FitSlicesY();
500 hsPtPt->FitSlicesY();
501 hdPtPt_2->Fit("pol1");
502 {if (bUseCorrection){
503 hdPtPtNoCor->FitSlicesY();
504 hdPtPtCor->FitSlicesY();
507 hdPtPt_2->SetXTitle("p_{t} (GeV)");
508 hdPtPt_2->SetYTitle("#sigma_{p_{t}}/p_{t} (%)");
509 hdPtPt_2->SetMinimum(0.5);
510 hsPtPt_1->SetMinimum(0.5);
511 hdPtPt_2->SetLineColor(kmicolors[1]);
512 hdPtPt_2->SetMarkerStyle(kmimarkers[1]);
515 {if (bUseCorrection){
516 hdPtPtNoCor_2->Draw("same");
517 hdPtPtCor_2->Draw("same");
519 gPad->SaveAs("picPerformance/SigmaPt_pt.gif");
520 gPad->SaveAs("picPerformance/SigmaPt_pt.eps");
521 gPad->SaveAs("picPerformance/SigmaPt_pt.root");
522 hsPtPt_1->SetLineColor(kmicolors[2]);
523 hsPtPt_1->SetMarkerStyle(kmimarkers[2]);
524 hsPtPt_1->Draw("same");
525 gPad->SaveAs("picPerformance/SigmaPt_ptLimit.gif");
526 gPad->SaveAs("picPerformance/SigmaPt_ptLimit.eps");
527 gPad->SaveAs("picPerformance/SigmaPt_ptLimit.root");
539 TH2F * hdP4Ncl= new TH2F("hdp4Ncl","hdp4Ncl",5,80,160,100,-0.1,0.1);
540 chainCosmic->Draw("(dP4-corrP4)/sqrt(2.):min(Orig0.fTPCncls,Orig1.fTPCncls)>>hdp4Ncl","side>0"+cuthpt+cutRun+cutS,"");
541 hdp4Ncl->FitSlicesY();
542 hdp4Ncl_2->SetXTitle("Number of clusters");
543 hdp4Ncl_2->SetYTitle("#sigma 1/p_{t} (1/GeV)");
545 gPad->SaveAs("pic/SigmaP4_N.gif");
546 gPad->SaveAs("pic/SigmaP4_N.eps");
547 gPad->SaveAs("pic/SigmaP4_N.root");
551 TH2F * hdP4PullNcl = new TH2F("hdP4PullNcl","hdP4PullNcl",5,80,160,100,-6.1,6.1);
552 chainCosmic->Draw("(Tr1.fP[4]+Tr0.fP[4])/sqrt(Tr1.fC[14]+Tr0.fC[14]):min(Orig0.fTPCncls,Orig1.fTPCncls)>>hdP4PullNcl","side>0"+cuthpt+cutRun+cutS,"");
553 hdP4PullNcl->FitSlicesY();
554 hdP4PullNcl_2->SetXTitle("Number of clusters");
555 hdP4PullNcl_2->SetYTitle("#sigma 1/p_{t} (Unit)");
556 hdP4PullNcl_2->Draw();
557 gPad->SaveAs("pic/PullP4_N.gif");
558 gPad->SaveAs("pic/PullP4_N.eps");
559 gPad->SaveAs("pic/PullP4_N.root");
566 TH2F hratioPt("hratioPt","hratioPt",10,0,10,100,0.6,1.4);
567 chainCosmic->Draw("Seed0.CookdEdxNorm(0.01,0.65,1,0,159,0,kFALSE)/(0.3091*Seed0.CookdEdxNorm(0.01,0.65,0,0,159,0,kFALSE)):sqrt(Tr0.P())>>hratioPt","min(Orig0.fTPCncls,Orig1.fTPCncls)>60&&abs(mag)>0.1&&abs(Tr0.fP[3])>0.03","",10000000);
571 hratioPt->FitSlicesY();
572 TH2F hratioP3("hratioP3","hratioP3",10,0.0,0.6,100,0.6,1.4);
573 chainCosmic->Draw("Seed0.CookdEdxNorm(0.01,0.65,1,0,159,0,kFALSE)/(0.3091*Seed0.CookdEdxNorm(0.01,0.65,0,0,159,0,kFALSE)):abs(Tr0.fP[3])>>hratioP3","min(Orig0.fTPCncls,Orig1.fTPCncls)>60&&abs(mag)>0.1&&abs(Tr0.fP[3])>0.03","",10000000);
579 ///////////////////////////////////////////////////////////////////////////
583 // RESOLUTION as function of 1/pt
587 ///////////////////////////////////////////////////////////////////////////
591 // P0 - Y -DCA resolution as function of the 1/pt
593 TH2F * hdP01Pt = new TH2F("hdP01Pt","hdP01Pt",6,0,1.0,100,-1.05,1.05);
594 TH2F * hdP01PtNoCor = new TH2F("hdP01PtNoCor","hdP01PtNoCor",6,0,1.0,100,-1.05,1.05);
595 chainCosmic->Draw("(dP0-corrP0)/sqrt(2.):sqrt(1/meanPt)>>hdP01Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
596 chainCosmic->Draw("(dP0-0)/sqrt(2.):sqrt(1/meanPt)>>hdP01PtNoCor","side>0"+cutAll+cutRun+cutS+cutN120,"");
597 hdP01Pt->FitSlicesY();
598 hdP01PtNoCor->FitSlicesY();
599 TH2F * hsP01Pt = new TH2F("hsP01Pt","hsP01Pt",6,0,1.0,100,-0.05,0.5);
600 chainCosmic->Draw("(sP0)/sqrt(2.):sqrt(1/meanPt)>>hsP01Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
601 TH1 *hsP01Pt_2 = hsP01Pt->ProfileX();
603 hdP01Pt_2->SetMinimum(0);
604 hdP01Pt_2->SetXTitle("#sqrt{1/p_{t} (1/GeV)}");
605 hdP01Pt_2->SetYTitle("#sigma_{y} (cm)");
606 hdP01Pt_2->SetMarkerStyle(kmimarkers[0]);
607 hsP01Pt_2->SetMarkerStyle(kmimarkers[2]);
608 hdP01PtNoCor_2->SetMarkerStyle(kmimarkers[1]);
610 hsP01Pt_2->Draw("same");
611 hdP01PtNoCor_2->Draw("same");
613 gPad->SaveAs("picPerformance/SigmaP0_1pt.gif");
614 gPad->SaveAs("picPerformance/SigmaP0_1pt.eps");
615 gPad->SaveAs("picPerformance/SigmaP0_1pt.root");
617 TH2F * hPullP01Pt = new TH2F("hhPullP01Pt","hhPullP01Pt",6,0,1,50,-5.05,5.05);
618 TH2F * hncPullP01Pt = new TH2F("hhncPullP01Pt","hhncPullP01Pt",6,0,1,50,-5.05,5.05);
619 chainCosmic->Draw("(dP0-corrP0)/sP0:sqrt(1/meanPt)>>hhPullP01Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
620 chainCosmic->Draw("(dP0-0)/sP0:sqrt(1/meanPt)>>hhncPullP01Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
621 hPullP01Pt->FitSlicesY();
622 hncPullP01Pt->FitSlicesY();
623 hhPullP01Pt_2->SetMarkerStyle(kmimarkers[0]);
624 hhncPullP01Pt_2->SetMarkerStyle(kmimarkers[1]);
625 hhPullP01Pt_2->SetMinimum(0);
626 hhPullP01Pt_2->SetXTitle("#sqrt{1/p_{t} (1/GeV)}");
627 hhPullP01Pt_2->SetYTitle("#sigma_{y}(Unit) ");
628 hhPullP01Pt_2->Draw();
629 //hhncPullP01Pt_2->Draw("same");
630 gPad->SaveAs("picPerformance/PullP0_1pt.gif");
631 gPad->SaveAs("picPerformance/PullP0_1pt.eps");
632 gPad->SaveAs("picPerformance/PullP0_1pt.root");
639 // P1 - Z -DCA resolution as function of the 1/pt
641 TH2F * hdP11Pt = new TH2F("hdP11Pt","hdP11Pt",6,0,1.0,100,-1.05,1.05);
642 TH2F * hdP11PtNoCor = new TH2F("hdP11PtNoCor","hdP11PtNoCor",6,0,1.0,100,-1.05,1.05);
643 chainCosmic->Draw("(dP1-corrP1)/sqrt(2.):sqrt(1/meanPt)>>hdP11Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
644 chainCosmic->Draw("(dP1-0)/sqrt(2.):sqrt(1/meanPt)>>hdP11PtNoCor","side>0"+cutAll+cutRun+cutS+cutN120,"");
645 hdP11Pt->FitSlicesY();
646 hdP11PtNoCor->FitSlicesY();
647 hdP11Pt_2->SetMinimum(0);
648 hdP11Pt_2->SetXTitle("#sqrt{1/p_{t} (1/GeV)}");
649 hdP11Pt_2->SetYTitle("#sigma_{z} (cm)");
650 hdP11Pt_2->SetMarkerStyle(kmimarkers[0]);
651 hdP11PtNoCor_2->SetMarkerStyle(kmimarkers[1]);
652 hdP11Pt_2NoCor->Draw();
653 // hdP11PtNoCor_2->Draw("same");
654 gPad->SaveAs("picPerformance/SigmaP1_1pt.gif");
655 gPad->SaveAs("picPerformance/SigmaP1_1pt.eps");
656 gPad->SaveAs("picPerformance/SigmaP1_1pt.root");
659 TH2F * hPullP11Pt = new TH2F("hhPullP11Pt","hhPullP11Pt",6,0,1,50,-5.05,5.05);
660 TH2F * hncPullP11Pt = new TH2F("hhncPullP11Pt","hhncPullP11Pt",6,0,1,50,-5.05,5.05);
661 chainCosmic->Draw("(dP1-corrP1)/sP1:sqrt(1/meanPt)>>hhPullP11Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
662 chainCosmic->Draw("(dP1-0)/sP1:sqrt(1/meanPt)>>hhncPullP11Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
663 hPullP11Pt->FitSlicesY();
664 hncPullP11Pt->FitSlicesY();
665 hhPullP11Pt_2->SetMarkerStyle(kmimarkers[0]);
666 hhncPullP11Pt_2->SetMarkerStyle(kmimarkers[1]);
667 hhPullP11Pt_2->SetMinimum(0);
668 hhPullP11Pt_2->SetXTitle("#sqrt{1/p_{t} (1/GeV)}");
669 hhPullP11Pt_2->SetYTitle("#sigma_{z}(Unit) ");
670 hhPullP11Pt_2NoCor->Draw();
671 //hhncPullP11Pt_2->Draw("same");
672 gPad->SaveAs("picPerformance/PullP1_1pt.gif");
673 gPad->SaveAs("picPerformance/PullP1_1pt.eps");
674 gPad->SaveAs("picPerformance/PullP1_1pt.root");
679 // P2 - Z -DCA resolution as function of the 1/pt
681 TH2F * hdP21Pt = new TH2F("hdP21Pt","hdP21Pt",6,0,1.0,100,-20.05,20.05);
682 TH2F * hdP21PtNoCor = new TH2F("hdP21PtNoCor","hdP21PtNoCor",6,0,1.0,100,-20.05,20.05);
683 chainCosmic->Draw("1000*(dP2-corrP2)/sqrt(2.):sqrt(1/meanPt)>>hdP21Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
684 chainCosmic->Draw("1000*(dP2-0)/sqrt(2.):sqrt(1/meanPt)>>hdP21PtNoCor","side>0"+cutAll+cutRun+cutS+cutN120,"");
685 hdP21Pt->FitSlicesY();
686 hdP21PtNoCor->FitSlicesY();
687 hdP21Pt_2->SetMinimum(0);
688 hdP21Pt_2->SetXTitle("#sqrt{1/p_{t} (1/GeV)}");
689 hdP21Pt_2->SetYTitle("#sigma_{#Phi} (mrad)");
690 hdP21Pt_2->SetMarkerStyle(kmimarkers[0]);
691 hdP21PtNoCor_2->SetMarkerStyle(kmimarkers[1]);
692 hdP21Pt_2NoCor->Draw();
693 // hdP21PtNoCor_2->Draw("same");
694 gPad->SaveAs("picPerformance/SigmaP2_1pt.gif");
695 gPad->SaveAs("picPerformance/SigmaP2_1pt.eps");
696 gPad->SaveAs("picPerformance/SigmaP2_1pt.root");
699 TH2F * hPullP21Pt = new TH2F("hhPullP21Pt","hhPullP21Pt",6,0,1,50,-5.05,5.05);
700 TH2F * hncPullP21Pt = new TH2F("hhncPullP21Pt","hhncPullP21Pt",6,0,1,50,-5.05,5.05);
701 chainCosmic->Draw("(dP2-corrP2)/sP2:sqrt(1/meanPt)>>hhPullP21Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
702 chainCosmic->Draw("(dP2-0)/sP2:sqrt(1/meanPt)>>hhncPullP21Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
703 hPullP21Pt->FitSlicesY();
704 hncPullP21Pt->FitSlicesY();
705 hhPullP21Pt_2->SetMarkerStyle(kmimarkers[0]);
706 hhncPullP21Pt_2->SetMarkerStyle(kmimarkers[1]);
707 hhPullP21Pt_2->SetMinimum(0);
708 hhPullP21Pt_2->SetXTitle("#sqrt{1/p_{t} (1/GeV)}");
709 hhPullP21Pt_2->SetYTitle("#sigma_{#Phi}(Unit) ");
710 hhPullP21Pt_2NoCor->Draw();
711 //hhncPullP21Pt_2->Draw("same");
712 gPad->SaveAs("picPerformance/PullP2_1pt.gif");
713 gPad->SaveAs("picPerformance/PullP2_1pt.eps");
714 gPad->SaveAs("picPerformance/PullP2_1pt.root");
719 // P3 - Z -DCA resolution as function of the 1/pt
721 TH2F * hdP31Pt = new TH2F("hdP31Pt","hdP31Pt",6,0,1.0,100,-5.05,5.05);
722 TH2F * hdP31PtNoCor = new TH2F("hdP31PtNoCor","hdP31PtNoCor",6,0,1.0,100,-5.05,5.05);
723 chainCosmic->Draw("1000*(dP3-corrP3)/sqrt(2.):sqrt(1/meanPt)>>hdP31Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
724 chainCosmic->Draw("1000*(dP3-0)/sqrt(2.):sqrt(1/meanPt)>>hdP31PtNoCor","side>0"+cutAll+cutRun+cutS+cutN120,"");
725 hdP31Pt->FitSlicesY();
726 hdP31PtNoCor->FitSlicesY();
727 hdP31Pt_2->SetMinimum(0);
728 hdP31Pt_2->SetXTitle("#sqrt{1/p_{t} (1/GeV)}");
729 hdP31Pt_2->SetYTitle("#sigma_{#Theta} (mrad)");
730 hdP31Pt_2->SetMarkerStyle(kmimarkers[0]);
731 hdP31PtNoCor_2->SetMarkerStyle(kmimarkers[1]);
732 hdP31Pt_2NoCor->Draw();
733 // hdP31PtNoCor_2->Draw("same");
734 gPad->SaveAs("picPerformance/SigmaP3_1pt.gif");
735 gPad->SaveAs("picPerformance/SigmaP3_1pt.eps");
736 gPad->SaveAs("picPerformance/SigmaP3_1pt.root");
739 TH2F * hPullP31Pt = new TH2F("hhPullP31Pt","hhPullP31Pt",6,0,1,50,-5.05,5.05);
740 TH2F * hncPullP31Pt = new TH2F("hhncPullP31Pt","hhncPullP31Pt",6,0,1,50,-5.05,5.05);
741 chainCosmic->Draw("(dP3-corrP3)/sP3:sqrt(1/meanPt)>>hhPullP31Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
742 chainCosmic->Draw("(dP3-0)/sP3:sqrt(1/meanPt)>>hhncPullP31Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
743 hPullP31Pt->FitSlicesY();
744 hncPullP31Pt->FitSlicesY();
745 hhPullP31Pt_2->SetMarkerStyle(kmimarkers[0]);
746 hhncPullP31Pt_2->SetMarkerStyle(kmimarkers[1]);
747 hhPullP31Pt_2->SetMinimum(0);
748 hhPullP31Pt_2->SetXTitle("#sqrt{1/p_{t} (1/GeV)}");
749 hhPullP31Pt_2->SetYTitle("#sigma_{#Theta}(Unit) ");
750 hhPullP31Pt_2NoCor->Draw();
751 //hhncPullP31Pt_2->Draw("same");
752 gPad->SaveAs("picPerformance/PullP3_1pt.gif");
753 gPad->SaveAs("picPerformance/PullP3_1pt.eps");
754 gPad->SaveAs("picPerformance/PullP3_1pt.root");
764 // P4 - 1/Pt resolution as function of the 1/pt
766 TH2F * hdP41Pt = new TH2F("hdP41Pt","hdP41Pt",6,0,1.0,100,-0.05,0.05);
767 TH2F * hdP41PtNoCor = new TH2F("hdP41PtNoCor","hdP41PtNoCor",6,0,1.0,100,-0.05,0.05);
768 chainCosmic->Draw("(dP4-corrP4)/sqrt(2.):sqrt(1/meanPt)>>hdP41Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
769 chainCosmic->Draw("(dP4-0)/sqrt(2.):sqrt(1/meanPt)>>hdP41PtNoCor","side>0"+cutAll+cutRun+cutS+cutN120,"");
770 hdP41Pt->FitSlicesY();
771 hdP41PtNoCor->FitSlicesY();
772 hdP41Pt_2->SetMinimum(0);
773 hdP41Pt_2->SetXTitle("#sqrt{1/p_{t} (1/GeV)}");
774 hdP41Pt_2->SetYTitle("#sigma_{1/pt} (1/GeV)");
775 hdP41Pt_2->SetMarkerStyle(kmimarkers[0]);
776 hdP41PtNoCor_2->SetMarkerStyle(kmimarkers[1]);
777 hdP41Pt_2NoCor->Draw();
778 //hdP41PtNoCor_2->Draw("same");
779 gPad->SaveAs("picPerformance/SigmaP4_1pt.gif");
780 gPad->SaveAs("picPerformance/SigmaP4_1pt.eps");
781 gPad->SaveAs("picPerformance/SigmaP4_1pt.root");
784 TH2F * hPullP41Pt = new TH2F("hhPullP41Pt","hhPullP41Pt",6,0,1,50,-5.05,5.05);
785 TH2F * hncPullP41Pt = new TH2F("hhncPullP41Pt","hhncPullP41Pt",6,0,1,50,-5.05,5.05);
786 chainCosmic->Draw("(dP4-corrP4)/sP4:sqrt(1/meanPt)>>hhPullP41Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
787 chainCosmic->Draw("(dP4-0)/sP4:sqrt(1/meanPt)>>hhncPullP41Pt","side>0"+cutAll+cutRun+cutS+cutN120,"");
788 hPullP41Pt->FitSlicesY();
789 hncPullP41Pt->FitSlicesY();
790 hhPullP41Pt_2->SetMarkerStyle(kmimarkers[0]);
791 hhncPullP41Pt_2->SetMarkerStyle(kmimarkers[1]);
792 hhPullP41Pt_2->SetMinimum(0);
793 hhPullP41Pt_2->SetXTitle("#sqrt{1/p_{t}} (1/GeV)}");
794 hhPullP41Pt_2->SetYTitle("#sigma_{1/pt} (Unit) ");
795 hhPullP41Pt_2NoCor->Draw();
796 //hhncPullP41Pt_2->Draw("same");
797 gPad->SaveAs("picPerformance/PullP4_1pt.gif");
798 gPad->SaveAs("picPerformance/PullP4_1pt.eps");
799 gPad->SaveAs("picPerformance/PullP4_1pt.root");
802 //////////////////////////////////////////////////////
805 // RESOLUTION as function of Z
808 //////////////////////////////////////////////////////
814 TH2F * hdP0Z = new TH2F("hdP0Z","hdP0Z",10,-250,250,100,-3.05,3.05);
815 TH2F * hdP0ZNoCor = new TH2F("hdP0ZNoCor","hdP0ZNoCor",10,-250,250,100,-3.05,3.05);
816 chainCosmic->Draw("(dP0-corrP0)/sqrt(2.):x02>>hdP0Z",cutAll+cutRun+cutS+cutN120,"");
817 chainCosmic->Draw("(dP0-0)/sqrt(2.):x02>>hdP0ZNoCor",cutAll+cutRun+cutS+cutN120,"");
819 hdP0ZNoCor->FitSlicesY();
821 TH2F * hsP0Z = new TH2F("hsP0Z","hsP0Z",10,-250,250,200,0.0,2);
822 chainCosmic->Draw("(sP0)/sqrt(2.):x02>>hsP0Z",cutAll+cutRun+cutS+cutN120,"");
823 TH1 * hsP0Z_2 = hsP0Z->ProfileX();
826 hdP0Z_2->SetMinimum(0);
827 hdP0Z_2->SetXTitle("Z position (cm)");
828 hdP0Z_2->SetYTitle("#sigma_{y} (cm)");
829 hdP0Z_2->SetMarkerStyle(kmimarkers[0]);
830 hdP0ZNoCor_2->SetMarkerStyle(kmimarkers[1]);
832 hsP0Z_2->Draw("same");
833 hdP0ZNoCor_2->Draw("same");
835 gPad->SaveAs("picPerformance/SigmaP0_z.gif");
836 gPad->SaveAs("picPerformance/SigmaP0_z.eps");
837 gPad->SaveAs("picPerformance/SigmaP0_z.root");
839 TH2F * hdPP0Z = new TH2F("hdPP0Z","hdPP0Z",8,-200,200,50,-5.05,5.05);
840 TH2F * hncdPP0Z = new TH2F("hncdPP0Z","hncdPP0Z",8,-200,200,50,-5.05,5.05);
841 chainCosmic->Draw("(dP0-corrP0)/sP0:x02>>hdPP0Z",cutAll+cutRun+cutS+cutN120,"");
842 chainCosmic->Draw("(dP0-0)/sP0:x02>>hncdPP0Z",cutAll+cutRun+cutS+cutN120,"");
843 hdPP0Z->FitSlicesY();
844 hncdPP0Z->FitSlicesY();
845 hdPP0Z_2->SetMarkerStyle(kmimarkers[0]);
846 hncdPP0Z_2->SetMarkerStyle(kmimarkers[1]);
847 hdPP0Z_2->SetMinimum(0);
848 hdPP0Z_2->SetXTitle("Z position (cm)");
849 hdPP0Z_2->SetYTitle("#sigma_{y}(Unit) ");
851 hncdPP0Z_2->Draw("same");
852 gPad->SaveAs("picPerformance/PullP0_z.gif");
853 gPad->SaveAs("picPerformance/PullP0_z.eps");
854 gPad->SaveAs("picPerformance/PullP0_z.root");
861 TH2F *hdP1Z = new TH2F("hdP1Z","hdP1Z",10,-250,250,100,-1.05,1.05);
862 TH2F *hdP1ZNoCor=new TH2F("hdP1ZNoCor","hdP1ZNoCor",10,-250,250,100,-1.05,1.05);
863 chainCosmic->Draw("(dP1-corrP1)/sqrt(2.):x02>>hdP1Z",cutAll+cutRun+cutS+cutN120,"");
864 chainCosmic->Draw("(dP1-0)/sqrt(2.):x02>>hdP1ZNoCor",cutAll+cutRun+cutS+cutN120,"");
865 TH2F * hsP1Z = new TH2F("hsP1Z","hsP1Z",10,-250,250,200,0.0,1);
866 chainCosmic->Draw("(sP1)/sqrt(2.):x02>>hsP1Z",cutAll+cutRun+cutS+cutN120,"");
867 TH1 * hsP1Z_2 = hsP1Z->ProfileX();
870 hdP1ZNoCor->FitSlicesY();
871 hdP1Z_2->SetMinimum(0);
872 hdP1Z_2->SetXTitle("Z position (cm)");
873 hdP1Z_2->SetYTitle("#sigma_{z} (cm)");
874 hdP1Z_2->SetMarkerStyle(kmimarkers[0]);
875 hsP1Z_2->SetMarkerStyle(kmimarkers[2]);
876 hdP1ZNoCor_2->SetMarkerStyle(kmimarkers[1]);
878 hdP1ZNoCor_2->SetMinimum(0);
880 hdP1ZNoCor_2->Draw("same");
881 hsP1Z_2->Draw("same");
883 gPad->SaveAs("picPerformance/SigmaP1_z.gif");
884 gPad->SaveAs("picPerformance/SigmaP1_z.eps");
885 gPad->SaveAs("picPerformance/SigmaP1_z.root");
887 TH2F * hdPP1Z = new TH2F("hdPP1Z","hdPP1Z",8,-200,200,50,-5.05,5.05);
888 TH2F * hncdPP1Z = new TH2F("hncdPP1Z","hncdPP1Z",8,-200,200,50,-5.05,5.05);
889 chainCosmic->Draw("(dP1-corrP1)/sP1:x02>>hdPP1Z",cutAll+cutRun+cutS+cutN120,"");
890 chainCosmic->Draw("(dP1-0)/sP1:x02>>hncdPP1Z",cutAll+cutRun+cutS+cutN120,"");
891 hdPP1Z->FitSlicesY();
892 hncdPP1Z->FitSlicesY();
893 hdPP1Z_2->SetMarkerStyle(kmimarkers[0]);
894 hncdPP1Z_2->SetMarkerStyle(kmimarkers[1]);
895 hdPP1Z_2->SetMinimum(0);
896 hncdPP1Z_2->SetMinimum(0);
897 hncdPP1Z_2->SetXTitle("Z position (cm)");
898 hncdPP1Z_2->SetYTitle("#sigma_{z} (Unit) ");
899 hncdPP1Z_2->Draw("");
901 gPad->SaveAs("picPerformance/PullP1_z.gif");
902 gPad->SaveAs("picPerformance/PullP1_z.eps");
903 gPad->SaveAs("picPerformance/PullP1_z.root");
911 TH2F * hdP2Z = new TH2F("hdP2Z","hdP2Z",10,-250,250,50,-20.0,20.0);
912 chainCosmic->Draw("1000*(dP2-corrP2)/sqrt(2.):x02>>hdP2Z",cutAll+cutRun+cutS+cutN120,"");
914 hdP2Z_2->SetXTitle("Z position (cm)");
915 hdP2Z_2->SetYTitle("#sigma_{#phi} (mrad)");
917 gPad->SaveAs("picPerformance/SigmaP2_z.gif");
918 gPad->SaveAs("picPerformance/SigmaP2_z.eps");
919 gPad->SaveAs("picPerformance/SigmaP2_z.root");
922 TH2F * hdPP2Z = new TH2F("hdPP2Z","hdPP2Z",8,-200,200,50,-5.05,5.05);
923 chainCosmic->Draw("(dP2-corrP2)/sP2:x02>>hdPP2Z",cutAll+cutRun+cutS+cutN120,"");
924 hdPP2Z->FitSlicesY();
925 hdPP2Z_2->SetXTitle("Z position (cm)");
926 hdPP2Z_2->SetYTitle("#sigma_{#Phi} (Unit) ");
928 gPad->SaveAs("picPerformance/PullP2_z.gif");
929 gPad->SaveAs("picPerformance/PullP2_z.eps");
930 gPad->SaveAs("picPerformance/PullP2_z.root");
938 TH2F * hdP3Z= new TH2F("hdP3Z","hdP3Z",10,-250,250,50,-5,5);
939 chainCosmic->Draw("1000*(dP3-corrP3)/sqrt(2.):x02>>hdP3Z",cutAll+cutRun+cutS+cutN120,"");
941 hdP3Z_2->SetMinimum(0);
942 hdP3Z_2->SetXTitle("Z position (cm)");
943 hdP3Z_2->SetYTitle("#sigma_{#Theta} (mrad)");
945 gPad->SaveAs("picPerformance/SigmaP3_z.gif");
946 gPad->SaveAs("picPerformance/SigmaP3_z.eps");
947 gPad->SaveAs("picPerformance/SigmaP3_z.root");
949 TH2F * hdPP3Z= new TH2F("hdPP3Z","hdPP3Z",8,-200,200,50,-5.05,5.05);
950 chainCosmic->Draw("(dP3-corrP3)/sP3:x02>>hdPP3Z",cutAll+cutRun+cutS+cutN120,"");
951 hdPP3Z->FitSlicesY();
952 hdPP3Z->SetMinimum(0);
953 hdPP3Z_2->SetXTitle("Z position (cm)");
954 hdPP3Z_2->SetYTitle("#sigma_{#Theta} (Unit) ");
957 gPad->SaveAs("picPerformance/PullP3_z.gif");
958 gPad->SaveAs("picPerformance/PullP3_z.eps");
959 gPad->SaveAs("picPerformance/PullP3_z.root");
968 TH2F *hdP4Z = new TH2F("hdP4Z","hdP4Z",10,-250,250,100,-0.05,0.05);
969 TH2F *hdP4ZNoCor=new TH2F("hdP4ZNoCor","hdP4ZNoCor",10,-250,250,100,-0.05,0.05);
970 chainCosmic->Draw("(dP4-corrP4)/sqrt(2.):x02>>hdP4Z",cutAll+cutRun+cutS+cutN120,"");
971 chainCosmic->Draw("(dP4-0)/sqrt(2.):x02>>hdP4ZNoCor",cutAll+cutRun+cutS+cutN120,"");
973 hdP4ZNoCor->FitSlicesY();
974 hdP4Z_2->SetMinimum(0);
975 hdP4Z_2->SetXTitle("Z position (cm)");
976 hdP4Z_2->SetYTitle("#sigma_{1/pt} (1/GeV)");
977 hdP4Z_2->SetMarkerStyle(kmimarkers[0]);
978 hdP4ZNoCor_2->SetMarkerStyle(kmimarkers[1]);
980 //hdP4ZNoCor_2->Draw("same");
981 gPad->SaveAs("picPerformance/SigmaP4_z.gif");
982 gPad->SaveAs("picPerformance/SigmaP4_z.eps");
983 gPad->SaveAs("picPerformance/SigmaP4_z.root");
985 TH2F * hdPP4Z = new TH2F("hdPP4Z","hdPP4Z",8,-200,200,50,-5.05,5.05);
986 TH2F * hncdPP4Z = new TH2F("hncdPP4Z","hncdPP4Z",8,-200,200,50,-5.05,5.05);
987 chainCosmic->Draw("(dP4-corrP4)/sP4:x02>>hdPP4Z",cutAll+cutRun+cutS+cutN120,"");
988 chainCosmic->Draw("(dP4-0)/sP4:x02>>hncdPP4Z",cutAll+cutRun+cutS+cutN120,"");
989 hdPP4Z->FitSlicesY();
990 hncdPP4Z->FitSlicesY();
991 hdPP4Z_2->SetMarkerStyle(kmimarkers[0]);
992 hncdPP4Z_2->SetMarkerStyle(kmimarkers[1]);
993 hdPP4Z_2->SetMinimum(0);
994 hdPP4Z_2->SetXTitle("Z position (cm)");
995 hdPP4Z_2->SetYTitle("#sigma_{1/pt} (Unit) ");
997 //hncdPP4Z_2->Draw("same");
998 gPad->SaveAs("picPerformance/PullP4_z.gif");
999 gPad->SaveAs("picPerformance/PullP4_z.eps");
1000 gPad->SaveAs("picPerformance/PullP4_z.root");