CMS 3D CMS Logo

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  const CSCL1TPLookupTableME11ILT* lookupTableME11ILT,
30  const CSCL1TPLookupTableME21ILT* lookupTableME21ILT);
31 
32  /* Returns clusters around deltaBX for a given BX
33  The parameter option determines which clusters should be returned
34  1: single and coincidence, 2: only coincidence, 3: only single
35  */
37  std::vector<GEMInternalCluster> getClusters(int bx, ClusterTypes option = AllClusters) const;
38 
40  std::vector<GEMCoPadDigi> readoutCoPads() const;
41 
43 
44 private:
45  // put coincidence clusters in GEMInternalCluster vector
47 
48  // put single clusters in GEMInternalCluster vector who are not
49  // part of any coincidence cluster
51 
52  // translate the cluster central pad numbers into 1/8-strip number,
53  // and roll numbers into min and max wiregroup numbers
54  // for matching with CSC trigger primitives
55  void doCoordinateConversion(const CSCL1TPLookupTableME11ILT* lookupTableME11ILT,
56  const CSCL1TPLookupTableME21ILT* lookupTableME21ILT);
57 
58  // Chamber id (trigger-type labels)
59  const int region_;
60  const int station_;
61  const int chamber_;
62  bool isEven_;
63 
64  unsigned int tmbL1aWindowSize_;
65  unsigned int delayGEMinOTMB_;
66  unsigned int maxDeltaPad_;
67  unsigned int maxDeltaBX_;
68  unsigned int maxDeltaRoll_;
69 
71 
72  // output collection
73  std::vector<GEMInternalCluster> clusters_;
74 };
75 
76 #endif
std::vector< GEMInternalCluster > clusters_
std::vector< GEMInternalCluster > getClusters(int bx, ClusterTypes option=AllClusters) const
unsigned int tmbL1aWindowSize_
void run(const GEMPadDigiClusterCollection *, const CSCL1TPLookupTableME11ILT *lookupTableME11ILT, const CSCL1TPLookupTableME21ILT *lookupTableME21ILT)
void addSingleClusters(const GEMPadDigiClusterCollection *)
std::vector< GEMCoPadDigi > readoutCoPads() const
void addCoincidenceClusters(const GEMPadDigiClusterCollection *)
bool hasGE21Geometry16Partitions() const
GEMClusterProcessor(int region, unsigned station, unsigned chamber, const edm::ParameterSet &conf)
unsigned int delayGEMinOTMB_
void doCoordinateConversion(const CSCL1TPLookupTableME11ILT *lookupTableME11ILT, const CSCL1TPLookupTableME21ILT *lookupTableME21ILT)