![]()  | 
  
    PandaRoot
    
   | 
 
#include <PndApolloniusTriplet.h>
Public Member Functions | |
| std::map< int, std::vector< PndSttHit * > > | GetAllTubesByRow (std::vector< PndSttHit *> hits, PndSttGeometryMap *fGeometryMap, int &fAllHitsCounter) | 
| Sorts all STT hits by row and returns a map that connects each row with the hits in that row.  More... | |
| std::map< int, std::vector< std::vector< PndSttHit * > > > | GetTubeStructure (std::vector< PndSttHit *> hits, PndSttGeometryMap *fGeometryMap, int &fAllHitsCounter, bool &fIsStrongCurling) | 
| Creates a map that connects each STT row with a set of groups. All STT hits in one group are directly adjacent to each other.  More... | |
| ReductionMaps | CreateMaps (TripletValues &triplets, std::map< FairLink, int > &fMapHitstoCATracklet) | 
| Created maps that connect the hits with a corresponding CA tracklet.  More... | |
| std::vector< Triplet > | ReduceCombinatorics (TripletValues &triplets, std::map< FairLink, int > &fMapHitstoCATracklet, TClonesArray *sttHits, PndSttCA *fCATrackFinder, PndSttGeometryMap *fGeometryMap, double &fMinDistance, bool &fWithCombiReduction) | 
| Find triplet combinations with higher probability to be a proper one.  More... | |
| bool | IsTripletUsed (std::vector< TripletSolution > &solutions, Triplet &triplet) | 
| Checks is the triplet is already found in a good solution.  More... | |
| std::vector< TripletSolution > | GenerateTripletTracks (Triplet triplet, std::vector< PndSttHit *> &sttHits, PndSttGeometryMap *fGeometryMap) | 
| Generate tracks for one triplet.  More... | |
| std::vector< double > | calcIntersectionPointCircleLine (std::vector< double > circle, double m, double b, double Ax) | 
| TripletSolution | FindHitsCloseToCircle (std::vector< PndSttHit *> &sttHits, TVector3 &circle, double &fDistanceThresholdSTTFar, PndSttGeometryMap *fGeometryMap) | 
| Finds all hits that are close to a specific circle.  More... | |
| double | MeanSquareDistance (TripletSolution &solution) | 
| double | DistanceCirclePoint (TVector3 &circle, FairHit *hit) | 
| double | DistanceCircleSttHit (TVector3 &circle, PndSttHit *sttHit) | 
| double | DistanceCircleSttHit (TVector3 &circle, PndSttHit *sttHit, double &sqaredDistance) | 
| double | DistanceLineSttHit (TVector3 &circle, PndSttHit *sttHit, double &squaredDistance) | 
| double | DistanceLineSttHit (TVector3 &circle, PndSttHit *sttHit) | 
| double | SquaredDistanceLineSttHit (TVector3 &circle, PndSttHit *sttHit) | 
| double | DistanceLinePoint (TVector3 &circle, FairHit *hit) | 
| void | CheckContinuitySolutions (std::vector< TripletSolution > &solutions, PndSttGeometryMap *fGeometryMap) | 
| Checks if a track candidate is continuous in the STT.  More... | |
| bool | IsContinuous (TripletSolution &solution, PndSttGeometryMap *fGeometryMap) | 
| Checks if te found STT hits are continuous.  More... | |
| void | AddOtherDetectors (vector< TripletSolution > &solutions, PndSttStrawMap *fStrawMap, std::map< TString, TClonesArray *> &fBranchMap) | 
| Add MVD and GEM hits to solutions.  More... | |
| std::vector< TripletSolution > | FindBestSolutions (std::vector< TripletSolution > &solutions) | 
| Select best solution(s) out of the 8 generated by triplet.  More... | |
| std::vector< TripletSolution > | CheckCombinedSolutions (std::vector< TripletSolution > &solutions, int nExpectedTracks) | 
| Combines and Checks all Solutions to generate only the true particle tracks.  More... | |
| std::vector< TripletSolution > | CheckSolutions (std::vector< TripletSolution > &solutions, std::vector< std::vector< int >> combinations) | 
| Check Combined Track Solutions if they are a possible solution.  More... | |
| std::vector< int > | GetUniqueTubeIDs (std::vector< TripletSolution > &solutions, std::vector< int > combinations) | 
| returns a vector of all tubes of all tracks in one combination  More... | |
| std::vector< std::vector< int > > | GetKOutOfN (int k, int n) | 
| Determines all possible combinations of tracks.  More... | |
| std::vector< TripletSolution > | CombineIdenticalSolutions (std::vector< TripletSolution > &solutions) | 
| bool | ContainsTriplet (Triplet &triplet, TripletSolution &solution) | 
| std::vector< PndSttHit * > | TubeReduction (std::vector< std::pair< int, int >> &Rows, std::map< int, std::vector< std::vector< PndSttHit *>>> &tubeStructure, std::map< FairLink, int > &fMapHitstoCATracklet, int position) | 
| Reduces the number of tubes chosen for combination–> if several tubes in one region (inner, mid or outer) belong to the same CA tracklet only the last tube is chosen.  More... | |
| std::map< FairLink, int > | GetHitsToCAMap (PndSttCA *fCATrackFinder) | 
Definition at line 323 of file PndApolloniusTriplet.h.
      
  | 
  inline | 
Add MVD and GEM hits to solutions.
| [in] | solutions | A vector of all solutions for one triplet | 
Definition at line 1089 of file PndApolloniusTriplet.h.
References CAMath::ATan2(), PndApollonius::Thresholds::fDistanceThresholdGEM, PndApollonius::Thresholds::fDistanceThresholdMVDMid2, PndApollonius::Thresholds::fDistanceThresholdSTTCombinedSkewed, PndApollonius::Thresholds::fDistanceThresholdSTTSkewed, GEM, PndSttTube::GetPosition(), PndSttStrawMap::GetSector(), PndSttStrawMap::GetStrawRow(), PndSttStrawMap::GetTube(), PndSttHit::GetTubeID(), PndSttSkewedHit::GetTubeIDs(), i, PndSttStrawMap::IsSkewedStraw(), and CAMath::Pi().
      
  | 
  inline | 
Definition at line 748 of file PndApolloniusTriplet.h.
References sqrt().
      
  | 
  inline | 
Combines and Checks all Solutions to generate only the true particle tracks.
| [in] | solutions | A vector of the best candidates for one triplet | 
| [in] | nTracks | Number of found tracks | 
| [in] | nExpectedTracks | Number of expected tracks. | 
| [out] | result | A vector of found track candidates. | 
Definition at line 1291 of file PndApolloniusTriplet.h.
      
  | 
  inline | 
Checks if a track candidate is continuous in the STT.
| [in] | solutions | A vector of possible track solutions | 
Definition at line 1031 of file PndApolloniusTriplet.h.
      
  | 
  inline | 
Check Combined Track Solutions if they are a possible solution.
| [in] | solutions | A vector of the best candidates for one triplet | 
| [in] | CombinedSolutions | A vector of a vactor containing all tracks that might belong together | 
| [out] | result | A vector of found track candidates. | 
Definition at line 1338 of file PndApolloniusTriplet.h.
      
  | 
  inline | 
Definition at line 1425 of file PndApolloniusTriplet.h.
References PndApollonius::TripletSolution::GetNHits().
      
  | 
  inline | 
Definition at line 1440 of file PndApolloniusTriplet.h.
References PndApollonius::TripletSolution::fHits, and PndApollonius::Triplet::fTripletHits.
      
  | 
  inline | 
Created maps that connect the hits with a corresponding CA tracklet.
| [in] | triplets | All inner, mid and outer tubes | 
Definition at line 412 of file PndApolloniusTriplet.h.
References PndApollonius::TripletValues::fFirstRow, PndApollonius::TripletValues::fLastRow, PndApollonius::ReductionMaps::fMapCAToMidTube, PndApollonius::ReductionMaps::fMapCAToOuterTube, PndApollonius::ReductionMaps::fMapInnerTubeToCA, PndApollonius::ReductionMaps::fMapMidTubeToCA, PndApollonius::TripletValues::fMidRow, and PndApollonius::ReductionMaps::Reset().
      
  | 
  inline | 
Definition at line 945 of file PndApolloniusTriplet.h.
References sqrt().
      
  | 
  inline | 
double distCenters = (hit - circ).Mod();
Definition at line 956 of file PndApolloniusTriplet.h.
References PndSttHit::GetIsochrone(), and sqrt().
      
  | 
  inline | 
double distCenters = (hit - circ).Mod();
Definition at line 971 of file PndApolloniusTriplet.h.
References PndSttHit::GetIsochrone(), and sqrt().
      
  | 
  inline | 
Definition at line 1012 of file PndApolloniusTriplet.h.
      
  | 
  inline | 
      
  | 
  inline | 
Definition at line 984 of file PndApolloniusTriplet.h.
References sqrt().
      
  | 
  inline | 
Select best solution(s) out of the 8 generated by triplet.
| [in] | solutions | A vector of all possible track candidates for one triplet | 
| [out] | result | A vector of the best candidates for one triplet | 
Definition at line 1195 of file PndApolloniusTriplet.h.
References best, PndApollonius::TripletSolution::fHits, PndApollonius::TripletSolution::fMeanSquare, and i.
      
  | 
  inline | 
Finds all hits that are close to a specific circle.
| [in] | sttHits | A vector of all stt hits in a preselected group | 
| [in] | circle | An apollonius circle | 
| [out] | result | A vector of all STT hits that are close to the circle | 
Definition at line 845 of file PndApolloniusTriplet.h.
References CAMath::Abs(), PndApollonius::TripletSolution::AddHits(), PndApollonius::Thresholds::fDistanceThresholdSTTFar, PndApollonius::TripletSolution::fMeanSquare, PndSttHit::GetTubeID(), PndSttGeometryMap::IsSkewedStraw(), and PndApollonius::TripletSolution::SortStt().
      
  | 
  inline | 
Generate tracks for one triplet.
| [in] | triplet | One Triplet | 
| [out] | result | A vector of all solutions for one triplet | 
Definition at line 657 of file PndApolloniusTriplet.h.
References CAMath::Abs(), PndHoughApollonius::ApolloniusCudaCalcCPU(), PndApollonius::Thresholds::fDistanceThresholdSTTFar, PndApollonius::TripletSolution::fTriplet, PndApollonius::Triplet::fTripletHits, and m.
      
  | 
  inline | 
Sorts all STT hits by row and returns a map that connects each row with the hits in that row.
| [in] | hits | STTHits of one preselected group | 
| [out] | result | A map that connects each row with the hits in that row. | 
Definition at line 330 of file PndApolloniusTriplet.h.
References PndSttGeometryMap::GetRow().
      
  | 
  inline | 
Definition at line 1512 of file PndApolloniusTriplet.h.
References PndSttCA::FindTracks(), PndSttCA::GetFirstTrackCand(), PndTrackCand::GetNHits(), PndTrackCand::GetSortedHit(), i, and PndSttCA::NumFirstTrackCands().
      
  | 
  inline | 
Determines all possible combinations of tracks.
| [in] | k | The number of expected tracks | 
| [in] | n | The number of existing tracks | 
| [out] | result | A vector containing all possible index combinations | 
Definition at line 1403 of file PndApolloniusTriplet.h.
References i.
      
  | 
  inline | 
Creates a map that connects each STT row with a set of groups. All STT hits in one group are directly adjacent to each other.
| [in] | hits | STTHits of one preselected group | 
| [out] | result | A map connecting each row with groups of STT hits. If there are hits in one row that are adjacent these hits are declared as a group | 
Definition at line 354 of file PndApolloniusTriplet.h.
References CAMath::Abs(), and PndSttHit::GetTubeID().
      
  | 
  inline | 
returns a vector of all tubes of all tracks in one combination
| [in] | solutions | A vector of possible track soluutions | 
| [in] | combinations | A possible combination for tracks that might be the same track | 
| [out] | result | A vector of all tubes of all tracks in one combination. | 
Definition at line 1383 of file PndApolloniusTriplet.h.
References PndApollonius::TripletSolution::STT.
      
  | 
  inline | 
Checks if te found STT hits are continuous.
| [in] | solutions | A vector of all solutions for one triplet | 
| [out] | bool | 
Definition at line 1042 of file PndApolloniusTriplet.h.
References PndTrackEvaluatorDetStt::CheckFirstHit(), PndTrackEvaluatorDetStt::CheckTwoHits(), PndApollonius::TripletSolution::fHits, and PndApollonius::TripletSolution::SortStt().
      
  | 
  inline | 
Checks is the triplet is already found in a good solution.
| [in] | solutions | All already found good solutions | 
| [in] | triplet | One Triplet | 
| [out] | bool | is already found (true) or not (false) | 
Definition at line 633 of file PndApolloniusTriplet.h.
References PndApollonius::Triplet::fTripletHits.
      
  | 
  inline | 
Definition at line 901 of file PndApolloniusTriplet.h.
References PndApollonius::TripletSolution::fHits, PndApollonius::TripletSolution::fTrack, PndApollonius::TripletSolution::GEM, PndApollonius::TripletSolution::GetNHits(), PndApollonius::TripletSolution::MVDpixel, and PndApollonius::TripletSolution::MVDstrip.
      
  | 
  inline | 
Find triplet combinations with higher probability to be a proper one.
| [in] | triplets | All inner, mid and outer tubes | 
| [out] | result | A vector of triplets | 
Definition at line 453 of file PndApolloniusTriplet.h.
References PndApollonius::TripletValues::fFirstRow, PndApollonius::TripletValues::fLastRow, PndApollonius::ReductionMaps::fMapCAToMidTube, PndApollonius::ReductionMaps::fMapCAToOuterTube, PndApollonius::ReductionMaps::fMapInnerTubeToCA, PndApollonius::ReductionMaps::fMapMidTubeToCA, PndApollonius::TripletValues::fMidRow, PndSttCA::GetFirstTrackCand(), PndTrackCand::GetNHits(), PndTrackCand::GetSortedHit(), PndSttHit::GetTubeID(), i, PndSttGeometryMap::IsSkewedStraw(), and sqrt().
      
  | 
  inline | 
Definition at line 1000 of file PndApolloniusTriplet.h.
References PndSttHit::GetIsochrone(), and m.
      
  | 
  inline | 
Reduces the number of tubes chosen for combination–> if several tubes in one region (inner, mid or outer) belong to the same CA tracklet only the last tube is chosen.
| [in] | Rows | The row frum which to choose the tubes | 
| [in] | tubeStructure | A map connecting each row with groups of STT hits. If there are hits in one row that are adjacent these hits are declared as a group | 
| [in] | position | An index that indicates if the first (0), mid (1) od last (2) row is reduced. | 
| [out] | result | Stt hits chosen for combination | 
Definition at line 1461 of file PndApolloniusTriplet.h.