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
TTStubAlgorithmRecord.h
TTStubAlgorithm
Base class for any algorithm to be used in TTStubBuilder.
Definition: TTStubAlgorithm.h:29
ES_TTStubAlgorithm_cbc3
Class to declare the algorithm to the framework.
Definition: TTStubAlgorithm_cbc3.h:82
TTStubAlgorithm.h
TTStubAlgorithm_cbc3::className_
std::string className_
Definition: TTStubAlgorithm_cbc3.h:34
TrackerTopology
Definition: TrackerTopology.h:16
ES_TTStubAlgorithm_cbc3::mPerformZMatching2S
bool mPerformZMatching2S
Z-matching.
Definition: TTStubAlgorithm_cbc3.h:89
edm::ESProducer::setWhatProduced
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:163
ESProducer.h
ES_TTStubAlgorithm_cbc3::mGeomToken
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > mGeomToken
Data members.
Definition: TTStubAlgorithm_cbc3.h:85
ES_TTStubAlgorithm_cbc3::ES_TTStubAlgorithm_cbc3
ES_TTStubAlgorithm_cbc3(const edm::ParameterSet &p)
Constructor.
Definition: TTStubAlgorithm_cbc3.h:93
TTStubAlgorithm_cbc3::~TTStubAlgorithm_cbc3
~TTStubAlgorithm_cbc3() override
Destructor.
Definition: TTStubAlgorithm_cbc3.h:46
TTStub
Class to store the L1 Track Trigger stubs.
Definition: TTStub.h:22
TTStubAlgorithm_cbc3
Class for "cbc3" algorithm to be used in TTStubBuilder.
Definition: TTStubAlgorithm_cbc3.h:30
TTStubAlgorithm_cbc3::TTStubAlgorithm_cbc3
TTStubAlgorithm_cbc3(const TrackerGeometry *const theTrackerGeom, const TrackerTopology *const theTrackerTopo, bool aPerformZMatching2S)
Constructor.
Definition: TTStubAlgorithm_cbc3.h:38
TTStubAlgorithm_cbc3::PatternHitCorrelation
void PatternHitCorrelation(bool &aConfirmation, int &aDisplacement, int &anOffset, float &anHardBend, const TTStub< T > &aTTStub) const override
Matching operations.
edm::ParameterSet
Definition: ParameterSet.h:47
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
ES_TTStubAlgorithm_cbc3::~ES_TTStubAlgorithm_cbc3
~ES_TTStubAlgorithm_cbc3() override
Destructor.
Definition: TTStubAlgorithm_cbc3.h:101
MeasurementPoint.h
AlCaHarvesting_cff.record
record
Definition: AlCaHarvesting_cff.py:42
ES_TTStubAlgorithm_cbc3::mTopoToken
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > mTopoToken
Definition: TTStubAlgorithm_cbc3.h:86
cc
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord >
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
TTStubAlgorithmRecord
Class to store the TTStubAlgorithm used in TTStubBuilder.
Definition: TTStubAlgorithmRecord.h:23
ModuleFactory.h
T
long double T
Definition: Basic3DVectorLD.h:48
TTStubAlgorithm_cbc3::mPerformZMatching2S
bool mPerformZMatching2S
Data members.
Definition: TTStubAlgorithm_cbc3.h:33
EventSetup.h
ES_TTStubAlgorithm_cbc3::produce
std::unique_ptr< TTStubAlgorithm< T > > produce(const TTStubAlgorithmRecord &record)
Implement the producer.
Definition: TTStubAlgorithm_cbc3.h:104
edm::ESProducer
Definition: ESProducer.h:104
Topology.h
TrackerGeometry
Definition: TrackerGeometry.h:14