X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSTrackV1.cxx;h=80ca853165beb0bf337780d90acadb375ca1d494;hb=d988bfb0b84da33dcc15fd8f1f4685981ea06489;hp=ec2291639f7dd3c8352595b245e9f46b3bd91c51;hpb=b7a35fb7726ad61aaa062556c9ea876f6631fed2;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSTrackV1.cxx b/ITS/AliITSTrackV1.cxx index ec2291639f7..80ca853165b 100644 --- a/ITS/AliITSTrackV1.cxx +++ b/ITS/AliITSTrackV1.cxx @@ -4,7 +4,7 @@ // The track is mainly caracterized by the state vector of elements (fX0, fX1, fX2, fX3, fX4) and the // corresponding covariance matrix of elements (C00, C10, ..... C44) that is triangular // -#include +#include #include #include #include @@ -12,7 +12,7 @@ #include "AliITSRad.h" #include "AliITSTrackV1.h" #include "AliGenerator.h" -#include "AliMagF.h" +//#include "AliMagF.h" ClassImp(AliITSTrackV1) @@ -21,31 +21,53 @@ AliITSTrackV1::AliITSTrackV1() { //Origin A. Badala' and G.S. Pappalardo: e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it // default constructor + fTPCtrack = 0; fC00=fC10=fC11=fC20=fC21=fC22=fC30=fC31=fC32=fC33=fC40=fC41=fC42=fC43=fC44=0.; - flistCluster = new TObjArray; + flistCluster = 0; + fNumClustInTrack =0; + fChi2=-1; + flabel =0; + fLayer = -1; + fClusterInTrack = 0; + frtrack=0.; + fnoclust=0; + fMass=0.13956995; //a pion by default + fFieldFactor = 0.0; + fdEdx = 0.; // oggi + Int_t ia=0; // oggi + for( ia=0; ia<4; ia++) fcor[ia]=0.; // oggi + +} +AliITSTrackV1::AliITSTrackV1(Double_t fieldfactor) { +//Origin A. Badala' and G.S. Pappalardo: e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it +// default constructor + + fTPCtrack = 0; + fC00=fC10=fC11=fC20=fC21=fC22=fC30=fC31=fC32=fC33=fC40=fC41=fC42=fC43=fC44=0.; + flistCluster = 0; fNumClustInTrack =0; fChi2=-1; flabel =0; fVertex.ResizeTo(3); fErrorVertex.ResizeTo(3); fLayer = -1; - fClusterInTrack = new TMatrix(6,9); - Int_t i,j; - //for(i=0; i<6; i++) (*fClusterInTrack)(i,6)=(*fClusterInTrack)(i,7)= - // (*fClusterInTrack)(i,8)=-1.; - for(i=0; i<6; i++){ - for(j=4; j<9; j++) (*fClusterInTrack)(i,j)=-1.; //modificata angela - } + fClusterInTrack = 0; frtrack=0.; fnoclust=0; fd2.ResizeTo(6); ftgl2.ResizeTo(6); fdtgl.ResizeTo(6); + fMass=0.13956995; //a pion by default + fdEdx = 0.; + Int_t ia=0; + for( ia=0; ia<4; ia++) fcor[ia]=0.; + //////////////////////////////////////// gets magnetic field factor //////////////////////////////// - AliMagF * fieldPointer = gAlice->Field(); - fFieldFactor = (Double_t)fieldPointer->Factor(); + // AliMagF * fieldPointer = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField()); + // fFieldFactor =(Double_t)fieldPointer-> SolenoidField()/10/.2; + fFieldFactor = fieldfactor; //cout<< " field factor = "<GetSize(); i++) flistCluster->AddLast(cobj.flistCluster->At(i)); } -AliITSTrackV1::AliITSTrackV1(AliTPCtrack &obj) +AliITSTrackV1::AliITSTrackV1(AliTPCtrack &obj, Double_t fieldfactor) { //Origin A. Badala' and G.S. Pappalardo: e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it // special constructor to convert a TPC track into an ITS track //////////////////////////////////////// gets magnetic field factor //////////////////////////////// - AliMagF * fieldPointer = gAlice->Field(); - fFieldFactor = (Double_t)fieldPointer->Factor(); - //cout<< " field factor = "<GetField()); + // fFieldFactor =(Double_t)fieldPointer-> SolenoidField()/10/.2; + fFieldFactor = fieldfactor; + // cout<< " field factor dentro alitrack = "<0.) phi=0.; - if(ym==0. && xm<0.) phi=pigre; - if(xm==0 && ym>0.) phi=pigre/2.; - if(xm==0 && ym<0.) phi=1.5*pigre; - } - else { - if (xm>0. && ym>0.) phi=TMath::ATan(ym/xm); - if (xm<0. && ym>0.) phi=pigre+TMath::ATan(ym/xm); - if (xm<0. && ym<0.) phi=pigre+TMath::ATan(ym/xm); - if (xm>0. && ym<0.) phi=(2*pigre)+TMath::ATan(ym/xm); - }; - if(phi<0. || phi>(2*pigre)) {cout<<"attention error on phi in AliITSTrackV1:LmTPC \n"; getchar();} - */ - Double_t phi=TMath::ATan2(ym,xm); if(phi<0) phi=2.*TMath::Pi()+phi; //nuova def phi + Double_t phi=TMath::ATan2(ym,xm); if(phi<0) phi=2.*TMath::Pi()+phi; fX0=phi; fX1=zm; @@ -285,12 +292,12 @@ void AliITSTrackV1::LmTPC() { dfidy=(xm*cosa+ym*sina)/(frtrack*frtrack); dDdy=signdd*((y0m-fVertex(1))*cosa-(x0m-fVertex(0))*sina)/dd; - Double_t dyodr=signy*(r+(xl-xo)*etaTPC)/TMath::Sqrt(r*r-(xl-xo)*(xl-xo)); + Double_t dyodr=signy*(r+(xl-xo)*etaTPC)/TMath::Sqrt((r-(xl-xo))*(r+(xl-xo))); Double_t dyomdr=sina*etaTPC+cosa*dyodr; Double_t dxomdr=cosa*etaTPC-sina*dyodr; Double_t ddddR=((x0m-fVertex(0))*dxomdr+(y0m-fVertex(1))*dyomdr)/dd; dDdC=-r*r*(signdd*ddddR-1.); - Double_t dyoldxol=signy*(xl-xo)/TMath::Sqrt(r*r-(xl-xo)*(xl-xo)); + Double_t dyoldxol=signy*(xl-xo)/TMath::Sqrt((r-(xl-xo))*(r+(xl-xo))); Double_t dxomdeta=r*(cosa-sina*dyoldxol); Double_t dyomdeta=r*(sina+cosa*dyoldxol); dDdeta=signdd*((x0m-fVertex(0))*dxomdeta+(y0m-fVertex(1))*dyomdeta)/dd; @@ -321,7 +328,6 @@ void AliITSTrackV1::LmTPC() { fC43=cov[13]; fC44=cov[9]; - //cout<<" C32 e C44 = "<GetSigmaY2(), r01=0., r11=c->GetSigmaZ2(); - r00+=fC00; r01+=fC10; r11+=fC11; - - Double_t det=r00*r11 - r01*r01; - if (TMath::Abs(det) < 1.e-10) { - Int_t n=GetNumberOfClusters(); - if (n>4) cerr<GetY() - fP0, dz=c->GetZ() - fP1; - - return (dy*r00*dy + 2*r01*dy*dz + dz*r11*dz)/det; - */ - - + Double_t r00=sigma[0], r01=0., r11=sigma[1]; r00+=fC00; r01+=fC10; r11+=fC11; Double_t det=r00*r11-r01*r01; @@ -799,7 +799,4 @@ Double_t AliITSTrackV1::GetPredChi2(Double_t m[2], Double_t sigma[2] ) const { Double_t chi2 = (dphi*r00*dphi +2.*r01*dphi*dz + dz*r11*dz)/det; return chi2; - - - }