Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:48

0001 #ifndef L1Trigger_TrackFindingTMTT_MiniHTstage_h
0002 #define L1Trigger_TrackFindingTMTT_MiniHTstage_h
0003 
0004 #include "L1Trigger/TrackFindingTMTT/interface/HTrphi.h"
0005 #include "L1Trigger/TrackFindingTMTT/interface/MuxHToutputs.h"
0006 #include "L1Trigger/TrackFindingTMTT/interface/Array2D.h"
0007 
0008 #include <memory>
0009 
0010 namespace tmtt {
0011 
0012   class Settings;
0013 
0014   class MiniHTstage {
0015   public:
0016     MiniHTstage(const Settings* settings);
0017 
0018     void exec(Array2D<std::unique_ptr<HTrphi>>& mHtRphis);
0019 
0020   private:
0021     // Do load balancing
0022     unsigned int linkIDLoadBalanced(
0023         unsigned int link,
0024         unsigned int mBin,
0025         unsigned int cBin,
0026         unsigned int numStubs,
0027         std::map<std::pair<unsigned int, unsigned int>, unsigned int>& numStubsPerLinkStage1,
0028         std::map<std::pair<unsigned int, unsigned int>, unsigned int>& numStubsPerLinkStage2,
0029         bool test = false) const;
0030 
0031   private:
0032     const Settings* settings_;  // Configuration parameters
0033     bool miniHTstage_;
0034     MuxHToutputs::MuxAlgoName muxOutputsHT_;
0035     unsigned int houghNbinsPt_;
0036     unsigned int houghNbinsPhi_;
0037     unsigned int miniHoughLoadBalance_;
0038     unsigned int miniHoughNbinsPt_;
0039     unsigned int miniHoughNbinsPhi_;
0040     float miniHoughMinPt_;
0041     bool miniHoughDontKill_;
0042     float miniHoughDontKillMinPt_;
0043     unsigned int numSubSecsEta_;
0044     unsigned int numPhiNonants_;
0045     unsigned int numPhiSecPerNon_;
0046     unsigned int numEtaRegions_;
0047     bool busySectorKill_;
0048     unsigned int busySectorNumStubs_;
0049     std::vector<unsigned int> busySectorMbinRanges_;
0050     float chosenRofPhi_;
0051     float binSizeQoverPtAxis_;
0052     float binSizePhiTrkAxis_;
0053     float invPtToDphi_;
0054     unsigned int nMiniHTcells_;
0055     unsigned int nHTlinksPerNonant_;
0056   };
0057 
0058 }  // namespace tmtt
0059 
0060 #endif