CMS 3D CMS Logo

CSCTriggerPrimitivesBuilder.h
Go to the documentation of this file.
1 #ifndef L1Trigger_CSCTriggerPrimitives_CSCTriggerPrimitivesBuilder_h
2 #define L1Trigger_CSCTriggerPrimitives_CSCTriggerPrimitivesBuilder_h
3 
32 
34 class CSCMotherboard;
35 class CSCMuonPortCard;
36 class CSCGeometry;
37 class GEMGeometry;
39 {
40  public:
41 
47 
49 
51  void setConfigParameters(const CSCDBL1TPParameters* conf);
52 
54  void setCSCGeometry(const CSCGeometry *g) { csc_g = g; }
55  void setGEMGeometry(const GEMGeometry *g) { gem_g = g; }
56 
57  /* temporary function to check if running on data.
58  * Currently in simulation the central BX is BX6; in data
59  * it is BX8. This mismatch in conventions is expeced to
60  * be resolved in the near future. The member runOnData_
61  * is used in the builder to shift the LCT BX readout
62  * with +2 from [3,9] to [5,11].
63  */
65 
69  void build(const CSCBadChambers* badChambers,
70  const CSCWireDigiCollection* wiredc,
71  const CSCComparatorDigiCollection* compdc,
72  const GEMPadDigiCollection* gemPads,
73  const GEMPadDigiClusterCollection* gemPadClusters,
75  CSCCLCTPreTriggerCollection & oc_pretrig,
77  CSCCorrelatedLCTDigiCollection& oc_sorted_lct,
78  GEMCoPadDigiCollection& oc_gemcopad);
79 
84  private:
85 
88  static const int min_endcap; // endcaps
89  static const int max_endcap;
90  static const int min_station; // stations per endcap
91  static const int max_station;
92  static const int min_sector; // trigger sectors per station
93  static const int max_sector;
94  static const int min_subsector; // trigger subsectors per sector
95  static const int max_subsector;
96  static const int min_chamber; // chambers per trigger subsector
97  static const int max_chamber;
98 
101 
104 
107 
110 
113 
116 
119 
122 
123  int m_minBX, m_maxBX; // min and max BX to sort.
124 
126  std::unique_ptr<CSCMotherboard>
128 
129  // pointers to the geometry
132 
134  std::unique_ptr<CSCMuonPortCard> m_muonportcard;
135 };
136 
137 #endif
std::unique_ptr< CSCMotherboard > tmb_[MAX_ENDCAPS][MAX_STATIONS][MAX_SECTORS][MAX_SUBSECTORS][MAX_CHAMBERS]
void setGEMGeometry(const GEMGeometry *g)
void setCSCGeometry(const CSCGeometry *g)
set CSC and GEM geometries for the matching needs
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
void setConfigParameters(const CSCDBL1TPParameters *conf)
bool runOnData_
temporary flag to run on data
CSCTriggerPrimitivesBuilder(const edm::ParameterSet &)
bool checkBadChambers_
a flag whether to skip chambers from the bad chambers map
std::unique_ptr< CSCMuonPortCard > m_muonportcard
void build(const CSCBadChambers *badChambers, const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc, const GEMPadDigiCollection *gemPads, const GEMPadDigiClusterCollection *gemPadClusters, CSCALCTDigiCollection &oc_alct, CSCCLCTDigiCollection &oc_clct, CSCCLCTPreTriggerCollection &oc_pretrig, CSCCorrelatedLCTDigiCollection &oc_lct, CSCCorrelatedLCTDigiCollection &oc_sorted_lct, GEMCoPadDigiCollection &oc_gemcopad)