Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:12:50

0001 /*
0002  * IOMTFReconstructionObserver.h
0003  *
0004  *  Created on: Oct 12, 2017
0005  *      Author: kbunkow
0006  */
0007 
0008 #ifndef L1T_OmtfP1_IOMTFRECONSTRUCTIONOBSERVER_H_
0009 #define L1T_OmtfP1_IOMTFRECONSTRUCTIONOBSERVER_H_
0010 
0011 #include "L1Trigger/L1TMuonOverlapPhase1/interface/Omtf/AlgoMuon.h"
0012 #include "L1Trigger/L1TMuonOverlapPhase1/interface/Omtf/OMTFinput.h"
0013 
0014 #include "FWCore/Framework/interface/EventSetup.h"
0015 #include "DataFormats/L1TMuon/interface/RegionalMuonCand.h"
0016 #include "DataFormats/L1TMuon/interface/RegionalMuonCandFwd.h"
0017 #include <memory>
0018 #include <vector>
0019 
0020 namespace edm {
0021   class Event;
0022 } /* namespace edm */
0023 
0024 class IOMTFEmulationObserver {
0025 public:
0026   IOMTFEmulationObserver();
0027   virtual ~IOMTFEmulationObserver();
0028 
0029   virtual void beginRun(edm::EventSetup const& eventSetup) {}
0030 
0031   virtual void observeProcesorEmulation(unsigned int iProcessor,
0032                                         l1t::tftype mtfType,
0033                                         const std::shared_ptr<OMTFinput>& input,
0034                                         const AlgoMuons& algoCandidates,
0035                                         const AlgoMuons& gbCandidates,
0036                                         const std::vector<l1t::RegionalMuonCand>& candMuons) = 0;
0037 
0038   virtual void observeEventBegin(const edm::Event& iEvent){};
0039 
0040   virtual void observeEventEnd(const edm::Event& iEvent,
0041                                std::unique_ptr<l1t::RegionalMuonCandBxCollection>& finalCandidates){};
0042 
0043   virtual void endJob() = 0;
0044 };
0045 
0046 #endif /* L1T_OmtfP1_IOMTFRECONSTRUCTIONOBSERVER_H_ */