#ifndef ALITPCCOSMICTRACKFIT_H
#define ALITPCCOSMICTRACKFIT_H
#ifndef TVECTOR3_H
#include "TVector3.h"
#endif
class AliTPCCosmicTrackfit
{
public:
AliTPCCosmicTrackfit(const Int_t dlev=0, const TString tag="test");
~AliTPCCosmicTrackfit();
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 CombineESDtracks(AliESDtrack * &trk0, AliESDtrack *&trk1);
Bool_t CombineTPCseedsFast(AliTPCseed * tpcseeds[], const AliExternalTrackParam * trkpars[]);
Bool_t CombineTPCseeds(AliTPCseed * &seed0, AliTPCseed *&seed1);
void Print() const ;
Bool_t IsSwap() const {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 {return fInnerClusterLow;}
TVector3 ImpactParameter2D() const;
TVector3 ImpactParameter3D() const;
Double_t MinPhi()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 {return new AliExternalTrackParam(*fTrackparUp);}
AliExternalTrackParam * CopyTrackParamLow() const {return new AliExternalTrackParam(*fTrackparLow);}
AliExternalTrackParam * CopyIniTrackParamUp() const {return new AliExternalTrackParam(*fIniTrackparUp);}
AliExternalTrackParam * CopyIniTrackParamLow() const {return new AliExternalTrackParam(*fIniTrackparLow);}
AliTPCseed * GetTPCseedUp() const {return fSeedUp;}
AliTPCseed * GetTPCseedLow() const {return fSeedLow;}
TTreeSRedirector * GetStreamer() const {return fStreamer;}
private:
enum CombineStatus{
kFailGetTPCseeds=1,
kFailNclsMin =2,
kFailSwapSeeds =3,
kFailLeverArm =4,
kFailMakeSeed =5,
kFailPropagation=6,
kFailChi2 =7,
kFailImpact =8
};
AliTPCCosmicTrackfit(const AliTPCCosmicTrackfit & p);
AliTPCCosmicTrackfit & operator=(const AliTPCCosmicTrackfit & p);
static Double_t CutLeverArm(){ return 350;}
static Double_t MaxChi2(){ return 10;}
void IniCombineESDtracks();
Bool_t GetTPCseeds(const AliESDtrack *trk0, const AliESDtrack *trk1);
Bool_t CheckNcls();
Bool_t CheckLeverArm();
Bool_t AnaSeeds();
void CombineTPCseeds();
void Update();
TTreeSRedirector *fStreamer;
Int_t fDebugLevel;
AliTPCseed * fSeedUp;
AliTPCseed * fSeedLow;
AliExternalTrackParam * fTrackparUp;
AliExternalTrackParam * fTrackparLow;
AliExternalTrackParam * fIniTrackparUp;
AliExternalTrackParam * fIniTrackparLow;
Int_t fStatus;
Bool_t fKswap;
TVector3 fInnerClusterUp;
TVector3 fInnerClusterLow;
Double_t fLeverArm;
Int_t fFitNcls;
Int_t fMissNcls;
Double_t fPreChi2;
Double_t fFitLeverArm;
Double_t fImpactD;
Double_t fImpactZ;
Int_t fRowStartShift;
Int_t fRowStep;
Double_t fXMin;
Double_t fXMax;
};
#endif
AliTPCCosmicTrackfit.h:10 AliTPCCosmicTrackfit.h:11 AliTPCCosmicTrackfit.h:12 AliTPCCosmicTrackfit.h:13 AliTPCCosmicTrackfit.h:14 AliTPCCosmicTrackfit.h:15 AliTPCCosmicTrackfit.h:16 AliTPCCosmicTrackfit.h:17 AliTPCCosmicTrackfit.h:18 AliTPCCosmicTrackfit.h:19 AliTPCCosmicTrackfit.h:20 AliTPCCosmicTrackfit.h:21 AliTPCCosmicTrackfit.h:22 AliTPCCosmicTrackfit.h:23 AliTPCCosmicTrackfit.h:24 AliTPCCosmicTrackfit.h:25 AliTPCCosmicTrackfit.h:26 AliTPCCosmicTrackfit.h:27 AliTPCCosmicTrackfit.h:28 AliTPCCosmicTrackfit.h:29 AliTPCCosmicTrackfit.h:30 AliTPCCosmicTrackfit.h:31 AliTPCCosmicTrackfit.h:32 AliTPCCosmicTrackfit.h:33 AliTPCCosmicTrackfit.h:34 AliTPCCosmicTrackfit.h:35 AliTPCCosmicTrackfit.h:36 AliTPCCosmicTrackfit.h:37 AliTPCCosmicTrackfit.h:38 AliTPCCosmicTrackfit.h:39 AliTPCCosmicTrackfit.h:40 AliTPCCosmicTrackfit.h:41 AliTPCCosmicTrackfit.h:42 AliTPCCosmicTrackfit.h:43 AliTPCCosmicTrackfit.h:44 AliTPCCosmicTrackfit.h:45 AliTPCCosmicTrackfit.h:46 AliTPCCosmicTrackfit.h:47 AliTPCCosmicTrackfit.h:48 AliTPCCosmicTrackfit.h:49 AliTPCCosmicTrackfit.h:50 AliTPCCosmicTrackfit.h:51 AliTPCCosmicTrackfit.h:52 AliTPCCosmicTrackfit.h:53 AliTPCCosmicTrackfit.h:54 AliTPCCosmicTrackfit.h:55 AliTPCCosmicTrackfit.h:56 AliTPCCosmicTrackfit.h:57 AliTPCCosmicTrackfit.h:58 AliTPCCosmicTrackfit.h:59 AliTPCCosmicTrackfit.h:60 AliTPCCosmicTrackfit.h:61 AliTPCCosmicTrackfit.h:62 AliTPCCosmicTrackfit.h:63 AliTPCCosmicTrackfit.h:64 AliTPCCosmicTrackfit.h:65 AliTPCCosmicTrackfit.h:66 AliTPCCosmicTrackfit.h:67 AliTPCCosmicTrackfit.h:68 AliTPCCosmicTrackfit.h:69 AliTPCCosmicTrackfit.h:70 AliTPCCosmicTrackfit.h:71 AliTPCCosmicTrackfit.h:72 AliTPCCosmicTrackfit.h:73 AliTPCCosmicTrackfit.h:74 AliTPCCosmicTrackfit.h:75 AliTPCCosmicTrackfit.h:76 AliTPCCosmicTrackfit.h:77 AliTPCCosmicTrackfit.h:78 AliTPCCosmicTrackfit.h:79 AliTPCCosmicTrackfit.h:80 AliTPCCosmicTrackfit.h:81 AliTPCCosmicTrackfit.h:82 AliTPCCosmicTrackfit.h:83 AliTPCCosmicTrackfit.h:84 AliTPCCosmicTrackfit.h:85 AliTPCCosmicTrackfit.h:86 AliTPCCosmicTrackfit.h:87 AliTPCCosmicTrackfit.h:88 AliTPCCosmicTrackfit.h:89 AliTPCCosmicTrackfit.h:90 AliTPCCosmicTrackfit.h:91 AliTPCCosmicTrackfit.h:92 AliTPCCosmicTrackfit.h:93 AliTPCCosmicTrackfit.h:94 AliTPCCosmicTrackfit.h:95 AliTPCCosmicTrackfit.h:96 AliTPCCosmicTrackfit.h:97 AliTPCCosmicTrackfit.h:98 AliTPCCosmicTrackfit.h:99 AliTPCCosmicTrackfit.h:100 AliTPCCosmicTrackfit.h:101 AliTPCCosmicTrackfit.h:102 AliTPCCosmicTrackfit.h:103 AliTPCCosmicTrackfit.h:104 AliTPCCosmicTrackfit.h:105 AliTPCCosmicTrackfit.h:106 AliTPCCosmicTrackfit.h:107 AliTPCCosmicTrackfit.h:108 AliTPCCosmicTrackfit.h:109 AliTPCCosmicTrackfit.h:110 AliTPCCosmicTrackfit.h:111 AliTPCCosmicTrackfit.h:112 AliTPCCosmicTrackfit.h:113 AliTPCCosmicTrackfit.h:114 AliTPCCosmicTrackfit.h:115 AliTPCCosmicTrackfit.h:116 AliTPCCosmicTrackfit.h:117 AliTPCCosmicTrackfit.h:118 AliTPCCosmicTrackfit.h:119 AliTPCCosmicTrackfit.h:120 AliTPCCosmicTrackfit.h:121 AliTPCCosmicTrackfit.h:122 AliTPCCosmicTrackfit.h:123 AliTPCCosmicTrackfit.h:124 AliTPCCosmicTrackfit.h:125 AliTPCCosmicTrackfit.h:126 AliTPCCosmicTrackfit.h:127 AliTPCCosmicTrackfit.h:128 AliTPCCosmicTrackfit.h:129 AliTPCCosmicTrackfit.h:130 AliTPCCosmicTrackfit.h:131 AliTPCCosmicTrackfit.h:132 AliTPCCosmicTrackfit.h:133 AliTPCCosmicTrackfit.h:134 AliTPCCosmicTrackfit.h:135 AliTPCCosmicTrackfit.h:136 AliTPCCosmicTrackfit.h:137 AliTPCCosmicTrackfit.h:138 AliTPCCosmicTrackfit.h:139 AliTPCCosmicTrackfit.h:140 AliTPCCosmicTrackfit.h:141 AliTPCCosmicTrackfit.h:142 AliTPCCosmicTrackfit.h:143