ATLAS Offline Software
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 
22 #include "xAODJetCnv/IJetCnvTool.h"
23 
24 
27 
29 
32 
34 
39 
40 //tracking collections
43 
44 //egamma
47 
48 //CaloCluster
50 
51 //TrigPassBits
53 
54 
55 
60 namespace BStoXAODHelper{
61  class IHelper;
62 }
63 
64 class TrigBStoxAODTool : public AthAlgTool, public virtual ITrigBStoxAODTool {
65 public:
66  TrigBStoxAODTool(const std::string& type, const std::string& name, const IInterface* parent);
67  virtual ~TrigBStoxAODTool();
68  virtual StatusCode initialize();
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
ITrigT2MbtsBitsCnvTool.h
TrigBStoxAODTool::m_trackCollectionTool
ToolHandle< xAODMaker::ITrackCollectionCnvTool > m_trackCollectionTool
Definition: TrigBStoxAODTool.h:121
TrigBStoxAODTool::m_caloClusterTool
ToolHandle< xAODMaker::ICaloClusterCnvTool > m_caloClusterTool
Definition: TrigBStoxAODTool.h:129
TrigBStoxAODTool::m_trigCaloClusterTool
ToolHandle< xAODMaker::ITrigCaloClusterCnvTool > m_trigCaloClusterTool
Definition: TrigBStoxAODTool.h:101
TrigBStoxAODTool::m_efBphysTool
ToolHandle< xAODMaker::ITrigEFBphysContainerCnvTool > m_efBphysTool
Definition: TrigBStoxAODTool.h:108
TrigBStoxAODTool::initialize
virtual StatusCode initialize()
Definition: TrigBStoxAODTool.cxx:422
IPhotonCnvTool.h
TrigBStoxAODTool::m_photonTool
ToolHandle< xAODMaker::IPhotonCnvTool > m_photonTool
Definition: TrigBStoxAODTool.h:126
TrigBStoxAODTool::m_combMuonTool
ToolHandle< xAODMaker::ICombinedMuonFeatureContainerCnvTool > m_combMuonTool
Definition: TrigBStoxAODTool.h:93
ICaloClusterCnvTool.h
TrigBStoxAODTool::setTrigPassBits
StatusCode setTrigPassBits(HLT::Navigation *nav)
Definition: TrigBStoxAODTool.cxx:739
TrigBStoxAODTool::m_trigVtxCtsTool
ToolHandle< xAODMaker::ITrigVertexCountsCnvTool > m_trigVtxCtsTool
Definition: TrigBStoxAODTool.h:118
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
TrigBStoxAODTool::~TrigBStoxAODTool
virtual ~TrigBStoxAODTool()
Definition: TrigBStoxAODTool.cxx:415
skel.it
it
Definition: skel.GENtoEVGEN.py:396
TrigBStoxAODTool::TrigBStoxAODTool
TrigBStoxAODTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigBStoxAODTool.cxx:363
TrigBStoxAODTool
Definition: TrigBStoxAODTool.h:64
TrigBStoxAODTool::m_trigMuonTool
ToolHandle< ITrigMuonEFInfoToMuonCnvTool > m_trigMuonTool
Definition: TrigBStoxAODTool.h:95
ITauJetCnvTool.h
TrigBStoxAODTool::m_trigPassBitsTool
ToolHandle< xAODMaker::ITrigPassBitsCnvTool > m_trigPassBitsTool
Definition: TrigBStoxAODTool.h:132
TrigBStoxAODTool::m_newContainers
std::vector< std::string > m_newContainers
Definition: TrigBStoxAODTool.h:85
TrigBStoxAODTool::m_electronTool
ToolHandle< xAODMaker::IElectronCnvTool > m_electronTool
Definition: TrigBStoxAODTool.h:125
TrigBStoxAODTool::m_recTrackParticleContTool
ToolHandle< xAODMaker::IRecTrackParticleContainerCnvTool > m_recTrackParticleContTool
Definition: TrigBStoxAODTool.h:122
TrigBStoxAODTool::convert
StatusCode convert(HLT::Navigation *nav)
Definition: TrigBStoxAODTool.cxx:589
IIsoMuonFeatureContainerCnvTool.h
ITrigEMClusterCnvTool.h
ITrigSpacePointCountsCnvTool.h
TrigBStoxAODTool::m_clid_newLabels
std::vector< std::pair< CLID, std::string > > m_clid_newLabels
Definition: TrigBStoxAODTool.h:88
TrigBStoxAODTool::m_CLID_xAODElectronContainer
CLID m_CLID_xAODElectronContainer
Definition: TrigBStoxAODTool.h:138
TrigBStoxAODTool::m_trigMbtsBitsTool
ToolHandle< xAODMaker::ITrigT2MbtsBitsCnvTool > m_trigMbtsBitsTool
Definition: TrigBStoxAODTool.h:116
TrigBStoxAODTool::m_containersToConvert
std::vector< std::string > m_containersToConvert
Definition: TrigBStoxAODTool.h:84
ITrigBjetCnvTool.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ITrigMuonEFInfoToMuonCnvTool.h
TrigBStoxAODTool::m_emClusterTool
ToolHandle< xAODMaker::ITrigEMClusterCnvTool > m_emClusterTool
Definition: TrigBStoxAODTool.h:102
TrigBStoxAODTool::rewireNavigation
StatusCode rewireNavigation(HLT::Navigation *nav)
Definition: TrigBStoxAODTool.cxx:622
TrigBStoxAODTool::m_l2BphysTool
ToolHandle< xAODMaker::ITrigL2BphysContainerCnvTool > m_l2BphysTool
Definition: TrigBStoxAODTool.h:109
AthAlgTool.h
TrigBStoxAODTool::m_bjetTool
ToolHandle< xAODMaker::ITrigBjetCnvTool > m_bjetTool
Definition: TrigBStoxAODTool.h:105
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrigBStoxAODTool::m_clid_labels
std::vector< std::pair< CLID, std::string > > m_clid_labels
Definition: TrigBStoxAODTool.h:87
Navigation.h
HLT::Navigation
The Navigation class, organizes TriggerElements into the tree structure.
Definition: Navigation.h:100
ITrigBStoxAODTool
Definition: ITrigBStoxAODTool.h:19
ITrigPassBitsCnvTool.h
TrigBStoxAODTool::m_CLID_xAODPhotonContainer
CLID m_CLID_xAODPhotonContainer
Definition: TrigBStoxAODTool.h:137
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
ITrigVertexCountsCnvTool.h
TrigBStoxAODTool::m_trigMetTool
ToolHandle< xAODMaker::ITrigMissingETCnvTool > m_trigMetTool
Definition: TrigBStoxAODTool.h:112
ITrigMissingETCnvTool.h
TrigBStoxAODTool::m_trigSpacePtsTool
ToolHandle< xAODMaker::ITrigSpacePointCountsCnvTool > m_trigSpacePtsTool
Definition: TrigBStoxAODTool.h:115
ITrigTrackCountsCnvTool.h
TrigBStoxAODTool::m_jetCnvTool
ToolHandle< xAODMaker::IJetCnvTool > m_jetCnvTool
Definition: TrigBStoxAODTool.h:98
ITrigCaloClusterCnvTool.h
ITrigL2BphysContainerCnvTool.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
TrigBStoxAODTool::m_helpers
std::multimap< CLID, BStoXAODHelper::IHelper * > m_helpers
Definition: TrigBStoxAODTool.h:134
ITrigSerConvHelper.h
TrigBStoxAODTool::classLabel2CLIDLabel
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)
Definition: TrigBStoxAODTool.cxx:690
TrigBStoxAODTool::m_trigTrackCtsTool
ToolHandle< xAODMaker::ITrigTrackCountsCnvTool > m_trigTrackCtsTool
Definition: TrigBStoxAODTool.h:117
TrigBStoxAODTool::m_isoMuonTool
ToolHandle< xAODMaker::IIsoMuonFeatureContainerCnvTool > m_isoMuonTool
Definition: TrigBStoxAODTool.h:94
BStoXAODHelper
Tool used by TrigBSExtraction to convert to xAOD.
Definition: TrigBStoxAODTool.cxx:119
TrigBStoxAODTool::m_tauJetTool
ToolHandle< xAODMaker::ITauJetCnvTool > m_tauJetTool
Definition: TrigBStoxAODTool.h:90
ITrigEFBphysContainerCnvTool.h
IRecTrackParticleContainerCnvTool.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
IJetCnvTool.h
IElectronCnvTool.h
ITrackCollectionCnvTool.h
ITrigBStoxAODTool.h
AthAlgTool
Definition: AthAlgTool.h:26
TrigBStoxAODTool::findHelper
StatusCode findHelper(MM_CLID_IHELPER &helpers, CLID clid, std::string &label, MM_CLID_IHELPER::const_iterator &it)
Definition: TrigBStoxAODTool.cxx:861
ICombinedMuonFeatureContainerCnvTool.h
TrigBStoxAODTool::MM_CLID_IHELPER
std::multimap< CLID, BStoXAODHelper::IHelper * > MM_CLID_IHELPER
Definition: TrigBStoxAODTool.h:80