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  setWhatProduced(this).setConsumes(mGeomToken).setConsumes(mTopoToken);
96  }
97 
100 
102  std::unique_ptr<TTStubAlgorithm<T> > produce(const TTStubAlgorithmRecord &record) {
103  return std::make_unique<TTStubAlgorithm_cbc3<T> >(
104  &record.get(mGeomToken), &record.get(mTopoToken), mPerformZMatching2S);
105  }
106 };
107 
108 #endif
TTStubAlgorithm_cbc3(const TrackerGeometry *const theTrackerGeom, const TrackerTopology *const theTrackerTopo, bool aPerformZMatching2S)
Constructor.
T getParameter(std::string const &) const
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.
JetCorrectorParameters::Record record
Definition: classes.h:7
~ES_TTStubAlgorithm_cbc3() override
Destructor.
void PatternHitCorrelation(bool &aConfirmation, int &aDisplacement, int &anOffset, float &anHardBend, const TTStub< T > &aTTStub) const override
Matching operations.
bool mPerformZMatching2S
Z-matching.
ProductT const & get(ESGetToken< ProductT, DepRecordT > const &iToken) const
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