ATLAS Offline Software
Loading...
Searching...
No Matches
Trig::TrigData Class Reference

#include <TrigEgammaEmulationToolMT.h>

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}
std::vector< const xAOD::Photon * > photons
std::vector< const xAOD::TrigElectron * > trig_electrons
std::vector< const xAOD::Electron * > electrons
const xAOD::EmTauRoI * l1
const xAOD::TrigPhoton * trig_photon
std::vector< const xAOD::CaloCluster * > clusters
const xAOD::TrigEMCluster * emCluster
const TrigRoiDescriptor * roi
const xAOD::TrigRingerRings * rings

◆ 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}
ToolHandleArray< IAsgElectronLikelihoodTool > egammaElectronLHTools
ToolHandleArray< IAsgElectronIsEMSelector > egammaElectronCBTools
ToolHandleArray< AsgElectronSelectorTool > egammaElectronDNNTools

◆ 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}
ToolHandleArray< IAsgPhotonIsEMSelector > egammaPhotonCBTools

◆ 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}
ToolHandleArray< Ringer::IAsgRingerSelectorTool > ringerTools
output
Definition merge.py:16

◆ 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}
bool passed(DecisionID id, const DecisionIDContainer &)
checks if required decision ID is in the set of IDs in the container

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.

68{};

◆ l1

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

Definition at line 66 of file TrigEgammaEmulationToolMT.h.

66{};

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

70{};

◆ roi

const TrigRoiDescriptor* Trig::TrigData::roi {}

Definition at line 64 of file TrigEgammaEmulationToolMT.h.

64{};

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

72{};

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