ATLAS Offline Software
Loading...
Searching...
No Matches
TCS::CountingAlg Class Referenceabstract

#include <CountingAlg.h>

Inherits TCS::ConfigurableAlg.

Inherited by TCS::EnergyThreshold, TCS::LArSaturation, TCS::ZeroBias, TCS::cTauMultiplicity, TCS::eEmMultiplicity, TCS::eTauMultiplicity, TCS::gJetMultiplicity, TCS::gLJetMultiplicity, TCS::jEmMultiplicity, TCS::jJetMultiplicity, TCS::jLJetMultiplicity, and TCS::jTauMultiplicity.

Collaboration diagram for TCS::CountingAlg:

Public Member Functions

 CountingAlg (const std::string &name)
virtual ~CountingAlg ()
virtual TCS::StatusCode process (const InputTOBArray &input, Count &count)=0
virtual TCS::StatusCode processBitCorrect (const InputTOBArray &input, Count &count)=0
unsigned int numberOutputBits () const
void setNumberOutputBits (unsigned int numberOutputBits)
void setThreshold (const TrigConf::L1Threshold &thr)
const TrigConf::L1ThresholdgetThreshold ()
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
virtual StatusCode initialize ()
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
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.
MsgStreamTC & msg () const
 The standard message stream.
MsgStreamTC & msg (const MSGTC::Level lvl) const
 The standard message stream.
const std::string & getName () const
 name accessor

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

Private Member Functions

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

Private Attributes

unsigned int m_numberOutputBits {1}
TrigConf::L1Threshold const * m_threshold {nullptr}
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)

Friends

class TopoSteering

Detailed Description

Definition at line 25 of file CountingAlg.h.

Member Enumeration Documentation

◆ AlgType

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

Definition at line 32 of file ConfigurableAlg.h.

Constructor & Destructor Documentation

◆ CountingAlg()

TCS::CountingAlg::CountingAlg ( const std::string & name)
inline

Definition at line 28 of file CountingAlg.h.

28 :
30 {};
ConfigurableAlg(const std::string &name, AlgType algType)
const std::string & name() const

◆ ~CountingAlg()

TCS::CountingAlg::~CountingAlg ( )
virtual

Definition at line 15 of file CountingAlg.cxx.

15{}

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 272 of file ConfigurableAlg.cxx.

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

◆ 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 349 of file ConfigurableAlg.cxx.

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

◆ 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 340 of file ConfigurableAlg.cxx.

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

◆ 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 459 of file ConfigurableAlg.cxx.

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

◆ calcDeltaEta()

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

Definition at line 175 of file ConfigurableAlg.cxx.

175 {
176 if (m_isLegacyTopo)
177 {return TSU::Kinematics::calcDeltaEtaLegacy(tob1,tob2);}
178 else
179 {return TSU::Kinematics::calcDeltaEta(tob1,tob2);}
180}
static unsigned int calcDeltaEta(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
static unsigned int calcDeltaEtaLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)

◆ calcDeltaEtaBW()

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

Definition at line 130 of file ConfigurableAlg.cxx.

130 {
131 if (m_isLegacyTopo)
132 {return TSU::Kinematics::calcDeltaEtaBWLegacy(tob1,tob2);}
133 else
134 {return TSU::Kinematics::calcDeltaEtaBW(tob1,tob2);}
135}
static unsigned int calcDeltaEtaBWLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
static unsigned int calcDeltaEtaBW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)

◆ calcDeltaPhi()

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

Definition at line 167 of file ConfigurableAlg.cxx.

167 {
168 if (m_isLegacyTopo)
169 {return TSU::Kinematics::calcDeltaPhiLegacy(tob1,tob2);}
170 else
171 {return TSU::Kinematics::calcDeltaPhi(tob1,tob2);}
172}
static unsigned int calcDeltaPhi(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
static unsigned int calcDeltaPhiLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)

◆ calcDeltaPhiBW()

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

Definition at line 122 of file ConfigurableAlg.cxx.

122 {
123 if (m_isLegacyTopo)
124 {return TSU::Kinematics::calcDeltaPhiBWLegacy(tob1,tob2);}
125 else
126 {return TSU::Kinematics::calcDeltaPhiBW(tob1,tob2);}
127}
static unsigned int calcDeltaPhiBWLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
static unsigned int calcDeltaPhiBW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)

◆ calcDeltaR2()

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

Definition at line 193 of file ConfigurableAlg.cxx.

193 {
194 if (m_isLegacyTopo)
195 {return TSU::Kinematics::calcDeltaR2Legacy(tob1,tob2);}
196 else
197 {return TSU::Kinematics::calcDeltaR2(tob1,tob2);}
198}
static unsigned int calcDeltaR2Legacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
static unsigned int calcDeltaR2(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)

◆ calcDeltaR2BW()

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

Definition at line 154 of file ConfigurableAlg.cxx.

154 {
155 if (m_isLegacyTopo)
156 {return TSU::Kinematics::calcDeltaR2BWLegacy(tob1,tob2);}
157 else
158 {return TSU::Kinematics::calcDeltaR2BW(tob1,tob2);}
159}
static unsigned int calcDeltaR2BW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
static unsigned int calcDeltaR2BWLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)

◆ calcInvMass()

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

Definition at line 183 of file ConfigurableAlg.cxx.

183 {
184 return TSU::Kinematics::calcInvMass(tob1,tob2);
185}
static unsigned int calcInvMass(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)

◆ calcInvMassBW()

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

Definition at line 138 of file ConfigurableAlg.cxx.

138 {
139 if (m_isLegacyTopo)
140 {return TSU::Kinematics::calcInvMassBWLegacy(tob1,tob2);}
141 else
142 {return TSU::Kinematics::calcInvMassBW(tob1,tob2);}
143}
static unsigned int calcInvMassBW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
static unsigned int calcInvMassBWLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)

◆ calcTMass()

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

Definition at line 188 of file ConfigurableAlg.cxx.

188 {
189 return TSU::Kinematics::calcTMass(tob1,tob2);
190}
static unsigned int calcTMass(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)

◆ calcTMassBW()

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

Definition at line 146 of file ConfigurableAlg.cxx.

146 {
147 if (m_isLegacyTopo)
148 {return TSU::Kinematics::calcTMassBWLegacy(tob1,tob2);}
149 else
150 {return TSU::Kinematics::calcTMassBW(tob1,tob2);}
151}
static unsigned int calcTMassBWLegacy(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)
static unsigned int calcTMassBW(const TCS::GenericTOB *tob1, const TCS::GenericTOB *tob2)

◆ 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 215 of file ConfigurableAlg.cxx.

215 {
216 if( parameters().contains( parameter.name(), parameter.selection() ) ) {
217 TCS_EXCEPTION("Duplicate parameter definition '" << parameter.name() << "' for algorithm '" << name() << "'");
218 }
219 m_parameters.addParameter(parameter);
220}
const ParameterSpace & parameters() const
const Parameter & parameter(const std::string &parameterName) const
ParameterSpace m_parameters
bool contains(const std::string &s, const std::string &regx)
does a string contain the substring
Definition hcg.cxx:114

◆ defineParameter() [2/3]

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

Definition at line 203 of file ConfigurableAlg.cxx.

203 {
204 defineParameter( Parameter(name, value) );
205}
void defineParameter(const std::string &name, TCS::parType_t value)

◆ defineParameter() [3/3]

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

Definition at line 209 of file ConfigurableAlg.cxx.

209 {
210 defineParameter( Parameter(name, value, selection) );
211}
const std::string selection

◆ doReset()

TCS::StatusCode TCS::CountingAlg::doReset ( )
privatevirtual

◆ fillHist1D()

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

Definition at line 469 of file ConfigurableAlg.cxx.

469 {
470 m_impl->fillHist1D(histName,x);
471}
#define x

◆ fillHist2D()

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

Definition at line 473 of file ConfigurableAlg.cxx.

473 {
474 m_impl->fillHist2D(histName,x,y);
475}
#define y

◆ fullname()

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

Definition at line 50 of file ConfigurableAlg.h.

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

◆ getName()

const std::string & TrigConf::TrigConfMessaging::getName ( ) const
inlineinherited

name accessor

Returns
the name

Definition at line 101 of file TrigConfMessaging.h.

101 {
102 return m_name;
103 }

◆ getThreshold()

const TrigConf::L1Threshold * TCS::CountingAlg::getThreshold ( )
inline

Definition at line 47 of file CountingAlg.h.

47{ return m_threshold; }
TrigConf::L1Threshold const * m_threshold
Definition CountingAlg.h:63

◆ initialize()

virtual StatusCode TCS::ConfigurableAlg::initialize ( )
inlinevirtualinherited

Reimplemented in TCS::ADVAE_2A, TCS::AnomalyDetectionBDT, TCS::ARTEMIS_2A, TCS::ClusterNoSort, TCS::ClusterSelect, TCS::ClusterSort, TCS::cTauMultiplicity, TCS::DeltaEtaIncl1, TCS::DeltaEtaIncl2, TCS::DeltaEtaPhiIncl1, TCS::DeltaEtaPhiIncl2, TCS::DeltaPhiIncl1, TCS::DeltaPhiIncl2, TCS::DeltaRApproxBoxCutIncl1, TCS::DeltaRApproxBoxCutIncl2, TCS::DeltaRSqrIncl1, TCS::DeltaRSqrIncl1Charge, TCS::DeltaRSqrIncl2, TCS::DeltaRSqrIncl2Charge, TCS::DisambiguationDetaDPhiIncl3, TCS::DisambiguationDRIncl2, TCS::DisambiguationDRIncl3, TCS::DisambiguationIncl2, TCS::DisambiguationIncl3, TCS::DisambiguationInvmIncl2, TCS::eEmMultiplicity, TCS::eEmNoSort, TCS::eEmSelect, TCS::eEmSort, TCS::EnergyThreshold, TCS::EtaPhiWindow, TCS::eTauMultiplicity, TCS::eTauNoSort, TCS::eTauSelect, TCS::eTauSort, TCS::EtCut, TCS::ExclusiveJets, TCS::gJetMultiplicity, TCS::gJetNoSort, TCS::gJetSelect, TCS::gJetSort, TCS::gLJetMultiplicity, TCS::gLJetNoSort, TCS::gLJetSelect, TCS::gLJetSort, TCS::InvariantMassDeltaPhiInclusive1, TCS::InvariantMassDeltaPhiInclusive2, TCS::InvariantMassDeltaPhiInclusive2Charge, TCS::InvariantMassDeltaPhiSumEtInclusive1, TCS::InvariantMassInclusive1, TCS::InvariantMassInclusive1Disambiguation2, TCS::InvariantMassInclusive2, TCS::InvariantMassInclusiveDeltaRSqrIncl1, TCS::InvariantMassInclusiveDeltaRSqrIncl1Charge, TCS::InvariantMassInclusiveDeltaRSqrIncl2, TCS::InvariantMassInclusiveDeltaRSqrIncl2Charge, TCS::InvariantMassThreeTOBsIncl1, TCS::InvariantMassThreeTOBsIncl1Charge, TCS::jEmMultiplicity, TCS::jEmNoSort, TCS::jEmSelect, TCS::jEmSort, TCS::JetHT, TCS::JetMatch, TCS::JetNoSort, TCS::JetNoSortMatch, TCS::JetSelect, TCS::JetSort, TCS::jJetMultiplicity, TCS::jJetNoSort, TCS::jJetSelect, TCS::jJetSort, TCS::jLJetMultiplicity, TCS::jLJetNoSort, TCS::jLJetSelect, TCS::jLJetSort, TCS::jTauMultiplicity, TCS::jTauNoSort, TCS::jTauSelect, TCS::jTauSort, TCS::jTENoSort, TCS::jXENoSort, TCS::jXESort, TCS::KalmanMETCorrection, TCS::LAr, TCS::LArSaturation, TCS::METCut, TCS::METNoSort, TCS::MetSort, TCS::METSortingAlg, TCS::MinDeltaPhiIncl2, TCS::Multiplicity, TCS::MultiplicityCustom, TCS::MuonAbbreviated, TCS::MuonNoSort, TCS::MuonSelect, TCS::MuonSort, TCS::MuonSort_1BC, TCS::NotMatch, TCS::Ratio2, TCS::Ratio, TCS::RatioMatch, TCS::RatioSum, TCS::SimpleCone, TCS::Sum, TCS::TauMatching, TCS::TeAsymmetry, TCS::TeATIME, TCS::TransverseMassInclusive1, and TCS::ZeroBias.

Definition at line 56 of file ConfigurableAlg.h.

56{ return StatusCode::SUCCESS;}

◆ 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 486 of file ConfigurableAlg.cxx.

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

◆ isocut() [2/2]

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

Definition at line 502 of file ConfigurableAlg.cxx.

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

◆ 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 86 of file TrigConfMessaging.h.

87 {
88 MsgStreamTC* ms = m_msg_tls.get();
89 if (!ms) {
90 ms = new MsgStreamTC(m_name);
91 m_msg_tls.reset(ms);
92 }
93 return *ms;
94 }
boost::thread_specific_ptr< MsgStreamTC > m_msg_tls
MsgStreamTC instance (a std::cout like with print-out levels)

◆ 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 96 of file TrigConfMessaging.h.

97 {
98 return msg() << lvl;
99 }
MsgStreamTC & msg() const
The standard message stream.

◆ 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 75 of file TrigConfMessaging.h.

76 {
77 if (msg().level() <= lvl) {
78 msg() << lvl;
79 return true;
80 }
81 else {
82 return false;
83 }
84 }

◆ 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::CountingAlg::numberOutputBits ( ) const
inline

Definition at line 40 of file CountingAlg.h.

40{ return m_numberOutputBits; }
unsigned int m_numberOutputBits
Definition CountingAlg.h:60

◆ parameter() [1/2]

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

Definition at line 245 of file ConfigurableAlg.cxx.

245 {
246 return parameters().parameter(parameterName);
247}
const Parameter & parameter(const std::string &parameterName) const

◆ parameter() [2/2]

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

Definition at line 251 of file ConfigurableAlg.cxx.

251 {
252 return parameters().parameter(parameterName, selection);
253}

◆ parameters()

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

Definition at line 87 of file ConfigurableAlg.h.

87{ return m_parameters; }

◆ process()

◆ processBitCorrect()

TCS::StatusCode TCS::CountingAlg::processBitCorrect ( const InputTOBArray & input,
Count & count )
pure virtual

Implemented in TCS::cTauMultiplicity, TCS::eEmMultiplicity, TCS::EnergyThreshold, TCS::eTauMultiplicity, TCS::gJetMultiplicity, TCS::gLJetMultiplicity, TCS::jEmMultiplicity, TCS::jJetMultiplicity, TCS::jLJetMultiplicity, TCS::jTauMultiplicity, TCS::LArSaturation, and TCS::ZeroBias.

Definition at line 18 of file CountingAlg.cxx.

20{
21 return process(input, count);
22}
const std::string process
int count(std::string s, const std::string &regx)
count how many occurances of a regx are in a string
Definition hcg.cxx:146

◆ quadraticSumBW()

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

Definition at line 162 of file ConfigurableAlg.cxx.

162 {
163 return TSU::Kinematics::quadraticSumBW(i1, i2);
164}
static unsigned long quadraticSumBW(int i1, int i2)
compute the sum in quadrature of two ints

◆ registerHist() [1/2]

void ConfigurableAlg::registerHist ( TH1 * h)
protectedinherited

Definition at line 264 of file ConfigurableAlg.cxx.

264 {
265 m_impl->registerHist(h);
266}

◆ registerHist() [2/2]

void ConfigurableAlg::registerHist ( TH2 * h)
protectedinherited

Definition at line 268 of file ConfigurableAlg.cxx.

268 {
269 m_impl->registerHist(h);
270}

◆ reset()

StatusCode TCS::ConfigurableAlg::reset ( )
inlineinherited

Definition at line 58 of file ConfigurableAlg.h.

58{ return doReset(); }
virtual StatusCode doReset()=0

◆ setAlgoId()

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

Definition at line 93 of file ConfigurableAlg.h.

93{ m_algoId = algoId; }
unsigned int algoId() const

◆ setClassName()

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

Definition at line 43 of file ConfigurableAlg.h.

const std::string & className() const

◆ setL1TopoHistSvc()

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

sets the external hist service

forwarding public interface

Definition at line 260 of file ConfigurableAlg.cxx.

260 {
261 m_impl->setL1TopoHistSvc(std::move(histSvc));
262}

◆ setLegacyMode()

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

Definition at line 45 of file ConfigurableAlg.h.

◆ setNumberOutputBits()

void TCS::CountingAlg::setNumberOutputBits ( unsigned int numberOutputBits)
inline

Definition at line 41 of file CountingAlg.h.

unsigned int numberOutputBits() const
Definition CountingAlg.h:40

◆ setParameters()

void ConfigurableAlg::setParameters ( const ParameterSpace & parameters)
inherited

Definition at line 224 of file ConfigurableAlg.cxx.

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

◆ setThreshold()

void TCS::CountingAlg::setThreshold ( const TrigConf::L1Threshold & thr)
inline

Definition at line 44 of file CountingAlg.h.

◆ ToString()

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

Definition at line 477 of file ConfigurableAlg.cxx.

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

◆ TopoSteering

friend class TopoSteering
friend

Definition at line 57 of file CountingAlg.h.

Member Data Documentation

◆ m_algoId

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

Definition at line 138 of file ConfigurableAlg.h.

138{0};

◆ 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.

135{""};

◆ m_histAccept

std::vector<std::string> TCS::CountingAlg::m_histAccept
protected

Definition at line 51 of file CountingAlg.h.

◆ 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_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 71 of file TrigConfMessaging.h.

◆ m_name

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

Definition at line 134 of file ConfigurableAlg.h.

134{""};

◆ m_numberOutputBits

unsigned int TCS::CountingAlg::m_numberOutputBits {1}
private

Definition at line 60 of file CountingAlg.h.

60{1};

◆ m_parameters

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

Definition at line 140 of file ConfigurableAlg.h.

140{""};

◆ m_threshold

TrigConf::L1Threshold const* TCS::CountingAlg::m_threshold {nullptr}
private

Definition at line 63 of file CountingAlg.h.

63{nullptr};

The documentation for this class was generated from the following files: