CMS 3D CMS Logo

TTStubAlgorithm_cbc3.h
Go to the documentation of this file.
1 
11 #ifndef L1_TRACK_TRIGGER_STUB_ALGO_CBC3_H
12 #define L1_TRACK_TRIGGER_STUB_ALGO_CBC3_H
13 
17 
20 
23 
24 #include <memory>
25 #include <string>
26 #include <map>
27 #include <typeinfo>
28 
29 template <typename T>
31 private:
35 
36 public:
38  TTStubAlgorithm_cbc3(const TrackerGeometry *const theTrackerGeom,
39  const TrackerTopology *const theTrackerTopo,
40  bool aPerformZMatching2S)
41  : TTStubAlgorithm<T>(theTrackerGeom, theTrackerTopo, __func__) {
42  mPerformZMatching2S = aPerformZMatching2S;
43  }
44 
46  ~TTStubAlgorithm_cbc3() override {}
47 
49  void PatternHitCorrelation(bool &aConfirmation,
50  int &aDisplacement,
51  int &anOffset,
52  float &anHardBend,
53  const TTStub<T> &aTTStub) const override;
54 
55 };
56 
64 template <>
67  bool &aConfirmation,
68  int &aDisplacement,
69  int &anOffset,
70  float &anHardBend,
71  const TTStub<Ref_Phase2TrackerDigi_> &aTTStub) const;
72 
81 template <typename T>
83 private:
87 
90 
91 public:
94  mPerformZMatching2S = p.getParameter<bool>("zMatching2S");
95  auto cc = setWhatProduced(this);
96  mGeomToken = cc.consumes();
97  mTopoToken = cc.consumes();
98  }
99 
102 
104  std::unique_ptr<TTStubAlgorithm<T> > produce(const TTStubAlgorithmRecord &record) {
105  return std::make_unique<TTStubAlgorithm_cbc3<T> >(
107  }
108 };
109 
110 #endif
TTStubAlgorithm_cbc3(const TrackerGeometry *const theTrackerGeom, const TrackerTopology *const theTrackerTopo, bool aPerformZMatching2S)
Constructor.
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:163
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > mGeomToken
Data members.
Class to declare the algorithm to the framework.
std::unique_ptr< TTStubAlgorithm< T > > produce(const TTStubAlgorithmRecord &record)
Implement the producer.
Base class for any algorithm to be used in TTStubBuilder.
void PatternHitCorrelation(bool &aConfirmation, int &aDisplacement, int &anOffset, float &anHardBend, const TTStub< T > &aTTStub) const override
Matching operations.
~ES_TTStubAlgorithm_cbc3() override
Destructor.
bool mPerformZMatching2S
Z-matching.
Class for "cbc3" algorithm to be used in TTStubBuilder.
ES_TTStubAlgorithm_cbc3(const edm::ParameterSet &p)
Constructor.
Class to store the TTStubAlgorithm used in TTStubBuilder.
Class to store the L1 Track Trigger stubs.
Definition: TTStub.h:22
bool mPerformZMatching2S
Data members.
~TTStubAlgorithm_cbc3() override
Destructor.
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > mTopoToken
long double T