![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
10 #ifndef ISOLATIONALGS_ISOLATIONBUILDER_H
11 #define ISOLATIONALGS_ISOLATIONBUILDER_H 1
25 #include "GaudiKernel/ToolHandle.h"
77 "ElectronCollectionContainerName",
83 "FwdElectronCollectionContainerName",
89 "PhotonCollectionContainerName",
95 "MuonCollectionContainerName",
102 "CaloCellIsolationTool",
104 "Handle of the calo cell IsolationTool"
110 "CellCollectionName",
112 "Name of container which contain calo cells"
118 "CaloTopoIsolationTool",
120 "Handle of the calo topo IsolationTool"
126 "PFlowIsolationTool",
128 "Handle of the pflow IsolationTool"
134 "TrackIsolationTool",
136 "Handle of the track IsolationTool"
146 "use track to track assoc after brem" };
157 "The isolation types to do for electrons: vector of vector of enum type "
165 "The correction types to do for electron iso: vector of vector of enum "
166 "type Iso::IsolationCalo/TrackCorrection"
173 "The extra correction types to store but not apply for electrons"
182 "The isolation types to do for photons: vector of vector of enum type "
190 "The correction types to do for photons iso: vector of vector of enum type "
191 "Iso::IsolationCalo/TrackCorrection"
198 "The extra correction types to store but not apply for photons"
205 "The isolation types to do for Muons : vector of vector of enum type "
213 "The correction types to do for Muon iso: vector of vector of enum type "
214 "Iso::IsolationCalo/TrackCorrection"
221 "The extra correction types to store but not apply for muons"
228 "The isolation types to do for forward electron: vector of vector of enum "
229 "type Iso::IsolationType"
236 "The correction types to do for forward electron iso: vector of vector of "
237 "enum type Iso::IsolationCalo/TrackCorrection"
244 "The extra correction types to store but not apply for forward electrons"
254 void declare(IDataHandleHolder* owningAlg);
279 std::vector<std::pair<xAOD::Iso::IsolationFlavour, CaloIsoHelpKey>>
281 std::vector<std::pair<xAOD::Iso::IsolationFlavour, CaloIsoHelpKey>>
283 std::vector<std::pair<xAOD::Iso::IsolationFlavour, CaloIsoHelpKey>>
285 std::vector<std::pair<xAOD::Iso::IsolationFlavour, CaloIsoHelpKey>>
295 void declare(IDataHandleHolder* owningAlg);
316 std::vector<std::pair<xAOD::Iso::IsolationFlavour, TrackIsoHelpKey>>
318 std::vector<std::pair<xAOD::Iso::IsolationFlavour, TrackIsoHelpKey>>
320 std::vector<std::pair<xAOD::Iso::IsolationFlavour, TrackIsoHelpKey>>
328 std::vector<SG::WriteDecorHandle<xAOD::IParticleContainer, float>>
isoDeco;
333 std::vector<SG::WriteDecorHandle<xAOD::IParticleContainer, float>>>
343 std::vector<SG::WriteDecorHandle<xAOD::IParticleContainer, float>>
isoDeco;
344 std::vector<SG::WriteDecorHandle<xAOD::IParticleContainer, float>>
isoDecoV;
354 "CustomConfigurationNameEl",
356 "use a custom configuration for electron"
361 "CustomConfigurationNamePh",
363 "use a custom configuration for photon"
368 "CustomConfigurationNameFwd",
370 "use a custom configuration for forward electron"
375 "CustomConfigurationNameMu",
377 "use a custom configuration for muon"
385 std::set<xAOD::Iso::IsolationFlavour>& runIsoType,
386 std::vector<std::pair<xAOD::Iso::IsolationFlavour, CaloIsoHelpKey>>*
388 std::vector<std::pair<xAOD::Iso::IsolationFlavour, TrackIsoHelpKey>>*
390 const std::string& containerName,
391 const std::vector<std::vector<int>>& isoInts,
392 const std::vector<std::vector<int>>& corInts,
393 const std::vector<std::vector<int>>& corIntsExtra,
394 const std::string& customConfig);
399 CaloIsoHelpKey& cisoH,
400 const std::vector<std::vector<int>>& corInts,
402 const std::string&
prefix,
403 const std::string& customConfig);
409 TrackIsoHelpKey& tisoH,
410 const std::vector<std::vector<int>>& corInts,
412 const std::string&
prefix,
413 const std::string& customConfig);
416 const std::vector<std::pair<xAOD::Iso::IsolationFlavour, CaloIsoHelpKey>>&
421 const std::vector<std::pair<xAOD::Iso::IsolationFlavour, TrackIsoHelpKey>>&
425 std::vector<std::pair<xAOD::Iso::IsolationFlavour, CaloIsoHelpKey>>&
428 std::vector<std::pair<xAOD::Iso::IsolationFlavour, TrackIsoHelpKey>>&
432 #endif //> !ISOLATIONALGS_ISOLATIONBUILDER_H
Gaudi::Property< bool > m_allTrackRemoval
SG::WriteDecorHandleKeyArray< xAOD::IParticleContainer > isoDeco
The actual isolations.
Property holding a SG store/key/clid from which a ReadHandle is made.
Gaudi::Property< std::vector< std::vector< int > > > m_elisoInts
Isolation types.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
virtual StatusCode initialize() override final
virtual StatusCode execute(const EventContext &ctx) const override final
Gaudi::Property< std::string > m_customConfigFwd
Gaudi::Property< bool > m_storepileupCorrection
void declareIso(std::vector< std::pair< xAOD::Iso::IsolationFlavour, CaloIsoHelpKey >> &caloIso)
std::vector< std::pair< xAOD::Iso::IsolationFlavour, CaloIsoHelpKey > > m_phCaloIso
Gaudi::Property< std::string > m_customConfigMu
Gaudi::Property< std::vector< std::vector< int > > > m_elcorIntsExtra
CaloIsoHelpKey(IDataHandleHolder *owningAlg)
constructor
IsolationFlavour
Enumeration for different ways of calculating isolation in xAOD files.
Gaudi::Property< std::vector< std::vector< int > > > m_mucorInts
TrackIsoHelpHandles(const TrackIsoHelpKey &keys)
Gaudi::Property< std::string > m_ElectronContainerName
Containers (Is it best to make them as strings? Used by multiple handles)
std::map< xAOD::Iso::IsolationTrackCorrection, SG::WriteDecorHandleKey< xAOD::IParticleContainer > > coreCorDeco
The corrections.
std::vector< SG::WriteDecorHandle< xAOD::IParticleContainer, float > > isoDeco
Gaudi::Property< std::vector< std::vector< int > > > m_phisoInts
Isolation types (for the alg.
void declare(IDataHandleHolder *owningAlg)
only to be called after placed in the final location, to propagate dependencies
Gaudi::Property< std::string > m_MuonContainerName
std::vector< SG::WriteDecorHandle< xAOD::IParticleContainer, float > > isoDecoV
Gaudi::Property< std::string > m_FwdElectronContainerName
Gaudi::Property< bool > m_isTrigger
is the alg run at trigger level
bool const RAWDATA *ch2 const
Support class for PropertyMgr.
xAOD::TrackCorrection CorrList
to keep track of the corrections
std::vector< std::pair< xAOD::Iso::IsolationFlavour, TrackIsoHelpKey > > m_elTrackIso
An algorithm that can be simultaneously executed in multiple threads.
Gaudi::Property< std::vector< std::vector< int > > > m_fecorInts
StatusCode addCaloIsoCorrections(size_t flavor, xAOD::Iso::IsolationFlavour isoFlav, CaloIsoHelpKey &cisoH, const std::vector< std::vector< int >> &corInts, bool corrsAreExtra, const std::string &prefix, const std::string &customConfig)
called by initializeIso
std::vector< xAOD::Iso::IsolationType > isoTypes
the types of isolations to calculate
StatusCode addTrackIsoCorrections(size_t flavor, xAOD::Iso::IsolationFlavour isoFlav, TrackIsoHelpKey &tisoH, const std::vector< std::vector< int >> &corInts, bool corrsAreExtra, const std::string &prefix, const std::string &customConfig)
called by initializeIso
Gaudi::Property< std::vector< std::vector< int > > > m_phcorIntsExtra
virtual ~IsolationBuilder()
Destructor:
SG::WriteDecorHandle< xAOD::IParticleContainer, uint32_t > corrBitsetDeco
SG::WriteDecorHandleKey< xAOD::IParticleContainer > corrBitsetDeco
xAOD::CaloCorrection CorrList
to keep track of the corrections
Gaudi::Property< std::string > m_customConfigPh
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
Cell container.
StatusCode initializeIso(std::set< xAOD::Iso::IsolationFlavour > &runIsoType, std::vector< std::pair< xAOD::Iso::IsolationFlavour, CaloIsoHelpKey >> *caloIsoMap, std::vector< std::pair< xAOD::Iso::IsolationFlavour, TrackIsoHelpKey >> *trackIsoMap, const std::string &containerName, const std::vector< std::vector< int >> &isoInts, const std::vector< std::vector< int >> &corInts, const std::vector< std::vector< int >> &corIntsExtra, const std::string &customConfig)
called by algorithm initialize per object (electron, photon, forward electron, muon)
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
@ caloIso
Get sum of transvers energy of clusters around jet seed within 0.2 < dR < 0.4
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< std::vector< std::vector< int > > > m_feisoInts
SG::WriteDecorHandleKeyArray< xAOD::IParticleContainer > isoDecoV
Handle class for adding a decoration to an object.
Gaudi::Property< std::vector< std::vector< int > > > m_phcorInts
std::vector< SG::WriteDecorHandle< xAOD::IParticleContainer, float > > isoDeco
StatusCode executeTrackIso(const std::vector< std::pair< xAOD::Iso::IsolationFlavour, TrackIsoHelpKey >> &trackIsoMap) const
SG::WriteDecorHandleKey< xAOD::IParticleContainer > corrBitsetDeco
Handle class for adding a decoration to an object.
std::vector< std::pair< xAOD::Iso::IsolationFlavour, TrackIsoHelpKey > > m_muTrackIso
ToolHandle< xAOD::INeutralEFlowIsolationTool > m_pflowIsolationTool
Tool for neutral pflow isolation calculation.
TrackIsoHelpKey(IDataHandleHolder *owningAlg)
constructor
std::map< xAOD::Iso::IsolationTrackCorrection, SG::WriteDecorHandle< xAOD::IParticleContainer, float > > coreCorDeco
std::map< xAOD::Iso::IsolationCaloCorrection, std::vector< SG::WriteDecorHandle< xAOD::IParticleContainer, float > > > noncoreCorDeco
IsolationBuilder()
Default constructor:
std::vector< xAOD::Iso::IsolationType > isoTypes
the types of isolations to calculate
std::map< xAOD::Iso::IsolationCaloCorrection, SG::WriteDecorHandleKey< xAOD::IParticleContainer > > coreCorDeco
The corrections (one per flavor)
Gaudi::Property< bool > m_useBremAssoc
Gaudi::Property< std::vector< std::vector< int > > > m_muisoInts
SG::WriteDecorHandleKeyArray< xAOD::IParticleContainer > isoDeco
The actual isolations.
Gaudi::Property< std::vector< std::vector< int > > > m_fecorIntsExtra
StatusCode executeCaloIso(const std::vector< std::pair< xAOD::Iso::IsolationFlavour, CaloIsoHelpKey >> &caloIsoMap, const CaloCellContainer *cellColl) const
void declare(IDataHandleHolder *owningAlg)
only to be called after placed in the final location, to propagate dependencies
ToolHandle< xAOD::ITrackIsolationTool > m_trackIsolationTool
Tool for neutral pflow isolation calculation.
ToolHandle< xAOD::ICaloCellIsolationTool > m_cellIsolationTool
Tool for cell isolation calculation.
Gaudi::Property< std::string > m_customConfigEl
Container class for CaloCell.
std::map< xAOD::Iso::IsolationCaloCorrection, SG::WriteDecorHandleKeyArray< xAOD::IParticleContainer > > noncoreCorDeco
The corrections (one per flavor/type combination)
Gaudi::Property< std::string > m_PhotonContainerName
CaloIsoHelpHandles(const CaloIsoHelpKey &keys)
IsolationCaloCorrection
Enumeration for different ways of correcting isolation in xAOD files.
std::vector< std::pair< xAOD::Iso::IsolationFlavour, TrackIsoHelpKey > > m_phTrackIso
std::vector< std::pair< xAOD::Iso::IsolationFlavour, CaloIsoHelpKey > > m_feCaloIso
=============================================================================
static bool isCoreCor(xAOD::Iso::IsolationCaloCorrection corr)
Gaudi::Property< std::vector< std::vector< int > > > m_mucorIntsExtra
virtual StatusCode finalize() override final
std::map< xAOD::Iso::IsolationCaloCorrection, SG::WriteDecorHandle< xAOD::IParticleContainer, float > > coreCorDeco
ToolHandle< xAOD::ICaloTopoClusterIsolationTool > m_topoIsolationTool
Tool for topo isolation calculation.
SG::WriteDecorHandle< xAOD::IParticleContainer, uint32_t > corrBitsetDeco
std::vector< std::pair< xAOD::Iso::IsolationFlavour, CaloIsoHelpKey > > m_elCaloIso
std::vector< std::pair< xAOD::Iso::IsolationFlavour, CaloIsoHelpKey > > m_muCaloIso
Base class for elements of a container that can have aux data.
Gaudi::Property< std::vector< std::vector< int > > > m_elcorInts