for( ia=0; ia<4; ia++) fcor[ia]=0.; // oggi
}
-AliITSTrackV1::AliITSTrackV1(const char *opt, Double_t fieldfactor) {
+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
//////////////////////////////////////// gets magnetic field factor ////////////////////////////////
- // AliMagF * fieldPointer = gAlice->Field();
+ // AliMagF * fieldPointer = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField());
// fFieldFactor =(Double_t)fieldPointer-> SolenoidField()/10/.2;
fFieldFactor = fieldfactor;
//cout<< " field factor = "<<fFieldFactor<<"\n"; getchar();
-AliITSTrackV1::AliITSTrackV1(const AliITSTrackV1 &cobj) {
+AliITSTrackV1::AliITSTrackV1(const AliITSTrackV1 &cobj) : TObject(cobj) {
//Origin A. Badala' and G.S. Pappalardo: e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it
// copy constructor
//////////////////////////////////////// gets magnetic field factor ////////////////////////////////
- // AliMagF * fieldPointer = gAlice->Field();
+ // AliMagF * fieldPointer = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField());
// fFieldFactor =(Double_t)fieldPointer-> SolenoidField()/10/.2;
fFieldFactor = fieldfactor;
// cout<< " field factor dentro alitrack = "<<fFieldFactor<<"\n";/* getchar();*/
Double_t r = 1./cTPC;
xo = etaTPC / cTPC;
Double_t yo1, yo2, diffsq1, diffsq2;
- yo1 = yTPC + TMath::Sqrt(r*r - (xl-xo)*(xl-xo));
- yo2 = yTPC - TMath::Sqrt(r*r - (xl-xo)*(xl-xo));
- diffsq1=TMath::Abs((yo1-vyl)*(yo1-vyl)+(xo-vxl)*(xo-vxl)-r*r);
- diffsq2=TMath::Abs((yo2-vyl)*(yo2- vyl)+(xo-vxl)*(xo-vxl)-r*r);
+ yo1 = yTPC + TMath::Sqrt((r-(xl-xo))*(r+(xl-xo)));
+ yo2 = yTPC - TMath::Sqrt((r-(xl-xo))*(r+(xl-xo)));
+ diffsq1=TMath::Abs((yo1-vyl)*(yo1-vyl)+((xo-vxl)-r)*((xo-vxl)+r));
+ diffsq2=TMath::Abs((yo2-vyl)*(yo2-vyl)+((xo-vxl)-r)*((xo-vxl)+r));
if(diffsq1<diffsq2) {yo=yo1; signy=1.;} else {yo=yo2; signy=-1.;};
////////////////////////////////////////////////////////////////////////////////////////////////////
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;
Double_t bk=ArgB(rk), bkm1=ArgB(rkm1);
Double_t ck=ArgC(rk), ckm1=ArgC(rkm1);
- Double_t f02=ck/TMath::Sqrt(1.-aAk*aAk) - ckm1/TMath::Sqrt(1.-aAkm1*aAkm1);
- Double_t f04=bk/TMath::Sqrt(1.-aAk*aAk) - bkm1/TMath::Sqrt(1.-aAkm1*aAkm1);
+ Double_t f02=ck/TMath::Sqrt((1.-aAk)*(1.+aAk)) - ckm1/TMath::Sqrt((1.-aAkm1)*(1.+aAkm1));
+ Double_t f04=bk/TMath::Sqrt((1.-aAk)*(1.+aAk)) - bkm1/TMath::Sqrt((1.-aAkm1)*(1.+aAkm1));
Double_t f12=tgl*d*(1./rk - 1./rkm1);
Double_t f13=rk - rkm1;
}
-void AliITSTrackV1::AddEL(AliITSRad *rl, Double_t signdE, Bool_t flagtot, Double_t mass) {
+void AliITSTrackV1::AddEL(Double_t signdE, Bool_t flagtot, Double_t mass) {
//Origin A. Badala' and G.S. Pappalardo: e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it
// add energy loss
+// AliITSRad *rl was passed as argument. Now rl has been commented out
mass=fMass;
dE=signdE*dE/1000.;
e+=dE;
- Double_t p=TMath::Sqrt(e*e-mass*mass);
+ Double_t p=TMath::Sqrt((e-mass)*(e+mass));
Double_t sign=1.;
if(fX4 < 0.) sign=-1.;
pt=sign*p/sqcl;
}
-void AliITSTrackV1::AddMS(AliITSRad *rl, Double_t mass) {
+void AliITSTrackV1::AddMS(Double_t mass) {
//Origin A. Badala' and G.S. Pappalardo: e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it
////////// Modification of the covariance matrix to take into account multiple scattering ///////////
fC44+=theta2*q30*q30;
}
-void AliITSTrackV1::PrimaryTrack(AliITSRad *rl) {
+void AliITSTrackV1::PrimaryTrack() {
//Origin A. Badala' and G.S. Pappalardo: e-mail Angela.Badala@ct.infn.it, Giuseppe.S.Pappalardo@ct.infn.it
// calculation of part of covariance matrix for vertex constraint
fC00=fC10=fC11=fC20=fC21=fC22=fC30=fC31=fC32=fC33=fC40=fC41=fC42=fC43=0.;
- AddEL(rl,1.,1);
+ AddEL(1.,1);
fLayer=0;
Int_t i;
for (i=0; i<6; i++) {
fd2(i)=fC22;
ftgl2(i)=fC33;
fdtgl(i)=fC32;
- AddMS(rl);
- AddEL(rl,-1,0);
+ AddMS();
+ AddEL(-1,0);
}
}