1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
#ifndef CSCObjects_CSCDBL1TPParametersExtended_h
#define CSCObjects_CSCDBL1TPParametersExtended_h
#include "CondFormats/Serialization/interface/Serializable.h"
#include <vector>
/** \class CSCDBL1TPParametersExtended
* \author Sven Dildick
*
* Description: Configuration parameters needed for the Phase-1 upgrade of the level-1
* CSC trigger primitives emulator. ME1/1 ALCT, CLCT and TMB have own members.
*
*/
union S {
unsigned int i;
bool b;
};
class CSCDBL1TPParametersExtended {
public:
CSCDBL1TPParametersExtended();
~CSCDBL1TPParametersExtended();
int getValueInt(const std::string&) const;
bool getValueBool(const std::string&) const;
void setValue(const std::string&, int);
void setValue(const std::string&, bool);
private:
std::vector<int> paramsInt_;
std::vector<int> paramsBool_;
const std::vector<std::string> paramNamesBool_{
/* ME11 ALCT Phase-1 Upgrade Parameters */
"me11_phase1_alctNarrowMaskForR1a",
"me11_phase1_alctGhostCancellationSideQuality",
"me11_phase1_alctUseCorrectedBx",
/* ME11 CLCT Phase-1 Upgrade Parameters */
"me11_phase1_useDeadTimeZoning",
"me11_phase1_useDynamicStateMachineZone",
"me11_phase1_clctUseCorrectedBx",
/* ME11 TMB Phase-1 Upgrade Parameters */
"me11_phase1_tmbReadoutEarliest2",
"me11_phase1_tmbDropUsedAlcts",
"me11_phase1_clctToAlct",
"me11_phase1_tmbDropUsedClcts",
"me11_phase1_matchEarliestAlctME11Only",
"me11_phase1_matchEarliestClctME11Only",
};
const std::vector<std::string> paramNamesInt_{
/* Parameters %for 2007 version of ALCT firmware */
"alctFifoTbins",
"alctFifoPretrig",
"alctDriftDelay",
"alctNplanesHitPretrig",
"alctNplanesHitPattern",
"alctNplanesHitAccelPretrig",
"alctNplanesHitAccelPattern",
"alctTrigMode",
"alctAccelMode",
"alctL1aWindowWidth",
"alctEarlyTbins",
/* Parameters for 2007 version of CLCT firmware */
"clctFifoTbins",
"clctFifoPretrig",
"clctHitPersist",
"clctDriftDelay",
"clctNplanesHitPretrig",
"clctNplanesHitPattern",
"clctPidThreshPretrig",
"clctMinSeparation",
/* Parameters for 2007 version of TMB firmware */
"tmbMpcBlockMe1a",
"tmbAlctTrigEnable",
"tmbClctTrigEnable",
"tmbMatchTrigEnable",
"tmbMatchTrigWindowSize",
"tmbTmbL1aWindowSize",
/* ME11 ALCT Phase-1 Upgrade Parameters */
"me11_phase1_alctFifoTbins",
"me11_phase1_alctFifoPretrig",
"me11_phase1_alctDriftDelay",
"me11_phase1_alctNplanesHitPretrig",
"me11_phase1_alctNplanesHitPattern",
"me11_phase1_alctNplanesHitAccelPretrig",
"me11_phase1_alctNplanesHitAccelPattern",
"me11_phase1_alctTrigMode",
"me11_phase1_alctAccelMode",
"me11_phase1_alctL1aWindowWidth",
"me11_phase1_alctEarlyTbins",
"me11_phase1_alctHitPersist",
"me11_phase1_alctGhostCancellationBxDepth",
"me11_phase1_alctPretrigDeadtime",
/* ME11 CLCT Phase-1 Upgrade Parameters */
"me11_phase1_clctFifoTbins",
"me11_phase1_clctFifoPretrig",
"me11_phase1_clctHitPersist",
"me11_phase1_clctDriftDelay",
"me11_phase1_clctNplanesHitPretrig",
"me11_phase1_clctNplanesHitPattern",
"me11_phase1_clctPidThreshPretrig",
"me11_phase1_clctMinSeparation",
"me11_phase1_clctStartBxShift",
"me11_phase1_clctStateMachineZone",
"me11_phase1_clctPretriggerTriggerZone",
/* ME11 TMB Phase-1 Upgrade Parameters */
"me11_phase1_tmbMpcBlockMe1a",
"me11_phase1_tmbAlctTrigEnable",
"me11_phase1_tmbClctTrigEnable",
"me11_phase1_tmbMatchTrigEnable",
"me11_phase1_tmbMatchTrigWindowSize",
"me11_phase1_tmbTmbL1aWindowSize",
"me11_phase1_tmbEarlyTbins",
"me11_phase1_tmbCrossBxAlgorithm",
"me11_phase1_maxME11LCTs",
};
COND_SERIALIZABLE;
};
#endif
|