1 #ifndef PNDTRKTRACKFINDER_H
2 #define PNDTRKTRACKFINDER_H
34 #define MAXNOFHITS 1000 // CHECK
54 virtual InitStatus
Init();
58 virtual void Exec(Option_t* opt);
130 void DrawZGeometry(
double phimin = 0,
double phimax = 360,
double zmin = -43,
double zmax = 113);
138 std::map< int, bool >
PrimaryCheck(Int_t detid,
std::map<
int, std::vector< int > > &det_to_hitids );
PndTrkCluster CleanUpSkewHitList(PndTrkCluster *skewhitlist)
PndTrkClusterList CreateFullClusterization()
PndTrkCluster * fIndivCluster
PndTrkConformalTransform * conform
TClonesArray * fMvdStripHitArray
PndTrkSttHitList * stthitlist
TClonesArray * fTubeArray
TClonesArray * fPrimaryTrackArray
PndTrkHit * FindReferenceHit()
Double_t fStt_RealDistLimit
void AnalyticalFit2(PndTrkCluster *cluster, double fitm, double fitp, double &fitm2, double &fip2)
void DrawNeighboringsToHit(PndTrkHit *hit)
Double_t fMvdPix_RealDistLimit
PndTrkCluster * fIndivisibleHitList
Bool_t AnalyticalParabolaFit(PndTrkCluster *cluster, double xc, double yc, double R, double &fita, double &fitb, Double_t &fitc, Double_t &epsilon)
PndTrkHit * FindMvdReferenceHit()
TClonesArray * fMvdPixelHitArray
PndTrkTrackList * fTrackList
PndTrkGemHitList * gemhitlist
PndTrkConformalHitList * fConformalHitList
PndTrkCluster * fFinalCluster
void DrawConfHit(double x, double y, double r, int marker=2)
Int_t ApplyLegendre(PndTrkCluster *cluster, double &theta_max, double &r_max)
void LightCluster(PndTrkCluster *cluster)
PndTrkCluster * CreateClusterAroundTrack(PndTrkTrack *track)
PndTrkSdsHitList * mvdpixhitlist
virtual InitStatus Init()
Bool_t MinuitFit(PndTrkCluster *cluster, double mstart, double qstart, double &fitm, double &fitq)
Bool_t MinuitFit2(PndTrkCluster *cluster, double xstart, double ystart, double rstart, double &xc, double &yc, double &R, double &sign)
PndTrkCluster CreateSkewHitList(PndTrkTrack *track)
TClonesArray * fTrackCandArray
Int_t RecreateHitArrays(std::map< int, std::vector< int > > &det_to_hitids)
void FromConformalToRealTrack(double fitm, double fitp, double &x0, double &y0, double &R)
void FillLegendreHisto(PndTrkCluster *cluster)
Int_t CountTracksInCluster(PndTrkCluster *cluster)
Double_t fSttParalDistance
void DrawZGeometry(double phimin=0, double phimax=360, double zmin=-43, double zmax=113)
PndTrkSciTHitList * scithitlist
PndGeoSttPar * fSttParameters
PndTrkHit * FindMvdPixelReferenceHit()
virtual void Exec(Option_t *opt)
TClonesArray * fTrackArray
void FromRealToConformalTrack(double x0, double y0, double R, double &fitm, double &fitp)
Int_t CountPossibleTracks()
void Apollonius(PndTrkCluster *cluster, std::vector< double > &X, std::vector< double > &Y, std::vector< double > &R)
void ComputeTraAndRot(PndTrkHit *hit, Double_t &delta, Double_t trasl[2])
void DrawGeometryConf(double x1, double x2, double y1, double y2)
PndTrkLegendreTransform * legendre
void CircleBy3Points(PndTrkHit *hit1, PndTrkHit *hit2, PndTrkHit *hit3, double &X, double &Y, double &R)
TClonesArray * fGemHitArray
PndTrkNeighboringMap * fHitMap
std::map< int, bool > PrimaryCheck(Int_t detid, std::map< int, std::vector< int > > &det_to_hitids)
void SearchSecondaryTracks()
void ComputePlaneExtremities(PndTrkCluster *cluster)
char fMvdPixelBranch[200]
PndTrkCluster * fSkewCluster
PndTrkHit * FindSttReferenceHit(int isec=-1)
void DrawHits(PndTrkHitList *hitlist)
void RePrepareLegendre(PndTrkCluster *cluster)
Double_t fSttToMvdStripDistance
ClassDef(PndTrkTrackFinder, 1)
Int_t ExtractLegendre(Int_t mode, double &theta_max, double &r_max)
Int_t ClusterToConformal(PndTrkCluster *cluster)
int hit(Int_t nEvents=0, TString inFile="sim.root", TString parFile="par.root", TString inDigi="digi.root", TString outFile="hit.root", Int_t timeBased=0)
PndTrkCluster * fFinalSkewCluster
TClonesArray * fSciTHitArray
PndTrkSdsHitList * mvdstrhitlist
PndTrkTrack * LegendreFit(PndTrkCluster *cluster)
std::vector< std::pair< double, double > > fFoundPeaks
Double_t fMvdPix_ConfDistLimit
TClonesArray * fSttPointArray
void IntersectionFinder(PndTrkHit *hit, double xc, double yc, double R)
void FromConformalToRealTrackParabola(double fita, double fitb, double fitc, double &x0, double &y0, double &R, double &epsilon)
PndSttMapCreator * fMapper
char fMvdStripBranch[200]
TClonesArray * fSttHitArray
Int_t FillConformalHitList(PndTrkCluster *cluster)
Double_t fMvdStr_RealDistLimit
TClonesArray * fTrkTrackArray
PndTrkGemCombinatorial * fCombiFinder
Double_t fMvdStr_ConfDistLimit
PndTrkHit * FindMvdStripReferenceHit()
Bool_t AnalyticalFit(PndTrkCluster *cluster, double xc, double yc, double R, double &fitm, double &fitq)
Int_t CountTracksInSkewSector(PndTrkCluster *cluster)
Double_t fStt_ConfDistLimit