27 unsigned eicIsolationThreshold,
28 unsigned jscQuietThresholdBarrel,
29 unsigned jscQuietThresholdEndcap,
32 bool noiseVetoHEminus,
34 const std::vector<double>& eGammaECalScaleFactors,
35 const std::vector<double>& eGammaHCalScaleFactors,
36 const std::vector<double>& jetMETECalScaleFactors,
37 const std::vector<double>& jetMETHCalScaleFactors,
38 const std::vector<double>& ecal_calib,
39 const std::vector<double>& hcal_calib,
40 const std::vector<double>& hcal_high_calib,
41 const std::vector<double>& cross_terms,
42 const std::vector<double>& lowHoverE_smear,
43 const std::vector<double>& highHoverE_smear
45 eGammaLSB_(eGammaLSB),
46 jetMETLSB_(jetMETLSB),
47 eMinForFGCut_(eMinForFGCut),
48 eMaxForFGCut_(eMaxForFGCut),
50 eMinForHoECut_(eMinForHoECut),
51 eMaxForHoECut_(eMaxForHoECut),
52 hMinForHoECut_(hMinForHoECut),
53 eActivityCut_(eActivityCut),
54 hActivityCut_(hActivityCut),
55 eicIsolationThreshold_(eicIsolationThreshold),
56 jscQuietThresholdBarrel_(jscQuietThresholdBarrel),
57 jscQuietThresholdEndcap_(jscQuietThresholdEndcap),
58 noiseVetoHB_(noiseVetoHB),
59 noiseVetoHEplus_(noiseVetoHEplus),
60 noiseVetoHEminus_(noiseVetoHEminus),
61 useCorrections_(useCorrections),
62 eGammaECalScaleFactors_(eGammaECalScaleFactors),
63 eGammaHCalScaleFactors_(eGammaHCalScaleFactors),
64 jetMETECalScaleFactors_(jetMETECalScaleFactors),
65 jetMETHCalScaleFactors_(jetMETHCalScaleFactors),
66 HoverE_smear_low_(lowHoverE_smear),
67 HoverE_smear_high_(highHoverE_smear)
74 for(
unsigned i = 0;
i < ecal_calib.size(); ++
i)
76 for(
unsigned i = 0; i < hcal_calib.size(); ++
i)
78 for(
unsigned i = 0; i < hcal_high_calib.size(); ++
i)
80 for(
unsigned i = 0; i < cross_terms.size(); ++
i)
87 unsigned short crate = rct_iphi/8;
88 if(
abs(ieta) > 28) crate = rct_iphi / 2;
97 unsigned short absIeta)
const
99 unsigned short card = 999;
102 card = ((absIeta-1)/8)*2 + (rct_iphi%8)/4;
105 else if ((absIeta >= 25) && (absIeta <= 28)){
114 unsigned short absIeta)
const
116 unsigned short tower = 999;
117 unsigned short iphi = rct_iphi;
118 unsigned short regionPhi = (iphi % 8)/4;
123 tower = ((absIeta-1)%8)*4 + (iphi%4);
126 else if ((absIeta >= 25) && (absIeta <= 28)){
129 tower = (absIeta-25)*4 + (iphi%4);
132 tower = 28 + iphi % 4 + (25 - absIeta) * 4;
136 else if ((absIeta >= 29) && (absIeta <= 32)){
139 regionPhi = iphi % 2;
142 tower = (regionPhi) * 4 + absIeta - 29;
149 unsigned short iTower)
const
151 unsigned short absIEta =
calcIAbsEta(iCrate, iCard, iTower);
153 if(iCrate < 9) iEta = -absIEta;
160 unsigned short iCard,
161 unsigned short iTower)
const
165 iPhi = (iCrate % 9) * 8 + (iCard % 2) * 4 + (iTower % 4);
169 iPhi = (iCrate % 9) * 8 + (iTower % 4);
172 iPhi = (iCrate % 9) * 8 + ((iTower - 16) % 4) + 4;
176 iPhi = (iCrate % 9) * 2 + iTower / 4;
182 unsigned short iTower)
const
184 unsigned short absIEta;
186 absIEta = (iCard / 2) * 8 + (iTower / 4) + 1;
187 else if(iCard == 6) {
190 absIEta = 25 + iTower / 4;
193 absIEta = 28 - ((iTower - 16) / 4);
197 absIEta = 29 + iTower % 4;
205 float result = ecal_c + hcal_c;
225 float result = ecal_c + hcal_c;
241 if(index >= 28 && ecal > 120 && hcal > 120)
return (ecal + hcal);
250 double ec = 0.0, hc = 0.0,
c = 0.0;
292 s <<
"\nPrinting record L1RCTParametersRcd" <<endl;
293 s <<
"\n\"Parameter description\" \n \"Parameter name\" \"Value\" "
295 s <<
"\ne/gamma least significant bit energy transmitted from receiver cards to EIC cards. \n "
297 s <<
"\nLSB of region Et scale from RCT to GCT (GeV) \n "
299 s <<
"\nminimum ECAL Et for which fine-grain veto is applied (GeV) \n "
301 s <<
"\nmaximum ECAL Et for which fine-grain veto is applied (GeV) \n "
303 s <<
"\nmaximum value of (HCAL Et / ECAL Et) \n "
304 <<
"hOeCut = " <<
hOeCut_ << endl ;
305 s <<
"\nminimum ECAL Et for which H/E veto is applied (GeV) \n "
307 s <<
"\nmaximum ECAL Et for which H/E veto is applied (GeV) \n "
309 s <<
"\nminimum HCAL Et for which H/E veto is applied (GeV) \n "
311 s <<
"\nECAL Et threshold above which tau activity bit is set (GeV) \n "
313 s <<
"\nHCAL Et threshold above which tau activity bit is set (GeV) \n "
315 s <<
"\nNeighboring trigger tower energy minimum threshold that marks candidate as non-isolated. (LSB bits) \n "
317 s <<
"\nIf jetMet energy in RCT Barrel Region is below this value, a quiet bit is set. (LSB bits)\n "
319 s <<
"\nIf jetMet energy in RCT Endcap Region is below this value, a quiet bit is set. (LSB bits) \n "
321 s <<
"\nWhen set to TRUE, HCAL energy is ignored if no ECAL energy is present in corresponding trigger tower for RCT Barrel \n "
323 s <<
"\nWhen set to TRUE, HCAL energy is ignored if no ECAL energy is present in corresponding trigger tower for RCT Encap+ \n "
325 s <<
"\nWhen set to TRUE, HCAL energy is ignored if no ECAL energy is present in corresponding trigger tower for RCT Endcap- \n "
328 s <<
"\n\neta-dependent multiplicative factors for ECAL Et before summation \n "
329 <<
"eGammaECal Scale Factors " << endl;
330 s <<
"ieta ScaleFactor" <<endl;
331 for(
int i = 0 ;
i<28;
i++)
334 s <<
"\n\neta-dependent multiplicative factors for HCAL Et before summation \n "
335 <<
"eGammaHCal Scale Factors "<<endl;
336 s <<
"ieta ScaleFactor" <<endl;
337 for(
int i = 0 ;
i<28;
i++)
340 s <<
"\n\neta-dependent multiplicative factors for ECAL Et before summation \n "
341 <<
"jetMETECal Scale Factors "<<endl;
342 s <<
"ieta ScaleFactor" <<endl;
343 for(
int i = 0 ;
i<28;
i++)
346 s <<
"\n\neta-dependent multiplicative factors for HCAL Et before summation \n"
347 <<
"jetMETHCal Scale Factors "<<endl;
348 s <<
"ieta ScaleFactor" <<endl;
349 for(
int i = 0 ;
i<28;
i++)
354 s<<
"\n\nUSING calibration variables " <<endl;
357 s <<
"\n\nH over E smear low Correction Factors "<<endl;
358 s <<
"ieta Correction Factor" <<endl;
359 for(
int i = 0 ;
i<28;
i++)
363 s <<
"\n\nH over E smear high Correction Factors "<<endl;
364 s <<
"ieta Correction Factor" <<endl;
365 for(
int i = 0 ;
i<28;
i++)
368 s <<
"\n\necal calibrations "<<endl;
369 s <<
"ieta CorrFactor1 CorrFactor2 CorrFactor3" <<endl;
371 for(
int i = 0 ;
i<28;
i++) {
373 for(
int j = 0;
j<
end ;
j++)
380 s <<
"\n\nhcal calibrations "<<endl;
381 s <<
"ieta CorrFactor1 CorrFactor2 CorrFactor3" <<endl;
383 for(
int i = 0 ;
i<28;
i++) {
385 for(
int j = 0;
j<
end ;
j++)
391 s <<
"\n\nhcal_high calibrations "<<endl;
392 s <<
"ieta CorrFactor1 CorrFactor2 CorrFactor3" <<endl;
394 for(
int i = 0 ;
i<28;
i++) {
396 for(
int j = 0;
j<
end ;
j++)
403 s <<
"\n\ncross terms calibrations "<<endl;
404 s <<
"ieta CorrFactor1 CorrFactor2 CorrFactor3 CorrFactor4 CorrFactor5 CorrFactor6" <<endl;
405 for(
int i = 0 ;
i<28;
i++) {
407 for(
int j = 0;
j<
end ;
j++)
415 s<<
"\n\nNOT USING calibration variables " <<endl;
void print(std::ostream &s) const
std::vector< double > jetMETECalScaleFactors_
short calcIEta(unsigned short iCrate, unsigned short iCard, unsigned short iTower) const
unsigned jscQuietThresholdBarrel_
std::vector< double > eGammaECalScaleFactors_
std::vector< std::vector< double > > cross_terms_
std::vector< std::vector< double > > hcal_high_calib_
std::vector< double > HoverE_smear_low_
float correctedTPGSum(const float &ecal, const float &hcal, const unsigned &index) const
unsigned short calcTower(unsigned short rct_iphi, unsigned short absIeta) const
float EGammaTPGSum(const float &ecal, const float &hcal, const unsigned &iAbsEta) const
unsigned jscQuietThresholdEndcap_
std::vector< double > jetMETHCalScaleFactors_
unsigned short calcIAbsEta(unsigned short iCrate, unsigned short iCard, unsigned short iTower) const
std::vector< std::vector< double > > hcal_calib_
unsigned short calcIPhi(unsigned short iCrate, unsigned short iCard, unsigned short iTower) const
std::vector< double > HoverE_smear_high_
unsigned short calcCard(unsigned short rct_iphi, unsigned short absIeta) const
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
std::vector< double > eGammaHCalScaleFactors_
std::vector< std::vector< double > > ecal_calib_
unsigned eicIsolationThreshold_
Power< A, B >::type pow(const A &a, const B &b)
unsigned short calcCrate(unsigned short rct_iphi, short ieta) const
float JetMETTPGSum(const float &ecal, const float &hcal, const unsigned &iAbsEta) const