 |
ATLAS Offline Software
|
Go to the documentation of this file.
36 ATH_MSG_DEBUG(
"Trigger already booked, removing from trigger list " << trigName);
43 return StatusCode::SUCCESS;
54 return StatusCode::SUCCESS;
62 return StatusCode::SUCCESS;
70 ATH_MSG_DEBUG(
"Start Chain Analysis ============================= " << trigger <<
" " <<
info.trigger);
79 std::string bootstrap =
it->second;
80 ATH_MSG_DEBUG(
"Bootstrapping " << trigger <<
" from " << bootstrap );
83 if (!
tdt()->isPassed(bootstrap)){
84 ATH_MSG_DEBUG(
"Not passed BS trigger. Skipping! ========================== " << trigger);
97 return StatusCode::SUCCESS;
100 std::vector< std::pair<const xAOD::Egamma*, const TrigCompositeUtils::Decision*>> pairObjsRaw;
101 pairObjsRaw.reserve(pairObjs.size());
102 for (
const auto& itr : pairObjs) {
103 pairObjsRaw.emplace_back(itr.first.get(), itr.second);
111 ATH_MSG_DEBUG(
"End Chain Analysis ============================= " << trigger);
115 return StatusCode::SUCCESS;
133 return StatusCode::FAILURE;
135 const std::string trigItem =
info.trigger;
136 const float etthr =
info.etthr;
137 const std::string pidName =
info.pidname;
138 const std::string decorName=
"is"+pidName;
140 for(
const auto *
const eg : *offPhotons ){
142 if(!
eg->caloCluster()){
155 ATH_MSG_DEBUG(
"Fails PhotonID: "<< pidName <<
" Trigger: " << trigItem);
167 const auto ph = std::make_shared<const xAOD::Photon>(*
eg);
169 decor(*ph)=
static_cast<bool>(
true);
170 match()->match(ph.get(), trigItem, dec, TrigDefs::includeFailedDecisions);
172 pairObjs.emplace_back(ph, dec);
177 ATH_MSG_DEBUG(
"BaseToolMT::Photon TEs " << pairObjs.size() <<
" found.");
178 return StatusCode::SUCCESS;
SG::ReadDecorHandleKey< xAOD::EventInfo > m_eventInfoDecorKey
SG::ReadHandleKey< xAOD::PhotonContainer > m_offPhotonKey
Event Wise offline PhotonContainer Access and end iterator.
virtual StatusCode initialize() override
initialize
const std::map< std::string, TrigInfo > & getTrigInfoMap()
Helper methods.
Gaudi::Property< std::string > m_photonPid
Photon pid word.
The common trigger namespace for trigger analysis tools.
std::vector< std::string > m_trigList
List of triggers to study.
bool ApplyPhotonPid(const xAOD::Photon *eg, const std::string &) const
Get offline electron decision.
Gaudi::Property< bool > m_forcePidSelection
force pid selection into photon navigation
void fillDistributions(const std::vector< std::pair< const xAOD::Egamma *, const TrigCompositeUtils::Decision * > > &, const TrigInfo &) const
StatusCode executeNavigation(const EventContext &ctx, const TrigInfo &info, std::vector< std::pair< std::shared_ptr< const xAOD::Egamma >, const TrigCompositeUtils::Decision * >> &) const
navigation method called by executeNavigation
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
const ToolHandle< Trig::TrigDecisionTool > & tdt() const
Get the TDT
Gaudi::Property< bool > m_doUnconverted
doUnconverted analysis
@ LAr
The LAr calorimeter.
void fillResolutions(const std::vector< std::pair< const xAOD::Egamma *, const TrigCompositeUtils::Decision * >> &pairObjs, const TrigInfo &info) const
*****************************************************************************************************...
virtual ~TrigEgammaMonitorPhotonAlgorithm() override
bool isHLTTruncated() const
TrigInfo getTrigInfo(const std::string &) const
Get the trigger info parsed from the chain name (only single lepton triggers)
void setTrigInfo(const std::string &)
Set the trigger info parsed from the chain name.
void fillEfficiencies(const std::vector< std::pair< const xAOD::Egamma *, const TrigCompositeUtils::Decision * > > &, const TrigInfo &, const bool) const
::StatusCode StatusCode
StatusCode definition for legacy code.
Class used to describe composite objects in the HLT.
SG::ReadHandle< xAOD::EventInfo > GetEventInfo(const EventContext &) const
Return a ReadHandle for an EventInfo object (get run/event numbers, etc.)
virtual bool isValid() override final
Can the handle be successfully dereferenced?
Gaudi::Property< std::map< std::string, std::string > > m_BSTrigMap
virtual StatusCode initialize() override
initialize
TrigEgammaMonitorPhotonAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
const ToolHandle< TrigEgammaMatchingToolMT > & match() const
Get the e/g match tool.
SG::ReadDecorHandleKeyArray< xAOD::PhotonContainer > m_offPhotonIsolationKeys
Ensure offline photon isolation decoration is retrieved after being created.
bool isEventFlagBitSet(EventFlagSubDet subDet, size_t bit) const
Check one particular bit of one particular sub-detector.
Handle class for reading a decoration on an object.
Gaudi::Property< bool > m_onlyHLT
Compute only final HLT decision.
Helper class to provide constant type-safe access to aux data.
Gaudi::Property< std::vector< std::string > > m_trigInputList
List of triggers from menu.