Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:23:13

0001 #ifndef L1TMUONBARRELKALMANREGIONMODULE_H
0002 #define L1TMUONBARRELKALMANREGIONMODULE_H
0003 
0004 #include "DataFormats/L1TMuon/interface/L1MuKBMTCombinedStub.h"
0005 #include "L1Trigger/L1TMuonBarrel/interface/L1TMuonBarrelKalmanAlgo.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 
0008 class L1TMuonBarrelKalmanRegionModule {
0009 public:
0010   L1TMuonBarrelKalmanRegionModule(const edm::ParameterSet&, int wheel, int sector);
0011   ~L1TMuonBarrelKalmanRegionModule();
0012 
0013   const int wheel() const { return wheel_; }
0014 
0015   L1MuKBMTrackCollection process(L1TMuonBarrelKalmanAlgo*, const L1MuKBMTCombinedStubRefVector& stubs, int bx);
0016 
0017 private:
0018   int verbose_;
0019   int sector_;
0020   int wheel_;
0021   int nextSector_;
0022   int previousSector_;
0023   int nextWheel_;
0024 
0025   L1MuKBMTrackCollection cleanRegion(const L1MuKBMTrackCollection&,
0026                                      const L1MuKBMTrackCollection&,
0027                                      const L1MuKBMTrackCollection&);
0028   L1MuKBMTrackCollection selfClean(const L1MuKBMTrackCollection& tracks);
0029   L1MuKBMTrackCollection cleanHigher(const L1MuKBMTrackCollection& tracks1, const L1MuKBMTrackCollection& tracks2);
0030   L1MuKBMTrackCollection cleanLower(const L1MuKBMTrackCollection& tracks1, const L1MuKBMTrackCollection& tracks2);
0031   L1MuKBMTrackCollection sort4(const L1MuKBMTrackCollection& in);
0032 
0033   class SeedSorter {
0034   public:
0035     SeedSorter() {}
0036 
0037     bool operator()(const L1MuKBMTCombinedStubRef& a, const L1MuKBMTCombinedStubRef& b) {
0038       return (a->tag() < b->tag());
0039     }
0040   };
0041 };
0042 
0043 #endif