67 <<
"+++ trying to instantiate TMB of illegal CSC id ["
68 <<
" endcap = " << endc <<
" station = " << stat
69 <<
" sector = " << sect <<
" subsector = " << subs
70 <<
" chamber = " <<
cham <<
"]; skipping it... +++\n";
75 tmb_[endc-1][stat-1][sect-1][subs-1][
cham-1] =
101 delete tmb_[endc-1][stat-1][sect-1][subs-1][
cham-1];
162 theGeom->
chamber(endc, stat, sect, subs,
cham) != 0) {
176 std::vector<CSCCorrelatedLCTDigi> lctV = tmb->
run(wiredc,compdc);
183 if (alctV.empty() && clctV.empty() && lctV.empty())
continue;
188 <<
"Put " << lctV.size() <<
" LCT digi"
189 << ((lctV.size() > 1) ?
"s " :
" ") <<
"in collection\n";
190 oc_lct.put(std::make_pair(lctV.begin(),lctV.end()), detid);
194 if (!alctV.empty()) {
196 <<
"Put " << alctV.size() <<
" ALCT digi"
197 << ((alctV.size() > 1) ?
"s " :
" ") <<
"in collection\n";
198 oc_alct.put(std::make_pair(alctV.begin(),alctV.end()), detid);
202 if (!clctV.empty()) {
204 <<
"Put " << clctV.size() <<
" CLCT digi"
205 << ((clctV.size() > 1) ?
"s " :
" ") <<
"in collection\n";
206 oc_clct.put(std::make_pair(clctV.begin(),clctV.end()), detid);
210 if (!preTriggerBXs.empty()) {
212 <<
"Put " << preTriggerBXs.size() <<
" CLCT pretriggers"
213 << ((preTriggerBXs.size() > 1) ?
"s " :
" ") <<
"in collection\n";
214 oc_pretrig.put(std::make_pair(preTriggerBXs.begin(),preTriggerBXs.end()), detid);
226 std::vector<csctf::TrackStub>
result;
234 std::vector<csctf::TrackStub> subs1, subs2;
237 result.insert(result.end(), subs1.begin(), subs1.end());
238 result.insert(result.end(), subs2.begin(), subs2.end());
242 std::vector<csctf::TrackStub> sector;
244 result.insert(result.end(), sector.begin(), sector.end());
248 std::vector<csctf::TrackStub>::const_iterator itr = result.begin();
249 for (; itr != result.end(); itr++) {
250 oc_sorted_lct.insertDigi(
CSCDetId(itr->getDetId().rawId()), *(itr->getDigi()));
252 <<
"MPC " << *(itr->getDigi()) <<
" found in ME"
253 << ((itr->endcap() == 1) ?
"+" :
"-") << itr->station() <<
"/"
255 <<
CSCDetId(itr->getDetId().rawId()).chamber()
256 <<
" (sector " << itr->sector()
257 <<
" trig id. " << itr->cscid() <<
")" <<
"\n";
static const int min_station
T getParameter(std::string const &) const
bool isInBadChamber(const CSCDetId &id) const
Is the gven chamber flagged as bad?
std::vector< CSCCLCTDigi > readoutCLCTs()
void run(const std::vector< int > w_time[CSCConstants::NUM_LAYERS][CSCConstants::MAX_NUM_WIRES], const std::vector< int > hs_times[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS], const std::vector< int > ds_times[CSCConstants::NUM_LAYERS][CSCConstants::NUM_HALF_STRIPS])
CSCChamber * chamber(unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned tcscid) const
Return the CSCChamber for a corresponding endcap/station/sector/subsector/trigger cscid...
static const int max_subsector
static int maxTriggerCscId()
static int maxTriggerSectorId()
void build(const CSCBadChambers *badChambers, const CSCWireDigiCollection *wiredc, const CSCComparatorDigiCollection *compdc, CSCALCTDigiCollection &oc_alct, CSCCLCTDigiCollection &oc_clct, CSCCLCTPreTriggerCollection &oc_pretrig, CSCCorrelatedLCTDigiCollection &oc_lct, CSCCorrelatedLCTDigiCollection &oc_sorted_lct)
static const int min_endcap
CSCMuonPortCard * m_muonportcard
static const int max_station
static int maxStationId()
static int minTriggerSectorId()
static const int min_subsector
static int ringFromTriggerLabels(int station, int triggerCSCID)
static const int max_chamber
void setConfigParameters(const CSCDBL1TPParameters *conf)
void loadDigis(const CSCCorrelatedLCTDigiCollection &thedigis)
static const int max_sector
~CSCTriggerPrimitivesBuilder()
static const int max_endcap
CSCTriggerPrimitivesBuilder(const edm::ParameterSet &)
static CSCTriggerGeomManager * get()
static int minStationId()
CSCMotherboard * tmb_[MAX_ENDCAPS][MAX_STATIONS][MAX_SECTORS][MAX_SUBSECTORS][MAX_CHAMBERS]
CSCAnodeLCTProcessor * alct
static const int min_sector
std::vector< int > preTriggerBXs() const
std::vector< CSCALCTDigi > readoutALCTs()
static int minTriggerSubSectorId()
CSCCathodeLCTProcessor * clct
std::vector< csctf::TrackStub > sort(const unsigned endcap, const unsigned station, const unsigned sector, const unsigned subsector, const int bx)
static int minTriggerCscId()
void setConfigParameters(const CSCDBL1TPParameters *conf)
static int chamberFromTriggerLabels(int TriggerSector, int TriggerSubSector, int station, int TriggerCSCID)
static int maxTriggerSubSectorId()
static const int min_chamber