CMS 3D CMS Logo

KMTF.h
Go to the documentation of this file.
1 #ifndef L1Trigger_Phase2L1GMT_KMTF_h
2 #define L1Trigger_Phase2L1GMT_KMTF_h
6 #include <cstdlib>
7 
8 namespace Phase2L1GMT {
9 
10  class KMTF {
11  public:
12  KMTF(int verbose, const edm::ParameterSet& iConfig);
13  ~KMTF();
14  std::pair<std::vector<l1t::KMTFTrack>, std::vector<l1t::KMTFTrack> > process(const l1t::MuonStubRefVector& stubsAll,
15  int bx,
16  unsigned int MAXN);
17 
18  private:
19  int verbose_;
20  std::unique_ptr<KMTFCore> trackMaker_;
21  void overlapCleanTrack(l1t::KMTFTrack& source, const l1t::KMTFTrack& other, bool eq, bool vertex);
22  std::vector<l1t::KMTFTrack> cleanRegion(const std::vector<l1t::KMTFTrack>& tracks2,
23  const std::vector<l1t::KMTFTrack>& tracks3,
24  const std::vector<l1t::KMTFTrack>& tracks4,
25  bool vertex);
26  void sort(std::vector<l1t::KMTFTrack>& in, bool vertex);
27  void swap(std::vector<l1t::KMTFTrack>& list, int i, int j, bool vertex);
28 
29  class SeedSorter {
30  public:
32  bool operator()(const l1t::MuonStubRef& a, const l1t::MuonStubRef& b) { return (a->id() < b->id()); }
33  };
34  };
35 } // namespace Phase2L1GMT
36 #endif
int verbose_
Definition: KMTF.h:19
bool verbose
void sort(std::vector< l1t::KMTFTrack > &in, bool vertex)
Definition: KMTF.cc:441
void swap(std::vector< l1t::KMTFTrack > &list, int i, int j, bool vertex)
Definition: KMTF.cc:407
std::unique_ptr< KMTFCore > trackMaker_
Definition: KMTF.h:20
std::vector< edm::Ref< MuonStubCollection > > MuonStubRefVector
Definition: MuonStub.h:44
std::pair< std::vector< l1t::KMTFTrack >, std::vector< l1t::KMTFTrack > > process(const l1t::MuonStubRefVector &stubsAll, int bx, unsigned int MAXN)
Definition: KMTF.cc:9
void overlapCleanTrack(l1t::KMTFTrack &source, const l1t::KMTFTrack &other, bool eq, bool vertex)
Definition: KMTF.cc:297
KMTF(int verbose, const edm::ParameterSet &iConfig)
Definition: KMTF.cc:4
bool operator()(const l1t::MuonStubRef &a, const l1t::MuonStubRef &b)
Definition: KMTF.h:32
double b
Definition: hdecay.h:120
std::vector< l1t::KMTFTrack > cleanRegion(const std::vector< l1t::KMTFTrack > &tracks2, const std::vector< l1t::KMTFTrack > &tracks3, const std::vector< l1t::KMTFTrack > &tracks4, bool vertex)
Definition: KMTF.cc:329
double a
Definition: hdecay.h:121
static std::string const source
Definition: EdmProvDump.cc:49