CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
GEMClusterProcessor.h
Go to the documentation of this file.
1 #ifndef L1Trigger_CSCTriggerPrimitives_GEMClusterProcessor_h
2 #define L1Trigger_CSCTriggerPrimitives_GEMClusterProcessor_h
3 
16 
17 #include <vector>
18 
20 public:
22  GEMClusterProcessor(int region, unsigned station, unsigned chamber, const edm::ParameterSet& conf);
23 
25  void clear();
26 
28  void run(const GEMPadDigiClusterCollection*);
29 
30  /* Returns clusters around deltaBX for a given BX
31  The parameter option determines which clusters should be returned
32  1: single and coincidence, 2: only coincidence, 3: only single
33  */
35  std::vector<GEMInternalCluster> getClusters(int bx, int deltaBX = 0, ClusterTypes option = AllClusters) const;
36 
37  /* Returns coincidence clusters for a given BX */
38  std::vector<GEMInternalCluster> getCoincidenceClusters(int bx) const;
39 
41  std::vector<GEMCoPadDigi> readoutCoPads() const;
42 
44 
46 
48 
49 private:
50  // put coincidence clusters in GEMInternalCluster vector
52 
53  // put single clusters in GEMInternalCluster vector who are not
54  // part of any coincidence cluster
56 
57  // translate the cluster central pad numbers into 1/8-strip number,
58  // and roll numbers into min and max wiregroup numbers
59  // for matching with CSC trigger primitives
61 
63  const int region_;
64  const int station_;
65  const int chamber_;
66  bool isEven_;
67 
68  unsigned int maxDeltaPad_;
69  unsigned int maxDeltaBX_;
70  unsigned int maxDeltaRoll_;
71 
73 
74  // output collection
75  std::vector<GEMInternalCluster> clusters_;
76 
79 };
80 
81 #endif
std::vector< GEMInternalCluster > clusters_
void run(const GEMPadDigiClusterCollection *)
std::vector< GEMCoPadDigi > readoutCoPads() const
void addSingleClusters(const GEMPadDigiClusterCollection *)
const CSCL1TPLookupTableME21ILT * lookupTableME21ILT_
void setESLookupTables(const CSCL1TPLookupTableME11ILT *conf)
void addCoincidenceClusters(const GEMPadDigiClusterCollection *)
GEMClusterProcessor(int region, unsigned station, unsigned chamber, const edm::ParameterSet &conf)
bool hasGE21Geometry16Partitions() const
const CSCL1TPLookupTableME11ILT * lookupTableME11ILT_
std::vector< GEMInternalCluster > getClusters(int bx, int deltaBX=0, ClusterTypes option=AllClusters) const
std::vector< GEMInternalCluster > getCoincidenceClusters(int bx) const