Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef L1TMuonEndCap_SectorProcessor_h
0002 #define L1TMuonEndCap_SectorProcessor_h
0003 
0004 #include <deque>
0005 #include <map>
0006 #include <string>
0007 #include <vector>
0008 
0009 #include "DataFormats/Provenance/interface/EventID.h"
0010 
0011 #include "L1Trigger/L1TMuonEndCap/interface/Common.h"
0012 #include "L1Trigger/L1TMuonEndCap/interface/EMTFSetup.h"
0013 
0014 #include "L1Trigger/L1TMuonEndCap/interface/PrimitiveSelection.h"
0015 #include "L1Trigger/L1TMuonEndCap/interface/PrimitiveConversion.h"
0016 #include "L1Trigger/L1TMuonEndCap/interface/PatternRecognition.h"
0017 #include "L1Trigger/L1TMuonEndCap/interface/PrimitiveMatching.h"
0018 #include "L1Trigger/L1TMuonEndCap/interface/AngleCalculation.h"
0019 #include "L1Trigger/L1TMuonEndCap/interface/BestTrackSelection.h"
0020 #include "L1Trigger/L1TMuonEndCap/interface/PtAssignment.h"
0021 #include "L1Trigger/L1TMuonEndCap/interface/SingleHitTrack.h"
0022 
0023 class SectorProcessor {
0024 public:
0025   explicit SectorProcessor();
0026   ~SectorProcessor();
0027 
0028   typedef PatternRecognition::pattern_ref_t pattern_ref_t;
0029 
0030   void configure(const EMTFSetup* setup, int verbose, int endcap, int sector);
0031 
0032   void process(
0033       // Input
0034       const edm::EventID& event_id,
0035       const TriggerPrimitiveCollection& muon_primitives,
0036       // Output
0037       EMTFHitCollection& out_hits,
0038       EMTFTrackCollection& out_tracks) const;
0039 
0040   void process_single_bx(
0041       // Input
0042       int bx,
0043       const TriggerPrimitiveCollection& muon_primitives,
0044       // Output
0045       EMTFHitCollection& out_hits,
0046       EMTFTrackCollection& out_tracks,
0047       // Intermediate objects
0048       std::deque<EMTFHitCollection>& extended_conv_hits,
0049       std::deque<EMTFTrackCollection>& extended_best_track_cands,
0050       std::map<pattern_ref_t, int>& patt_lifetime_map) const;
0051 
0052 private:
0053   const EMTFSetup* setup_;
0054 
0055   int verbose_, endcap_, sector_;
0056 };
0057 
0058 #endif