+#include "AliHBTTrackPoints.h"
//_________________________________
////////////////////////////////////////////////////////////
// //
#include <TMath.h>
#include "AliESDtrack.h"
-#include "AliHBTTrackPoints.h"
#include "AliTPCtrack.h"
#include "AliTrackReference.h"
+#include "AliITStrackV2.h"
ClassImp(AliHBTTrackPoints)
Int_t AliHBTTrackPoints::fgDebug = 0;
+
AliHBTTrackPoints::AliHBTTrackPoints():
fN(0),
fX(0x0),
}
/***************************************************************/
+AliHBTTrackPoints::AliHBTTrackPoints(AliHBTTrackPoints::ETypes type, AliESDtrack* track):
+ fN(0),
+ fX(0x0),
+ fY(0x0),
+ fZ(0x0)
+{
+ //constructor
+ switch (type)
+ {
+ case kITS:
+ //Used only in non-id analysis
+ fN = 6;
+ fX = new Float_t[fN];
+ fY = new Float_t[fN];
+ fZ = new Float_t[fN];
+ MakeITSPoints(track);
+ break;
+
+ default:
+ Info("AliHBTTrackPoints","Not recognized type");
+ }
+
+}
+/***************************************************************/
+
AliHBTTrackPoints::AliHBTTrackPoints(Int_t n, AliESDtrack* track, Float_t mf, Float_t dr, Float_t r0):
fN(n),
fX(new Float_t[fN]),
Double_t c=track->GetC();
MakePoints(dr,r0,x,par,c,alpha);
}
+/***************************************************************/
+
+AliHBTTrackPoints::~AliHBTTrackPoints()
+{
+ //destructor
+ delete [] fX;
+ delete [] fY;
+ delete [] fZ;
+}
+/***************************************************************/
void AliHBTTrackPoints::MakePoints( Float_t dr, Float_t r0, Double_t x, Double_t* par, Double_t c, Double_t alpha)
{
}
/***************************************************************/
-AliHBTTrackPoints::~AliHBTTrackPoints()
+void AliHBTTrackPoints::MakeITSPoints(AliESDtrack* track)
{
- //destructor
- delete [] fX;
- delete [] fY;
- delete [] fZ;
+//Calculates points in ITS
+// z=R*Pz/Pt
+ AliITStrackV2 itstrack(*track,kTRUE);
+ Double_t x,y,z;
+ static const Double_t r[6] = {4.0, 7.0, 14.9, 23.8, 39.1, 43.6};
+ for (Int_t i = 0; i < 6; i++)
+ {
+ itstrack.GetGlobalXYZat(r[i],x,y,z);
+ fX[i] = x;
+ fY[i] = y;
+ fZ[i] = z;
+// Info("MakeITSPoints","X %f Y %f Z %f R asked %f R obtained %f",
+// fX[i],fY[i],fZ[i],r[i],TMath::Hypot(fX[i],fY[i]));
+ }
+
}
-/***************************************************************/
+/***************************************************************/
void AliHBTTrackPoints::PositionAt(Int_t n, Float_t &x,Float_t &y,Float_t &z)
{
//returns position at point n
}
/***************************************************************/
+void AliHBTTrackPoints::Move(Float_t x, Float_t y, Float_t z)
+{
+//Moves all points about vector
+ for (Int_t i = 0; i<fN; i++)
+ {
+ fX[i]+=x;
+ fY[i]+=y;
+ fZ[i]+=z;
+ }
+}
+/***************************************************************/
+
Double_t AliHBTTrackPoints::AvarageDistance(const AliHBTTrackPoints& tr)
{
//returns the aritmethic avarage distance between two tracks
delete rl;
}
+