 |
ATLAS Offline Software
|
Go to the documentation of this file.
29 m_tdt(
"Trig::TrigDecisionTool/TrigDecisionTool"),
31 m_initialisePerRun(true),
33 m_keepAllEvents(false),
35 m_useHighestPT(false),
40 m_containTracks(false),
42 m_fiducial_radius(32),
43 m_requireDecision(false),
44 m_filter_on_roi(false)
46 msg(
MSG::INFO) <<
"TrigIDR4Mon::TrigIDR4Mon() compiled: " << __DATE__ <<
" " << __TIME__ <<
endmsg;
144 std::cout <<
"TrigIDR4Mon::name = " <<
name() << std::endl;
145 std::cout <<
"TrigIDR4Mon::SliceTag = " <<
m_sliceTag << std::endl;
147 std::cout <<
"TrigIDR4Mon::Legacy = " <<
m_legacy << std::endl;
183 std::string lastvtx =
"";
188 std::vector<std::string>
chains;
195 std::vector<ToolHandle<GenericMonitoringTool>*> monTools;
214 std::string selectChain =
chainName.raw();
222 chains.push_back( selectChain );
223 monTools.push_back( &(*toolitr) );
230 if (
chainName.head().find(
"HLT_")==std::string::npos ) {
239 std::string selectChain =
chainName.head();
245 if ( selectChain==
"" ) {
246 msg(MSG::WARNING) <<
"^[[91;1m" <<
"No chain matched\tchain input " <<
chainName.head() <<
" : " <<
chainName.tail() <<
"^[[m"<<
endmsg;
251 std::string mchain = selectChain;
259 selectChain =
chainName.subs( selectChain );
262 chains.push_back( selectChain );
263 monTools.push_back( &(*toolitr) );
278 return StatusCode::SUCCESS;
295 static std::once_flag
flag;
296 std::call_once(
flag, [&]() {
322 return StatusCode::SUCCESS;
338 return StatusCode::SUCCESS;
JetConstituentVector::iterator iterator
virtual StatusCode finalize() override
std::vector< std::string > m_ntupleChainNames
std::string m_outputFileName
int m_selectParentTruthPdgId
std::string find(const std::string &s)
return a remapped string
virtual StatusCode fillHistograms(const EventContext &context) const override
adds event to the monitoring histograms
std::string m_analysis_config
bool msgLvl(const MSG::Level lvl) const
std::string m_releaseMetaData
std::vector< std::string > m_chainNames
do we need this ??? why not the base class ???
Base class for Athena Monitoring Algorithms.
TrigIDR4Mon(const std::string &name, ISvcLocator *pSvcLocator)
::StatusCode StatusCode
StatusCode definition for legacy code.
int m_vtxIndex
if performing the vertex analysis, the index of the offline vertex to look for
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
bool m_keepAllEvents
kepp events even if they fail the requested trigger chains
double m_fiducial_radius
ntuple building variables
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_trackdummykeys
bool m_containTracks
do we want basic, or rigorous roi track containment
ToolHandle< Trig::TrigDecisionTool > m_tdt
bool m_shifter
determine whether this should be treated as a shifter chain
emacs: this is -*- c++ -*-
SG::ReadHandleKeyArray< xAOD::VertexContainer > m_vtxdummykeys
virtual StatusCode initialize() override
initialize
virtual StatusCode bookHistograms()
std::string m_sliceTag
additional string for the histogram directory
bool m_runPurity
also run purity analyses
std::vector< bool > isPassedForEach(unsigned int condition=TrigDefs::Physics) const
return vector with isPassed decision for each chain
ToolHandleArray< GenericMonitoringTool > m_monTools
std::vector< std::string > getListOfTriggers() const
virtual StatusCode initialize() override
initialize
emacs: this is -* c++ -*-
bool m_useHighestPT
use only the highest pt tracks