L1Trigger
CSCTriggerPrimitives
interface
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
28
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
29
#include "
DataFormats/CSCDigi/interface/CSCCorrelatedLCTDigiCollection.h
"
30
#include "
DataFormats/L1CSCTrackFinder/interface/CSCTriggerContainer.h
"
31
#include "
DataFormats/L1CSCTrackFinder/interface/TrackStub.h
"
32
#include "
L1Trigger/CSCTriggerPrimitives/interface/LCTQualityControl.h
"
33
34
#include <vector>
35
36
class
CSCMuonPortCard
{
37
public
:
38
typedef
CSCTriggerContainer<csctf::TrackStub>
TrackStubList
;
39
40
CSCMuonPortCard
(
unsigned
endcap
,
unsigned
station
,
unsigned
sector,
const
edm::ParameterSet
& conf);
41
42
CSCMuonPortCard
();
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
67
CSCTriggerContainer<csctf::TrackStub>
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
76
bool
sort_stubs_
;
77
bool
drop_invalid_stubs_
;
78
bool
drop_low_quality_stubs_
;
79
unsigned
max_stubs_
;
80
81
int
minBX_
,
maxBX_
;
// min and max BX to sort.
82
83
std::string
vmeName_
;
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
Generated for CMSSW Reference Manual by
1.8.16