CMS 3D CMS Logo

TTClusterAlgorithm_official.h
Go to the documentation of this file.
1 
16 #ifndef L1_TRACK_TRIGGER_CLUSTER_ALGO_official_H
17 #define L1_TRACK_TRIGGER_CLUSTER_ALGO_official_H
18 
23 
26 
27 #include <memory>
28 #include <string>
29 #include <map>
30 
31 template <typename T>
33 private:
35  int mWidthCut;
36 
38  static bool CompareClusters(const T& a, const T& b);
39 
40 public:
42 
43  TTClusterAlgorithm_official(int aWidthCut) : TTClusterAlgorithm<T>(__func__) { mWidthCut = aWidthCut; }
44 
47 
49  void Cluster(std::vector<std::vector<T> >& output, const std::vector<T>& input, bool isPS) const override;
50 
51 };
52 
60 template <>
63  const Ref_Phase2TrackerDigi_& b);
64 
66 template <>
68  std::vector<std::vector<Ref_Phase2TrackerDigi_> >& output,
69  const std::vector<Ref_Phase2TrackerDigi_>& input,
70  bool isPS) const;
71 
80 template <typename T>
82 private:
84  int mWidthCut;
85 
86 public:
88  ES_TTClusterAlgorithm_official(const edm::ParameterSet& p) : mWidthCut(p.getParameter<int>("WidthCut")) {
89  setWhatProduced(this);
90  }
91 
94 
96  std::unique_ptr<TTClusterAlgorithm<T> > produce(const TTClusterAlgorithmRecord& record) {
98 
99  return std::unique_ptr<TTClusterAlgorithm<T> >(TTClusterAlgo);
100  }
101 
102 };
103 
104 #endif
TTClusterAlgorithm_official::Cluster
void Cluster(std::vector< std::vector< T > > &output, const std::vector< T > &input, bool isPS) const override
Clustering operations.
input
static const std::string input
Definition: EdmProvDump.cc:48
TTClusterAlgorithmRecord
Class to store the TTClusterAlgorithm used in TTClusterBuilder.
Definition: TTClusterAlgorithmRecord.h:20
ESHandle.h
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
edm::ESProducer::setWhatProduced
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:163
ESProducer.h
GlobalPosition_Frontier_DevDB_cff.record
record
Definition: GlobalPosition_Frontier_DevDB_cff.py:10
TTClusterAlgorithm
Base class for any algorithm to be used in TTClusterBuilder.
Definition: TTClusterAlgorithm.h:26
TTClusterAlgorithm.h
edm::Ref
Definition: AssociativeIterator.h:58
ES_TTClusterAlgorithm_official::produce
std::unique_ptr< TTClusterAlgorithm< T > > produce(const TTClusterAlgorithmRecord &record)
Implement the producer.
Definition: TTClusterAlgorithm_official.h:96
ES_TTClusterAlgorithm_official::mWidthCut
int mWidthCut
Data members.
Definition: TTClusterAlgorithm_official.h:84
TTClusterAlgorithmRecord.h
b
double b
Definition: hdecay.h:118
TTClusterAlgorithm_official
Class for "official" algorithm to be used in TTClusterBuilder.
Definition: TTClusterAlgorithm_official.h:32
ES_TTClusterAlgorithm_official::ES_TTClusterAlgorithm_official
ES_TTClusterAlgorithm_official(const edm::ParameterSet &p)
Constructor.
Definition: TTClusterAlgorithm_official.h:88
edm::ParameterSet
Definition: ParameterSet.h:47
a
double a
Definition: hdecay.h:119
createfilelist.int
int
Definition: createfilelist.py:10
trackerHitRTTI::vector
Definition: trackerHitRTTI.h:21
TTClusterAlgorithm_official::CompareClusters
static bool CompareClusters(const T &a, const T &b)
Cluster max width.
ModuleFactory.h
TTClusterAlgorithm_official::TTClusterAlgorithm_official
TTClusterAlgorithm_official(int aWidthCut)
Constructor.
Definition: TTClusterAlgorithm_official.h:43
ES_TTClusterAlgorithm_official
Class to declare the algorithm to the framework.
Definition: TTClusterAlgorithm_official.h:81
T
long double T
Definition: Basic3DVectorLD.h:48
EventSetup.h
TTClusterAlgorithm_official::mWidthCut
int mWidthCut
Data members.
Definition: TTClusterAlgorithm_official.h:35
edm::ESProducer
Definition: ESProducer.h:104
ES_TTClusterAlgorithm_official::~ES_TTClusterAlgorithm_official
~ES_TTClusterAlgorithm_official() override
Destructor.
Definition: TTClusterAlgorithm_official.h:93
TTClusterAlgorithm_official::~TTClusterAlgorithm_official
~TTClusterAlgorithm_official() override
Destructor.
Definition: TTClusterAlgorithm_official.h:46