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
static bool CompareClusters(const T &a, const T &b)
Cluster max width.
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:166
void Cluster(std::vector< std::vector< T > > &output, const std::vector< T > &input, bool isPS) const override
Clustering operations.
Class to declare the algorithm to the framework.
ES_TTClusterAlgorithm_official(const edm::ParameterSet &p)
Constructor.
static std::string const input
Definition: EdmProvDump.cc:50
std::unique_ptr< TTClusterAlgorithm< T > > produce(const TTClusterAlgorithmRecord &record)
Implement the producer.
Base class for any algorithm to be used in TTClusterBuilder.
double b
Definition: hdecay.h:120
double a
Definition: hdecay.h:121
~TTClusterAlgorithm_official() override
Destructor.
~ES_TTClusterAlgorithm_official() override
Destructor.
Class for "official" algorithm to be used in TTClusterBuilder.
Definition: output.py:1
TTClusterAlgorithm_official(int aWidthCut)
Constructor.
Class to store the TTClusterAlgorithm used in TTClusterBuilder.
long double T