ROOT logo
AliRoot » TPC » REC » AliTPCCosmicUtils

class AliTPCCosmicUtils

Function Members (Methods)

public:
AliTPCCosmicUtils()
AliTPCCosmicUtils(const AliTPCCosmicUtils&)
~AliTPCCosmicUtils()
static Double_tAngleInRange(Double_t phi)
static voidCombinedFit(AliExternalTrackParam** trackPars, const AliTPCseed** seeds, const Int_t rowstartshift, const Int_t rowstep, const Double_t xmin, const Double_t xmax, Int_t& nfit, Int_t& nmiss, Double_t& pchi2, Double_t& lfit, Double_t& vtxD, Double_t& vtxZ, TTreeSRedirector* debugstreamer = 0x0)
static voidDrawSeeds(const AliTPCseed** seeds, const TString tag, const TString outputformat = "png")
static voidDrawTracks(AliESDtrack** esdtrks, const TString tag, const TString outputformat = "png")
static Int_tGetBField(const AliESDEvent* esd)
static Bool_tGetESD(AliESDEvent*& esdevent, AliESDfriend*& esdfriend)
static Double_tGetMinPhi(const AliExternalTrackParam** params)
static AliTPCseed*GetTPCseed(const AliESDtrack* esdtrack)
static Int_tGetTrigger(const AliESDEvent* esd)
static AliExternalTrackParam*MakeSeed(const AliTPCseed* tseed)
static Double_tMass()
static Int_tNclsMin()
static Int_tNRow()
AliTPCCosmicUtils&operator=(const AliTPCCosmicUtils&)
static Double_tPoint2LineDist(const TVector3 p0, const TVector3 l1, const TVector3 l2, TVector3* vtx = 0x0)
static voidPrintTrackParam(const Int_t id, const AliExternalTrackParam* trackpar, const char* tag = "")
static Bool_tRotateSafe(AliExternalTrackParam* trackPar, const Double_t aa)
static voidSingleFit(AliExternalTrackParam* trackInOld, AliExternalTrackParam* trackOutOld, const AliTPCseed* tseed, const Bool_t kinward, const Int_t rowstartshift, const Int_t rowstep, const Double_t xmin, const Double_t xmax, Int_t& nfit, Int_t& nmiss, Double_t& pchi2, Double_t& lfit, TTreeSRedirector* debugstreamer = 0x0)
private:
static voidFitKernel(AliExternalTrackParam* trackPar, const AliTPCseed* tseed, const Int_t rowstart, const Int_t rowstop, const Int_t drow, const Double_t xmin, const Double_t xmax, const Double_t eloss, Int_t& ksite, Int_t& nfit, Int_t& nmiss, Double_t& pchi2, TVector3& gposStart, TVector3& gposStop, TTreeSRedirector* debugstreamer, const Bool_t kinicov)
static voidIniCov(AliExternalTrackParam* trackPar, const Double_t ncl)
static Int_tNiter()
static voidSubCombined(AliExternalTrackParam* trackPar, const AliTPCseed** seeds, const Int_t tk0, const Int_t tk1, const Int_t rowstartshift, const Int_t rowstep, const Double_t xmin, const Double_t xmax, const Double_t eloss, Int_t& nfit, Int_t& nmiss, Double_t& pchi2, Double_t& lfit, Double_t& vtxD, Double_t& vtxZ, TTreeSRedirector* debugstreamer = 0x0)
static Int_tXMin()

Data Members

public:
enum { k0OB0
k0OB1
k0HWU
kTRDCO2
kAMU
kSCO
};

Class Charts

Inheritance Chart:
AliTPCCosmicUtils

Function documentation

Int_t GetBField(const AliESDEvent* esd)
get b-field in unit of kg, expect 1, 2, 5kg only

Int_t GetTrigger(const AliESDEvent* esd)
get cosmic trigger

Bool_t GetESD(AliESDEvent*& esdevent, AliESDfriend*& esdfriend)
get esdevent and esdfriend

Double_t GetMinPhi(const AliExternalTrackParam** params)
minimum phi angle of the two tracks, 0: horizontal

Double_t Point2LineDist(const TVector3 p0, const TVector3 l1, const TVector3 l2, TVector3* vtx = 0x0)
return distance of p0 to line (l2-l1)

Double_t AngleInRange(Double_t phi)
get the phi value (in rad) in -pi ~ pi, so that fabs() works naiively

Bool_t RotateSafe(AliExternalTrackParam* trackPar, const Double_t aa)
1. in AliExternalTrackParam::GetXYZ
r[0]=fX; r[1]=fP[0]; r[2]=fP[1];
return Local2GlobalPosition(r,fAlpha);
in AliVParticle::Local2GlobalMomentum
Double_t cs=TMath::Cos(alpha), sn=TMath::Sin(alpha);
Double_t r=TMath::Sqrt((1. - p[1])*(1. + p[1]));
p[0]=pt*(r*cs - p[1]*sn); p[1]=pt*(p[1]*cs + r*sn); p[2]=pt*p[2];
which is cos(phi_local=Snp+fAlpha) > 0 always.
2. also in Bool_t AliExternalTrackParam::Rotate(Double_t alpha)
 Double_t sf=fP2, cf=TMath::Sqrt((1.- fP2)*(1.+fP2));
in AliExternalTrackParam::Set
mom.RotateZ(-fAlpha);
fP[2] = TMath::Sin(mom.Phi());
since only sin is used for mom.Phi(), that is assuming cos(mom.Phi())>0
void PrintTrackParam(const Int_t id, const AliExternalTrackParam* trackpar, const char* tag = "")
print out TrackParam

void DrawTracks(AliESDtrack** esdtrks, const TString tag, const TString outputformat = "png")
draw esdtracks

void DrawSeeds(const AliTPCseed** seeds, const TString tag, const TString outputformat = "png")
draw seed and output to file

AliTPCseed * GetTPCseed(const AliESDtrack* esdtrack)
Get TPC seeds from ESDfriendTrack

AliExternalTrackParam * MakeSeed(const AliTPCseed* tseed)
make seed for propagation of TrackParam, using np = 3 outer clusters (separated by deltancls clusters) in TPCseed

void IniCov(AliExternalTrackParam* trackPar, const Double_t ncl)
initialize covariance matrix

void SingleFit(AliExternalTrackParam* trackInOld, AliExternalTrackParam* trackOutOld, const AliTPCseed* tseed, const Bool_t kinward, const Int_t rowstartshift, const Int_t rowstep, const Double_t xmin, const Double_t xmax, Int_t& nfit, Int_t& nmiss, Double_t& pchi2, Double_t& lfit, TTreeSRedirector* debugstreamer = 0x0)
fit single track

kinward is the true geometry of the track. Incomming track: 1; outgoing track: 0
void CombinedFit(AliExternalTrackParam** trackPars, const AliTPCseed** seeds, const Int_t rowstartshift, const Int_t rowstep, const Double_t xmin, const Double_t xmax, Int_t& nfit, Int_t& nmiss, Double_t& pchi2, Double_t& lfit, Double_t& vtxD, Double_t& vtxZ, TTreeSRedirector* debugstreamer = 0x0)
combined propagation

void SubCombined(AliExternalTrackParam* trackPar, const AliTPCseed** seeds, const Int_t tk0, const Int_t tk1, const Int_t rowstartshift, const Int_t rowstep, const Double_t xmin, const Double_t xmax, const Double_t eloss, Int_t& nfit, Int_t& nmiss, Double_t& pchi2, Double_t& lfit, Double_t& vtxD, Double_t& vtxZ, TTreeSRedirector* debugstreamer = 0x0)
sub-routine for combined propagation

void FitKernel(AliExternalTrackParam* trackPar, const AliTPCseed* tseed, const Int_t rowstart, const Int_t rowstop, const Int_t drow, const Double_t xmin, const Double_t xmax, const Double_t eloss, Int_t& ksite, Int_t& nfit, Int_t& nmiss, Double_t& pchi2, TVector3& gposStart, TVector3& gposStop, TTreeSRedirector* debugstreamer, const Bool_t kinicov)
routine for propagation

Int_t NRow()
{ return 159;}
Int_t NclsMin()
{ return 40;}
Double_t Mass()
{ return 0.105658;}
Int_t XMin()
{ return 80;}
Int_t Niter()
{ return 2;}