// Parametrisation histograms\r
// \r
\r
- f1Pt2Resol1PtTPC = new TH2F("f1Pt2Resol1PtTPC","(1/mcpt-1/pt)/(1+1/mcpt)^2 vs 1/pt)",100,0,10,200,-0.020,0.020); \r
+ f1Pt2Resol1PtTPC = new TH2F("f1Pt2Resol1PtTPC","(1/mcpt-1/pt)/(1+1/mcpt)^2 vs 1/pt)",100,0,10,200,-0.010,0.010); \r
f1Pt2Resol1PtTPC->SetXTitle("1/mcp_{t}");\r
f1Pt2Resol1PtTPC->SetYTitle("(1/mcp_{t}-1/p_{t})/(1+1/mcp_{t})^2)");\r
\r
- f1Pt2Resol1PtTPCITS = new TH2F("f1Pt2Resol1PtTPCITS","(1/mcpt-1/pt)/(1+1/mcpt)^2 vs 1/pt)",100,0,10,200,-0.020,0.020); \r
+ f1Pt2Resol1PtTPCITS = new TH2F("f1Pt2Resol1PtTPCITS","(1/mcpt-1/pt)/(1+1/mcpt)^2 vs 1/pt)",100,0,10,200,-0.010,0.010); \r
f1Pt2Resol1PtTPCITS->SetXTitle("1/mcp_{t}");\r
f1Pt2Resol1PtTPCITS->SetYTitle("(1/mcp_{t}-1/p_{t})/(1+1/mcp_{t})^2)");\r
\r
- fYResol1PtTPC = new TH2F("fYResol1PtTPC","fYResol1PtTPC",100, 0,10,200,-0.010,0.010); \r
+ fYResol1PtTPC = new TH2F("fYResol1PtTPC","fYResol1PtTPC",100, 0,10,200,-1.0,1.0); \r
fYResol1PtTPC->SetXTitle("1/mcpt");\r
fYResol1PtTPC->SetYTitle("#DeltaY");\r
\r
- fYResol1PtTPCITS = new TH2F("fYResol1PtTPCITS","fYResol1PtTPCITS",100, 0,10,200,-0.010,0.010); \r
+ fYResol1PtTPCITS = new TH2F("fYResol1PtTPCITS","fYResol1PtTPCITS",100, 0,10,200,-0.05,0.05); \r
fYResol1PtTPCITS->SetXTitle("1/mcpt");\r
fYResol1PtTPCITS->SetYTitle("#DeltaY");\r
\r
- fZResol1PtTPC = new TH2F("fZResol1PtTPC","fZResol1PtTPC",50, 0,10,200,-0.020,0.020); \r
+ fZResol1PtTPC = new TH2F("fZResol1PtTPC","fZResol1PtTPC",100, 0,10,200,-1.0,1.0); \r
fZResol1PtTPC->SetXTitle("1/mcpt");\r
fZResol1PtTPC->SetYTitle("#DeltaZ");\r
\r
- fZResol1PtTPCITS = new TH2F("fZResol1PtTPCITS","fZResol1PtTPCITS",50, 0,10,200,-0.020,0.020); \r
+ fZResol1PtTPCITS = new TH2F("fZResol1PtTPCITS","fZResol1PtTPCITS",100, 0,10,200,-0.05,0.05); \r
fZResol1PtTPCITS->SetXTitle("1/mcpt");\r
fZResol1PtTPCITS->SetYTitle("#DeltaZ");\r
\r
- fPhiResol1PtTPC = new TH2F("fPhiResol1PtTPC","fPhiResol1PtTPC",50, 0,10,200,-0.005,0.005); \r
+ fPhiResol1PtTPC = new TH2F("fPhiResol1PtTPC","fPhiResol1PtTPC",100, 0,10,200,-0.025,0.025); \r
fPhiResol1PtTPC->SetXTitle("1/mcpt");\r
fPhiResol1PtTPC->SetYTitle("#Delta#phi");\r
\r
- fPhiResol1PtTPCITS = new TH2F("fPhiResol1PtTPCITS","fPhiResol1PtTPCITS",50, 0,10,200,-0.005,0.005); \r
+ fPhiResol1PtTPCITS = new TH2F("fPhiResol1PtTPCITS","fPhiResol1PtTPCITS",100, 0,10,200,-0.01,0.01); \r
fPhiResol1PtTPCITS->SetXTitle("1/mcpt");\r
fPhiResol1PtTPCITS->SetYTitle("#Delta#phi");\r
\r
- fThetaResol1PtTPC = new TH2F("fThetaResol1PtTPC","fThetaResol1PtTPC",50, 0,10,200,-0.005,0.005); \r
+ fThetaResol1PtTPC = new TH2F("fThetaResol1PtTPC","fThetaResol1PtTPC",100, 0,10,200,-0.025,0.025); \r
fThetaResol1PtTPC->SetXTitle("1/mcpt");\r
fThetaResol1PtTPC->SetYTitle("#Delta#theta");\r
\r
- fThetaResol1PtTPCITS = new TH2F("fThetaResol1PtTPCITS","fThetaResol1PtTPCITS",50, 0,10,200,-0.005,0.005); \r
+ fThetaResol1PtTPCITS = new TH2F("fThetaResol1PtTPCITS","fThetaResol1PtTPCITS",100, 0,10,200,-0.01,0.01); \r
fThetaResol1PtTPCITS->SetXTitle("1/mcpt");\r
fThetaResol1PtTPCITS->SetYTitle("#Delta#theta");\r
\r
// constrained\r
- fC1Pt2Resol1PtTPC = new TH2F("fC1Pt2Resol1PtTPC","(1/mcpt-1/pt)/(1+1/mcpt)^2 vs 1/pt)",100,0,10,200,-0.020,0.020); \r
+ fC1Pt2Resol1PtTPC = new TH2F("fC1Pt2Resol1PtTPC","(1/mcpt-1/pt)/(1+1/mcpt)^2 vs 1/pt)",100,0,10,200,-0.010,0.010); \r
fC1Pt2Resol1PtTPC->SetXTitle("1/mcp_{t}");\r
fC1Pt2Resol1PtTPC->SetYTitle("(1/mcp_{t}-1/p_{t})/(1+1/mcp_{t})^2)");\r
\r
- fC1Pt2Resol1PtTPCITS = new TH2F("fC1Pt2Resol1PtTPCITS","(1/mcpt-1/pt)/(1+1/mcpt)^2 vs 1/pt)",100,0,10,200,-0.020,0.020); \r
+ fC1Pt2Resol1PtTPCITS = new TH2F("fC1Pt2Resol1PtTPCITS","(1/mcpt-1/pt)/(1+1/mcpt)^2 vs 1/pt)",100,0,10,200,-0.010,0.010); \r
fC1Pt2Resol1PtTPCITS->SetXTitle("1/mcp_{t}");\r
fC1Pt2Resol1PtTPCITS->SetYTitle("(1/mcp_{t}-1/p_{t})/(1+1/mcp_{t})^2)");\r
\r
- fCYResol1PtTPC = new TH2F("fCYResol1PtTPC","fCYResol1PtTPC",100, 0,10,200,-0.010,0.010); \r
+ fCYResol1PtTPC = new TH2F("fCYResol1PtTPC","fCYResol1PtTPC",100, 0,10,200,-1.0,1.0); \r
fCYResol1PtTPC->SetXTitle("1/mcpt");\r
fCYResol1PtTPC->SetYTitle("#DeltaY");\r
\r
- fCYResol1PtTPCITS = new TH2F("fCYResol1PtTPCITS","fCYResol1PtTPCITS",100, 0,10,200,-0.010,0.010); \r
+ fCYResol1PtTPCITS = new TH2F("fCYResol1PtTPCITS","fCYResol1PtTPCITS",100, 0,10,200,-0.05,0.05); \r
fCYResol1PtTPCITS->SetXTitle("1/mcpt");\r
fCYResol1PtTPCITS->SetYTitle("#DeltaY");\r
\r
- fCZResol1PtTPC = new TH2F("fCZResol1PtTPC","fCZResol1PtTPC",50, 0,10,200,-0.020,0.020); \r
+ fCZResol1PtTPC = new TH2F("fCZResol1PtTPC","fCZResol1PtTPC",100, 0,10,200,-1.0,1.0); \r
fCZResol1PtTPC->SetXTitle("1/mcpt");\r
fCZResol1PtTPC->SetYTitle("#DeltaZ");\r
\r
- fCZResol1PtTPCITS = new TH2F("fCZResol1PtTPCITS","fCZResol1PtTPCITS",50, 0,10,200,-0.020,0.020); \r
+ fCZResol1PtTPCITS = new TH2F("fCZResol1PtTPCITS","fCZResol1PtTPCITS",100, 0,10,200,-0.05,0.05); \r
fCZResol1PtTPCITS->SetXTitle("1/mcpt");\r
fCZResol1PtTPCITS->SetYTitle("#DeltaZ");\r
\r
- fCPhiResol1PtTPC = new TH2F("fCPhiResol1PtTPC","fCPhiResol1PtTPC",50, 0,10,200,-0.005,0.005); \r
+ fCPhiResol1PtTPC = new TH2F("fCPhiResol1PtTPC","fCPhiResol1PtTPC",100, 0,10,200,-0.025,0.025); \r
fCPhiResol1PtTPC->SetXTitle("1/mcpt");\r
fCPhiResol1PtTPC->SetYTitle("#Delta#phi");\r
\r
- fCPhiResol1PtTPCITS = new TH2F("fCPhiResol1PtTPCITS","fCPhiResol1PtTPCITS",50, 0,10,200,-0.005,0.005); \r
+ fCPhiResol1PtTPCITS = new TH2F("fCPhiResol1PtTPCITS","fCPhiResol1PtTPCITS",100, 0,10,200,-0.01,0.01); \r
fCPhiResol1PtTPCITS->SetXTitle("1/mcpt");\r
fCPhiResol1PtTPCITS->SetYTitle("#Delta#phi");\r
\r
- fCThetaResol1PtTPC = new TH2F("fCThetaResol1PtTPC","fCThetaResol1PtTPC",50, 0,10,200,-0.005,0.005); \r
+ fCThetaResol1PtTPC = new TH2F("fCThetaResol1PtTPC","fCThetaResol1PtTPC",100, 0,10,200,-0.025,0.025); \r
fCThetaResol1PtTPC->SetXTitle("1/mcpt");\r
fCThetaResol1PtTPC->SetYTitle("#Delta#theta");\r
\r
- fCThetaResol1PtTPCITS = new TH2F("fCThetaResol1PtTPCITS","fCThetaResol1PtTPCITS",50, 0,10,200,-0.005,0.005); \r
+ fCThetaResol1PtTPCITS = new TH2F("fCThetaResol1PtTPCITS","fCThetaResol1PtTPCITS",100, 0,10,200,-0.01,0.01); \r
fCThetaResol1PtTPCITS->SetXTitle("1/mcpt");\r
fCThetaResol1PtTPCITS->SetYTitle("#Delta#theta");\r
}\r
Int_t clusterITS[200];\r
Double_t dca[2], cov[3]; // dca_xy, dca_z, sigma_xy, sigma_xy_z, sigma_z\r
\r
+ Float_t deltaPt, pullPt, deltaPhi, deltaTan, delta1Pt2, deltaY1Pt, deltaZ1Pt, deltaPhi1Pt, deltaTheta1Pt; \r
+ Float_t deltaPtTPC, pullPtTPC, deltaPhiTPC, deltaTanTPC, delta1Pt2TPC, deltaY1PtTPC, deltaZ1PtTPC, deltaPhi1PtTPC, deltaTheta1PtTPC; \r
+\r
Float_t mcpt = infoMC->GetParticle().Pt();\r
\r
// distance to Prim. vertex \r
fVertex->SetYv( infoMC->GetParticle().Vy() - dv[1] );\r
fVertex->SetZv( infoMC->GetParticle().Vz() - dv[2] );\r
\r
- Float_t deltaPt= (mcpt-infoRC->GetESDtrack()->Pt())/mcpt; \r
- Float_t pullPt= (1/mcpt-infoRC->GetESDtrack()->OneOverPt())/TMath::Sqrt(infoRC->GetESDtrack()->GetSigma1Pt2()); \r
- Float_t deltaPhi = TMath::ATan2(infoRC->GetESDtrack()->Py(),infoRC->GetESDtrack()->Px())-\r
+ deltaPt= (mcpt-infoRC->GetESDtrack()->Pt())/mcpt; \r
+ pullPt= (1/mcpt-infoRC->GetESDtrack()->OneOverPt())/TMath::Sqrt(infoRC->GetESDtrack()->GetSigma1Pt2()); \r
+ deltaPhi = TMath::ATan2(infoRC->GetESDtrack()->Py(),infoRC->GetESDtrack()->Px())-\r
TMath::ATan2(infoMC->GetParticle().Py(),infoMC->GetParticle().Px());\r
\r
- Float_t deltaTan = TMath::ATan2(infoRC->GetESDtrack()->Pz(),infoRC->GetESDtrack()->Pt())-\r
+ deltaTan = TMath::ATan2(infoRC->GetESDtrack()->Pz(),infoRC->GetESDtrack()->Pt())-\r
TMath::ATan2(infoMC->GetParticle().Pz(),infoMC->GetParticle().Pt());\r
\r
- Float_t delta1Pt2 = (1/mcpt-infoRC->GetESDtrack()->OneOverPt())/TMath::Power(1+1/mcpt,2); \r
+ delta1Pt2 = (1/mcpt-infoRC->GetESDtrack()->OneOverPt())/TMath::Power(1+1/mcpt,2); \r
+ deltaY1Pt = (infoMC->GetParticle().Vy()-infoRC->GetESDtrack()->GetY()) / (0.2+1/mcpt);\r
+ deltaZ1Pt = (infoMC->GetParticle().Vz()-infoRC->GetESDtrack()->GetZ()) / (0.2+1/mcpt);\r
+ deltaPhi1Pt = deltaPhi / (0.1+1/mcpt);\r
+ deltaTheta1Pt = deltaTan / (0.1+1/mcpt);\r
+\r
+ //track parameters at the first measured point (TPC) \r
+ //Double_t param[5],x,alpha; // [0]-Y [cm],[1]-Z [cm],[2]-sin(phi),[3]-tan(theta),[4]-1/pt [1/GeV] \r
+ //infoRC->GetESDtrack()->GetInnerExternalParameters(alpha,x,param);\r
+ //const AliExternalTrackParam *innerTPC = infoRC->GetESDtrack()->GetInnerParam(); \r
+ //const AliExternalTrackParam *innerTPC = infoRC->GetESDtrack()->GetTPCInnerParam(); \r
\r
- Float_t deltaY1Pt = (infoMC->GetParticle().Vy()-infoRC->GetESDtrack()->GetY()) / (0.2+1/mcpt);\r
- Float_t deltaZ1Pt = (infoMC->GetParticle().Vz()-infoRC->GetESDtrack()->GetZ()) / (0.2+1/mcpt);\r
- Float_t deltaPhi1Pt = deltaPhi / (0.1+1/mcpt);\r
- Float_t deltaTheta1Pt = deltaTan / (0.1+1/mcpt);\r
\r
// calculate track parameters at vertex\r
- if (infoRC->GetESDtrack()->GetTPCInnerParam())\r
+ const AliExternalTrackParam *innerTPC = 0;\r
+ if ((innerTPC = infoRC->GetESDtrack()->GetTPCInnerParam()) != 0)\r
{\r
if ((track = new AliExternalTrackParam(*infoRC->GetESDtrack()->GetTPCInnerParam())) != 0 )\r
{\r
// Fill parametrisation histograms (only TPC track)\r
if(bStatus && bDCAStatus) \r
{\r
- f1Pt2Resol1PtTPC->Fill(1/mcpt,delta1Pt2);\r
- fYResol1PtTPC->Fill(1/mcpt,deltaY1Pt);\r
- fZResol1PtTPC->Fill(1/mcpt,deltaZ1Pt);\r
- fPhiResol1PtTPC->Fill(1/mcpt,deltaPhi1Pt);\r
- fThetaResol1PtTPC->Fill(1/mcpt,deltaTheta1Pt);\r
+ deltaPtTPC= (mcpt-innerTPC->Pt())/mcpt; \r
+ pullPtTPC= (1/mcpt-innerTPC->OneOverPt())/TMath::Sqrt(innerTPC->GetSigma1Pt2()); \r
+ deltaPhiTPC = TMath::ATan2(innerTPC->Py(),innerTPC->Px())-\r
+ TMath::ATan2(infoMC->GetParticle().Py(),infoMC->GetParticle().Px());\r
+\r
+ deltaTanTPC = TMath::ATan2(innerTPC->Pz(),innerTPC->Pt())-\r
+ TMath::ATan2(infoMC->GetParticle().Pz(),infoMC->GetParticle().Pt());\r
+\r
+ delta1Pt2TPC = (1/mcpt-innerTPC->OneOverPt())/TMath::Power(1+1/mcpt,2); \r
+ deltaY1PtTPC= (infoMC->GetParticle().Vy()-innerTPC->GetY()) / (0.2+1/mcpt);\r
+ deltaZ1PtTPC = (infoMC->GetParticle().Vz()-innerTPC->GetZ()) / (0.2+1/mcpt);\r
+ deltaPhi1PtTPC = deltaPhiTPC / (0.1+1/mcpt);\r
+ deltaTheta1PtTPC = deltaTanTPC / (0.1+1/mcpt);\r
+\r
+ f1Pt2Resol1PtTPC->Fill(1/mcpt,delta1Pt2TPC);\r
+ fYResol1PtTPC->Fill(1/mcpt,deltaY1PtTPC);\r
+ fZResol1PtTPC->Fill(1/mcpt,deltaZ1PtTPC);\r
+ fPhiResol1PtTPC->Fill(1/mcpt,deltaPhi1PtTPC);\r
+ fThetaResol1PtTPC->Fill(1/mcpt,deltaTheta1PtTPC);\r
}\r
delete track;\r
}\r
}\r
\r
- // TPC and ITS (nb. of clusters >2) in the system\r
+ // TPC and ITS (nb. of clusters >2) in the system\r
if(infoRC->GetESDtrack()->GetITSclusters(clusterITS)>2) \r
{\r
f1Pt2Resol1PtTPCITS->Fill(1/mcpt,delta1Pt2);\r
Int_t clusterITS[200];\r
Double_t dca[2], cov[3]; // dca_xy, dca_z, sigma_xy, sigma_xy_z, sigma_z\r
\r
+ Float_t deltaPt, pullPt, deltaPhi, pullPhi, deltaTan, pullTan, delta1Pt2, deltaY1Pt, deltaZ1Pt, deltaPhi1Pt, deltaTheta1Pt; \r
+ Float_t deltaPtTPC, pullPtTPC, deltaPhiTPC, deltaTanTPC, delta1Pt2TPC, deltaY1PtTPC, deltaZ1PtTPC, deltaPhi1PtTPC, deltaTheta1PtTPC; \r
+\r
Float_t mcpt = infoMC->GetParticle().Pt();\r
Float_t tantheta = TMath::Tan(infoMC->GetParticle().Theta()-TMath::Pi()*0.5);\r
\r
\r
// constrained parameters resolution\r
const AliExternalTrackParam * cparam = infoRC->GetESDtrack()->GetConstrainedParam();\r
- Float_t deltaPt= (mcpt-cparam->Pt())/mcpt; \r
- Float_t pullPt= (1/mcpt-cparam->OneOverPt())/TMath::Sqrt(cparam->GetSigma1Pt2()); \r
- Float_t deltaPhi = TMath::ATan2(cparam->Py(),cparam->Px())-\r
+ deltaPt= (mcpt-cparam->Pt())/mcpt; \r
+ pullPt= (1/mcpt-cparam->OneOverPt())/TMath::Sqrt(cparam->GetSigma1Pt2()); \r
+ deltaPhi = TMath::ATan2(cparam->Py(),cparam->Px())-\r
TMath::ATan2(infoMC->GetParticle().Py(),infoMC->GetParticle().Px());\r
- Float_t pullPhi = deltaPhi/TMath::Sqrt(cparam->GetSigmaSnp2()); \r
- Float_t deltaTan = TMath::ATan2(cparam->Pz(),cparam->Pt())-TMath::ATan2(infoMC->GetParticle().Pz(),infoMC->GetParticle().Pt());\r
- Float_t pullTan = deltaPhi/TMath::Sqrt(cparam->GetSigmaSnp2()); \r
+ pullPhi = deltaPhi/TMath::Sqrt(cparam->GetSigmaSnp2()); \r
+ deltaTan = TMath::ATan2(cparam->Pz(),cparam->Pt())-TMath::ATan2(infoMC->GetParticle().Pz(),infoMC->GetParticle().Pt());\r
+ pullTan = deltaPhi/TMath::Sqrt(cparam->GetSigmaSnp2()); \r
\r
\r
- Float_t delta1Pt2 = (1/mcpt-cparam->OneOverPt())/TMath::Power(1+1/mcpt,2); \r
+ delta1Pt2 = (1/mcpt-cparam->OneOverPt())/TMath::Power(1+1/mcpt,2); \r
\r
- Float_t deltaY1Pt = (infoMC->GetParticle().Vy()-cparam->GetY()) / (0.2+1/mcpt);\r
- Float_t deltaZ1Pt = (infoMC->GetParticle().Vz()-cparam->GetZ()) / (0.2+1/mcpt);\r
- Float_t deltaPhi1Pt = deltaPhi / (0.1+1/mcpt);\r
- Float_t deltaTheta1Pt = deltaTan / (0.1+1/mcpt);\r
+ deltaY1Pt = (infoMC->GetParticle().Vy()-cparam->GetY()) / (0.2+1/mcpt);\r
+ deltaZ1Pt = (infoMC->GetParticle().Vz()-cparam->GetZ()) / (0.2+1/mcpt);\r
+ deltaPhi1Pt = deltaPhi / (0.1+1/mcpt);\r
+ deltaTheta1Pt = deltaTan / (0.1+1/mcpt);\r
\r
// calculate track parameters at vertex\r
- if (infoRC->GetESDtrack()->GetTPCInnerParam())\r
+ const AliExternalTrackParam *innerTPC = 0;\r
+ if ((innerTPC = infoRC->GetESDtrack()->GetTPCInnerParam()) != 0)\r
{\r
if ((track = new AliExternalTrackParam(*infoRC->GetESDtrack()->GetTPCInnerParam())) != 0 )\r
{\r
// Fill parametrisation histograms (only TPC track)\r
if(bStatus && bDCAStatus) \r
{\r
- fC1Pt2Resol1PtTPC->Fill(1/mcpt,delta1Pt2);\r
- fCYResol1PtTPC->Fill(1/mcpt,deltaY1Pt);\r
- fCZResol1PtTPC->Fill(1/mcpt,deltaZ1Pt);\r
- fCPhiResol1PtTPC->Fill(1/mcpt,deltaPhi1Pt);\r
- fCThetaResol1PtTPC->Fill(1/mcpt,deltaTheta1Pt);\r
+ deltaPtTPC= (mcpt-innerTPC->Pt())/mcpt; \r
+ pullPtTPC= (1/mcpt-innerTPC->OneOverPt())/TMath::Sqrt(innerTPC->GetSigma1Pt2()); \r
+ deltaPhiTPC = TMath::ATan2(innerTPC->Py(),innerTPC->Px())-\r
+ TMath::ATan2(infoMC->GetParticle().Py(),infoMC->GetParticle().Px());\r
+\r
+ deltaTanTPC = TMath::ATan2(innerTPC->Pz(),innerTPC->Pt())-\r
+ TMath::ATan2(infoMC->GetParticle().Pz(),infoMC->GetParticle().Pt());\r
+\r
+ delta1Pt2TPC = (1/mcpt-innerTPC->OneOverPt())/TMath::Power(1+1/mcpt,2); \r
+ deltaY1PtTPC= (infoMC->GetParticle().Vy()-innerTPC->GetY()) / (0.2+1/mcpt);\r
+ deltaZ1PtTPC = (infoMC->GetParticle().Vz()-innerTPC->GetZ()) / (0.2+1/mcpt);\r
+ deltaPhi1PtTPC = deltaPhiTPC / (0.1+1/mcpt);\r
+ deltaTheta1PtTPC = deltaTanTPC / (0.1+1/mcpt);\r
+\r
+ fC1Pt2Resol1PtTPC->Fill(1/mcpt,delta1Pt2TPC);\r
+ fCYResol1PtTPC->Fill(1/mcpt,deltaY1PtTPC);\r
+ fCZResol1PtTPC->Fill(1/mcpt,deltaZ1PtTPC);\r
+ fCPhiResol1PtTPC->Fill(1/mcpt,deltaPhi1PtTPC);\r
+ fCThetaResol1PtTPC->Fill(1/mcpt,deltaTheta1PtTPC);\r
}\r
delete track;\r
}\r