Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-11-22 00:47:28

0001 #ifndef RecoTracker_MkFitCMS_interface_MkStdSeqs_h
0002 #define RecoTracker_MkFitCMS_interface_MkStdSeqs_h
0003 
0004 #include "RecoTracker/MkFitCore/interface/Config.h"
0005 #include "RecoTracker/MkFitCore/interface/Hit.h"
0006 #include "RecoTracker/MkFitCore/interface/Track.h"
0007 #include "RecoTracker/MkFitCore/interface/TrackerInfo.h"
0008 
0009 namespace mkfit {
0010 
0011   class EventOfHits;
0012   class IterationConfig;
0013   class TrackerInfo;
0014   class MkJob;
0015   class TrackCand;
0016 
0017   namespace StdSeq {
0018 
0019     void loadDeads(EventOfHits &eoh, const std::vector<DeadVec> &deadvectors);
0020 
0021     void cmssw_LoadHits_Begin(EventOfHits &eoh, const std::vector<const HitVec *> &orig_hitvectors);
0022     void cmssw_LoadHits_End(EventOfHits &eoh);
0023 
0024     // Not used anymore. Left here if we want to experiment again with
0025     // COPY_SORTED_HITS in class LayerOfHits.
0026     void cmssw_Map_TrackHitIndices(const EventOfHits &eoh, TrackVec &seeds);
0027     void cmssw_ReMap_TrackHitIndices(const EventOfHits &eoh, TrackVec &out_tracks);
0028 
0029     int clean_cms_seedtracks_iter(TrackVec &seeds, const IterationConfig &itrcfg, const BeamSpot &bspot);
0030 
0031     void remove_duplicates(TrackVec &tracks);
0032 
0033     void clean_duplicates(TrackVec &tracks, const IterationConfig &itconf);
0034     void clean_duplicates_sharedhits(TrackVec &tracks, const IterationConfig &itconf);
0035     void clean_duplicates_sharedhits_pixelseed(TrackVec &tracks, const IterationConfig &itconf);
0036 
0037     // Quality filters used directly (not through IterationConfig)
0038 
0039     template <class TRACK>
0040     bool qfilter_nan_n_silly(const TRACK &t, const MkJob &) {
0041       return !(t.hasNanNSillyValues());
0042     }
0043 
0044   }  // namespace StdSeq
0045 
0046 }  // namespace mkfit
0047 
0048 #endif