CMS 3D CMS Logo

InputMakerPhase2.h
Go to the documentation of this file.
1 /*
2  * InputMakerPhase2.h
3  *
4  * Created on: May 20, 2020
5  * Author: kbunkow
6  */
7 
8 #ifndef L1Trigger_L1TMuonOverlapPhase2_InputMakerPhase2_h
9 #define L1Trigger_L1TMuonOverlapPhase2_InputMakerPhase2_h
10 
17 
23 
25 public:
29 
31 
32  void loadDigis(const edm::Event& event) override;
33 
34  void makeStubs(MuonStubPtrs2D& muonStubsInLayers,
35  unsigned int iProcessor,
36  l1t::tftype procTyp,
37  int bxFrom,
38  int bxTo,
39  std::vector<std::unique_ptr<IOMTFEmulationObserver> >& observers) override;
40 
41  //dtThDigis is provided as argument, because in the OMTF implementation the phi and eta digis are merged (even thought it is artificial)
42  virtual void addDTphiDigi(MuonStubPtrs2D& muonStubsInLayers,
43  const L1Phase2MuDTPhDigi& digi,
45  unsigned int iProcessor,
46  l1t::tftype procTyp) = 0;
47 
48  virtual void addDTetaStubs(MuonStubPtrs2D& muonStubsInLayers,
49  const L1MuDTChambThDigi& thetaDigi,
50  unsigned int iProcessor,
51  l1t::tftype procTyp) = 0;
52 
53  virtual bool acceptDigi(const DTChamberId& dTChamberId, unsigned int iProcessor, l1t::tftype procType) {
54  return true;
55  }
56 
57 protected:
58  bool mergePhiAndTheta = true;
59 
62 
65 };
66 
68 public:
74  config(*config),
76 
77  ~DtPhase2DigiToStubsConverterOmtf() override = default;
78 
79  //dtThDigis is provided as argument, because in the OMTF implementation the phi and eta digis are merged (even thought it is artificial)
80  void addDTphiDigi(MuonStubPtrs2D& muonStubsInLayers,
81  const L1Phase2MuDTPhDigi& digi,
83  unsigned int iProcessor,
84  l1t::tftype procTyp) override;
85 
86  void addDTetaStubs(MuonStubPtrs2D& muonStubsInLayers,
87  const L1MuDTChambThDigi& thetaDigi,
88  unsigned int iProcessor,
89  l1t::tftype procTyp) override;
90 
91  bool acceptDigi(const DTChamberId& dTChamberId, unsigned int iProcessor, l1t::tftype procType) override;
92 
93 private:
96 };
97 
99 public:
100  InputMakerPhase2(const edm::ParameterSet& edmParameterSet,
101  MuStubsInputTokens& muStubsInputTokens,
102  edm::EDGetTokenT<L1Phase2MuDTPhContainer> inputTokenDTPhPhase2,
103  const OMTFConfiguration* config,
104  std::unique_ptr<OmtfAngleConverter> angleConverter);
105 
106  ~InputMakerPhase2() override = default;
107 
108  //the phi and eta digis are merged (even thought it is artificial)
109  virtual void addDTphiDigi(MuonStubPtrs2D& muonStubsInLayers,
110  const L1Phase2MuDTPhDigi& digi,
111  const L1Phase2MuDTPhContainer* dtThDigis,
112  unsigned int iProcessor,
113  l1t::tftype procTyp) {}
114 };
115 
116 #endif /* L1Trigger_L1TMuonOverlapPhase2_InputMakerPhase2_h */
DtPhase2DigiToStubsConverterOmtf(const OMTFConfiguration *config, const OmtfAngleConverter *angleConverter, edm::EDGetTokenT< L1Phase2MuDTPhContainer > inputTokenDtPh, edm::EDGetTokenT< L1MuDTChambThContainer > inputTokenDtTh)
virtual bool acceptDigi(const DTChamberId &dTChamberId, unsigned int iProcessor, l1t::tftype procType)
virtual void addDTphiDigi(MuonStubPtrs2D &muonStubsInLayers, const L1Phase2MuDTPhDigi &digi, const L1Phase2MuDTPhContainer *dtThDigis, unsigned int iProcessor, l1t::tftype procTyp)
DtPhase2DigiToStubsConverter(edm::EDGetTokenT< L1Phase2MuDTPhContainer > inputTokenDtPh, edm::EDGetTokenT< L1MuDTChambThContainer > inputTokenDtTh)
~DtPhase2DigiToStubsConverterOmtf() override=default
bool acceptDigi(const DTChamberId &dTChamberId, unsigned int iProcessor, l1t::tftype procType) override
void makeStubs(MuonStubPtrs2D &muonStubsInLayers, unsigned int iProcessor, l1t::tftype procTyp, int bxFrom, int bxTo, std::vector< std::unique_ptr< IOMTFEmulationObserver > > &observers) override
const OMTFConfiguration & config
std::unique_ptr< OmtfAngleConverter > angleConverter
Definition: config.py:1
std::vector< MuonStubPtrs1D > MuonStubPtrs2D
Definition: MuonStub.h:69
const OmtfAngleConverter & angleConverter
InputMakerPhase2(const edm::ParameterSet &edmParameterSet, MuStubsInputTokens &muStubsInputTokens, edm::EDGetTokenT< L1Phase2MuDTPhContainer > inputTokenDTPhPhase2, const OMTFConfiguration *config, std::unique_ptr< OmtfAngleConverter > angleConverter)
~InputMakerPhase2() override=default
edm::Handle< L1Phase2MuDTPhContainer > dtPhDigis
edm::EDGetTokenT< L1MuDTChambThContainer > inputTokenDtTh
void addDTphiDigi(MuonStubPtrs2D &muonStubsInLayers, const L1Phase2MuDTPhDigi &digi, const L1MuDTChambThContainer *dtThDigis, unsigned int iProcessor, l1t::tftype procTyp) override
virtual void addDTphiDigi(MuonStubPtrs2D &muonStubsInLayers, const L1Phase2MuDTPhDigi &digi, const L1MuDTChambThContainer *dtThDigis, unsigned int iProcessor, l1t::tftype procTyp)=0
edm::Handle< L1MuDTChambThContainer > dtThDigis
void loadDigis(const edm::Event &event) override
edm::EDGetTokenT< L1Phase2MuDTPhContainer > inputTokenDtPh
void addDTetaStubs(MuonStubPtrs2D &muonStubsInLayers, const L1MuDTChambThDigi &thetaDigi, unsigned int iProcessor, l1t::tftype procTyp) override
virtual void addDTetaStubs(MuonStubPtrs2D &muonStubsInLayers, const L1MuDTChambThDigi &thetaDigi, unsigned int iProcessor, l1t::tftype procTyp)=0
Definition: event.py:1