File indexing completed on 2024-04-06 12:20:46
0001 #ifndef __L1TMUON_DTCOLLECTOR_H__
0002 #define __L1TMUON_DTCOLLECTOR_H__
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <vector>
0012 #include <memory>
0013 #include "SubsystemCollector.h"
0014 #include "DTBunchCrossingCleaner.h"
0015 #include "FWCore/Utilities/interface/InputTag.h"
0016
0017 class L1MuDTChambPhDigi;
0018 class L1MuDTChambThDigi;
0019
0020 namespace L1TMuon {
0021
0022 class DTCollector : public SubsystemCollector {
0023 public:
0024 DTCollector(const edm::ParameterSet &);
0025 ~DTCollector() override {}
0026
0027 void extractPrimitives(const edm::Event &, const edm::EventSetup &, std::vector<TriggerPrimitive> &) const override;
0028
0029 private:
0030 TriggerPrimitive processDigis(const L1MuDTChambPhDigi &, const int &segment_number) const;
0031 TriggerPrimitive processDigis(const L1MuDTChambThDigi &, const int bti_group) const;
0032 TriggerPrimitive processDigis(const L1MuDTChambPhDigi &, const L1MuDTChambThDigi &, const int bti_group) const;
0033 int findBTIGroupForThetaDigi(const L1MuDTChambThDigi &, const int position) const;
0034 const int bx_min, bx_max;
0035 std::unique_ptr<DTBunchCrossingCleaner> _bxc;
0036 };
0037 }
0038
0039 #endif