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 262 of file TrigEgammaEmulationToolMT.cxx.

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

◆ ~TrigData()

Trig::TrigData::~TrigData ( )
default

Member Function Documentation

◆ clear()

void TrigData::clear ( )

Definition at line 270 of file TrigEgammaEmulationToolMT.cxx.

271{
272 this->electrons.clear();
273 this->trig_electrons.clear();
274 this->clusters.clear();
275 this->photons.clear();
276 this->roi = nullptr;
277 this->l1 = nullptr;
278 this->emCluster = nullptr;
279 this->rings = nullptr;
280 this->trig_photon = nullptr;
281}
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 310 of file TrigEgammaEmulationToolMT.cxx.

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

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

◆ isPassed() [3/3]

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

Definition at line 340 of file TrigEgammaEmulationToolMT.cxx.

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

◆ isValid()

bool TrigData::isValid ( ) const

Definition at line 284 of file TrigEgammaEmulationToolMT.cxx.

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