CMS 3D CMS Logo

L1GtStableParametersTrivialProducer.cc
Go to the documentation of this file.
1 
15 // this class header
17 
18 // system include files
19 #include <memory>
20 #include <vector>
21 
22 // user include files
23 // base class
25 
28 
31 
33 
34 // forward declarations
35 
36 // constructor(s)
38  // tell the framework what data is being produced
40 
41  // now do what ever other initialization is needed
42 
43  // trigger decision
44 
45  // number of physics trigger algorithms
46  m_numberPhysTriggers = parSet.getParameter<unsigned int>("NumberPhysTriggers");
47 
48  // additional number of physics trigger algorithms
49  m_numberPhysTriggersExtended = parSet.getParameter<unsigned int>("NumberPhysTriggersExtended");
50 
51  // number of technical triggers
52  m_numberTechnicalTriggers = parSet.getParameter<unsigned int>("NumberTechnicalTriggers");
53 
54  // trigger objects
55 
56  // muons
57  m_numberL1Mu = parSet.getParameter<unsigned int>("NumberL1Mu");
58 
59  // e/gamma and isolated e/gamma objects
60  m_numberL1NoIsoEG = parSet.getParameter<unsigned int>("NumberL1NoIsoEG");
61  m_numberL1IsoEG = parSet.getParameter<unsigned int>("NumberL1IsoEG");
62 
63  // central, forward and tau jets
64  m_numberL1CenJet = parSet.getParameter<unsigned int>("NumberL1CenJet");
65  m_numberL1ForJet = parSet.getParameter<unsigned int>("NumberL1ForJet");
66  m_numberL1TauJet = parSet.getParameter<unsigned int>("NumberL1TauJet");
67 
68  // jet counts
69  m_numberL1JetCounts = parSet.getParameter<unsigned int>("NumberL1JetCounts");
70 
71  // hardware
72 
73  // number of maximum chips defined in the xml file
74  m_numberConditionChips = parSet.getParameter<unsigned int>("NumberConditionChips");
75 
76  // number of pins on the GTL condition chips
77  m_pinsOnConditionChip = parSet.getParameter<unsigned int>("PinsOnConditionChip");
78 
79  // correspondence "condition chip - GTL algorithm word" in the hardware
80  // e.g.: chip 2: 0 - 95; chip 1: 96 - 128 (191)
81  m_orderConditionChip = parSet.getParameter<std::vector<int> >("OrderConditionChip");
82 
83  // number of PSB boards in GT
84  m_numberPsbBoards = parSet.getParameter<int>("NumberPsbBoards");
85 
87  m_ifCaloEtaNumberBits = parSet.getParameter<unsigned int>("IfCaloEtaNumberBits");
88 
90  m_ifMuEtaNumberBits = parSet.getParameter<unsigned int>("IfMuEtaNumberBits");
91 
92  // GT DAQ record organized in words of WordLength bits
93  m_wordLength = parSet.getParameter<int>("WordLength");
94 
95  // one unit in the word is UnitLength bits
96  m_unitLength = parSet.getParameter<int>("UnitLength");
97 }
98 
99 // destructor
101  // empty
102 }
103 
104 // member functions
105 
106 // method called to produce the data
108  const L1GtStableParametersRcd& iRecord) {
109  auto pL1GtStableParameters = std::make_unique<L1GtStableParameters>();
110 
111  // set the number of physics trigger algorithms
112  pL1GtStableParameters->setGtNumberPhysTriggers(m_numberPhysTriggers);
113 
114  // set the additional number of physics trigger algorithms
115  pL1GtStableParameters->setGtNumberPhysTriggersExtended(m_numberPhysTriggersExtended);
116 
117  // set the number of technical triggers
118  pL1GtStableParameters->setGtNumberTechnicalTriggers(m_numberTechnicalTriggers);
119 
120  // set the number of L1 muons received by GT
121  pL1GtStableParameters->setGtNumberL1Mu(m_numberL1Mu);
122 
123  // set the number of L1 e/gamma objects received by GT
124  pL1GtStableParameters->setGtNumberL1NoIsoEG(m_numberL1NoIsoEG);
125 
126  // set the number of L1 isolated e/gamma objects received by GT
127  pL1GtStableParameters->setGtNumberL1IsoEG(m_numberL1IsoEG);
128 
129  // set the number of L1 central jets received by GT
130  pL1GtStableParameters->setGtNumberL1CenJet(m_numberL1CenJet);
131 
132  // set the number of L1 forward jets received by GT
133  pL1GtStableParameters->setGtNumberL1ForJet(m_numberL1ForJet);
134 
135  // set the number of L1 tau jets received by GT
136  pL1GtStableParameters->setGtNumberL1TauJet(m_numberL1TauJet);
137 
138  // set the number of L1 jet counts received by GT
139  pL1GtStableParameters->setGtNumberL1JetCounts(m_numberL1JetCounts);
140 
141  // hardware stuff
142 
143  // set the number of condition chips in GTL
144  pL1GtStableParameters->setGtNumberConditionChips(m_numberConditionChips);
145 
146  // set the number of pins on the GTL condition chips
147  pL1GtStableParameters->setGtPinsOnConditionChip(m_pinsOnConditionChip);
148 
149  // set the correspondence "condition chip - GTL algorithm word"
150  // in the hardware
151  pL1GtStableParameters->setGtOrderConditionChip(m_orderConditionChip);
152 
153  // set the number of PSB boards in GT
154  pL1GtStableParameters->setGtNumberPsbBoards(m_numberPsbBoards);
155 
156  // set the number of bits for eta of calorimeter objects
157  pL1GtStableParameters->setGtIfCaloEtaNumberBits(m_ifCaloEtaNumberBits);
158 
159  // set the number of bits for eta of muon objects
160  pL1GtStableParameters->setGtIfMuEtaNumberBits(m_ifMuEtaNumberBits);
161 
162  // set WordLength
163  pL1GtStableParameters->setGtWordLength(m_wordLength);
164 
165  // set one UnitLength
166  pL1GtStableParameters->setGtUnitLength(m_unitLength);
167 
168  //
169  //
170  return pL1GtStableParameters;
171 }
auto setWhatProduced(T *iThis, const es::Label &iLabel={})
Definition: ESProducer.h:166
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
unsigned int m_numberTechnicalTriggers
number of technical triggers
unsigned int m_numberL1NoIsoEG
e/gamma and isolated e/gamma objects
unsigned int m_ifCaloEtaNumberBits
number of bits for eta of calorimeter objects
unsigned int m_numberPhysTriggersExtended
additional number of physics trigger algorithms
int m_wordLength
GT DAQ record organized in words of WordLength bits.
std::unique_ptr< L1GtStableParameters > produceGtStableParameters(const L1GtStableParametersRcd &)
public methods
unsigned int m_numberL1CenJet
central, forward and tau jets
L1GtStableParametersTrivialProducer(const edm::ParameterSet &)
constructor
unsigned int m_pinsOnConditionChip
number of pins on the GTL condition chips
int m_unitLength
one unit in the word is UnitLength bits
unsigned int m_ifMuEtaNumberBits
number of bits for eta of muon objects