|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ASSOCIATIONUTILS_OVERLAPREMOVALGENUSEALG_H
6 #define ASSOCIATIONUTILS_OVERLAPREMOVALGENUSEALG_H
44 template<
class ContainerType>
48 template<
class ContainerType>
52 template<
class ObjType>
57 const std::string&
type);
60 ToolHandle<ORUtils::IOverlapRemovalTool>
m_orTool{
this,
"OverlapRemovalTool",
""};
66 const std::string& defaultValue,
67 const std::string& descrip):
73 if (!
m_readDecorKeys.initialize().isSuccess())
return StatusCode::FAILURE;
75 return StatusCode::SUCCESS;
89 "StoreGate/TEvent key for jets"};
92 "StoreGate/TEvent key for electrons"};
95 "StoreGate/TEvent key for photons"};
98 "StoreGate/TEvent key for muons"};
101 "StoreGate/TEvent key for taus"};
104 "StoreGate/TEvent key for the vertex container"};
106 Gaudi::Property<std::string>
m_bJetLabel{
this,
"BJetLabel",
"",
"Input label for b-tagged jets"};
107 Gaudi::Property<std::string>
m_electronLabel{
this,
"ElectronLabel",
"DFCommonElectronsLHLoose",
108 "Input label for passing electrons"};
109 Gaudi::Property<std::string>
m_photonLabel{
this,
"PhotonLabel",
"DFCommonPhotonsIsEMLoose",
110 "Input label for passing photons"};
111 Gaudi::Property<std::string>
m_muonLabel{
this,
"MuonLabel",
"DFCommonMuonPassIDCuts",
112 "Input label for passing muons"};
113 Gaudi::Property<std::string>
m_tauLabel{
this,
"TauLabel",
"DFCommonTausLoose",
114 "Input label for passing taus" };
118 "Input label for the OverlapRemovalTool"};
121 "Output label for the OverlapRemovalTool"};
123 Gaudi::Property<bool>
m_defaultValue{
this,
"DefaultValue",
true,
"Default value for objects failing OR"};
124 Gaudi::Property<float>
m_ptCut{
this,
"PtCut", 20.,
"Minimum pt for consideration"};
125 Gaudi::Property<float>
m_etaCut{
this,
"EtaCut", 4.5,
"Maximum eta for consideration"};
Gaudi::Property< float > m_etaCut
Algorithm to implement basic OR procedure as a prerequisite for event cleaning.
StatusCode initialize(bool allow_empty=false)
DataKeyHandler< xAOD::JetContainer > m_jetKey
Gaudi::Property< std::string > m_muonLabel
virtual StatusCode initialize()
Initialize the algorithm.
DataKeyHandler< xAOD::PhotonContainer > m_photonKey
void declareOutput(const std::string &variable)
ToolHandle< ORUtils::IOverlapRemovalTool > m_orTool
Handle to the tool.
Gaudi::Property< float > m_ptCut
SG::WriteDecorHandleKeyArray< ContainerType > m_writeDecorKeys
const std::string & key() const
Return the StoreGate ID for the referenced object.
bool empty() const
Test if the key is blank.
Gaudi::Property< std::string > m_tauLabel
Gaudi::Property< std::string > m_selectionLabel
Label configuration --> Internal usage no data dependency needed.
DataKeyHandler< xAOD::ElectronContainer > m_electronKey
the (new) base class for EventLoop algorithms
Gaudi::Property< std::string > m_overlapLabel
Gaudi::Property< std::string > m_photonLabel
::StatusCode StatusCode
StatusCode definition for legacy code.
OverlapRemovalGenUseAlg(const std::string &name, ISvcLocator *svcLoc)
Standard algorithm constructor.
SG::ReadHandleKey< ContainerType > m_readKey
Gaudi::Property< bool > m_defaultValue
void printObjects(const xAOD::IParticleContainer &container, const std::string &type)
Print object info.
SG::ReadDecorHandleKeyArray< ContainerType > m_readDecorKeys
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
bool selectObject(const ObjType &obj)
Simple object selection.
void setDefaultDecorations(const ContainerType &container)
DataKeyHandler< xAOD::TauJetContainer > m_tauKey
DataKeyHandler(EL::AnaAlgorithm *owner, const std::string &propName, const std::string &defaultValue, const std::string &descrip)
DataKeyHandler< xAOD::MuonContainer > m_muonKey
void applySelection(const ContainerType &container)
Simple object selection.
SG::ReadHandleKey< xAOD::VertexContainer > m_vtxKey
virtual StatusCode execute()
Execute the algorithm.
void declareDependency(const std::string &variable)
Gaudi::Property< std::string > m_electronLabel
Gaudi::Property< std::string > m_bJetLabel