40 m_keys[
"Electrons"] =
"HLT_egamma_Electrons" ;
41 m_keys[
"Electrons_GSF"] =
"HLT_egamma_Electrons_GSF" ;
42 m_keys[
"Electrons_LRT"] =
"HLT_egamma_Electrons_LRT" ;
43 m_keys[
"Photons"] =
"HLT_egamma_Photons" ;
46 m_keys[
"PrecisionCalo_Electron"] =
"HLT_CaloEMClusters_Electron";
47 m_keys[
"PrecisionCalo_Photon"] =
"HLT_CaloEMClusters_Photon";
48 m_keys[
"PrecisionCalo_LRT"] =
"HLT_CaloEMClusters_LRT" ;
49 m_keys[
"PrecisionCalo_HI"] =
"HLT_HICaloEMClusters" ;
52 m_keys[
"FastElectrons"] =
"HLT_FastElectrons" ;
53 m_keys[
"FastElectrons_LRT"] =
"HLT_FastElectrons_LRT" ;
54 m_keys[
"FastPhotons"] =
"HLT_FastPhotons" ;
55 m_keys[
"FastCalo"] =
"HLT_FastCaloEMClusters" ;
57 m_keys[
"L1Calo"] =
"LVL1EmTauRoIs" ;
58 m_keys[
"L1eEM"] =
"L1_eEMRoI";
60 return StatusCode::SUCCESS;
76 if(
match( eg, trigger, dec ) ){
79 std::string
key = this->
key(
"Electrons_GSF");
80 if(trigger.contains(
"nogsf"))
key=this->
key(
"Electrons");
81 if(trigger.contains(
"lrt"))
key=this->
key(
"Electrons_LRT");
120 if(
matchL2Calo(eg,trigger,dec, condition) )
return true;
122 if(
matchL1(eg,trigger,dec, condition) )
return true;
140 if (trigger.contains(
"nogsf")){
143 }
else if(trigger.contains(
"lrt")){
157 if(trigger.contains(
"lrt")){
160 }
else if(trigger.contains(
"ion")){
188 if(trigger.contains(
"lrt")){
211 if( initRois.size() < 1)
return false;
212 for(
auto &initRoi: initRois ){
213 if( !initRoi.link.isValid() )
continue;
214 deltaR =
dR(eg->
eta(),eg->
phi(), (*initRoi.link)->eta(),(*initRoi.link)->phi());
228 if( !dec )
return nullptr;
230 if( !initRoi.isValid() )
return nullptr;
233 if( !l1_cont.
isValid() )
return nullptr;
235 for(
const auto *l1 : *l1_cont ){
237 if((*initRoi.link)->roiWord()==l1->roiWord()){
248 if( !dec )
return nullptr;
250 if( !initRoi.isValid() )
return nullptr;
251 return *(initRoi.link);
258 if( !dec )
return nullptr;
260 if( !initRoi.isValid() )
return nullptr;
264 if( !rg_cont.
isValid() )
return nullptr;
266 for(
const auto *rg : *rg_cont ){
269 if(cl->RoIword()==(*initRoi.link)->roiWord())
Scalar deltaR(const MatrixBase< Derived > &vec) const
#define ATH_CHECK
Evaluate an expression and check for errors.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
virtual double phi() const override final
The azimuthal angle ( ) of the particle.
@ EMRoIWord
This is a Run 2 EM RoI word.
xAOD::TrigComposite Decision
LinkInfo< T > findLink(const EventContext &ctx, const Decision *start, const std::string &linkName, const bool suppressMultipleLinksWarning=false)
Perform a recursive search for ElementLinks of type T and name 'linkName', starting from Decision obj...
static const unsigned int allFeaturesOfType
Run 3 "enum". Return all features along legs (still with type and container checks).
The common trigger namespace for trigger analysis tools.
bool isElectron(const xAOD::Egamma *eg)
is the object an electron (not Fwd)
bool isPhoton(const xAOD::Egamma *eg)
is the object a photon
eFexEMRoI_v1 eFexEMRoI
Define the latest version of the eFexEMRoI class.
TrigRingerRings_v2 TrigRingerRings
Define the latest version of the TrigRingerRings class.
Egamma_v1 Egamma
Definition of the current "egamma version".
TrigEMCluster_v1 TrigEMCluster
Define the latest version of the trigger EM cluster class.
Photon_v1 Photon
Definition of the current "egamma version".
Electron_v1 Electron
Definition of the current "egamma version".