src
L1Trigger
CSCTriggerPrimitives
interface
LCTQualityAssignment.h
Go to the documentation of this file.
1
#ifndef L1Trigger_CSCTriggerPrimitives_LCTQualityAssignment_h
2
#define L1Trigger_CSCTriggerPrimitives_LCTQualityAssignment_h
3
17
#include "
L1Trigger/CSCTriggerPrimitives/interface/CSCBaseboard.h
"
18
#include "
DataFormats/CSCDigi/interface/CSCCLCTDigi.h
"
19
#include "
DataFormats/CSCDigi/interface/CSCALCTDigi.h
"
20
#include "
L1Trigger/CSCTriggerPrimitives/interface/GEMInternalCluster.h
"
21
22
class
LCTQualityAssignment
:
public
CSCBaseboard
{
23
public
:
24
// 4-bit LCT quality number. Made by TMB lookup tables and used for MPC sorting.
25
enum class
LCT_QualityRun2
: unsigned
int
{
26
INVALID
= 0,
27
NO_CLCT
= 1,
28
NO_ALCT
= 2,
29
CLCT_LAYER_TRIGGER
= 3,
30
LOW_QUALITY
= 4,
31
MARGINAL_ANODE_CATHODE
= 5,
32
HQ_ANODE_MARGINAL_CATHODE
= 6,
33
HQ_CATHODE_MARGINAL_ANODE
= 7,
34
HQ_ACCEL_ALCT
= 8,
35
HQ_RESERVED_1
= 9,
36
HQ_RESERVED_2
= 10,
37
HQ_PATTERN_2_3
= 11,
38
HQ_PATTERN_4_5
= 12,
39
HQ_PATTERN_6_7
= 13,
40
HQ_PATTERN_8_9
= 14,
41
HQ_PATTERN_10
= 15
42
};
43
44
// See DN-20-016
45
enum class
LCT_QualityRun3
: unsigned
int
{
INVALID
= 0,
LowQ
= 1,
MedQ
= 2,
HighQ
= 3 };
46
47
// See DN-20-016
48
enum class
LCT_QualityRun3GEM
: unsigned
int
{
49
INVALID
= 0,
50
CLCT_2GEM
= 1,
51
ALCT_2GEM
= 2,
52
ALCT_CLCT
= 3,
53
ALCT_CLCT_1GEM_CSCBend
= 4,
54
ALCT_CLCT_1GEM_GEMCSCBend
= 5,
55
ALCT_CLCT_2GEM_CSCBend
= 6,
56
ALCT_CLCT_2GEM_GEMCSCBend
= 7
57
};
58
59
// constructor
60
LCTQualityAssignment
(
unsigned
endcap
,
61
unsigned
station
,
62
unsigned
sector
,
63
unsigned
subsector
,
64
unsigned
chamber
,
65
CSCBaseboard::Parameters
& conf);
66
68
~LCTQualityAssignment
()
override
{}
69
70
// setter
71
void
setGEMCSCBending
(
const
bool
setBend) {
assignGEMCSCBending_
= setBend; }
72
73
// quality for all LCTs in Run-1/2 or Run-3
74
unsigned
findQuality
(
const
CSCALCTDigi
& aLCT,
const
CSCCLCTDigi
& cLCT)
const
;
75
unsigned
findQuality
(
const
CSCALCTDigi
& aLCT,
const
CSCCLCTDigi
& cLCT,
const
GEMInternalCluster
&
cl
)
const
;
76
unsigned
findQuality
(
const
CSCALCTDigi
& aLCT,
const
GEMInternalCluster
&
cl
)
const
;
77
unsigned
findQuality
(
const
CSCCLCTDigi
& cLCT,
const
GEMInternalCluster
&
cl
)
const
;
78
79
private
:
80
// quality for all LCTs in Run-1 and Run-2 (run-3 mode off)
81
unsigned
findQualityRun2
(
const
CSCALCTDigi
& aLCT,
const
CSCCLCTDigi
& cLCT)
const
;
82
83
// quality for non-ME1/1 LCTs in Run-3 without GEMs (run-3 mode on)
84
unsigned
findQualityRun3
(
const
CSCALCTDigi
& aLCT,
const
CSCCLCTDigi
& cLCT)
const
;
85
86
// quality for LCTs in Run-3 with GEMs (CCLUT off)
87
// old-style to be compatible with EMTF Run-2
88
unsigned
findQualityGEMv1
(
const
CSCCLCTDigi
&,
const
GEMInternalCluster
&
cl
)
const
;
89
unsigned
findQualityGEMv1
(
const
CSCALCTDigi
&,
const
CSCCLCTDigi
&,
const
GEMInternalCluster
&
cl
)
const
;
90
91
// quality for LCTs in Run-3 with GEMs (CCLUT on)
92
unsigned
findQualityGEMv2
(
const
CSCALCTDigi
&,
const
CSCCLCTDigi
&,
const
GEMInternalCluster
&
cl
)
const
;
93
94
bool
assignGEMCSCBending_
;
95
bool
runILT_
;
96
};
97
98
#endif
CSCBaseboard::Parameters
Definition:
CSCBaseboard.h:15
nano_mu_digi_cff.subsector
subsector
Definition:
nano_mu_digi_cff.py:52
LCTQualityAssignment
Definition:
LCTQualityAssignment.h:22
LCTQualityAssignment::LCT_QualityRun2::CLCT_LAYER_TRIGGER
LCTQualityAssignment::LCTQualityAssignment
LCTQualityAssignment(unsigned endcap, unsigned station, unsigned sector, unsigned subsector, unsigned chamber, CSCBaseboard::Parameters &conf)
Definition:
LCTQualityAssignment.cc:3
CSCALCTDigi
Definition:
CSCALCTDigi.h:17
LCTQualityAssignment::LCT_QualityRun2::HQ_PATTERN_4_5
LCTQualityAssignment::LCT_QualityRun3GEM::INVALID
LCTQualityAssignment::LCT_QualityRun2::HQ_PATTERN_6_7
LCTQualityAssignment::LCT_QualityRun3::INVALID
LCTQualityAssignment::LCT_QualityRun2::MARGINAL_ANODE_CATHODE
LCTQualityAssignment::LCT_QualityRun2::HQ_PATTERN_10
LCTQualityAssignment::LCT_QualityRun3GEM::ALCT_CLCT_2GEM_CSCBend
LCTQualityAssignment::LCT_QualityRun2::NO_CLCT
GEMInternalCluster.h
LCTQualityAssignment::findQuality
unsigned findQuality(const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT) const
Definition:
LCTQualityAssignment.cc:14
LCTQualityAssignment::LCT_QualityRun3GEM::CLCT_2GEM
haddnano.cl
cl
Definition:
haddnano.py:49
LCTQualityAssignment::findQualityRun3
unsigned findQualityRun3(const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT) const
Definition:
LCTQualityAssignment.cc:156
LCTQualityAssignment::LCT_QualityRun2::LOW_QUALITY
LCTQualityAssignment::assignGEMCSCBending_
bool assignGEMCSCBending_
Definition:
LCTQualityAssignment.h:94
LCTQualityAssignment::LCT_QualityRun2::HQ_PATTERN_8_9
CSCALCTDigi.h
LCTQualityAssignment::LCT_QualityRun2::HQ_ANODE_MARGINAL_CATHODE
LCTQualityAssignment::LCT_QualityRun3GEM::ALCT_2GEM
createfilelist.int
int
Definition:
createfilelist.py:10
LCTQualityAssignment::LCT_QualityRun2::HQ_CATHODE_MARGINAL_ANODE
LCTQualityAssignment::LCT_QualityRun3::LowQ
CSCBaseboard.h
LCTQualityAssignment::LCT_QualityRun3::MedQ
LCTQualityAssignment::LCT_QualityRun2::INVALID
CSCCLCTDigi
Definition:
CSCCLCTDigi.h:17
LCTQualityAssignment::runILT_
bool runILT_
Definition:
LCTQualityAssignment.h:95
LCTQualityAssignment::LCT_QualityRun3::HighQ
LCTQualityAssignment::LCT_QualityRun2::HQ_RESERVED_1
LCTQualityAssignment::LCT_QualityRun2::HQ_ACCEL_ALCT
relativeConstraints.chamber
chamber
Definition:
relativeConstraints.py:53
LCTQualityAssignment::LCT_QualityRun2::NO_ALCT
LCTQualityAssignment::LCT_QualityRun3GEM::ALCT_CLCT_1GEM_CSCBend
LCTQualityAssignment::findQualityGEMv1
unsigned findQualityGEMv1(const CSCCLCTDigi &, const GEMInternalCluster &cl) const
Definition:
LCTQualityAssignment.cc:184
LCTQualityAssignment::~LCTQualityAssignment
~LCTQualityAssignment() override
Definition:
LCTQualityAssignment.h:68
LCTQualityAssignment::LCT_QualityRun3GEM::ALCT_CLCT
LCTQualityAssignment::findQualityGEMv2
unsigned findQualityGEMv2(const CSCALCTDigi &, const CSCCLCTDigi &, const GEMInternalCluster &cl) const
Definition:
LCTQualityAssignment.cc:315
LCTQualityAssignment::LCT_QualityRun2::HQ_PATTERN_2_3
makeMuonMisalignmentScenario.endcap
endcap
Definition:
makeMuonMisalignmentScenario.py:320
LCTQualityAssignment::LCT_QualityRun3
LCT_QualityRun3
Definition:
LCTQualityAssignment.h:45
CSCBaseboard
Definition:
CSCBaseboard.h:13
LCTQualityAssignment::LCT_QualityRun2::HQ_RESERVED_2
LCTQualityAssignment::LCT_QualityRun3GEM
LCT_QualityRun3GEM
Definition:
LCTQualityAssignment.h:48
LCTQualityAssignment::findQualityRun2
unsigned findQualityRun2(const CSCALCTDigi &aLCT, const CSCCLCTDigi &cLCT) const
Definition:
LCTQualityAssignment.cc:72
GEMInternalCluster
Definition:
GEMInternalCluster.h:19
CSCCLCTDigi.h
nano_mu_digi_cff.sector
sector
Definition:
nano_mu_digi_cff.py:20
LCTQualityAssignment::LCT_QualityRun2
LCT_QualityRun2
Definition:
LCTQualityAssignment.h:25
LCTQualityAssignment::LCT_QualityRun3GEM::ALCT_CLCT_1GEM_GEMCSCBend
relativeConstraints.station
station
Definition:
relativeConstraints.py:67
LCTQualityAssignment::setGEMCSCBending
void setGEMCSCBending(const bool setBend)
Definition:
LCTQualityAssignment.h:71
LCTQualityAssignment::LCT_QualityRun3GEM::ALCT_CLCT_2GEM_GEMCSCBend
Generated for CMSSW Reference Manual by
1.8.14