ROOT logo
AliRoot » TPC » REC » AliTPCCosmicTrackfit

class AliTPCCosmicTrackfit

Function Members (Methods)

Data Members

public:
enum CombineStatus { kFailGetTPCseeds
kFailNclsMin
kFailSwapSeeds
kFailLeverArm
kFailMakeSeed
kFailPropagation
kFailChi2
kFailImpact
};
private:
Int_tfDebugLeveldebug level
Double_tfFitLeverArmLever arm calculated from clusters in fitkernel
Int_tfFitNclsnumber of TPC clusters successful in propagation (mean of the two propagation: upwards and downwards)
Double_tfImpactD2d impact parameter
Double_tfImpactZz of impact parameter
AliExternalTrackParam*fIniTrackparLowtrack param of lower track by MakeSeed
AliExternalTrackParam*fIniTrackparUptrack param of upper track by MakeSeed
TVector3fInnerClusterLowxyz of the inner most TPC trackpoint of the Lower track
TVector3fInnerClusterUpxyz of the inner most TPC trackpoint of the Upper track
Bool_tfKswaptrue if should be / already be swapped
Double_tfLeverArmtransverse difference between upper most and lower most clusters
Int_tfMissNclsnumber of TPC clusters fail in propagation (sum of the two propagation)
Double_tfPreChi2Predicted chi2/nfit over the two propagation
Int_tfRowStartShiftrow start shift
Int_tfRowSteprow step
AliTPCseed*fSeedLowTPC seed of lower track
AliTPCseed*fSeedUpTPC seed of upper track
Int_tfStatusstatus for CombineESDtracks/CombineTPCseeds: 0-successful, otherwise fail
TTreeSRedirector*fStreamer!debug streamer
AliExternalTrackParam*fTrackparLowtrack param of lower track
AliExternalTrackParam*fTrackparUptrack param of upper track
Double_tfXMaxcluster X max
Double_tfXMincluster X min

Class Charts

Inheritance Chart:
AliTPCCosmicTrackfit

Function documentation

AliTPCCosmicTrackfit(const Int_t dlev = 0, const TString tag = "test")
Constructor

~AliTPCCosmicTrackfit()
Destructor

Bool_t CombineESDtracks(AliESDtrack*& trk0, AliESDtrack*& trk1)
Get TPCseeds from the 2 ESDtracks, swap TPCseeds and ESDTracks (if necessary) according to y (0:upper 1:lower), perform trackfit using TPCseeds
if fStatus==0, i.e. combine is successful, swap of the ESDtracks is kept since pointer *& is used

Bool_t CombineTPCseedsFast(AliTPCseed** tpcseeds, const AliExternalTrackParam** trkpars)
do combined track fit for given TPC seeds and initial trackpar, [0]: upper, [1]: lower

Bool_t CombineTPCseeds(AliTPCseed*& seed0, AliTPCseed*& seed1)
same as AliTPCCosmicTrackfit::CombineESDtracks, except that the seeds are passed in from outside, which can be still unordered
if fStatus==0, i.e. combine is successful, swap of the TPCseeds is kept since pointer *& is used

void Print() const
print out variable values

TVector3 ImpactParameter2D() const
calculate the 2D-impactparameter from (0,0)

TVector3 ImpactParameter3D() const
calculate the 3D-impactparameter from (0,0,0)

Double_t MinPhi() const
the smaller phi of the two tracks w.r.t. horizon

void IniCombineESDtracks()
initialization, for reuse of the same AliTPCCosmicTrackfit instance

void CombineTPCseeds()
do combined trackfit using TPCseeds

void Update()
Update variables depending on the fit result

Bool_t CheckLeverArm()
if lever arm is too short, no need to use combined track fit.
On the other hand, short lever arm from two tracks mostly means they are fake pairs.
lever arm extents over one quadrant, e.g. (0,250)-(250,0): 250*sqrt(2)~350

Bool_t AnaSeeds()
swap seeds (if necessary) so that (y of fSeedUp) > (y of fSeedLow)

Bool_t CheckNcls()
check number of clusters in TPCseed, for too small number MakeSeed will fail

Bool_t GetTPCseeds(const AliESDtrack* trk0, const AliESDtrack* trk1)
Get TPC seeds from ESDfriendTrack

AliTPCCosmicTrackfit(const Int_t dlev = 0, const TString tag = "test")
void SetRow(const Int_t shift, const Int_t step)
{ fRowStartShift = shift; fRowStep = step; }
void SetX(const Double_t xmin, const Double_t xmax)
{ fXMin = xmin; fXMax = xmax; }
Bool_t IsSwap() const
getters
{return fKswap;}
Int_t GetStatus() const
{return fStatus;}
Int_t GetFitNcls() const
{return fFitNcls;}
Int_t GetMissNcls() const
{return fMissNcls;}
Double_t GetChi2PerCluster() const
{return fPreChi2;}
Double_t GetFitLeverArm() const
{return fFitLeverArm;}
Double_t GetImpactD() const
{return fImpactD;}
Double_t GetImpactZ() const
{return fImpactZ;}
Double_t GetLeverArm() const
{return fLeverArm;}
TVector3 GetInnerClusterUp() const
{return fInnerClusterUp;}
TVector3 GetInnerClusterLow() const
const AliExternalTrackParam * GetTrackParamUp() const
{return fTrackparUp;}
const AliExternalTrackParam * GetTrackParamLow() const
{return fTrackparLow;}
const AliExternalTrackParam * GetIniTrackParamUp() const
{return fIniTrackparUp;}
const AliExternalTrackParam * GetIniTrackParamLow() const
{return fIniTrackparLow;}
AliExternalTrackParam * CopyTrackParamUp() const
AliExternalTrackParam * CopyTrackParamLow() const
AliExternalTrackParam * CopyIniTrackParamUp() const
AliExternalTrackParam * CopyIniTrackParamLow() const
AliTPCseed * GetTPCseedUp() const
{return fSeedUp;}
AliTPCseed * GetTPCseedLow() const
{return fSeedLow;}
TTreeSRedirector * GetStreamer() const
{return fStreamer;}
AliTPCCosmicTrackfit & operator=(const AliTPCCosmicTrackfit& p)
Double_t CutLeverArm()
{ return 350;}
Double_t MaxChi2()
{ return 10;}