|
||||
File indexing completed on 2024-04-06 12:21:49
0001 #ifndef L1Trigger_TrackFindingTMTT_Utility_h 0002 #define L1Trigger_TrackFindingTMTT_Utility_h 0003 0004 #include <vector> 0005 #include <string> 0006 0007 namespace tmtt { 0008 0009 class TP; 0010 class Stub; 0011 class Settings; 0012 0013 namespace Utility { 0014 // Count number of tracker layers a given list of stubs are in. 0015 // 0016 // By default uses the "reduced" layer ID if the configuration file requested it. However, 0017 // you can insist on "normal" layer ID being used instead, ignoring the configuration file, by 0018 // std::setting disableReducedLayerID = true. 0019 // 0020 // N.B. The "reduced" layer ID merges some layer IDs, so that no more than 8 ID are needed in any 0021 // eta region, so as to simplify the firmware. 0022 // 0023 // N.B. You should std::set disableReducedLayerID = false when counting the number of layers on a tracking 0024 // particle or how many layers it shares with an L1 track. Such counts by CMS convention use "normal" layer ID. 0025 // 0026 // By default, considers both PS+2S modules, but optionally considers only the PS ones if onlyPS = true. 0027 0028 enum AlgoStep { HT, SEED, DUP, FIT }; 0029 0030 unsigned int countLayers(const Settings* settings, 0031 const std::vector<const Stub*>& stubs, 0032 bool disableReducedLayerID = false, 0033 bool onlyPS = false); 0034 0035 unsigned int countLayers(const Settings* settings, 0036 const std::vector<Stub*>& stubs, 0037 bool disableReducedLayerID = false, 0038 bool onlyPS = false); 0039 0040 // Given a std::set of stubs (presumably on a reconstructed track candidate) 0041 // return the best matching Tracking Particle (if any), 0042 // the number of tracker layers in which one of the stubs matched one from this tracking particle, 0043 // and the list of the subset of the stubs which match those on the tracking particle. 0044 0045 const TP* matchingTP(const Settings* settings, 0046 const std::vector<const Stub*>& vstubs, 0047 unsigned int& nMatchedLayersBest, 0048 std::vector<const Stub*>& matchedStubsBest); 0049 0050 const TP* matchingTP(const Settings* settings, 0051 const std::vector<Stub*>& vstubs, 0052 unsigned int& nMatchedLayersBest, 0053 std::vector<const Stub*>& matchedStubsBest); 0054 0055 // Determine min number of layers a track candidate must have stubs in to be defined as a track. 0056 // 1st argument indicates from which step in chain this function is called: HT, SEED, DUP or FIT. 0057 unsigned int numLayerCut(Utility::AlgoStep algo, 0058 const Settings* settings, 0059 unsigned int iPhiSec, 0060 unsigned int iEtaReg, 0061 float invPt, 0062 float eta = 0.); 0063 } // namespace Utility 0064 0065 } // namespace tmtt 0066 0067 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |