ATLAS Offline Software
Loading...
Searching...
No Matches
TrigBStoxAODTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGBSEXTRACTION_TRIGBSTOXAODTOOL_H
6#define TRIGBSEXTRACTION_TRIGBSTOXAODTOOL_H
10#include "GaudiKernel/ToolHandle.h"
12
13
14// conversion tool includes
15
17
21
23
24
27
29
32
34
39
40//tracking collections
42
43//egamma
46
47//CaloCluster
49
50//TrigPassBits
52
53
54
58
59namespace BStoXAODHelper{
60 class IHelper;
61}
62
63class TrigBStoxAODTool : public AthAlgTool, public virtual ITrigBStoxAODTool {
64public:
65 TrigBStoxAODTool(const std::string& type, const std::string& name, const IInterface* parent);
66 virtual ~TrigBStoxAODTool();
67 virtual StatusCode initialize();
68 StatusCode convert(const EventContext& ctx, HLT::Navigation* nav);
69 StatusCode rewireNavigation(HLT::Navigation* nav);
70 StatusCode setTrigPassBits(HLT::Navigation* nav);
71
72 private:
73
74 StatusCode classLabel2CLIDLabel(const std::vector<std::string>& property,
75 const std::vector<std::string>& newProperty,
76 std::vector<std::pair<CLID,std::string> >& decoded,
77 std::vector<std::pair<CLID,std::string> >& decodedNewNames);
78
79 typedef std::multimap<CLID,BStoXAODHelper::IHelper*> MM_CLID_IHELPER;
80
81 StatusCode findHelper( MM_CLID_IHELPER& helpers, CLID clid, std::string& label, MM_CLID_IHELPER::const_iterator& it );
82
83 std::vector<std::string> m_containersToConvert;
84 std::vector<std::string> m_newContainers;
85
86 std::vector<std::pair<CLID,std::string> > m_clid_labels;
87 std::vector<std::pair<CLID,std::string> > m_clid_newLabels; //Run-2 labels are not always the same as in Run 1
88
89 ToolHandle<xAODMaker::ITauJetCnvTool> m_tauJetTool;
90
91 // xAODTrigMuonCnv
92 ToolHandle<xAODMaker::ICombinedMuonFeatureContainerCnvTool> m_combMuonTool;
93 ToolHandle<xAODMaker::IIsoMuonFeatureContainerCnvTool> m_isoMuonTool;
94 ToolHandle<ITrigMuonEFInfoToMuonCnvTool> m_trigMuonTool;
95
96 // xAODJetCnv
97 ToolHandle<xAODMaker::IJetCnvTool> m_jetCnvTool;
98
99 // xAODTrigCaloCnv
100 ToolHandle<xAODMaker::ITrigCaloClusterCnvTool> m_trigCaloClusterTool;
101 ToolHandle<xAODMaker::ITrigEMClusterCnvTool> m_emClusterTool;
102
103 // xAODBTaggingCnv
104 ToolHandle<xAODMaker::ITrigBjetCnvTool> m_bjetTool;
105
106 // xAODTrigBphysCnv
107 ToolHandle<xAODMaker::ITrigEFBphysContainerCnvTool> m_efBphysTool;
108 ToolHandle<xAODMaker::ITrigL2BphysContainerCnvTool> m_l2BphysTool;
109
110 // xAODTrigMissingETCnv
111 ToolHandle<xAODMaker::ITrigMissingETCnvTool> m_trigMetTool;
112
113 // xAODTrigMinBiasCnv
114 ToolHandle<xAODMaker::ITrigSpacePointCountsCnvTool> m_trigSpacePtsTool;
115 ToolHandle<xAODMaker::ITrigT2MbtsBitsCnvTool> m_trigMbtsBitsTool;
116 ToolHandle<xAODMaker::ITrigTrackCountsCnvTool> m_trigTrackCtsTool;
117 ToolHandle<xAODMaker::ITrigVertexCountsCnvTool> m_trigVtxCtsTool;
118
119 // xAODTrackingCnv
120 ToolHandle<xAODMaker::ITrackCollectionCnvTool> m_trackCollectionTool{this, "TrackCollectionCnvTool","xAODMaker::TrackCollectionCnvTool/TrackCollectionCnvTool","Cnv of tracks"};
121
122 // xAODEgammaCnv
123 ToolHandle<xAODMaker::IElectronCnvTool> m_electronTool;
124 ToolHandle<xAODMaker::IPhotonCnvTool> m_photonTool;
125
126 // xAODCaloEventCnv
127 ToolHandle<xAODMaker::ICaloClusterCnvTool> m_caloClusterTool;
128
129 // xAODTriggerCnv
130 ToolHandle<xAODMaker::ITrigPassBitsCnvTool> m_trigPassBitsTool;
131
132 std::multimap<CLID,BStoXAODHelper::IHelper*> m_helpers; //collection clid -> helper
133
134 // to disentangle AOD egamma electrons/photons to different xAOD types
137
138};
139
140#endif // TRIGBSEXTRACTION_TRIGBSTOXAODTOOL_H
uint32_t CLID
The Class ID type.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
The Navigation class, organizes TriggerElements into the tree structure.
Definition Navigation.h:100
Interface of Tool used by TrigBSExtraction to convert to xAOD.
std::multimap< CLID, BStoXAODHelper::IHelper * > MM_CLID_IHELPER
StatusCode setTrigPassBits(HLT::Navigation *nav)
std::vector< std::pair< CLID, std::string > > m_clid_newLabels
StatusCode findHelper(MM_CLID_IHELPER &helpers, CLID clid, std::string &label, MM_CLID_IHELPER::const_iterator &it)
ToolHandle< xAODMaker::ITrigBjetCnvTool > m_bjetTool
std::vector< std::pair< CLID, std::string > > m_clid_labels
virtual StatusCode initialize()
ToolHandle< xAODMaker::IIsoMuonFeatureContainerCnvTool > m_isoMuonTool
ToolHandle< xAODMaker::ITrigEFBphysContainerCnvTool > m_efBphysTool
ToolHandle< xAODMaker::IElectronCnvTool > m_electronTool
ToolHandle< xAODMaker::ITrigL2BphysContainerCnvTool > m_l2BphysTool
ToolHandle< xAODMaker::ITrigT2MbtsBitsCnvTool > m_trigMbtsBitsTool
ToolHandle< ITrigMuonEFInfoToMuonCnvTool > m_trigMuonTool
ToolHandle< xAODMaker::ITrigCaloClusterCnvTool > m_trigCaloClusterTool
ToolHandle< xAODMaker::ITrigSpacePointCountsCnvTool > m_trigSpacePtsTool
StatusCode classLabel2CLIDLabel(const std::vector< std::string > &property, const std::vector< std::string > &newProperty, std::vector< std::pair< CLID, std::string > > &decoded, std::vector< std::pair< CLID, std::string > > &decodedNewNames)
std::vector< std::string > m_newContainers
ToolHandle< xAODMaker::ICombinedMuonFeatureContainerCnvTool > m_combMuonTool
ToolHandle< xAODMaker::ITrigTrackCountsCnvTool > m_trigTrackCtsTool
ToolHandle< xAODMaker::ITrackCollectionCnvTool > m_trackCollectionTool
StatusCode rewireNavigation(HLT::Navigation *nav)
ToolHandle< xAODMaker::IJetCnvTool > m_jetCnvTool
ToolHandle< xAODMaker::ITrigMissingETCnvTool > m_trigMetTool
ToolHandle< xAODMaker::ITrigEMClusterCnvTool > m_emClusterTool
ToolHandle< xAODMaker::IPhotonCnvTool > m_photonTool
StatusCode convert(const EventContext &ctx, HLT::Navigation *nav)
ToolHandle< xAODMaker::ICaloClusterCnvTool > m_caloClusterTool
ToolHandle< xAODMaker::ITrigPassBitsCnvTool > m_trigPassBitsTool
TrigBStoxAODTool(const std::string &type, const std::string &name, const IInterface *parent)
std::multimap< CLID, BStoXAODHelper::IHelper * > m_helpers
ToolHandle< xAODMaker::ITrigVertexCountsCnvTool > m_trigVtxCtsTool
std::vector< std::string > m_containersToConvert
ToolHandle< xAODMaker::ITauJetCnvTool > m_tauJetTool
std::string label(const std::string &format, int i)
Definition label.h:19
Tool used by TrigBSExtraction to convert to xAOD.