CMS 3D CMS Logo

CSCMuonPortCard.h
Go to the documentation of this file.
1 #ifndef L1Trigger_CSCTriggerPrimitives_CSCMuonPortCard_h
2 #define L1Trigger_CSCTriggerPrimitives_CSCMuonPortCard_h
3 
4 //-----------------------------------------------------------------------------
5 //
6 // Class: CSCMuonPortCard
7 //
8 // Description:
9 // Simulates the functionality of the Muon Port Card (MPC). Each MPC
10 // is responsible for 9 Trigger Mother Boards (TMBs). It takes the up to
11 // 18 LCTs (2/TMB) in each (sub)sector every bunch crossing, sorts them,
12 // selects up to three best, and puts them into an output collection.
13 //
14 // Author List: Benn Tannenbaum 30 August 1999.
15 // Based on code by Nick Wisniewski.
16 //
17 //
18 // Modifications: Numerous later improvements by Jason Mumford and
19 // Slava Valuev (see cvs in ORCA).
20 // Porting/reworking from ORCA by L. Gray (UF), June 2006.
21 //
22 // Update for Run-II data taking by Sven Dildick (TAMU), May 2016.
23 // CSC MPC sends all 18 stubs from 9 TMBs. Stubs are no longer sorted by quality
24 // Invalid or low-quality stubs are not removed either.
25 //
26 //-----------------------------------------------------------------------------
27 
33 
34 #include <vector>
35 
37 public:
39 
40  CSCMuonPortCard(unsigned endcap, unsigned station, unsigned sector, const edm::ParameterSet& conf);
41 
43 
44  // clear the stub vector
45  void clear();
46 
47  // Method to load the content of the digi container into a trigger
48  // container. This allows us to sort per BX more easily.
49  void loadLCTs(const CSCCorrelatedLCTDigiCollection& thedigis);
50 
51  // Method to sort all Correlated LCTs generated by the TMB.
52  void sortLCTs();
53 
54  // Method to sort all Correlated LCTs generated by the TMB in a subsector and BX
55  void sortLCTs(const unsigned subsector, const int bx);
56 
57  // Returns a vector of TrackStubs indexed by [sorting]
58  std::vector<csctf::TrackStub> getLCTs() const { return selectedStubs_; }
59 
60 private:
62  unsigned theEndcap;
63  unsigned theStation;
64  unsigned theSector;
65 
66  // internal stubs
68 
69  // selected stubs
70  std::vector<csctf::TrackStub> selectedStubs_;
71 
72  // quality control
73  std::unique_ptr<LCTQualityControl> qualityControl_;
74 
75  // CSC expert options
79  unsigned max_stubs_;
80 
81  int minBX_, maxBX_; // min and max BX to sort.
82 
84 };
85 
86 #endif
CSCMuonPortCard::getLCTs
std::vector< csctf::TrackStub > getLCTs() const
Definition: CSCMuonPortCard.h:58
CSCCorrelatedLCTDigiCollection.h
CSCMuonPortCard::max_stubs_
unsigned max_stubs_
Definition: CSCMuonPortCard.h:79
CSCMuonPortCard::selectedStubs_
std::vector< csctf::TrackStub > selectedStubs_
Definition: CSCMuonPortCard.h:70
relativeConstraints.station
station
Definition: relativeConstraints.py:67
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
makeMuonMisalignmentScenario.endcap
endcap
Definition: makeMuonMisalignmentScenario.py:320
CSCMuonPortCard::maxBX_
int maxBX_
Definition: CSCMuonPortCard.h:81
CSCMuonPortCard
Definition: CSCMuonPortCard.h:36
CSCMuonPortCard::drop_low_quality_stubs_
bool drop_low_quality_stubs_
Definition: CSCMuonPortCard.h:78
CSCMuonPortCard::theEndcap
unsigned theEndcap
Definition: CSCMuonPortCard.h:62
CSCMuonPortCard::theStation
unsigned theStation
Definition: CSCMuonPortCard.h:63
CSCMuonPortCard::vmeName_
std::string vmeName_
Definition: CSCMuonPortCard.h:83
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ParameterSet
Definition: ParameterSet.h:47
CSCMuonPortCard::clear
void clear()
Definition: CSCMuonPortCard.cc:25
CSCTriggerContainer.h
CSCMuonPortCard::drop_invalid_stubs_
bool drop_invalid_stubs_
Definition: CSCMuonPortCard.h:77
CSCMuonPortCard::TrackStubList
CSCTriggerContainer< csctf::TrackStub > TrackStubList
Definition: CSCMuonPortCard.h:38
CSCMuonPortCard::loadLCTs
void loadLCTs(const CSCCorrelatedLCTDigiCollection &thedigis)
Definition: CSCMuonPortCard.cc:30
CSCCorrelatedLCTDigiCollection
CSCMuonPortCard::theSector
unsigned theSector
Definition: CSCMuonPortCard.h:64
CSCMuonPortCard::CSCMuonPortCard
CSCMuonPortCard()
Definition: CSCMuonPortCard.cc:5
CSCMuonPortCard::minBX_
int minBX_
Definition: CSCMuonPortCard.h:81
CSCTriggerContainer< csctf::TrackStub >
CSCMuonPortCard::qualityControl_
std::unique_ptr< LCTQualityControl > qualityControl_
Definition: CSCMuonPortCard.h:73
ParameterSet.h
CSCMuonPortCard::stubs_
CSCTriggerContainer< csctf::TrackStub > stubs_
Definition: CSCMuonPortCard.h:67
TrackStub.h
CSCMuonPortCard::sortLCTs
void sortLCTs()
Definition: CSCMuonPortCard.cc:52
LCTQualityControl.h
CSCMuonPortCard::sort_stubs_
bool sort_stubs_
Definition: CSCMuonPortCard.h:76