ATLAS Offline Software
Loading...
Searching...
No Matches
TrigBStoxAODTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 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
43
44//egamma
47
48//CaloCluster
50
51//TrigPassBits
53
54
55
59
60namespace BStoXAODHelper{
61 class IHelper;
62}
63
64class TrigBStoxAODTool : public AthAlgTool, public virtual ITrigBStoxAODTool {
65public:
66 TrigBStoxAODTool(const std::string& type, const std::string& name, const IInterface* parent);
67 virtual ~TrigBStoxAODTool();
68 virtual StatusCode initialize();
69 StatusCode convert(HLT::Navigation* nav);
70 StatusCode rewireNavigation(HLT::Navigation* nav);
71 StatusCode setTrigPassBits(HLT::Navigation* nav);
72
73 private:
74
75 StatusCode classLabel2CLIDLabel(const std::vector<std::string>& property,
76 const std::vector<std::string>& newProperty,
77 std::vector<std::pair<CLID,std::string> >& decoded,
78 std::vector<std::pair<CLID,std::string> >& decodedNewNames);
79
80 typedef std::multimap<CLID,BStoXAODHelper::IHelper*> MM_CLID_IHELPER;
81
82 StatusCode findHelper( MM_CLID_IHELPER& helpers, CLID clid, std::string& label, MM_CLID_IHELPER::const_iterator& it );
83
84 std::vector<std::string> m_containersToConvert;
85 std::vector<std::string> m_newContainers;
86
87 std::vector<std::pair<CLID,std::string> > m_clid_labels;
88 std::vector<std::pair<CLID,std::string> > m_clid_newLabels; //Run-2 labels are not always the same as in Run 1
89
90 ToolHandle<xAODMaker::ITauJetCnvTool> m_tauJetTool;
91
92 // xAODTrigMuonCnv
93 ToolHandle<xAODMaker::ICombinedMuonFeatureContainerCnvTool> m_combMuonTool;
94 ToolHandle<xAODMaker::IIsoMuonFeatureContainerCnvTool> m_isoMuonTool;
95 ToolHandle<ITrigMuonEFInfoToMuonCnvTool> m_trigMuonTool;
96
97 // xAODJetCnv
98 ToolHandle<xAODMaker::IJetCnvTool> m_jetCnvTool;
99
100 // xAODTrigCaloCnv
101 ToolHandle<xAODMaker::ITrigCaloClusterCnvTool> m_trigCaloClusterTool;
102 ToolHandle<xAODMaker::ITrigEMClusterCnvTool> m_emClusterTool;
103
104 // xAODBTaggingCnv
105 ToolHandle<xAODMaker::ITrigBjetCnvTool> m_bjetTool;
106
107 // xAODTrigBphysCnv
108 ToolHandle<xAODMaker::ITrigEFBphysContainerCnvTool> m_efBphysTool;
109 ToolHandle<xAODMaker::ITrigL2BphysContainerCnvTool> m_l2BphysTool;
110
111 // xAODTrigMissingETCnv
112 ToolHandle<xAODMaker::ITrigMissingETCnvTool> m_trigMetTool;
113
114 // xAODTrigMinBiasCnv
115 ToolHandle<xAODMaker::ITrigSpacePointCountsCnvTool> m_trigSpacePtsTool;
116 ToolHandle<xAODMaker::ITrigT2MbtsBitsCnvTool> m_trigMbtsBitsTool;
117 ToolHandle<xAODMaker::ITrigTrackCountsCnvTool> m_trigTrackCtsTool;
118 ToolHandle<xAODMaker::ITrigVertexCountsCnvTool> m_trigVtxCtsTool;
119
120 // xAODTrackingCnv
121 ToolHandle<xAODMaker::ITrackCollectionCnvTool> m_trackCollectionTool{this, "TrackCollectionCnvTool","xAODMaker::TrackCollectionCnvTool/TrackCollectionCnvTool","Cnv of tracks"};
122 ToolHandle<xAODMaker::IRecTrackParticleContainerCnvTool> m_recTrackParticleContTool{this, "TrackParticleContainerCnvTool","xAODMaker::RecTrackParticleContainerCnvTool/RecTrackParticleContainerCnvTool","Cnv of Rec::TrackParticles"};
123
124 // xAODEgammaCnv
125 ToolHandle<xAODMaker::IElectronCnvTool> m_electronTool;
126 ToolHandle<xAODMaker::IPhotonCnvTool> m_photonTool;
127
128 // xAODCaloEventCnv
129 ToolHandle<xAODMaker::ICaloClusterCnvTool> m_caloClusterTool;
130
131 // xAODTriggerCnv
132 ToolHandle<xAODMaker::ITrigPassBitsCnvTool> m_trigPassBitsTool;
133
134 std::multimap<CLID,BStoXAODHelper::IHelper*> m_helpers; //collection clid -> helper
135
136 // to disentangle AOD egamma electrons/photons to different xAOD types
139
140};
141
142#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
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
ToolHandle< xAODMaker::IRecTrackParticleContainerCnvTool > m_recTrackParticleContTool
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
StatusCode convert(HLT::Navigation *nav)
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.