ATLAS Offline Software
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
TCS::DeltaRSqrIncl2Charge Class Reference

#include <DeltaRSqrIncl2Charge.h>

Inheritance diagram for TCS::DeltaRSqrIncl2Charge:
Collaboration diagram for TCS::DeltaRSqrIncl2Charge:

Public Member Functions

 DeltaRSqrIncl2Charge (const std::string &name)
 
virtual ~DeltaRSqrIncl2Charge ()
 
virtual StatusCode initialize ()
 
virtual StatusCode processBitCorrect (const std::vector< TCS::TOBArray const * > &input, const std::vector< TCS::TOBArray * > &output, Decision &decison)
 
virtual StatusCode process (const std::vector< TCS::TOBArray const * > &input, const std::vector< TCS::TOBArray * > &output, Decision &decison)
 
unsigned int numberOutputBits () const
 
void setNumberOutputBits (unsigned int numberOutputBits)
 
DecisionAlgsetHardwareBits (const unsigned int &bitNumber, const bool &valueDecision, const bool &valueOverflow)
 propagate the hardware decision bits for each output bit of this algo More...
 
DecisionAlgresetHardwareBits ()
 ! reset all hardware bits for this algo More...
 
bool getDecisionHardwareBit (const unsigned int &bitNumber) const
 ! get one hardware decision bit from this algo More...
 
bool getOverflowHardwareBit (const unsigned int &bitNumber) const
 ! get one hardware overflow bit from this algo More...
 
DecisionAlgsetFillHistosBasedOnHardware (const bool &value)
 ! toggle m_fillHistosBasedOnHardware More...
 
bool fillHistosBasedOnHardware () const
 ! getter More...
 
DecisionAlgsetSkipHistos (const bool &value)
 ! toggle m_skipHistos (see TopoSteering::setOutputAlgosSkipHistograms) More...
 
bool skipHistos () const
 ! getter More...
 
bool fillHistos () const
 whether the monitoring histograms should be filled More...
 
void setClassName (const std::string &className)
 
void setLegacyMode (bool isLegacyTopo)
 
const std::string & name () const
 
const std::string & className () const
 
std::string fullname () const
 
unsigned int algoId () const
 
StatusCode reset ()
 
bool isSortingAlg () const
 
bool isDecisionAlg () const
 
bool isCountingAlg () const
 
bool isLegacyTopo () const
 
unsigned int calcDeltaPhiBW (const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
 
unsigned int calcDeltaEtaBW (const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
 
unsigned int calcInvMassBW (const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
 
unsigned int calcTMassBW (const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
 
unsigned int calcDeltaR2BW (const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
 
unsigned long quadraticSumBW (int i1, int i2)
 
unsigned int calcDeltaPhi (const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
 
unsigned int calcDeltaEta (const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
 
unsigned int calcInvMass (const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
 
unsigned int calcTMass (const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
 
unsigned int calcDeltaR2 (const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
 
const Parameterparameter (const std::string &parameterName) const
 
const Parameterparameter (const std::string &parameterName, unsigned int selection) const
 
const ParameterSpaceparameters () const
 
void setParameters (const ParameterSpace &)
 
void setAlgoId (unsigned int algoId)
 
void setL1TopoHistSvc (std::shared_ptr< IL1TopoHistSvc >)
 sets the external hist service More...
 
void bookHistMult (std::vector< std::string > &regName, const std::string &name, const std::string &title, const std::string &xtitle, const int binx, const int xmin, const int xmax)
 
void bookHistMult (std::vector< std::string > &regName, const std::string &name, const std::string &title, const std::string &xtitle, const std::string &ytitle, const int binx, const int xmin, const int xmax, const int biny, const int ymin, const int ymax)
 
void bookHist (std::vector< std::string > &regName, const std::string &name, const std::string &title, const int binx, const int xmin, const int xmax)
 
void bookHist (std::vector< std::string > &regName, const std::string &name, const std::string &title, const int binx, const int xmin, const int xmax, const int biny, const int ymin, const int ymax)
 
bool msgLvl (const MSGTC::Level lvl) const
 Test the output level. More...
 
MsgStreamTC & msg () const
 The standard message stream. More...
 
MsgStreamTC & msg (const MSGTC::Level lvl) const
 The standard message stream. More...
 

Protected Types

enum  AlgType { NONE, SORT, DECISION, COUNT }
 

Protected Member Functions

void defineParameter (const std::string &name, TCS::parType_t value)
 
void defineParameter (const std::string &name, TCS::parType_t value, unsigned int selection)
 
void registerHist (TH1 *)
 
void registerHist (TH2 *)
 
void fillHist1D (const std::string &histName, double x)
 
void fillHist2D (const std::string &histName, double x, double y)
 
bool isocut (const std::string &threshold, const unsigned int bit) const
 
bool isocut (const unsigned int threshold, const unsigned int bit) const
 

Protected Attributes

std::vector< std::string > m_histAccept
 
std::vector< std::string > m_histReject
 
std::vector< std::string > m_histAcceptM
 
std::vector< std::string > m_histRejectM
 
std::vector< std::string > m_histAcceptX
 
std::vector< std::string > m_histRejectX
 
std::vector< std::string > m_histAcceptEta1Eta2
 
std::vector< std::string > m_histRejectEta1Eta2
 
std::vector< std::string > m_histAcceptEta2Eta3
 
std::vector< std::string > m_histRejectEta2Eta3
 
std::vector< std::string > m_histAcceptEta3Eta1
 
std::vector< std::string > m_histRejectEta3Eta1
 

Private Member Functions

virtual StatusCode doReset ()
 
void defineParameter (const Parameter &)
 
std::string ToString (const int val)
 

Private Attributes

parType_t m_NumberLeading1 = { 0 }
 
parType_t m_NumberLeading2 = { 0 }
 
parType_t m_DeltaRMin [3] = {0, 0, 0}
 
parType_t m_DeltaRMax [3] = {0, 0, 0}
 
parType_t m_MinET1 [3] = { 0,0,0 }
 
parType_t m_MinET2 [3] = { 0,0,0 }
 
unsigned int m_numberOutputBits {1}
 
uint32_t m_hardwareDecisionBits {0}
 ! decision bits from hardware (assume the algo won't have >31 output bits) More...
 
uint32_t m_hardwareOverflowBits {0}
 ! overflow bits from hardware (assume the algo won't have >31 output bits) More...
 
bool m_fillHistosBasedOnHardware {0}
 ! fill accept/reject monitoring histos based on hdw decision More...
 
bool m_skipHistos {0}
 ! skip filling monitoring histos, used only when m_fillHistosBasedOnHardware==true More...
 
std::unique_ptr< ConfigurableAlgImplm_impl
 
std::string m_name {""}
 
std::string m_className {""}
 
unsigned int m_algoId {0}
 
ParameterSpace m_parameters {""}
 
AlgType m_algType
 
bool m_isLegacyTopo
 
boost::thread_specific_ptr< MsgStreamTC > m_msg_tls
 MsgStreamTC instance (a std::cout like with print-out levels) More...
 

Detailed Description

Definition at line 15 of file DeltaRSqrIncl2Charge.h.

Member Enumeration Documentation

◆ AlgType

enum TCS::ConfigurableAlg::AlgType
protectedinherited
Enumerator
NONE 
SORT 
DECISION 
COUNT 

Definition at line 32 of file ConfigurableAlg.h.

32 { NONE, SORT, DECISION, COUNT };

Constructor & Destructor Documentation

◆ DeltaRSqrIncl2Charge()

TCS::DeltaRSqrIncl2Charge::DeltaRSqrIncl2Charge ( const std::string &  name)

Definition at line 24 of file DeltaRSqrIncl2Charge.cxx.

24  : DecisionAlg(name)
25 {
26  defineParameter("InputWidth1", 9);
27  defineParameter("InputWidth2", 9);
28  defineParameter("MaxTob1", 0);
29  defineParameter("MaxTob2", 0);
30  defineParameter("NumResultBits", 3);
31  defineParameter("MinET1",1,0);
32  defineParameter("MinET2",1,0);
33  defineParameter("DeltaRMin", 0, 0);
34  defineParameter("DeltaRMax", 0, 0);
35  defineParameter("MinET1",1,1);
36  defineParameter("MinET2",1,1);
37  defineParameter("DeltaRMin", 0, 1);
38  defineParameter("DeltaRMax", 0, 1);
39  defineParameter("MinET1",1,2);
40  defineParameter("MinET2",1,2);
41  defineParameter("DeltaRMin", 0, 2);
42  defineParameter("DeltaRMax", 0, 2);
44 }

◆ ~DeltaRSqrIncl2Charge()

TCS::DeltaRSqrIncl2Charge::~DeltaRSqrIncl2Charge ( )
virtual

Definition at line 46 of file DeltaRSqrIncl2Charge.cxx.

46 {}

Member Function Documentation

◆ algoId()

unsigned int TCS::ConfigurableAlg::algoId ( ) const
inlineinherited

Definition at line 53 of file ConfigurableAlg.h.

53 { return m_algoId; }

◆ bookHist() [1/2]

void ConfigurableAlg::bookHist ( std::vector< std::string > &  regName,
const std::string &  name,
const std::string &  title,
const int  binx,
const int  xmin,
const int  xmax 
)
inherited

Definition at line 270 of file ConfigurableAlg.cxx.

270  {
271  std::string xmin_str = ToString(xmin);
272  std::string xmax_str = ToString(xmax);
273  std::string newTitle = title;
274  std::string newName = name;
275 
276  newTitle = xmin_str+title+xmax_str;
277  newName = name+"_"+xmin_str+title+xmax_str;
278  std::replace( newName.begin(), newName.end(), '-', 'n');
279  std::replace( newName.begin(), newName.end(), ' ', '_');
280 
281  regName.push_back(m_name+"/"+newName);
282 
283  // Add units to axis labels
284  std::string xTitle = title;
285  if (m_isLegacyTopo) {
286  if (title == "ETA" || title == "DETA" || title == "PHI" || title == "DPHI" || title == "DR") { xTitle = title+"#times10"; }
287  if (title == "PT" || title == "ET" || title == "HT" || title == "INVM" || title == "MT") { xTitle = title+" [GeV]"; }
288  }
289  else {
290  if (title == "ETA" || title == "DETA" || title == "DR") { xTitle = title+"#times40"; }
291  if (title == "PHI" || title == "DPHI") { xTitle = title+"#times20"; }
292  if (title == "PT" || title == "ET" || title == "HT" || title == "INVM" || title == "MT") { xTitle = title+" [100 MeV]"; }
293  }
294 
295  int xmin_new,xmax_new,binx_new=binx;
296  if ( xmin > 0.0)
297  { xmin_new=0.0; }
298  else
299  { xmin_new=1.5*xmin; }
300 
301  // if the maximum inv. mass cut defined by the menu over 4000 MeV,
302  // set x-axis range maximum to 4000 MeV. This is only for legacy triggers,
303  // phase1 does not exceed this limit- asonay 08/2022
304  if (xmax > 4000 && m_isLegacyTopo) {
305  xmax_new = 4000;
306  binx_new = 200;
307  }
308  else {xmax_new = 1.5*xmax;}
309 
310  // if angular kinematics, use fixed range
311  int eta_max = 50;
312  int phi_max = 64;
313  int dr_max = 30;
314  if (not m_isLegacyTopo) {
315  eta_max *= 4;
316  phi_max *= 2;
317  dr_max *= 4;
318  }
319 
320  if ( title.find("ETA") != std::string::npos ){
321  xmin_new=-eta_max;
322  xmax_new=eta_max;
323  }
324  if ( title.find("PHI") != std::string::npos || title.find("DPHI") != std::string::npos ){
325  xmin_new=0;
326  xmax_new=phi_max;
327  }
328  if ( title.find("DETA") != std::string::npos || title.find("DR") != std::string::npos ){
329  xmin_new=0;
330  xmax_new=dr_max;
331  }
332 
333  TH1 *h = new TH1F(newName.c_str(), newTitle.c_str(), binx_new, xmin_new, xmax_new);
334  h->GetXaxis()->SetTitle(xTitle.c_str());
335  m_impl->registerHist(h);
336 }

◆ bookHist() [2/2]

void ConfigurableAlg::bookHist ( std::vector< std::string > &  regName,
const std::string &  name,
const std::string &  title,
const int  binx,
const int  xmin,
const int  xmax,
const int  biny,
const int  ymin,
const int  ymax 
)
inherited

Definition at line 347 of file ConfigurableAlg.cxx.

347  {
348  auto usPos = title.find(" vs ");
349  std::string xName = title.substr(0,usPos);
350  std::string yName = title.substr(usPos+4);
351  std::string xmin_str = ToString(xmin);
352  std::string xmax_str = ToString(xmax);
353  std::string ymin_str = ToString(ymin);
354  std::string ymax_str = ToString(ymax);
355  std::string newTitle = title;
356  std::string newName = name;
357 
358  newTitle = xmin_str+xName+xmax_str+" vs "+ymin_str+yName+ymax_str;
359  newName = name+"_"+xmin_str+xName+xmax_str+"_"+ymin_str+yName+ymax_str;
360  std::replace( newName.begin(), newName.end(), '-', 'n');
361  std::replace( newName.begin(), newName.end(), ' ', '_');
362 
363  regName.push_back(m_name+"/"+newName);
364 
365  // Add units to axis labels
366  std::string xTitle = xName;
367  std::string yTitle = yName;
368  if (m_isLegacyTopo) {
369  if (xName == "ETA" || xName == "DETA" || xName == "PHI" || xName == "DPHI" || xName == "DR") { xTitle = xName+"#times10"; }
370  if (xName == "PT" || xName == "ET" || xName == "HT" || xName == "INVM" || xName == "MT") { xTitle = xName+" [GeV]"; }
371 
372  if (yName == "ETA" || yName == "DETA" || yName == "PHI" || yName == "DPHI" || yName == "DR") { yTitle = yName+"#times10"; }
373  if (yName == "PT" || yName == "ET" || yName == "HT" || yName == "INVM" || yName == "MT") { yTitle = yName+" [GeV]"; }
374  }
375  else {
376  if (xName == "ETA" || xName == "DETA" || xName == "DR") { xTitle = xName+"#times40"; }
377  if (xName == "PHI" || xName == "DPHI") { xTitle = xName+"#times20"; }
378  if (xName == "PT" || xName == "ET" || xName == "HT" || xName == "INVM" || xName == "MT") { xTitle = xName+" [100 MeV]"; }
379 
380  if (yName == "ETA" || yName == "DETA" || yName == "DR") { yTitle = yName+"#times40"; }
381  if (yName == "PHI" || yName == "DPHI") { yTitle = yName+"#times20"; }
382  if (yName == "PT" || yName == "ET" || yName == "HT" || yName == "INVM" || yName == "MT") { yTitle = yName+" [100 MeV]"; }
383  }
384 
385  int xmin_new,xmax_new,binx_new=binx;
386  if ( xmin > 0.0)
387  { xmin_new=0.0; }
388  else
389  { xmin_new=1.5*xmin; }
390 
391  // if the maximum inv. mass cut defined by the menu over 4000 MeV,
392  // set x-axis range maximum to 4000 MeV. This is only for legacy triggers,
393  // phase1 does not exceed this limit- asonay 08/2022
394  if (xmax > 4000 && m_isLegacyTopo) {
395  xmax_new = 4000;
396  binx_new = 200;
397  }
398  else {xmax_new = 1.5*xmax;}
399 
400  int ymin_new,ymax_new,biny_new=biny;
401  if ( ymin > 0.0)
402  { ymin_new=0.0; }
403  else
404  { ymin_new=1.5*ymin; }
405 
406  // if the maximum inv. mass cut defined by the menu over 4000 MeV,
407  // set y-axis range maximum to 4000 MeV. This is only for legacy triggers,
408  // phase1 does not exceed this limit- asonay 08/2022
409  if (ymax > 4000 && m_isLegacyTopo) {
410  ymax_new = 4000;
411  biny_new = 200;
412  }
413  else {ymax_new = 1.5*ymax;}
414 
415 
416  // if angular kinematics, use fixed range
417  int eta_max = 50;
418  int phi_max = 64;
419  int dr_max = 30;
420  if (not m_isLegacyTopo) {
421  eta_max *= 4;
422  phi_max *= 2;
423  dr_max *= 4;
424  }
425 
426  if ( xName.find("ETA") != std::string::npos ){
427  xmin_new=-eta_max;
428  xmax_new=eta_max;
429  }
430  if ( yName.find("ETA") != std::string::npos ){
431  ymin_new=-eta_max;
432  ymax_new=eta_max;
433  }
434  if ( xName.find("PHI") != std::string::npos || xName.find("DPHI") != std::string::npos ){
435  xmin_new=0;
436  xmax_new=phi_max;
437  }
438  if ( yName.find("PHI") != std::string::npos || yName.find("DPHI") != std::string::npos ){
439  ymin_new=0;
440  ymax_new=phi_max;
441  }
442  if ( xName.find("DETA") != std::string::npos || xName.find("DR") != std::string::npos ){
443  xmin_new=0;
444  xmax_new=dr_max;
445  }
446  if ( yName.find("DETA") != std::string::npos || yName.find("DR") != std::string::npos ){
447  ymin_new=0;
448  ymax_new=dr_max;
449  }
450 
451  TH2 *h = new TH2F(newName.c_str(), newTitle.c_str(), binx_new, xmin_new, xmax_new, biny_new, ymin_new, ymax_new);
452  h->GetXaxis()->SetTitle(xTitle.c_str());
453  h->GetYaxis()->SetTitle(yTitle.c_str());
454  m_impl->registerHist(h);
455 }

◆ bookHistMult() [1/2]

void ConfigurableAlg::bookHistMult ( std::vector< std::string > &  regName,
const std::string &  name,
const std::string &  title,
const std::string &  xtitle,
const int  binx,
const int  xmin,
const int  xmax 
)
inherited

Definition at line 338 of file ConfigurableAlg.cxx.

338  {
339 
340  regName.push_back(m_name+"/"+name);
341 
342  TH1 *h = new TH1F(name.c_str(), title.c_str(), binx, xmin, xmax);
343  h->GetXaxis()->SetTitle(xtitle.c_str());
344  m_impl->registerHist(h);
345 }

◆ bookHistMult() [2/2]

void ConfigurableAlg::bookHistMult ( std::vector< std::string > &  regName,
const std::string &  name,
const std::string &  title,
const std::string &  xtitle,
const std::string &  ytitle,
const int  binx,
const int  xmin,
const int  xmax,
const int  biny,
const int  ymin,
const int  ymax 
)
inherited

Definition at line 457 of file ConfigurableAlg.cxx.

457  {
458 
459  regName.push_back(m_name+"/"+name);
460 
461  TH2 *h = new TH2F(name.c_str(), title.c_str(), binx, xmin, xmax, biny, ymin, ymax);
462  h->GetXaxis()->SetTitle(xtitle.c_str());
463  h->GetYaxis()->SetTitle(ytitle.c_str());
464  m_impl->registerHist(h);
465 }

◆ calcDeltaEta()

unsigned int ConfigurableAlg::calcDeltaEta ( const TCS::GenericTOB tob1,
const TCS::GenericTOB tob2 
)
inherited

Definition at line 173 of file ConfigurableAlg.cxx.

173  {
174  if (m_isLegacyTopo)
175  {return TSU::Kinematics::calcDeltaEtaLegacy(tob1,tob2);}
176  else
177  {return TSU::Kinematics::calcDeltaEta(tob1,tob2);}
178 }

◆ calcDeltaEtaBW()

unsigned int ConfigurableAlg::calcDeltaEtaBW ( const TCS::GenericTOB tob1,
const TCS::GenericTOB tob2 
)
inherited

Definition at line 128 of file ConfigurableAlg.cxx.

128  {
129  if (m_isLegacyTopo)
130  {return TSU::Kinematics::calcDeltaEtaBWLegacy(tob1,tob2);}
131  else
132  {return TSU::Kinematics::calcDeltaEtaBW(tob1,tob2);}
133 }

◆ calcDeltaPhi()

unsigned int ConfigurableAlg::calcDeltaPhi ( const TCS::GenericTOB tob1,
const TCS::GenericTOB tob2 
)
inherited

Definition at line 165 of file ConfigurableAlg.cxx.

165  {
166  if (m_isLegacyTopo)
167  {return TSU::Kinematics::calcDeltaPhiLegacy(tob1,tob2);}
168  else
169  {return TSU::Kinematics::calcDeltaPhi(tob1,tob2);}
170 }

◆ calcDeltaPhiBW()

unsigned int ConfigurableAlg::calcDeltaPhiBW ( const TCS::GenericTOB tob1,
const TCS::GenericTOB tob2 
)
inherited

Definition at line 120 of file ConfigurableAlg.cxx.

120  {
121  if (m_isLegacyTopo)
122  {return TSU::Kinematics::calcDeltaPhiBWLegacy(tob1,tob2);}
123  else
124  {return TSU::Kinematics::calcDeltaPhiBW(tob1,tob2);}
125 }

◆ calcDeltaR2()

unsigned int ConfigurableAlg::calcDeltaR2 ( const TCS::GenericTOB tob1,
const TCS::GenericTOB tob2 
)
inherited

Definition at line 191 of file ConfigurableAlg.cxx.

191  {
192  if (m_isLegacyTopo)
193  {return TSU::Kinematics::calcDeltaR2Legacy(tob1,tob2);}
194  else
195  {return TSU::Kinematics::calcDeltaR2(tob1,tob2);}
196 }

◆ calcDeltaR2BW()

unsigned int ConfigurableAlg::calcDeltaR2BW ( const TCS::GenericTOB tob1,
const TCS::GenericTOB tob2 
)
inherited

Definition at line 152 of file ConfigurableAlg.cxx.

152  {
153  if (m_isLegacyTopo)
154  {return TSU::Kinematics::calcDeltaR2BWLegacy(tob1,tob2);}
155  else
156  {return TSU::Kinematics::calcDeltaR2BW(tob1,tob2);}
157 }

◆ calcInvMass()

unsigned int ConfigurableAlg::calcInvMass ( const TCS::GenericTOB tob1,
const TCS::GenericTOB tob2 
)
inherited

Definition at line 181 of file ConfigurableAlg.cxx.

181  {
182  return TSU::Kinematics::calcInvMass(tob1,tob2);
183 }

◆ calcInvMassBW()

unsigned int ConfigurableAlg::calcInvMassBW ( const TCS::GenericTOB tob1,
const TCS::GenericTOB tob2 
)
inherited

Definition at line 136 of file ConfigurableAlg.cxx.

136  {
137  if (m_isLegacyTopo)
138  {return TSU::Kinematics::calcInvMassBWLegacy(tob1,tob2);}
139  else
140  {return TSU::Kinematics::calcInvMassBW(tob1,tob2);}
141 }

◆ calcTMass()

unsigned int ConfigurableAlg::calcTMass ( const TCS::GenericTOB tob1,
const TCS::GenericTOB tob2 
)
inherited

Definition at line 186 of file ConfigurableAlg.cxx.

186  {
187  return TSU::Kinematics::calcTMass(tob1,tob2);
188 }

◆ calcTMassBW()

unsigned int ConfigurableAlg::calcTMassBW ( const TCS::GenericTOB tob1,
const TCS::GenericTOB tob2 
)
inherited

Definition at line 144 of file ConfigurableAlg.cxx.

144  {
145  if (m_isLegacyTopo)
146  {return TSU::Kinematics::calcTMassBWLegacy(tob1,tob2);}
147  else
148  {return TSU::Kinematics::calcTMassBW(tob1,tob2);}
149 }

◆ className()

const std::string& TCS::ConfigurableAlg::className ( ) const
inlineinherited

Definition at line 49 of file ConfigurableAlg.h.

49 { return m_className; }

◆ defineParameter() [1/3]

void ConfigurableAlg::defineParameter ( const Parameter parameter)
privateinherited

Definition at line 213 of file ConfigurableAlg.cxx.

213  {
215  TCS_EXCEPTION("Duplicate parameter definition '" << parameter.name() << "' for algorithm '" << name() << "'");
216  }
218 }

◆ defineParameter() [2/3]

void ConfigurableAlg::defineParameter ( const std::string &  name,
TCS::parType_t  value 
)
protectedinherited

Definition at line 201 of file ConfigurableAlg.cxx.

201  {
203 }

◆ defineParameter() [3/3]

void ConfigurableAlg::defineParameter ( const std::string &  name,
TCS::parType_t  value,
unsigned int  selection 
)
protectedinherited

Definition at line 207 of file ConfigurableAlg.cxx.

207  {
209 }

◆ doReset()

TCS::StatusCode DecisionAlg::doReset ( )
privatevirtualinherited

Implements TCS::ConfigurableAlg.

Definition at line 11 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/Root/DecisionAlg.cxx.

11  {
12  return StatusCode::SUCCESS;
13 }

◆ fillHist1D()

void ConfigurableAlg::fillHist1D ( const std::string &  histName,
double  x 
)
protectedinherited

Definition at line 467 of file ConfigurableAlg.cxx.

467  {
468  m_impl->fillHist1D(histName,x);
469 }

◆ fillHist2D()

void ConfigurableAlg::fillHist2D ( const std::string &  histName,
double  x,
double  y 
)
protectedinherited

Definition at line 471 of file ConfigurableAlg.cxx.

471  {
472  m_impl->fillHist2D(histName,x,y);
473 }

◆ fillHistos()

bool DecisionAlg::fillHistos ( ) const
inherited

whether the monitoring histograms should be filled

Either we are filling based on the simulated decision, or based on the hdw decision with skipHistos==false.

Definition at line 100 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/Root/DecisionAlg.cxx.

101 {
102  return (not m_fillHistosBasedOnHardware or not m_skipHistos);
103 }

◆ fillHistosBasedOnHardware()

bool DecisionAlg::fillHistosBasedOnHardware ( ) const
inherited

! getter

Definition at line 84 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/Root/DecisionAlg.cxx.

85 {
87 }

◆ fullname()

std::string TCS::ConfigurableAlg::fullname ( ) const
inlineinherited

Definition at line 50 of file ConfigurableAlg.h.

50 { return m_className + "/" + m_name; }

◆ getDecisionHardwareBit()

bool DecisionAlg::getDecisionHardwareBit ( const unsigned int &  bitNumber) const
inherited

! get one hardware decision bit from this algo

Definition at line 52 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/Root/DecisionAlg.cxx.

53 {
54  bool value = false;
55  if(bitNumber<m_numberOutputBits){
56  value = (m_hardwareDecisionBits >> bitNumber) & 1;
57  } else {
58  TRG_MSG_WARNING("Cannot get hardware decision bit "<<bitNumber
59  <<" > "<<m_numberOutputBits<<" N output bits "
60  <<" for algo "<<name());
61  }
62  return value;
63 }

◆ getOverflowHardwareBit()

bool DecisionAlg::getOverflowHardwareBit ( const unsigned int &  bitNumber) const
inherited

! get one hardware overflow bit from this algo

Definition at line 65 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/Root/DecisionAlg.cxx.

66 {
67  bool value = false;
68  if(bitNumber<m_numberOutputBits){
69  value = (m_hardwareOverflowBits >> bitNumber) & 1;
70  } else {
71  TRG_MSG_WARNING("Cannot get hardware overflow bit "<<bitNumber
72  <<" > "<<m_numberOutputBits<<" N output bits "
73  <<" for algo "<<name());
74  }
75  return value;
76 }

◆ initialize()

TCS::StatusCode TCS::DeltaRSqrIncl2Charge::initialize ( )
virtual

Reimplemented from TCS::ConfigurableAlg.

Definition at line 50 of file DeltaRSqrIncl2Charge.cxx.

50  {
51 
52  m_NumberLeading1 = parameter("InputWidth1").value();
53  m_NumberLeading2 = parameter("InputWidth2").value();
54  if(parameter("MaxTob1").value() > 0) m_NumberLeading1 = parameter("MaxTob1").value();
55  if(parameter("MaxTob2").value() > 0) m_NumberLeading2 = parameter("MaxTob2").value();
56 
57  for(unsigned int i=0; i<numberOutputBits(); ++i) {
58  m_DeltaRMin[i] = parameter("DeltaRMin", i).value();
59  m_DeltaRMax[i] = parameter("DeltaRMax", i).value();
60  m_MinET1[i] = parameter("MinET1",i).value();
61  m_MinET2[i] = parameter("MinET2",i).value();
62  TRG_MSG_INFO("DeltaRMin" << i << " : " << m_DeltaRMin[i]);
63  TRG_MSG_INFO("DeltaRMax" << i << " : " << m_DeltaRMax[i]);
64 
65  TRG_MSG_INFO("MinET1 : " << m_MinET1[i]);
66  TRG_MSG_INFO("MinET2 : " << m_MinET2[i]);
67 
68  }
69 
70  TRG_MSG_INFO("NumberLeading1 : " << m_NumberLeading1);
71  TRG_MSG_INFO("NumberLeading2 : " << m_NumberLeading2);
72 
73  TRG_MSG_INFO("number output : " << numberOutputBits());
74 
75  // book histograms
76  for(unsigned int i=0; i<numberOutputBits(); ++i) {
77  std::string hname_accept = "hDeltaRSqrIncl2Charge_accept_bit"+std::to_string(static_cast<int>(i));
78  std::string hname_reject = "hDeltaRSqrIncl2Charge_reject_bit"+std::to_string(static_cast<int>(i));
79  // dR
80  bookHist(m_histAccept, hname_accept, "DR", 100, std::sqrt(m_DeltaRMin[i]), std::sqrt(m_DeltaRMax[i]));
81  bookHist(m_histReject, hname_reject, "DR", 100, std::sqrt(m_DeltaRMin[i]), std::sqrt(m_DeltaRMax[i]));
82  // eta2 vs. eta1
83  bookHist(m_histAcceptEta1Eta2, hname_accept, "ETA vs ETA", 100, -70, 70, 100, -70, 70);
84  bookHist(m_histRejectEta1Eta2, hname_reject, "ETA vs ETA", 100, -70, 70, 100, -70, 70);
85  }
86 
87  return StatusCode::SUCCESS;
88 }

◆ isCountingAlg()

bool TCS::ConfigurableAlg::isCountingAlg ( ) const
inlineinherited

Definition at line 64 of file ConfigurableAlg.h.

64 { return m_algType == COUNT; }

◆ isDecisionAlg()

bool TCS::ConfigurableAlg::isDecisionAlg ( ) const
inlineinherited

Definition at line 62 of file ConfigurableAlg.h.

62 { return m_algType == DECISION; }

◆ isLegacyTopo()

bool TCS::ConfigurableAlg::isLegacyTopo ( ) const
inlineinherited

Definition at line 66 of file ConfigurableAlg.h.

66 { return m_isLegacyTopo; }

◆ isocut() [1/2]

bool ConfigurableAlg::isocut ( const std::string &  threshold,
const unsigned int  bit 
) const
protectedinherited

Definition at line 484 of file ConfigurableAlg.cxx.

484  {
485  unsigned int value = 0;
486  if (threshold == "None") {value = 0;}
487  else if (threshold == "Loose") {value = 1;}
488  else if (threshold == "Medium") {value = 2;}
489  else if (threshold == "HadMedium") {value = 2;}
490  else if (threshold == "Tight") {value = 3;}
491  else {
492  TRG_MSG_WARNING("No isolation defined as " << threshold);
493  }
494 
495  if (bit >= value) {return true;}
496  else {return false;}
497 }

◆ isocut() [2/2]

bool ConfigurableAlg::isocut ( const unsigned int  threshold,
const unsigned int  bit 
) const
protectedinherited

Definition at line 500 of file ConfigurableAlg.cxx.

500  {
501  if (bit >= threshold) {return true;}
502  else {return false;}
503 }

◆ isSortingAlg()

bool TCS::ConfigurableAlg::isSortingAlg ( ) const
inlineinherited

Definition at line 60 of file ConfigurableAlg.h.

60 { return m_algType == SORT; }

◆ msg() [1/2]

MsgStreamTC & TrigConf::TrigConfMessaging::msg ( ) const
inlineinherited

The standard message stream.

Returns a reference to the message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 81 of file TrigConfMessaging.h.

82  {
83  MsgStreamTC* ms = m_msg_tls.get();
84  if (!ms) {
85  ms = new MsgStreamTC(m_name);
86  m_msg_tls.reset(ms);
87  }
88  return *ms;
89  }

◆ msg() [2/2]

MsgStreamTC & TrigConf::TrigConfMessaging::msg ( const MSGTC::Level  lvl) const
inlineinherited

The standard message stream.

Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.

Definition at line 91 of file TrigConfMessaging.h.

92  {
93  return msg() << lvl;
94  }

◆ msgLvl()

bool TrigConf::TrigConfMessaging::msgLvl ( const MSGTC::Level  lvl) const
inlineinherited

Test the output level.

Parameters
lvlThe message level to test against
Returns
boolean Indicting if messages at given level will be printed
Return values
trueMessages at level "lvl" will be printed

Definition at line 70 of file TrigConfMessaging.h.

71  {
72  if (msg().level() <= lvl) {
73  msg() << lvl;
74  return true;
75  }
76  else {
77  return false;
78  }
79  }

◆ name()

const std::string& TCS::ConfigurableAlg::name ( ) const
inlineinherited

Definition at line 48 of file ConfigurableAlg.h.

48 { return m_name; }

◆ numberOutputBits()

unsigned int TCS::DecisionAlg::numberOutputBits ( ) const
inlineinherited

◆ parameter() [1/2]

const TCS::Parameter & ConfigurableAlg::parameter ( const std::string &  parameterName) const
inherited

Definition at line 243 of file ConfigurableAlg.cxx.

243  {
244  return parameters().parameter(parameterName);
245 }

◆ parameter() [2/2]

const TCS::Parameter & ConfigurableAlg::parameter ( const std::string &  parameterName,
unsigned int  selection 
) const
inherited

Definition at line 249 of file ConfigurableAlg.cxx.

249  {
250  return parameters().parameter(parameterName, selection);
251 }

◆ parameters()

const ParameterSpace& TCS::ConfigurableAlg::parameters ( ) const
inlineinherited

Definition at line 87 of file ConfigurableAlg.h.

87 { return m_parameters; }

◆ process()

TCS::StatusCode TCS::DeltaRSqrIncl2Charge::process ( const std::vector< TCS::TOBArray const * > &  input,
const std::vector< TCS::TOBArray * > &  output,
Decision decison 
)
virtual

Implements TCS::DecisionAlg.

Definition at line 145 of file DeltaRSqrIncl2Charge.cxx.

148 {
149 
150  if( input.size() == 2) {
151 
152  for( TOBArray::const_iterator tob1 = input[0]->begin();
153  tob1 != input[0]->end() && distance(input[0]->begin(), tob1) < m_NumberLeading1;
154  ++tob1)
155  {
156 
157 
158  for( TCS::TOBArray::const_iterator tob2 = input[1]->begin();
159  tob2 != input[1]->end() && distance(input[1]->begin(), tob2) < m_NumberLeading2;
160  ++tob2) {
161  // test DeltaR2Min, DeltaR2Max
162  unsigned int deltaR2 = calcDeltaR2( *tob1, *tob2 );
163  TRG_MSG_DEBUG("Jet1 = " << **tob1 << ", Jet2 = " << **tob2 << ", deltaR2 = " << deltaR2);
164  // Charge cut ( 1 = positive, -1 = negative, 0 = undefined (RPC) )
165  int charge1 = (*tob1)->charge();
166  int charge2 = (*tob2)->charge();
167  int totalCharge = charge1 + charge2;
168  bool acceptCharge = true;
169  if ( std::abs(totalCharge) == 2 ) { acceptCharge = false; }
170  for(unsigned int i=0; i<numberOutputBits(); ++i) {
171  bool accept = false;
172  if( parType_t((*tob1)->Et()) <= m_MinET1[i]) continue; // ET cut
173  if( parType_t((*tob2)->Et()) <= m_MinET2[i]) continue; // ET cut
174  accept = deltaR2 >= m_DeltaRMin[i] && deltaR2 <= m_DeltaRMax[i] && acceptCharge;
175  const bool fillAccept = fillHistos() and (fillHistosBasedOnHardware() ? getDecisionHardwareBit(i) : accept);
176  const bool fillReject = fillHistos() and not fillAccept;
177  const bool alreadyFilled = decision.bit(i);
178  if( accept ) {
179  decision.setBit(i, true);
180  output[i]->push_back(TCS::CompositeTOB(*tob1, *tob2));
181  }
182  if(fillAccept and not alreadyFilled) {
183  fillHist1D(m_histAccept[i],std::sqrt(static_cast<float>(deltaR2)));
184  fillHist2D(m_histAcceptEta1Eta2[i],(*tob1)->eta(),(*tob2)->eta());
185  } else if(fillReject) {
186  fillHist1D(m_histReject[i],std::sqrt(static_cast<float>(deltaR2)));
187  fillHist2D(m_histRejectEta1Eta2[i],(*tob1)->eta(),(*tob2)->eta());
188  }
189  TRG_MSG_DEBUG("Decision " << i << ": " << (accept?"pass":"fail") << " deltaR2 = " << deltaR2);
190  }
191  }
192  }
193  } else {
194  TCS_EXCEPTION("DeltaRSqrIncl2Charge alg must have 2 inputs, but got " << input.size());
195  }
197 }

◆ processBitCorrect()

TCS::StatusCode TCS::DeltaRSqrIncl2Charge::processBitCorrect ( const std::vector< TCS::TOBArray const * > &  input,
const std::vector< TCS::TOBArray * > &  output,
Decision decison 
)
virtual

Implements TCS::DecisionAlg.

Definition at line 92 of file DeltaRSqrIncl2Charge.cxx.

95 {
96 
97  if( input.size() == 2) {
98 
99  for( TOBArray::const_iterator tob1 = input[0]->begin();
100  tob1 != input[0]->end() && distance(input[0]->begin(), tob1) < m_NumberLeading1;
101  ++tob1)
102  {
103  for( TCS::TOBArray::const_iterator tob2 = input[1]->begin();
104  tob2 != input[1]->end() && distance(input[1]->begin(), tob2) < m_NumberLeading2;
105  ++tob2) {
106  // test DeltaR2Min, DeltaR2Max
107  unsigned int deltaR2 = calcDeltaR2BW( *tob1, *tob2 );
108  TRG_MSG_DEBUG("Jet1 = " << **tob1 << ", Jet2 = " << **tob2 << ", deltaR2 = " << deltaR2);
109  // Charge cut ( 1 = positive, -1 = negative, 0 = undefined (RPC) )
110  int charge1 = (*tob1)->charge();
111  int charge2 = (*tob2)->charge();
112  int totalCharge = charge1 + charge2;
113  bool acceptCharge = true;
114  if ( std::abs(totalCharge) == 2 ) { acceptCharge = false; }
115  for(unsigned int i=0; i<numberOutputBits(); ++i) {
116  bool accept = false;
117  if( parType_t((*tob1)->Et()) <= m_MinET1[i]) continue; // ET cut
118  if( parType_t((*tob2)->Et()) <= m_MinET2[i]) continue; // ET cut
119  accept = deltaR2 >= m_DeltaRMin[i] && deltaR2 <= m_DeltaRMax[i] && acceptCharge;
120  const bool fillAccept = fillHistos() and (fillHistosBasedOnHardware() ? getDecisionHardwareBit(i) : accept);
121  const bool fillReject = fillHistos() and not fillAccept;
122  const bool alreadyFilled = decision.bit(i);
123  if( accept ) {
124  decision.setBit(i, true);
125  output[i]->push_back(TCS::CompositeTOB(*tob1, *tob2));
126  }
127  if(fillAccept and not alreadyFilled) {
128  fillHist1D(m_histAccept[i],std::sqrt(static_cast<float>(deltaR2)));
129  fillHist2D(m_histAcceptEta1Eta2[i],(*tob1)->eta(),(*tob2)->eta());
130  } else if(fillReject) {
131  fillHist1D(m_histReject[i],std::sqrt(static_cast<float>(deltaR2)));
132  fillHist2D(m_histRejectEta1Eta2[i],(*tob1)->eta(),(*tob2)->eta());
133  }
134  TRG_MSG_DEBUG("Decision " << i << ": " << (accept?"pass":"fail") << " deltaR2 = " << deltaR2);
135  }
136  }
137  }
138  } else {
139  TCS_EXCEPTION("DeltaRSqrIncl2Charge alg must have 2 inputs, but got " << input.size());
140  }
142 }

◆ quadraticSumBW()

unsigned long ConfigurableAlg::quadraticSumBW ( int  i1,
int  i2 
)
inherited

Definition at line 160 of file ConfigurableAlg.cxx.

160  {
161  return TSU::Kinematics::quadraticSumBW(i1, i2);
162 }

◆ registerHist() [1/2]

void ConfigurableAlg::registerHist ( TH1 h)
protectedinherited

Definition at line 262 of file ConfigurableAlg.cxx.

262  {
263  m_impl->registerHist(h);
264 }

◆ registerHist() [2/2]

void ConfigurableAlg::registerHist ( TH2 h)
protectedinherited

Definition at line 266 of file ConfigurableAlg.cxx.

266  {
267  m_impl->registerHist(h);
268 }

◆ reset()

StatusCode TCS::ConfigurableAlg::reset ( )
inlineinherited

Definition at line 58 of file ConfigurableAlg.h.

58 { return doReset(); }

◆ resetHardwareBits()

TCS::DecisionAlg & DecisionAlg::resetHardwareBits ( )
inherited

! reset all hardware bits for this algo

Definition at line 45 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/Root/DecisionAlg.cxx.

46 {
49  return *this;
50 }

◆ setAlgoId()

void TCS::ConfigurableAlg::setAlgoId ( unsigned int  algoId)
inlineinherited

Definition at line 93 of file ConfigurableAlg.h.

93 { m_algoId = algoId; }

◆ setClassName()

void TCS::ConfigurableAlg::setClassName ( const std::string &  className)
inlineinherited

Definition at line 43 of file ConfigurableAlg.h.

◆ setFillHistosBasedOnHardware()

TCS::DecisionAlg & DecisionAlg::setFillHistosBasedOnHardware ( const bool &  value)
inherited

! toggle m_fillHistosBasedOnHardware

Definition at line 78 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/Root/DecisionAlg.cxx.

79 {
81  return *this;
82 }

◆ setHardwareBits()

TCS::DecisionAlg & DecisionAlg::setHardwareBits ( const unsigned int &  bitNumber,
const bool &  valueDecision,
const bool &  valueOverflow 
)
inherited

propagate the hardware decision bits for each output bit of this algo

These bits are used only to fill the monitoring histograms. They do not have any use in the L1TopoSimulation itself.

Definition at line 25 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/Root/DecisionAlg.cxx.

28 {
29  if(bitNumber<m_numberOutputBits){
30  if(valueDecision)
31  m_hardwareDecisionBits |= (1 << bitNumber);
32  if(valueOverflow)
33  m_hardwareOverflowBits |= (1 << bitNumber);
34  } else if(bitNumber<32) {
35  TRG_MSG_WARNING("Cannot set hardware bits for bit number "<<bitNumber
36  <<" > "<<m_numberOutputBits<<" N output bits "
37  <<" for algo "<<name());
38  } else {
39  TRG_MSG_WARNING("Cannot set hardware bits for bit number "<<bitNumber
40  <<" > 31 N output bits for algo "<<name());
41  }
42  return *this;
43 }

◆ setL1TopoHistSvc()

void ConfigurableAlg::setL1TopoHistSvc ( std::shared_ptr< IL1TopoHistSvc histSvc)
inherited

sets the external hist service

forwarding public interface

Definition at line 258 of file ConfigurableAlg.cxx.

258  {
259  m_impl->setL1TopoHistSvc(histSvc);
260 }

◆ setLegacyMode()

void TCS::ConfigurableAlg::setLegacyMode ( bool  isLegacyTopo)
inlineinherited

Definition at line 45 of file ConfigurableAlg.h.

◆ setNumberOutputBits()

void TCS::DecisionAlg::setNumberOutputBits ( unsigned int  numberOutputBits)
inlineinherited

◆ setParameters()

void ConfigurableAlg::setParameters ( const ParameterSpace parameters)
inherited

Definition at line 222 of file ConfigurableAlg.cxx.

222  {
223 
224  // check if parameterspace is for this algorithm
225  if(name() != parameters.algName()) {
226  TCS_EXCEPTION("Name of parameter set (" << parameters.algName() << ") do not match configurable name (" << name() << ")" );
227  }
228 
229  // copy parameters
230  for(const Parameter & p : parameters) {
231  try {
233  }
234  catch(const TCS::Exception& e) {
235  TCS_EXCEPTION("Algorithm configuration failed for " << name() << "! Caught exception: " << e.what());
236  }
237  }
238 }

◆ setSkipHistos()

TCS::DecisionAlg & DecisionAlg::setSkipHistos ( const bool &  value)
inherited

! toggle m_skipHistos (see TopoSteering::setOutputAlgosSkipHistograms)

Definition at line 89 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/Root/DecisionAlg.cxx.

90 {
92  return *this;
93 }

◆ skipHistos()

bool DecisionAlg::skipHistos ( ) const
inherited

! getter

Definition at line 95 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/Root/DecisionAlg.cxx.

96 {
97  return m_skipHistos;
98 }

◆ ToString()

std::string ConfigurableAlg::ToString ( const int  val)
privateinherited

Definition at line 475 of file ConfigurableAlg.cxx.

476 {
477  const int val_int = static_cast<int>(val);
478  std::ostringstream temp;
479  temp << val_int;
480  return temp.str();
481 }

Member Data Documentation

◆ m_algoId

unsigned int TCS::ConfigurableAlg::m_algoId {0}
privateinherited

Definition at line 138 of file ConfigurableAlg.h.

◆ m_algType

AlgType TCS::ConfigurableAlg::m_algType
privateinherited

Definition at line 142 of file ConfigurableAlg.h.

◆ m_className

std::string TCS::ConfigurableAlg::m_className {""}
privateinherited

Definition at line 135 of file ConfigurableAlg.h.

◆ m_DeltaRMax

parType_t TCS::DeltaRSqrIncl2Charge::m_DeltaRMax[3] = {0, 0, 0}
private

Definition at line 36 of file DeltaRSqrIncl2Charge.h.

◆ m_DeltaRMin

parType_t TCS::DeltaRSqrIncl2Charge::m_DeltaRMin[3] = {0, 0, 0}
private

Definition at line 35 of file DeltaRSqrIncl2Charge.h.

◆ m_fillHistosBasedOnHardware

bool TCS::DecisionAlg::m_fillHistosBasedOnHardware {0}
privateinherited

! fill accept/reject monitoring histos based on hdw decision

Definition at line 100 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h.

◆ m_hardwareDecisionBits

uint32_t TCS::DecisionAlg::m_hardwareDecisionBits {0}
privateinherited

! decision bits from hardware (assume the algo won't have >31 output bits)

Definition at line 96 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h.

◆ m_hardwareOverflowBits

uint32_t TCS::DecisionAlg::m_hardwareOverflowBits {0}
privateinherited

! overflow bits from hardware (assume the algo won't have >31 output bits)

Definition at line 98 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h.

◆ m_histAccept

std::vector<std::string> TCS::DecisionAlg::m_histAccept
protectedinherited

◆ m_histAcceptEta1Eta2

std::vector<std::string> TCS::DecisionAlg::m_histAcceptEta1Eta2
protectedinherited

◆ m_histAcceptEta2Eta3

std::vector<std::string> TCS::DecisionAlg::m_histAcceptEta2Eta3
protectedinherited

◆ m_histAcceptEta3Eta1

std::vector<std::string> TCS::DecisionAlg::m_histAcceptEta3Eta1
protectedinherited

◆ m_histAcceptM

std::vector<std::string> TCS::DecisionAlg::m_histAcceptM
protectedinherited

◆ m_histAcceptX

std::vector<std::string> TCS::DecisionAlg::m_histAcceptX
protectedinherited

◆ m_histReject

std::vector<std::string> TCS::DecisionAlg::m_histReject
protectedinherited

◆ m_histRejectEta1Eta2

std::vector<std::string> TCS::DecisionAlg::m_histRejectEta1Eta2
protectedinherited

◆ m_histRejectEta2Eta3

std::vector<std::string> TCS::DecisionAlg::m_histRejectEta2Eta3
protectedinherited

◆ m_histRejectEta3Eta1

std::vector<std::string> TCS::DecisionAlg::m_histRejectEta3Eta1
protectedinherited

◆ m_histRejectM

std::vector<std::string> TCS::DecisionAlg::m_histRejectM
protectedinherited

◆ m_histRejectX

std::vector<std::string> TCS::DecisionAlg::m_histRejectX
protectedinherited

◆ m_impl

std::unique_ptr<ConfigurableAlgImpl> TCS::ConfigurableAlg::m_impl
privateinherited

Definition at line 129 of file ConfigurableAlg.h.

◆ m_isLegacyTopo

bool TCS::ConfigurableAlg::m_isLegacyTopo
privateinherited

Definition at line 144 of file ConfigurableAlg.h.

◆ m_MinET1

parType_t TCS::DeltaRSqrIncl2Charge::m_MinET1[3] = { 0,0,0 }
private

Definition at line 37 of file DeltaRSqrIncl2Charge.h.

◆ m_MinET2

parType_t TCS::DeltaRSqrIncl2Charge::m_MinET2[3] = { 0,0,0 }
private

Definition at line 38 of file DeltaRSqrIncl2Charge.h.

◆ m_msg_tls

boost::thread_specific_ptr<MsgStreamTC> TrigConf::TrigConfMessaging::m_msg_tls
mutableprivateinherited

MsgStreamTC instance (a std::cout like with print-out levels)

Definition at line 66 of file TrigConfMessaging.h.

◆ m_name

std::string TCS::ConfigurableAlg::m_name {""}
privateinherited

Definition at line 134 of file ConfigurableAlg.h.

◆ m_NumberLeading1

parType_t TCS::DeltaRSqrIncl2Charge::m_NumberLeading1 = { 0 }
private

Definition at line 33 of file DeltaRSqrIncl2Charge.h.

◆ m_NumberLeading2

parType_t TCS::DeltaRSqrIncl2Charge::m_NumberLeading2 = { 0 }
private

Definition at line 34 of file DeltaRSqrIncl2Charge.h.

◆ m_numberOutputBits

unsigned int TCS::DecisionAlg::m_numberOutputBits {1}
privateinherited

◆ m_parameters

ParameterSpace TCS::ConfigurableAlg::m_parameters {""}
privateinherited

Definition at line 140 of file ConfigurableAlg.h.

◆ m_skipHistos

bool TCS::DecisionAlg::m_skipHistos {0}
privateinherited

! skip filling monitoring histos, used only when m_fillHistosBasedOnHardware==true

Definition at line 102 of file Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h.


The documentation for this class was generated from the following files:
TCS::ConfigurableAlg::SORT
@ SORT
Definition: ConfigurableAlg.h:32
replace
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition: hcg.cxx:307
temp
Definition: JetEventDict.h:21
TSU::Kinematics::calcTMassBW
static unsigned int calcTMassBW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:122
TCS::ConfigurableAlg::className
const std::string & className() const
Definition: ConfigurableAlg.h:49
TCS::Parameter
Definition: Parameter.h:24
TCS::DeltaRSqrIncl2Charge::m_NumberLeading1
parType_t m_NumberLeading1
Definition: DeltaRSqrIncl2Charge.h:33
TSU::Kinematics::calcDeltaR2BWLegacy
static unsigned int calcDeltaR2BWLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:62
ymin
double ymin
Definition: listroot.cxx:63
TSU::Kinematics::calcInvMass
static unsigned int calcInvMass(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:244
TSU::Kinematics::calcTMass
static unsigned int calcTMass(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:256
TCS::DecisionAlg::m_histRejectEta1Eta2
std::vector< std::string > m_histRejectEta1Eta2
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h:80
TCS::StatusCode::SUCCESS
@ SUCCESS
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/StatusCode.h:17
TCS::ParameterSpace::parameter
const Parameter & parameter(const std::string &parameterName) const
Definition: ParameterSpace.cxx:101
TSU::Kinematics::calcDeltaPhiBW
static unsigned int calcDeltaPhiBW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:82
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
TCS::ConfigurableAlg::m_name
std::string m_name
Definition: ConfigurableAlg.h:134
TCS::parType_t
uint32_t parType_t
Definition: Parameter.h:22
AddEmptyComponent.histName
string histName
Definition: AddEmptyComponent.py:64
TCS::DataArrayImpl< GenericTOB >::const_iterator
data_t::const_iterator const_iterator
Definition: DataArrayImpl.h:18
TCS::ConfigurableAlg::parameters
const ParameterSpace & parameters() const
Definition: ConfigurableAlg.h:87
TCS::ParameterSpace::addParameter
ParameterSpace & addParameter(const Parameter &p)
Definition: ParameterSpace.cxx:29
TrigConf::TrigConfMessaging::m_msg_tls
boost::thread_specific_ptr< MsgStreamTC > m_msg_tls
MsgStreamTC instance (a std::cout like with print-out levels)
Definition: TrigConfMessaging.h:66
TCS::ConfigurableAlg::m_impl
std::unique_ptr< ConfigurableAlgImpl > m_impl
Definition: ConfigurableAlg.h:128
TCS::DecisionAlg::m_fillHistosBasedOnHardware
bool m_fillHistosBasedOnHardware
! fill accept/reject monitoring histos based on hdw decision
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h:100
TCS::DecisionAlg::DecisionAlg
DecisionAlg(const std::string &name)
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h:25
TCS::Parameter::name
const std::string & name() const
Definition: Parameter.h:33
CutsMETMaker::accept
StatusCode accept(const xAOD::Muon *mu)
Definition: CutsMETMaker.cxx:18
TCS::ConfigurableAlg::ToString
std::string ToString(const int val)
Definition: ConfigurableAlg.cxx:475
TCS::ConfigurableAlg::isLegacyTopo
bool isLegacyTopo() const
Definition: ConfigurableAlg.h:66
PlotCalibFromCool.begin
begin
Definition: PlotCalibFromCool.py:94
TCS::ConfigurableAlg::fillHist2D
void fillHist2D(const std::string &histName, double x, double y)
Definition: ConfigurableAlg.cxx:471
TCS::DecisionAlg::fillHistosBasedOnHardware
bool fillHistosBasedOnHardware() const
! getter
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/Root/DecisionAlg.cxx:84
TSU::Kinematics::calcDeltaPhi
static unsigned int calcDeltaPhi(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:231
athena.value
value
Definition: athena.py:122
TCS::DecisionAlg::m_histAcceptEta1Eta2
std::vector< std::string > m_histAcceptEta1Eta2
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h:79
TSU::Kinematics::calcInvMassBWLegacy
static unsigned int calcInvMassBWLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:34
TCS::DecisionAlg::numberOutputBits
unsigned int numberOutputBits() const
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h:39
TSU::Kinematics::calcDeltaEtaBWLegacy
static unsigned int calcDeltaEtaBWLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:29
plotting.yearwise_luminosity.ytitle
string ytitle
Definition: yearwise_luminosity.py:76
TSU::Kinematics::calcDeltaR2BW
static unsigned int calcDeltaR2BW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:131
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
xAOD::P4Helpers::deltaR2
double deltaR2(double rapidity1, double phi1, double rapidity2, double phi2)
from bare rapidity,phi
Definition: xAODP4Helpers.h:111
TCS::DeltaRSqrIncl2Charge::m_NumberLeading2
parType_t m_NumberLeading2
Definition: DeltaRSqrIncl2Charge.h:34
python.TrigEgammaMonitorHelper.TH2F
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:45
x
#define x
python.SystemOfUnits.ms
int ms
Definition: SystemOfUnits.py:132
TCS::ConfigurableAlg::parameter
const Parameter & parameter(const std::string &parameterName) const
Definition: ConfigurableAlg.cxx:243
TCS::DecisionAlg::m_histReject
std::vector< std::string > m_histReject
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h:74
TSU::Kinematics::calcDeltaEtaBW
static unsigned int calcDeltaEtaBW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:92
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
TSU::Kinematics::calcDeltaR2Legacy
static unsigned int calcDeltaR2Legacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:222
TCS::Parameter::selection
unsigned int selection() const
Definition: Parameter.h:34
TCS::DecisionAlg::getDecisionHardwareBit
bool getDecisionHardwareBit(const unsigned int &bitNumber) const
! get one hardware decision bit from this algo
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/Root/DecisionAlg.cxx:52
TCS::DeltaRSqrIncl2Charge::m_DeltaRMax
parType_t m_DeltaRMax[3]
Definition: DeltaRSqrIncl2Charge.h:36
TSU::Kinematics::calcDeltaR2
static unsigned int calcDeltaR2(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:266
TCS::ConfigurableAlg::m_isLegacyTopo
bool m_isLegacyTopo
Definition: ConfigurableAlg.h:144
TSU::Kinematics::calcDeltaPhiBWLegacy
static unsigned int calcDeltaPhiBWLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:19
TCS::ConfigurableAlg::doReset
virtual StatusCode doReset()=0
TCS::Exception
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Exception.h:21
TrigConf::TrigConfMessaging::m_name
std::string m_name
Definition: TrigConfMessaging.h:67
TCS::DeltaRSqrIncl2Charge::m_DeltaRMin
parType_t m_DeltaRMin[3]
Definition: DeltaRSqrIncl2Charge.h:35
TCS::ConfigurableAlg::name
const std::string & name() const
Definition: ConfigurableAlg.h:48
TCS::ConfigurableAlg::m_algType
AlgType m_algType
Definition: ConfigurableAlg.h:142
lumiFormat.i
int i
Definition: lumiFormat.py:92
xmin
double xmin
Definition: listroot.cxx:60
h
TCS::ConfigurableAlg::NONE
@ NONE
Definition: ConfigurableAlg.h:32
TCS::ParameterSpace::setParameter
ParameterSpace & setParameter(const Parameter &p)
Definition: ParameterSpace.cxx:49
TrigConf::TrigConfMessaging::msg
MsgStreamTC & msg() const
The standard message stream.
Definition: TrigConfMessaging.h:81
TCS::DecisionAlg::m_histAccept
std::vector< std::string > m_histAccept
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h:73
TSU::Kinematics::calcDeltaEtaLegacy
static unsigned int calcDeltaEtaLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:217
TCS::ConfigurableAlg::defineParameter
void defineParameter(const std::string &name, TCS::parType_t value)
Definition: ConfigurableAlg.cxx:201
TCS::DecisionAlg::fillHistos
bool fillHistos() const
whether the monitoring histograms should be filled
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/Root/DecisionAlg.cxx:100
TCS::CompositeTOB
Definition: CompositeTOB.h:16
covarianceTool.title
title
Definition: covarianceTool.py:542
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
contains
bool contains(const std::string &s, const std::string &regx)
does a string contain the substring
Definition: hcg.cxx:111
MuonSegmentReaderConfig.histSvc
histSvc
Definition: MuonSegmentReaderConfig.py:96
TSU::Kinematics::calcInvMassBW
static unsigned int calcInvMassBW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:97
TCS::ConfigurableAlg::calcDeltaR2
unsigned int calcDeltaR2(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: ConfigurableAlg.cxx:191
TCS::DecisionAlg::m_hardwareOverflowBits
uint32_t m_hardwareOverflowBits
! overflow bits from hardware (assume the algo won't have >31 output bits)
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h:98
TCS_EXCEPTION
#define TCS_EXCEPTION(MSG)
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Exception.h:14
selection
std::string selection
Definition: fbtTestBasics.cxx:73
TCS::DecisionAlg::m_numberOutputBits
unsigned int m_numberOutputBits
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h:94
TRG_MSG_INFO
#define TRG_MSG_INFO(x)
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStreamMacros.h:27
merge.output
output
Definition: merge.py:17
TRG_MSG_WARNING
#define TRG_MSG_WARNING(x)
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStreamMacros.h:28
TSU::Kinematics::quadraticSumBW
static unsigned long quadraticSumBW(int i1, int i2)
compute the sum in quadrature of two ints
Definition: Kinematics.cxx:146
TCS::ConfigurableAlg::m_algoId
unsigned int m_algoId
Definition: ConfigurableAlg.h:138
TSU::Kinematics::calcDeltaPhiLegacy
static unsigned int calcDeltaPhiLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:209
TCS::DecisionAlg::m_hardwareDecisionBits
uint32_t m_hardwareDecisionBits
! decision bits from hardware (assume the algo won't have >31 output bits)
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h:96
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
threshold
Definition: chainparser.cxx:74
MakeNewFileFromOldAndSubstitution.newName
dictionary newName
Definition: ICHEP2016/MakeNewFileFromOldAndSubstitution.py:95
TCS::ConfigurableAlg::m_className
std::string m_className
Definition: ConfigurableAlg.h:135
TCS::ConfigurableAlg::bookHist
void bookHist(std::vector< std::string > &regName, const std::string &name, const std::string &title, const int binx, const int xmin, const int xmax)
Definition: ConfigurableAlg.cxx:270
TCS::ConfigurableAlg::calcDeltaR2BW
unsigned int calcDeltaR2BW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: ConfigurableAlg.cxx:152
TSU::Kinematics::calcTMassBWLegacy
static unsigned int calcTMassBWLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:53
TCS::ConfigurableAlg::COUNT
@ COUNT
Definition: ConfigurableAlg.h:32
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
y
#define y
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
plotting.yearwise_efficiency.xtitle
string xtitle
Definition: yearwise_efficiency.py:38
TSU::Kinematics::calcDeltaEta
static unsigned int calcDeltaEta(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
Definition: Kinematics.cxx:239
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:569
xmax
double xmax
Definition: listroot.cxx:61
TCS::ParameterSpace::algName
const std::string & algName() const
Definition: ParameterSpace.h:36
TCS::DecisionAlg::setNumberOutputBits
void setNumberOutputBits(unsigned int numberOutputBits)
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h:40
python.TrigEgammaMonitorHelper.TH1F
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
Definition: TrigEgammaMonitorHelper.py:24
TCS::ConfigurableAlg::fillHist1D
void fillHist1D(const std::string &histName, double x)
Definition: ConfigurableAlg.cxx:467
TCS::Parameter::value
parType_t value() const
Definition: Parameter.h:35
Amg::distance
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Definition: GeoPrimitivesHelpers.h:54
TCS::ConfigurableAlg::DECISION
@ DECISION
Definition: ConfigurableAlg.h:32
TCS::ConfigurableAlg::m_parameters
ParameterSpace m_parameters
Definition: ConfigurableAlg.h:140
TCS::DeltaRSqrIncl2Charge::m_MinET1
parType_t m_MinET1[3]
Definition: DeltaRSqrIncl2Charge.h:37
TRG_MSG_DEBUG
#define TRG_MSG_DEBUG(x)
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStreamMacros.h:25
TCS::DeltaRSqrIncl2Charge::m_MinET2
parType_t m_MinET2[3]
Definition: DeltaRSqrIncl2Charge.h:38
ymax
double ymax
Definition: listroot.cxx:64
TCS::ConfigurableAlg::algoId
unsigned int algoId() const
Definition: ConfigurableAlg.h:53
TCS::DecisionAlg::m_skipHistos
bool m_skipHistos
! skip filling monitoring histos, used only when m_fillHistosBasedOnHardware==true
Definition: Trigger/TrigT1/L1Topo/L1TopoInterfaces/L1TopoInterfaces/DecisionAlg.h:102