1 #ifndef FULLLDCTRACKING_H 
    2 #define FULLLDCTRACKING_H 1 
    4 #include "marlin/Processor.h" 
    7 #include "ClusterExtended.h" 
    8 #include "TrackExtended.h" 
    9 #include "TrackerHitExtended.h" 
   10 #include "TrackHitPair.h" 
   11 #include "HelixClass.h" 
   12 #include "ClusterShapes.h" 
   13 #include "GroupTracks.h" 
   14 #include "../../BrahmsTracking/include/MarlinTrackFit.h" 
   18 using namespace lcio ;
 
   19 using namespace marlin ;
 
  307   virtual void init() ;
 
  308   virtual void processRunHeader( LCRunHeader* run ) ;
 
  309   virtual void processEvent( LCEvent * evt ) ; 
 
  310   virtual void check( LCEvent * evt ) ; 
 
  315   void prepareVectors( LCEvent * evt );
 
  317   void MergeTPCandSiTracks();
 
  318   void MergeTPCandSiTracksII();
 
  319   TrackExtended * CombineTracks(TrackExtended * tpcTrk, TrackExtended * siTrk);
 
  320   TrackExtended * TrialCombineTracks(TrackExtended * tpcTrk, TrackExtended * siTrk);
 
  321   void Sorting(TrackExtendedVec & trackVec);
 
  322   void SelectCombinedTracks();
 
  323   void AddNotCombinedTracks();
 
  325   void AddNotAssignedHits();
 
  326   void RemoveSplitTracks();
 
  327   void AddTrackColToEvt(LCEvent * evt, TrackExtendedVec & trkVec, 
 
  328                         std::string TrkColName, std::string RelColName);
 
  329   float CompareTrk(TrackExtended * first, TrackExtended * second, 
 
  330                      float d0Cut, 
float z0Cut, 
int iopt);
 
  332   float CompareTrkII(TrackExtended * first, TrackExtended * second, 
 
  333                      float d0Cut, 
float z0Cut, 
int iopt, 
float &Angle);
 
  334   float CompareTrkIII(TrackExtended * first, TrackExtended * second, 
 
  335                      float d0Cut, 
float z0Cut, 
int iopt, 
float &Angle);
 
  337   void SortingTrackHitPairs(TrackHitPairVec & trackHitPairVec);
 
  339   void AssignSiHitsToTracks(TrackerHitExtendedVec hitVec,
 
  342   void AssignTPCHitsToTracks(TrackerHitExtendedVec hitVec,
 
  345   void AssignOuterHitsToTracks(TrackerHitExtendedVec hitVec, 
float dcut, 
int refit);
 
  347   void CreateExtrapolations();
 
  349   void CleanUpExtrapolations();
 
  351   HelixClass * GetExtrapolationHelix(TrackExtended * track);
 
  353   void PrintOutMerging(TrackExtended * firstTrackExt, TrackExtended * secondTrackExt, 
 
  356   void GeneralSorting(
int * index, 
float * val, 
int direct, 
int nVal);
 
  358   int SegmentRadialOverlap(TrackExtended* pTracki, TrackExtended* pTrackj);
 
  359   bool VetoMerge(TrackExtended* firstTrackExt, TrackExtended* secondTrackExt);
 
  365   std::string _TPCTrackCollection;
 
  366   std::string _SiTrackCollection;
 
  367   std::string _TPCTrackMCPCollName;
 
  368   std::string _SiTrackMCPCollName;
 
  370   std::string _VTXTrackerHitCollection;
 
  371   std::string _SITTrackerHitCollection;
 
  372   std::string _SETTrackerHitCollection;
 
  373   std::string _FTDTrackerHitCollection;
 
  374   std::string _TPCTrackerHitCollection;
 
  375   std::string _ETDTrackerHitCollection;
 
  377   std::string _LDCTrackCollection;
 
  378   std::string _LDCTrackMCPCollection;
 
  380   std::string _RefittedTPCTrackCollection;
 
  381   std::string _RefittedTPCTrackMCPCollection;
 
  382   std::string _RefittedSiTrackCollection;
 
  383   std::string _RefittedSiTrackMCPCollection;
 
  385   TrackExtendedVec _allSiTracks;
 
  386   TrackExtendedVec _allTPCTracks;
 
  387   TrackExtendedVec _allCombinedTracks;
 
  388   TrackExtendedVec _allNonCombinedTPCTracks;
 
  389   TrackExtendedVec _allNonCombinedSiTracks;
 
  390   TrackExtendedVec _trkImplVec;
 
  391   TrackerHitExtendedVec _allTPCHits;
 
  392   TrackerHitExtendedVec _allVTXHits;
 
  393   TrackerHitExtendedVec _allFTDHits;
 
  394   TrackerHitExtendedVec _allSITHits;
 
  395   TrackerHitExtendedVec _allSETHits;
 
  396   TrackerHitExtendedVec _allETDHits;
 
  398   float _resolutionRPhi_TPC,_resolutionZ_TPC;
 
  399   float _resolutionRPhi_VTX,_resolutionZ_VTX;
 
  400   float _resolutionRPhi_FTD,_resolutionZ_FTD;
 
  401   float _resolutionRPhi_SIT,_resolutionZ_SIT;
 
  402   float PI, PIOVER2, TWOPI;
 
  405   float _chi2PrefitCut;
 
  410   int _useExtraPoint,_optFit;
 
  412   float _dPCutForMerging;
 
  413   float _d0CutForMerging;
 
  414   float _z0CutForMerging;
 
  415   float _dOmegaForMerging;
 
  416   float _angleForMerging;
 
  420   float _dPCutForForcedMerging;
 
  421   float _d0CutForForcedMerging;
 
  422   float _z0CutForForcedMerging;
 
  423   float _dOmegaForForcedMerging;
 
  424   float _angleForForcedMerging;
 
  427   int _mergeTPCSegments;
 
  428   float _dPCutToMergeTPC;
 
  429   float _PtCutToMergeTPC;
 
  430   float _d0CutToMergeTPC;
 
  431   float _z0CutToMergeTPC;
 
  433   float _cosThetaCutHighPtMerge;
 
  434   float _cosThetaCutSoftHighPtMerge;
 
  435   float _momDiffCutHighPtMerge;
 
  436   float _momDiffCutSoftHighPtMerge;
 
  437   float _hitDistanceCutHighPtMerge;
 
  438   float _maxHitDistanceCutHighPtMerge;
 
  439   float _maxFractionOfOutliersCutHighPtMerge;
 
  445   int _storeRefittedTPCTracks;
 
  446   int _storeRefittedSiTracks;
 
  449   int _nHitsExtrapolation;
 
  454   float _aParIpReso,_bParIpReso,_sParIpReso;
 
  456   int _assignVTXHits,_assignFTDHits,_assignSITHits,_assignTPCHits;
 
  458   int _assignSETHits, _assignETDHits;
 
  460   float _distCutForVTXHits,_distCutForFTDHits,_distCutForSITHits,_distCutForTPCHits;
 
  462   float _distCutForSETHits, _distCutForETDHits;
 
  464   int _optFitTPC,_optFitSi;
 
  466   float _d0TrkCut,_z0TrkCut;
 
  468   int _forbidOverlapInZTPC,_forbidOverlapInZComb;
 
  472   std::map<TrackExtended*,HelixClass*> _trackExtrapolatedHelix;
 
  473   std::set<TrackExtended*> _candidateCombinedTracks;
 
=== FullLDCTracking Processor ===   Processor performing track finding procedure in the entire LDC de...
Definition: FullLDCTracking.h:301
 
Definition: MarlinTrackFit.h:26