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 
35 
37 class CSCMotherboard;
38 class CSCMuonPortCard;
39 class CSCGeometry;
40 class GEMGeometry;
42 public:
48 
50 
52  void setConfigParameters(const CSCDBL1TPParameters* conf);
53 
55  void setCSCGeometry(const CSCGeometry* g) { csc_g = g; }
56  void setGEMGeometry(const GEMGeometry* g) { gem_g = g; }
57 
58  // Build anode, cathode, and correlated LCTs in each chamber and fill them
59  // into output collections. Pass collections of wire and comparator digis
60  // to Trigger MotherBoard (TMB) processors, which, in turn, pass them to
61  // ALCT and CLCT processors. Up to 2 anode and 2 cathode LCTs can be found
62  // in each chamber during any bunch crossing. The 2 projections are then
63  // combined into three-dimensional "correlated" LCTs in the TMB. Finally,
64  // MPC processor sorts up to 18 LCTs from 9 TMBs and writes collections of
65  // up to 3 best LCTs per (sub)sector into Event (to be used by the Sector
66  // Receiver).
67  void build(const CSCBadChambers* badChambers,
68  const CSCWireDigiCollection* wiredc,
69  const CSCComparatorDigiCollection* compdc,
70  const GEMPadDigiCollection* gemPads,
71  const GEMPadDigiClusterCollection* gemPadClusters,
72  CSCALCTDigiCollection& oc_alct,
73  CSCALCTDigiCollection& oc_alct_all,
74  CSCCLCTDigiCollection& oc_clct,
75  CSCCLCTDigiCollection& oc_clct_all,
76  CSCALCTPreTriggerDigiCollection& oc_alctpretrigger,
77  CSCCLCTPreTriggerDigiCollection& oc_clctpretrigger,
78  CSCCLCTPreTriggerCollection& oc_pretrig,
80  CSCCorrelatedLCTDigiCollection& oc_sorted_lct,
81  GEMCoPadDigiCollection& oc_gemcopad);
82 
86 
87 private:
91  template <class T, class S>
92  void put(const T&, S&, const CSCDetId&, std::string comment);
93 
96  static const int min_endcap; // endcaps
97  static const int max_endcap;
98  static const int min_station; // stations per endcap
99  static const int max_station;
100  static const int min_sector; // trigger sectors per station
101  static const int max_sector;
102  static const int min_subsector; // trigger subsectors per sector
103  static const int max_subsector;
104  static const int min_chamber; // chambers per trigger subsector
105  static const int max_chamber;
106 
107  //debug
108  int infoV;
111 
113  bool isSLHC_;
114 
117 
120 
126 
129 
132 
135 
136  int m_minBX_, m_maxBX_; // min and max BX to sort.
137 
139  std::unique_ptr<CSCMotherboard> tmb_[MAX_ENDCAPS][MAX_STATIONS][MAX_SECTORS][MAX_SUBSECTORS][MAX_CHAMBERS];
140 
141  // pointers to the geometry
144 
146  std::unique_ptr<CSCMuonPortCard> m_muonportcard;
147 };
148 
149 template <class T, class S>
151  if (!t.empty()) {
152  LogTrace("L1CSCTrigger") << "Put " << t.size() << comment << ((t.size() > 1) ? "s " : " ") << "in collection\n";
153  s.put(std::make_pair(t.begin(), t.end()), detid);
154  }
155 }
156 
157 #endif
CSCCLCTPreTriggerCollection
CSCTriggerPrimitivesBuilder::max_sector
static const int max_sector
Definition: CSCTriggerPrimitivesBuilder.h:101
CSCDBL1TPParameters
Definition: CSCDBL1TPParameters.h:14
CSCCorrelatedLCTDigiCollection.h
CSCTriggerPrimitivesBuilder::m_minBX_
int m_minBX_
Definition: CSCTriggerPrimitivesBuilder.h:136
CSCTriggerPrimitivesBuilder::build
void build(const CSCBadChambers *badChambers, const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc, const GEMPadDigiCollection *gemPads, const GEMPadDigiClusterCollection *gemPadClusters, CSCALCTDigiCollection &oc_alct, CSCALCTDigiCollection &oc_alct_all, CSCCLCTDigiCollection &oc_clct, CSCCLCTDigiCollection &oc_clct_all, CSCALCTPreTriggerDigiCollection &oc_alctpretrigger, CSCCLCTPreTriggerDigiCollection &oc_clctpretrigger, CSCCLCTPreTriggerCollection &oc_pretrig, CSCCorrelatedLCTDigiCollection &oc_lct, CSCCorrelatedLCTDigiCollection &oc_sorted_lct, GEMCoPadDigiCollection &oc_gemcopad)
Definition: CSCTriggerPrimitivesBuilder.cc:114
CSCTriggerPrimitivesBuilder::tmb_
std::unique_ptr< CSCMotherboard > tmb_[MAX_ENDCAPS][MAX_STATIONS][MAX_SECTORS][MAX_SUBSECTORS][MAX_CHAMBERS]
Definition: CSCTriggerPrimitivesBuilder.h:139
CSCTriggerPrimitivesBuilder::max_endcap
static const int max_endcap
Definition: CSCTriggerPrimitivesBuilder.h:97
CSCTriggerPrimitivesBuilder::useClusters_
bool useClusters_
Definition: CSCTriggerPrimitivesBuilder.h:134
GEMCoPadDigiCollection
MessageLogger.h
CSCTriggerPrimitivesBuilder::max_chamber
static const int max_chamber
Definition: CSCTriggerPrimitivesBuilder.h:105
CSCTriggerPrimitivesBuilder::put
void put(const T &, S &, const CSCDetId &, std::string comment)
Definition: CSCTriggerPrimitivesBuilder.h:150
CSCTriggerPrimitivesBuilder::checkBadChambers_
bool checkBadChambers_
a flag whether to skip chambers from the bad chambers map
Definition: CSCTriggerPrimitivesBuilder.h:110
CSCTriggerPrimitivesBuilder::min_subsector
static const int min_subsector
Definition: CSCTriggerPrimitivesBuilder.h:102
MuonDigiCollection
A container for a generic type of digis indexed by some index, implemented with a map<IndexType,...
Definition: MuonDigiCollection.h:87
CSCTriggerPrimitivesBuilder::max_subsector
static const int max_subsector
Definition: CSCTriggerPrimitivesBuilder.h:103
GEMCoPadDigiCollection.h
CSCCLCTPreTriggerCollection.h
CSCMotherboard
Definition: CSCMotherboard.h:41
CSCTriggerPrimitivesBuilder::MAX_ENDCAPS
Definition: CSCTriggerPrimitivesBuilder.h:85
CSCBadChambers
Definition: CSCBadChambers.h:9
CSCMuonPortCard
Definition: CSCMuonPortCard.h:35
CSCTriggerPrimitivesBuilder::m_maxBX_
int m_maxBX_
Definition: CSCTriggerPrimitivesBuilder.h:136
CSCCLCTPreTriggerDigiCollection.h
CSCGeometry
Definition: CSCGeometry.h:24
CSCTriggerPrimitivesBuilder::setConfigParameters
void setConfigParameters(const CSCDBL1TPParameters *conf)
Definition: CSCTriggerPrimitivesBuilder.cc:97
GEMPadDigiClusterCollection.h
alignCSCRings.s
s
Definition: alignCSCRings.py:92
CSCTriggerPrimitivesBuilder::runME21Up_
bool runME21Up_
Definition: CSCTriggerPrimitivesBuilder.h:123
GEMPadDigiCollection
CSCTriggerPrimitivesBuilder::MAX_SUBSECTORS
Definition: CSCTriggerPrimitivesBuilder.h:85
CSCTriggerPrimitivesBuilder::min_sector
static const int min_sector
Definition: CSCTriggerPrimitivesBuilder.h:100
CSCTriggerPrimitivesBuilder::infoV
int infoV
Definition: CSCTriggerPrimitivesBuilder.h:108
GEMPadDigiClusterCollection
OrderedSet.t
t
Definition: OrderedSet.py:90
CSCTriggerPrimitivesBuilder::~CSCTriggerPrimitivesBuilder
~CSCTriggerPrimitivesBuilder()
Definition: CSCTriggerPrimitivesBuilder.cc:95
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
CSCTriggerPrimitivesBuilder::MAX_CHAMBERS
Definition: CSCTriggerPrimitivesBuilder.h:85
CSCTriggerPrimitivesBuilder::disableME42_
bool disableME42_
Definition: CSCTriggerPrimitivesBuilder.h:119
edm::ParameterSet
Definition: ParameterSet.h:36
CSCTriggerPrimitivesBuilder::runME31Up_
bool runME31Up_
Definition: CSCTriggerPrimitivesBuilder.h:124
CSCTriggerPrimitivesBuilder::runME41Up_
bool runME41Up_
Definition: CSCTriggerPrimitivesBuilder.h:125
CSCTriggerPrimitivesBuilder
Definition: CSCTriggerPrimitivesBuilder.h:41
CSCTriggerPrimitivesBuilder::isSLHC_
bool isSLHC_
Definition: CSCTriggerPrimitivesBuilder.h:113
CSCTriggerPrimitivesBuilder::gem_g
const GEMGeometry * gem_g
Definition: CSCTriggerPrimitivesBuilder.h:143
CSCDetId
Definition: CSCDetId.h:26
CSCTriggerPrimitivesBuilder::CSCTriggerPrimitivesBuilder
CSCTriggerPrimitivesBuilder(const edm::ParameterSet &)
Definition: CSCTriggerPrimitivesBuilder.cc:20
CSCALCTDigiCollection
CSCTriggerPrimitivesBuilder::MAX_SECTORS
Definition: CSCTriggerPrimitivesBuilder.h:85
CSCTriggerPrimitivesBuilder::m_muonportcard
std::unique_ptr< CSCMuonPortCard > m_muonportcard
Definition: CSCTriggerPrimitivesBuilder.h:146
CSCComparatorDigiCollection
CSCCorrelatedLCTDigiCollection
CSCTriggerPrimitivesBuilder::trig_cscs
trig_cscs
Definition: CSCTriggerPrimitivesBuilder.h:85
CSCTriggerPrimitivesBuilder::runME11Up_
bool runME11Up_
Definition: CSCTriggerPrimitivesBuilder.h:122
CSCTriggerPrimitivesBuilder::MAX_STATIONS
Definition: CSCTriggerPrimitivesBuilder.h:85
comment
#define comment(par)
Definition: vmac.h:163
CSCWireDigiCollection
CSCTriggerPrimitivesBuilder::min_chamber
static const int min_chamber
Definition: CSCTriggerPrimitivesBuilder.h:104
CSCALCTPreTriggerDigiCollection.h
CSCTriggerPrimitivesBuilder::csc_g
const CSCGeometry * csc_g
Definition: CSCTriggerPrimitivesBuilder.h:142
T
long double T
Definition: Basic3DVectorLD.h:48
CSCCLCTDigiCollection
CSCTriggerPrimitivesBuilder::min_station
static const int min_station
Definition: CSCTriggerPrimitivesBuilder.h:98
GEMPadDigiCollection.h
CSCComparatorDigiCollection.h
CSCALCTPreTriggerDigiCollection
S
Definition: CSCDBL1TPParametersExtended.h:16
CSCWireDigiCollection.h
GEMGeometry
Definition: GEMGeometry.h:24
CSCTriggerPrimitivesBuilder::setGEMGeometry
void setGEMGeometry(const GEMGeometry *g)
Definition: CSCTriggerPrimitivesBuilder.h:56
CSCTriggerPrimitivesBuilder::min_endcap
static const int min_endcap
Definition: CSCTriggerPrimitivesBuilder.h:96
CSCALCTDigiCollection.h
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:671
ParameterSet.h
CSCCLCTDigiCollection.h
CSCTriggerPrimitivesBuilder::setCSCGeometry
void setCSCGeometry(const CSCGeometry *g)
set CSC and GEM geometries for the matching needs
Definition: CSCTriggerPrimitivesBuilder.h:55
CSCTriggerPrimitivesBuilder::max_station
static const int max_station
Definition: CSCTriggerPrimitivesBuilder.h:99
CSCTriggerPrimitivesBuilder::runME21ILT_
bool runME21ILT_
Definition: CSCTriggerPrimitivesBuilder.h:131
CSCBadChambers.h
g
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
CSCTriggerPrimitivesBuilder::runME11ILT_
bool runME11ILT_
Definition: CSCTriggerPrimitivesBuilder.h:128
CSCTriggerPrimitivesBuilder::disableME1a_
bool disableME1a_
Definition: CSCTriggerPrimitivesBuilder.h:116