|
ATLAS Offline Software
|
Go to the documentation of this file.
10 #include "boost/algorithm/string.hpp"
27 m_trigDecTool(
"Trig::TrigDecisionTool/TrigDecisionTool")
41 m_keys[
"Electrons"] =
"HLT_egamma_Electrons" ;
42 m_keys[
"Electrons_GSF"] =
"HLT_egamma_Electrons_GSF" ;
43 m_keys[
"Electrons_LRT"] =
"HLT_egamma_Electrons_LRT" ;
44 m_keys[
"Photons"] =
"HLT_egamma_Photons" ;
47 m_keys[
"PrecisionCalo_Electron"] =
"HLT_CaloEMClusters_Electron";
48 m_keys[
"PrecisionCalo_Photon"] =
"HLT_CaloEMClusters_Photon";
49 m_keys[
"PrecisionCalo_LRT"] =
"HLT_CaloEMClusters_LRT" ;
50 m_keys[
"PrecisionCalo_HI"] =
"HLT_HICaloEMClusters" ;
53 m_keys[
"FastElectrons"] =
"HLT_FastElectrons" ;
54 m_keys[
"FastElectrons_LRT"] =
"HLT_FastElectrons_LRT" ;
55 m_keys[
"FastPhotons"] =
"HLT_FastPhotons" ;
56 m_keys[
"FastCalo"] =
"HLT_FastCaloEMClusters" ;
58 m_keys[
"L1Calo"] =
"LVL1EmTauRoIs" ;
59 m_keys[
"L1eEM"] =
"L1_eEMRoI";
61 return StatusCode::SUCCESS;
77 if(
match(
eg, trigger, dec ) ){
80 std::string
key = this->
key(
"Electrons_GSF");
83 return ancestorPassed<xAOD::ElectronContainer>(dec, trigger,
key,
condition);
86 return ancestorPassed<xAOD::PhotonContainer>(dec, trigger,
key(
"Photons"),
condition);
134 return closestObject<xAOD::PhotonContainer>(
eg, dec, trigger,
key(
"Photons"),
m_dR,
condition );
143 return closestObject<xAOD::ElectronContainer>(
eg, dec , trigger,
key(
"Electrons"),
m_dR,
condition );
146 return closestObject<xAOD::ElectronContainer>(
eg, dec , trigger,
key(
"Electrons_LRT"),
m_dR,
condition );
149 return closestObject<xAOD::ElectronContainer>(
eg, dec , trigger,
key(
"Electrons_GSF"),
m_dR,
condition );
160 return closestObject<xAOD::CaloClusterContainer>(
eg, dec, trigger,
key(
"PrecisionCalo_LRT"),
m_dR,
condition );
163 return closestObject<xAOD::CaloClusterContainer>(
eg, dec, trigger,
key(
"PrecisionCalo_HI"),
m_dR,
condition );
166 return closestObject<xAOD::CaloClusterContainer>(
eg, dec, trigger,
key(
"PrecisionCalo_Electron"),
m_dR,
condition );
169 return closestObject<xAOD::CaloClusterContainer>(
eg, dec, trigger,
key(
"PrecisionCalo_Photon"),
m_dR,
condition );
181 return closestObject<xAOD::TrigPhotonContainer>(
eg, dec, trigger,
key(
"FastPhotons"),
m_dR,
condition );
190 return closestObject<xAOD::TrigElectronContainer>(
eg, dec, trigger,
key(
"FastElectrons_LRT"),
m_dR,
condition );
192 return closestObject<xAOD::TrigElectronContainer>(
eg, dec, trigger,
key(
"FastElectrons"),
m_dR,
condition );
201 return closestObject<xAOD::TrigEMClusterContainer>(
eg, dec, trigger,
key(
"FastCalo") ,
m_dR,
condition);
212 if( initRois.size() < 1)
return false;
213 for(
auto &initRoi: initRois ){
214 if( !initRoi.link.isValid() )
continue;
215 deltaR =
dR(
eg->eta(),
eg->phi(), (*initRoi.link)->eta(),(*initRoi.link)->phi());
229 if( !dec )
return nullptr;
230 auto initRoi = TrigCompositeUtils::findLink<TrigRoiDescriptorCollection>(dec,
"initialRoI");
231 if( !initRoi.isValid() )
return nullptr;
234 if( !l1_cont.
isValid() )
return nullptr;
236 for(
const auto *
l1 : *l1_cont ){
237 if (
l1->roiType() != xAOD::EmTauRoI::RoIType::EMRoIWord)
continue;
238 if((*initRoi.link)->roiWord()==
l1->roiWord()){
249 if( !dec )
return nullptr;
250 auto initRoi = TrigCompositeUtils::findLink<xAOD::eFexEMRoIContainer>(dec,
"initialRecRoI");
251 if( !initRoi.isValid() )
return nullptr;
252 return *(initRoi.link);
259 if( !dec )
return nullptr;
260 auto initRoi = TrigCompositeUtils::findLink<TrigRoiDescriptorCollection>(dec,
"initialRoI");
261 if( !initRoi.isValid() )
return nullptr;
265 if( !rg_cont.
isValid() )
return nullptr;
267 for(
const auto *rg : *rg_cont ){
270 if(
cl->RoIword()==(*initRoi.link)->roiWord())
def retrieve(aClass, aKey=None)
The common trigger namespace for trigger analysis tools.
Class describing a LVL1 eFEX EM region of interest.
Class describing a LVL1 em/tau region of interest.
::StatusCode StatusCode
StatusCode definition for legacy code.
bool isElectron(const xAOD::Egamma *eg)
is the object an electron (not Fwd)
bool contains(const std::string &s, const std::string ®x)
does a string contain the substring
Class used to describe composite objects in the HLT.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
bool isPhoton(const xAOD::Egamma *eg)
is the object a photon
Description of a trigger EM cluster.
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]