![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
14 #include "GaudiKernel/SystemOfUnits.h"
33 const std::string&
type,
34 const std::string&
name,
35 const IInterface*
parent ) :
37 m_trkAnaDefSvc( nullptr ) { }
56 ISvcLocator* svcLoc = Gaudi::svcLocator();
62 ATH_CHECK(
m_trigDecTool.retrieve( EnableTool{ m_trkAnaDefSvc->useTrigger() and not m_trkAnaDefSvc->useEFTrigger() } ) );
81 for(
const std::string& thisChain : configuredChains ) {
82 ATH_MSG_DEBUG(
"Booking TrkAnalysis/histograms for chain : " << thisChain );
87 std::make_unique< IDTPM::TrackAnalysisPlotsMgr >(
93 return StatusCode::SUCCESS;
112 for (
size_t ih=0 ; ih<
hists.size() ; ih++ ) {
117 std::vector< EfficiencyData > effs =
m_trkAnaPlotsMgrVec[iAna]->retrieveBookedEfficiencies();
118 for (
size_t ie=0 ;
ie<effs.size() ;
ie++ ) {
124 return StatusCode::SUCCESS;
146 "\n==========================================" );
150 if( thisTrkAnaCollections.
empty() ) {
151 ATH_MSG_DEBUG(
"Some FULL collections are empty. Skipping event." );
152 return StatusCode::SUCCESS;
163 ATH_MSG_DEBUG(
"Some collections are empty after quality selection. Skipping event." );
164 return StatusCode::SUCCESS;
180 unsigned decisionType = TrigDefs::Physics;
184 if( not
m_trigDecTool->isPassed( thisChain, decisionType ) ) {
185 ATH_MSG_DEBUG(
"Trigger chain " << thisChain <<
" is not fired. Skipping" );
193 std::vector< TrigCompositeUtils::LinkInfo< TrigRoiDescriptorCollection > > selectedRois;
194 size_t selectedRoisSize(1);
198 selectedRoisSize = selectedRois.size();
205 for(
size_t ir=0 ;
ir<selectedRoisSize ;
ir++ ) {
213 thisRoiLink.
cptr() :
nullptr;
215 std::string( **thisRoi ) :
"Full Scan";
225 thisTrkAnaCollections, thisRoiLink ) );
228 thisTrkAnaCollections.
copyFS();
233 ATH_MSG_DEBUG(
"Some collections are empty after RoI selection. Skipping event." );
240 std::string chainRoIName = thisChain;
246 chainRoIName, thisRoiStr ) );
258 return StatusCode::SUCCESS;
277 return StatusCode::SUCCESS;
291 return StatusCode::SUCCESS;
virtual bool useEFTrigger() const =0
virtual bool useOffline() const =0
uint64_t eventNumber() const
The current event's event number.
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
StatusCode fillTruthPartContainer(const SG::ReadHandleKey< xAOD::TruthParticleContainer > &handleKey)
— Setter methods —
const std::string & key() const
Return the StoreGate ID for the referenced object.
virtual const std::vector< std::string > & configuredChains() const =0
void clear(Stage stage=FULL)
Clear vectors.
virtual bool useTrigger() const =0
virtual std::string plotsFullDir(std::string chain="") const =0
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
std::string to_string(const DetectorType &type)
StatusCode initialize()
initialize
ElementConstPointer cptr() const
Return a pointer to the referenced element.
int ir
counter of the current depth
virtual bool useTruth() const =0
std::string printInfo(Stage stage=FULL) const
print Information about tracks in the collection(s)
bool empty(Stage stage=FULL)
— Utility methods —
StatusCode fillTrigTrackContainer(const SG::ReadHandleKey< xAOD::TrackParticleContainer > &handleKey)
Trigger track particles.
void copyFS()
copy content of FS vectors to InRoI vectors
StatusCode fillOfflTrackContainer(const SG::ReadHandleKey< xAOD::TrackParticleContainer > &handleKey)
Offline track particles.