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 {
34  private:
36  int mWidthCut;
37 
39  static bool CompareClusters( const T& a, const T& b );
40 
41  public:
43 
44  TTClusterAlgorithm_official( int aWidthCut )
45  : TTClusterAlgorithm< T >( __func__ )
46  {
47  mWidthCut = aWidthCut;
48  }
49 
52 
54  void Cluster( std::vector< std::vector< T > > &output,
55  const std::vector< T > &input,
56  bool isPS ) const override;
57 
58 };
59 
67 template< >
70 
72 template< >
73 void TTClusterAlgorithm_official< Ref_Phase2TrackerDigi_ >::Cluster( std::vector< std::vector< Ref_Phase2TrackerDigi_ > > &output,
74  const std::vector< Ref_Phase2TrackerDigi_ > &input,
75  bool isPS ) const;
76 
77 
78 
79 
80 
89 template< typename T >
91 {
92  private:
94  int mWidthCut;
95 
96  public:
99  : mWidthCut( p.getParameter< int >("WidthCut") )
100  {
101  setWhatProduced( this );
102  }
103 
106 
108  std::unique_ptr< TTClusterAlgorithm< T > > produce( const TTClusterAlgorithmRecord & record )
109  {
110  TTClusterAlgorithm< T >* TTClusterAlgo =
112 
113  return std::unique_ptr< TTClusterAlgorithm< T > >( TTClusterAlgo );
114  }
115 
116 };
117 
118 #endif
119 
static bool CompareClusters(const T &a, const T &b)
Cluster max width.
JetCorrectorParameters::Record record
Definition: classes.h:7
std::unique_ptr< TTClusterAlgorithm< T > > produce(const TTClusterAlgorithmRecord &record)
Implement the producer.
Class to declare the algorithm to the framework.
ES_TTClusterAlgorithm_official(const edm::ParameterSet &p)
Constructor.
static std::string const input
Definition: EdmProvDump.cc:44
Base class for any algorithm to be used in TTClusterBuilder.
double b
Definition: hdecay.h:120
void Cluster(std::vector< std::vector< T > > &output, const std::vector< T > &input, bool isPS) const override
Clustering operations.
double a
Definition: hdecay.h:121
~TTClusterAlgorithm_official() override
Destructor.
~ES_TTClusterAlgorithm_official() override
Destructor.
Class for "official" algorithm to be used in TTClusterBuilder.
TTClusterAlgorithm_official(int aWidthCut)
Constructor.
Class to store the TTClusterAlgorithm used in TTClusterBuilder.
long double T