File indexing completed on 2024-04-06 12:20:49
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