Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:20:46

0001 #ifndef __L1TMUON_DTCOLLECTOR_H__
0002 #define __L1TMUON_DTCOLLECTOR_H__
0003 //
0004 // Class: L1TMuon::DTCollector
0005 //
0006 // Info: Processes the DT digis into L1TMuon trigger primitives.
0007 //       Positional information is not assigned here.
0008 //
0009 // Author: L. Gray (FNAL)
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 }  // namespace L1TMuon
0038 
0039 #endif