-
Notifications
You must be signed in to change notification settings - Fork 4.2k
/
CSCBaseboard.h
109 lines (86 loc) · 3.35 KB
/
CSCBaseboard.h
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
#ifndef L1Trigger_CSCTriggerPrimitives_CSCBaseboard_h
#define L1Trigger_CSCTriggerPrimitives_CSCBaseboard_h
#include "DataFormats/MuonDetId/interface/CSCTriggerNumbering.h"
#include "DataFormats/MuonDetId/interface/CSCDetId.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "Geometry/CSCGeometry/interface/CSCGeometry.h"
#include "L1Trigger/CSCCommonTrigger/interface/CSCConstants.h"
#include "L1Trigger/CSCTriggerPrimitives/interface/CSCPatternBank.h"
#include "L1Trigger/CSCTriggerPrimitives/interface/CSCUpgradeMotherboardLUT.h"
#include "L1Trigger/CSCTriggerPrimitives/interface/CSCUpgradeMotherboardLUTGenerator.h"
#include "CondFormats/CSCObjects/interface/CSCDBL1TPParameters.h"
class CSCBaseboard {
public:
/** Normal constructor. */
CSCBaseboard(unsigned endcap,
unsigned station,
unsigned sector,
unsigned subsector,
unsigned chamber,
const edm::ParameterSet& conf);
/** Constructor for use during testing. */
CSCBaseboard();
/** Default destructor. */
virtual ~CSCBaseboard() = default;
void setCSCGeometry(const CSCGeometry* g);
std::string getCSCName() const { return theCSCName_; }
protected:
void checkConfigParameters(unsigned int& var,
const unsigned int var_max,
const unsigned int var_def,
const std::string& var_str);
/** Chamber id (trigger-type labels). */
const unsigned theEndcap;
const unsigned theStation;
const unsigned theSector;
const unsigned theSubsector;
const unsigned theTrigChamber;
unsigned theRegion;
unsigned theRing;
unsigned theChamber;
// is this an ME11 chamber?
bool isME11_;
// CSCDetId for this chamber
CSCDetId cscId_;
/** Verbosity level: 0: no print (default).
* 1: print only ALCTs found.
* 2: info at every step of the algorithm.
* 3: add special-purpose prints. */
int infoV;
const CSCGeometry* cscGeometry_;
const CSCChamber* cscChamber_;
// Parameters common for all boards
edm::ParameterSet commonParams_;
// Motherboard parameters:
edm::ParameterSet tmbParams_;
// ALCT Processor parameters:
edm::ParameterSet alctParams_;
// CLCT Processor parameters:
edm::ParameterSet clctParams_;
// chamber name, e.g. ME+1/1/9
std::string theCSCName_;
/** Flag for SLHC studies. */
bool isSLHC_;
bool enableAlctSLHC_;
/** SLHC: special configuration parameters for ME1a treatment */
bool disableME1a_, gangedME1a_;
// shift the BX from 7 to 8
// the unpacked real data CLCTs have central BX at bin 7
// however in simulation the central BX is bin 8
// to make a proper comparison with ALCTs we need
// CLCT and ALCT to have the central BX in the same bin
// this shift does not affect the readout of the CLCTs
// emulated CLCTs put in the event should be centered at bin 7 (as in data)
unsigned int alctClctOffset_;
/** SLHC: run the upgrade for the Phase-II ME1/1 integrated local trigger */
bool runME11ILT_;
/** SLHC: run the upgrade for the Phase-II ME2/1 integrated local trigger */
bool runME21ILT_;
/** SLHC: run the upgrade local trigger (without GEMs) */
bool runME11Up_;
bool runME21Up_;
bool runME31Up_;
bool runME41Up_;
};
#endif