CMS 3D CMS Logo

OMTFProcessor.h
Go to the documentation of this file.
1 #ifndef OMTF_OMTFProcessor_H
2 #define OMTF_OMTFProcessor_H
3 
4 #include <map>
5 
9 
10 
12 class OMTFinput;
13 
14 class SimTrack;
15 
16 namespace edm{
17 class ParameterSet;
18 }
19 
21 
22  public:
23 
24  typedef std::map<Key,OMTFResult> resultsMap;
25 
27 
28  ~OMTFProcessor();
29 
31  bool configure(const OMTFConfiguration * omtfParams, const L1TMuonOverlapParams * omtfPatterns);
32 
37  const std::vector<OMTFProcessor::resultsMap> & processInput(unsigned int iProcessor,
38  const OMTFinput & aInput);
39 
41  const std::map<Key,GoldenPattern*> & getPatterns() const;
42 
46  void fillCounts(unsigned int iProcessor,
47  const OMTFinput & aInput,
48  const SimTrack* aSimMuon);
49 
53  void averagePatterns(int charge);
54 
55  private:
56 
58  void resetConfiguration();
59 
62  bool addGP(GoldenPattern *aGP);
63 
66  void shiftGP(GoldenPattern *aGP,
67  const GoldenPattern::vector2D & meanDistPhiNew,
68  const GoldenPattern::vector2D & meanDistPhiOld);
69 
72  void fillInputRange(unsigned int iProcessor,
73  unsigned int iCone,
74  const OMTFinput & aInput);
75 
76  void fillInputRange(unsigned int iProcessor,
77  unsigned int iCone,
78  unsigned int iRefLayer,
79  unsigned int iHit);
80 
83  OMTFinput::vector1D restrictInput(unsigned int iProcessor,
84  unsigned int iCone,
85  unsigned int iLayer,
86  const OMTFinput::vector1D & layerHits);
87 
89  std::map<Key,GoldenPattern*> theGPs;
90 
94  std::vector<OMTFProcessor::resultsMap> myResults;
95 
99 };
100 
101 
102 #endif
const OMTFConfiguration * myOmtfConfig
Definition: OMTFProcessor.h:98
std::map< Key, GoldenPattern * > theGPs
Map holding Golden Patterns.
Definition: OMTFProcessor.h:89
std::map< Key, OMTFResult > resultsMap
Definition: OMTFProcessor.h:24
std::vector< int > vector1D
Definition: OMTFinput.h:15
std::vector< vector1D > vector2D
Definition: GoldenPattern.h:49
HLT enums.
std::vector< OMTFProcessor::resultsMap > myResults
Definition: OMTFProcessor.h:94