ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
Trig::TrigData Class Reference

#include <TrigEgammaEmulationToolMT.h>

Collaboration diagram for Trig::TrigData:

Public Member Functions

 TrigData (const std::string &)
 
 ~TrigData ()=default
 
void clear ()
 
bool isValid () const
 
bool isPassed (const xAOD::Photon *ph, const std::string &pidname) const
 
bool isPassed (const xAOD::Electron *el, float avgmu, const std::string &pidname) const
 
bool isPassed (const xAOD::TrigRingerRings *rings, float avgmu, const std::string &pidname) const
 

Public Attributes

std::string trigger
 
std::string signature
 
const TrigRoiDescriptorroi
 
const xAOD::EmTauRoIl1
 
const xAOD::TrigEMClusteremCluster
 
const xAOD::TrigRingerRingsrings
 
const xAOD::TrigPhotontrig_photon
 
std::vector< const xAOD::CaloCluster * > clusters
 
std::vector< const xAOD::TrigElectron * > trig_electrons
 
std::vector< const xAOD::Electron * > electrons
 
std::vector< const xAOD::Photon * > photons
 
ToolHandleArray< IAsgPhotonIsEMSelectoregammaPhotonCBTools
 
ToolHandleArray< AsgElectronSelectorToolegammaElectronDNNTools
 
ToolHandleArray< IAsgElectronIsEMSelectoregammaElectronCBTools
 
ToolHandleArray< IAsgElectronLikelihoodToolegammaElectronLHTools
 
ToolHandleArray< Ringer::IAsgRingerSelectorToolringerTools
 

Detailed Description

Definition at line 40 of file TrigEgammaEmulationToolMT.h.

Constructor & Destructor Documentation

◆ TrigData()

TrigData::TrigData ( const std::string &  name)

Definition at line 261 of file TrigEgammaEmulationToolMT.cxx.

262 {
263  this->signature = "electron"; // default
264  if(boost::contains(name,"HLT_e")) this->signature = "electron";
265  else if(boost::contains(name,"HLT_g")) this->signature = "photon";
266 }

◆ ~TrigData()

Trig::TrigData::~TrigData ( )
default

Member Function Documentation

◆ clear()

void TrigData::clear ( )

Definition at line 269 of file TrigEgammaEmulationToolMT.cxx.

270 {
271  this->electrons.clear();
272  this->trig_electrons.clear();
273  this->clusters.clear();
274  this->photons.clear();
275  this->roi = nullptr;
276  this->l1 = nullptr;
277  this->emCluster = nullptr;
278  this->rings = nullptr;
279  this->trig_photon = nullptr;
280 }

◆ isPassed() [1/3]

bool TrigData::isPassed ( const xAOD::Electron el,
float  avgmu,
const std::string &  pidname 
) const

Definition at line 309 of file TrigEgammaEmulationToolMT.cxx.

310 {
311  if (pidname=="lhtight"){
312  return (bool)this->egammaElectronLHTools[0]->accept(Gaudi::Hive::currentContext(),el,avgmu );
313  }else if (pidname=="lhmedium"){
314  return (bool)this->egammaElectronLHTools[1]->accept(Gaudi::Hive::currentContext(),el,avgmu );
315  }else if (pidname=="lhloose"){
316  return (bool)this->egammaElectronLHTools[2]->accept(Gaudi::Hive::currentContext(),el,avgmu );
317  }else if (pidname=="lhvloose"){
318  return (bool)this->egammaElectronLHTools[3]->accept(Gaudi::Hive::currentContext(),el,avgmu );
319  }else if (pidname=="dnntight"){
320  return (bool)this->egammaElectronDNNTools[0]->accept(Gaudi::Hive::currentContext(),el,avgmu );
321  }else if (pidname=="dnnmedium"){
322  return (bool)this->egammaElectronDNNTools[1]->accept(Gaudi::Hive::currentContext(),el,avgmu );
323  }else if (pidname=="dnnloose"){
324  return (bool)this->egammaElectronDNNTools[2]->accept(Gaudi::Hive::currentContext(),el,avgmu );
325  }else if (pidname=="dnnvloose"){
326  return (bool)this->egammaElectronDNNTools[3]->accept(Gaudi::Hive::currentContext(),el,avgmu );
327  }else if (pidname=="tight"){
328  return (bool)this->egammaElectronCBTools[0]->accept(Gaudi::Hive::currentContext(),el );
329  }else if (pidname=="medium"){
330  return (bool)this->egammaElectronCBTools[1]->accept(Gaudi::Hive::currentContext(),el );
331  }else if (pidname=="loose"){
332  return (bool)this->egammaElectronCBTools[2]->accept(Gaudi::Hive::currentContext(),el );
333  }else{
334  return true;
335  }
336 }

◆ isPassed() [2/3]

bool TrigData::isPassed ( const xAOD::Photon ph,
const std::string &  pidname 
) const

Definition at line 296 of file TrigEgammaEmulationToolMT.cxx.

297 {
298  if (pidname=="tight"){
299  return (bool)this->egammaPhotonCBTools[0]->accept(ph);
300  }else if (pidname=="medium"){
301  return (bool)this->egammaPhotonCBTools[1]->accept(ph);
302  }else if (pidname=="loose"){
303  return (bool)this->egammaPhotonCBTools[2]->accept(ph);
304  }else{
305  return true;
306  }
307 }

◆ isPassed() [3/3]

bool TrigData::isPassed ( const xAOD::TrigRingerRings rings,
float  avgmu,
const std::string &  pidname 
) const

Definition at line 339 of file TrigEgammaEmulationToolMT.cxx.

340 {
341  if (pidname=="tight"){
342  float output = this->ringerTools[0]->predict(cl);
343  return (bool)this->ringerTools[0]->accept(cl, output, avgmu);
344  }else if (pidname=="medium"){
345  float output = this->ringerTools[1]->predict(cl);
346  return (bool)this->ringerTools[1]->accept(cl, output, avgmu);
347  }else if (pidname=="loose"){
348  float output = this->ringerTools[2]->predict(cl);
349  return (bool)this->ringerTools[2]->accept(cl, output, avgmu);
350  }else if (pidname=="vloose"){
351  float output = this->ringerTools[3]->predict(cl);
352  return (bool)this->ringerTools[3]->accept(cl, output, avgmu);
353  }else{
354  return true;
355  }
356 }

◆ isValid()

bool TrigData::isValid ( ) const

Definition at line 283 of file TrigEgammaEmulationToolMT.cxx.

284 {
285  bool passed = (this->roi && this->l1 && this->emCluster && this->rings);
286  if (this->signature == "photon"){
287  return (this->trig_photon && !this->photons.empty() && passed);
288  }else if (this->signature == "electron"){
289  return (!this->trig_electrons.empty() && !this->electrons.empty() && passed);
290  }else{
291  return false;
292  }
293 }

Member Data Documentation

◆ clusters

std::vector<const xAOD::CaloCluster*> Trig::TrigData::clusters

Definition at line 74 of file TrigEgammaEmulationToolMT.h.

◆ egammaElectronCBTools

ToolHandleArray<IAsgElectronIsEMSelector> Trig::TrigData::egammaElectronCBTools

Definition at line 87 of file TrigEgammaEmulationToolMT.h.

◆ egammaElectronDNNTools

ToolHandleArray<AsgElectronSelectorTool> Trig::TrigData::egammaElectronDNNTools

Definition at line 86 of file TrigEgammaEmulationToolMT.h.

◆ egammaElectronLHTools

ToolHandleArray<IAsgElectronLikelihoodTool> Trig::TrigData::egammaElectronLHTools

Definition at line 88 of file TrigEgammaEmulationToolMT.h.

◆ egammaPhotonCBTools

ToolHandleArray< IAsgPhotonIsEMSelector > Trig::TrigData::egammaPhotonCBTools

Definition at line 84 of file TrigEgammaEmulationToolMT.h.

◆ electrons

std::vector<const xAOD::Electron*> Trig::TrigData::electrons

Definition at line 78 of file TrigEgammaEmulationToolMT.h.

◆ emCluster

const xAOD::TrigEMCluster* Trig::TrigData::emCluster

Definition at line 68 of file TrigEgammaEmulationToolMT.h.

◆ l1

const xAOD::EmTauRoI* Trig::TrigData::l1

Definition at line 66 of file TrigEgammaEmulationToolMT.h.

◆ photons

std::vector<const xAOD::Photon*> Trig::TrigData::photons

Definition at line 80 of file TrigEgammaEmulationToolMT.h.

◆ ringerTools

ToolHandleArray<Ringer::IAsgRingerSelectorTool> Trig::TrigData::ringerTools

Definition at line 90 of file TrigEgammaEmulationToolMT.h.

◆ rings

const xAOD::TrigRingerRings* Trig::TrigData::rings

Definition at line 70 of file TrigEgammaEmulationToolMT.h.

◆ roi

const TrigRoiDescriptor* Trig::TrigData::roi

Definition at line 64 of file TrigEgammaEmulationToolMT.h.

◆ signature

std::string Trig::TrigData::signature

Definition at line 61 of file TrigEgammaEmulationToolMT.h.

◆ trig_electrons

std::vector<const xAOD::TrigElectron*> Trig::TrigData::trig_electrons

Definition at line 76 of file TrigEgammaEmulationToolMT.h.

◆ trig_photon

const xAOD::TrigPhoton* Trig::TrigData::trig_photon

Definition at line 72 of file TrigEgammaEmulationToolMT.h.

◆ trigger

std::string Trig::TrigData::trigger

Definition at line 59 of file TrigEgammaEmulationToolMT.h.


The documentation for this class was generated from the following files:
Trig::TrigData::photons
std::vector< const xAOD::Photon * > photons
Definition: TrigEgammaEmulationToolMT.h:80
TrigCompositeUtils::passed
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
Definition: TrigCompositeUtilsRoot.cxx:117
Trig::TrigData::egammaElectronCBTools
ToolHandleArray< IAsgElectronIsEMSelector > egammaElectronCBTools
Definition: TrigEgammaEmulationToolMT.h:87
Trig::TrigData::egammaPhotonCBTools
ToolHandleArray< IAsgPhotonIsEMSelector > egammaPhotonCBTools
Definition: TrigEgammaEmulationToolMT.h:84
Trig::TrigData::trig_electrons
std::vector< const xAOD::TrigElectron * > trig_electrons
Definition: TrigEgammaEmulationToolMT.h:76
Trig::TrigData::signature
std::string signature
Definition: TrigEgammaEmulationToolMT.h:61
Trig::TrigData::ringerTools
ToolHandleArray< Ringer::IAsgRingerSelectorTool > ringerTools
Definition: TrigEgammaEmulationToolMT.h:90
contains
bool contains(const std::string &s, const std::string &regx)
does a string contain the substring
Definition: hcg.cxx:111
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
Trig::TrigData::electrons
std::vector< const xAOD::Electron * > electrons
Definition: TrigEgammaEmulationToolMT.h:78
Trig::TrigData::egammaElectronLHTools
ToolHandleArray< IAsgElectronLikelihoodTool > egammaElectronLHTools
Definition: TrigEgammaEmulationToolMT.h:88
merge.output
output
Definition: merge.py:17
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
Trig::TrigData::emCluster
const xAOD::TrigEMCluster * emCluster
Definition: TrigEgammaEmulationToolMT.h:68
Trig::TrigData::clusters
std::vector< const xAOD::CaloCluster * > clusters
Definition: TrigEgammaEmulationToolMT.h:74
Trig::TrigData::rings
const xAOD::TrigRingerRings * rings
Definition: TrigEgammaEmulationToolMT.h:70
Trig::TrigData::egammaElectronDNNTools
ToolHandleArray< AsgElectronSelectorTool > egammaElectronDNNTools
Definition: TrigEgammaEmulationToolMT.h:86
Trig::TrigData::roi
const TrigRoiDescriptor * roi
Definition: TrigEgammaEmulationToolMT.h:64
Trig::TrigData::l1
const xAOD::EmTauRoI * l1
Definition: TrigEgammaEmulationToolMT.h:66
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26
Trig::TrigData::trig_photon
const xAOD::TrigPhoton * trig_photon
Definition: TrigEgammaEmulationToolMT.h:72