ATLAS Offline Software
Loading...
Searching...
No Matches
HIClusterSubtraction Class Reference

Algorithm that applies background subtraction to clusters. The subtraction needs to be handled separately from the making. The unsubtracted clusters are inputs into the jet finding which in turn defines the background (HIEventShapeContainer). More...

#include <HIClusterSubtraction.h>

Inheritance diagram for HIClusterSubtraction:
Collaboration diagram for HIClusterSubtraction:

Public Member Functions

 HIClusterSubtraction (const std::string &name)
virtual StatusCode initialize ()
 Dummy implementation of the initialisation function.
virtual ~HIClusterSubtraction ()
virtual int execute () const
 Method to be called for each event.
bool doOriginCorrection (xAOD::CaloCluster *cl, const xAOD::Vertex *origin, xAOD::IParticle::FourMom_t &p4_cl) const
virtual void print () const
 Print the state of the tool.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const
virtual int inputContainerNames (std::vector< std::string > &connames)
 Method to return the list of input containers.
virtual int outputContainerNames (std::vector< std::string > &connames)
 Method to return the list of output containers.
Additional helper functions, not directly mimicking Athena
template<class T>
const T * getProperty (const std::string &name) const
 Get one of the tool's properties.
const std::string & msg_level_name () const __attribute__((deprecated))
 A deprecated function for getting the message level's name.
const std::string & getName (const void *ptr) const
 Get the name of an object that is / should be in the event store.
SG::sgkey_t getKey (const void *ptr) const
 Get the (hashed) key of an object that is in the event store.

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

SG::ReadHandleKey< xAOD::CaloClusterContainerm_inClusterKey { this, "ClusterKey", "ClusterKey", "Name of the input Cluster Container"}
 Name of input cluster container.
SG::WriteHandleKey< xAOD::CaloClusterContainerm_outClusterKey { this, "OutClusterKey", "OutClusterKey", "Name of the output Cluster Container (deep Copy)"}
 |brief New writeHandleKey to store the shallow copy used for new CaloClusterTreatment
SG::ReadHandleKey< xAOD::HIEventShapeContainerm_eventShapeKey { this, "EventShapeKey", "EventShapeKey", "Name of HIEventShapeContainer defining background"}
 Name of HIEventShapeContainer defining background.
SG::ReadHandleKey< xAOD::VertexContainerm_vertexContainer { this, "VertexContainer", "PrimaryVertices", "Vertex container for primary vertices"}
 |brief Name of Vertex Container for origin correction
ToolHandle< IHISubtractorToolm_subtractorTool { this, "Subtractor", "HIJetSubtractorToolBase", "Handle to IHISubtractorTool which does calculates subtracted kinematics" }
ToolHandle< IHIUEModulatorToolm_modulatorTool { this, "Modulator" , "HIUEModulatorTool" , "Handle to IHIModulatorTool" }
ToolHandle< IHIEventShapeMapToolm_eventShapeMapTool { this, "EventShapeMapTool", "HIEventShapeMapTool", "Handle to Event Shape Map Tool"}
ToolHandleArray< CaloClusterCollectionProcessorm_clusterCorrectionTools { this, "ClusterCorrectionTools", {}, "" }
Gaudi::Property< bool > m_setMoments { this, "SetMoments", true, "Set Moments boolean switch"}
Gaudi::Property< bool > m_updateMode { this, "UpdateOnly", false, "Update Mode boolean switch"}
Gaudi::Property< bool > m_originCorrection { this, "ApplyOriginCorrection", false, "Apply Origin Correction boolean switch"}
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Algorithm that applies background subtraction to clusters. The subtraction needs to be handled separately from the making. The unsubtracted clusters are inputs into the jet finding which in turn defines the background (HIEventShapeContainer).

Author
Aaron Angerami anger.nosp@m.ami@.nosp@m.cern..nosp@m.ch
Date
Jan, 2015

Definition at line 38 of file HIClusterSubtraction.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ HIClusterSubtraction()

HIClusterSubtraction::HIClusterSubtraction ( const std::string & name)

Definition at line 22 of file HIClusterSubtraction.cxx.

22 : asg::AsgTool(name)//,
23{
24}

◆ ~HIClusterSubtraction()

virtual HIClusterSubtraction::~HIClusterSubtraction ( )
inlinevirtual

Definition at line 45 of file HIClusterSubtraction.h.

45{};

Member Function Documentation

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ doOriginCorrection()

bool HIClusterSubtraction::doOriginCorrection ( xAOD::CaloCluster * cl,
const xAOD::Vertex * origin,
xAOD::IParticle::FourMom_t & p4_cl ) const

Definition at line 46 of file HIClusterSubtraction.cxx.

46 {
47 //made boolean to return what was "missingMoment" in HIJetConstituentSubtractionTool
48 bool missingMoment = false;
49 float mag = 0;
50 static const SG::ConstAccessor<float> HIMagAcc("HIMag");
51 if(HIMagAcc.isAvailable(*cl)) mag=HIMagAcc(*cl);
52 else
53 {
54 double cm_mag=0;
55 if(cl->retrieveMoment (xAOD::CaloCluster::CENTER_MAG, cm_mag)) mag=cm_mag;
56 }
57 if(mag!=0.)
58 {
59 float eta0=cl->eta0();
60 float phi0=cl->phi0();
61 float radius=mag/std::cosh(eta0);
63 p4_pos.SetX(radius*std::cos(phi0)-origin->x());
64 p4_pos.SetY(radius*std::sin(phi0)-origin->y());
65 p4_pos.SetZ(radius*std::sinh(eta0)-origin->z());
66
67 double deta=p4_pos.Eta()-eta0;
68 double dphi=p4_pos.Phi()-phi0;
69 //adjust in case eta/phi are flipped in case of neg E clusters
70 //this method is agnostic wrt convention
71 if(p4_cl.Eta()*eta0 <0.) deta*=-1;
72
73 double eta_prime=p4_cl.Eta()+deta;
74 double phi_prime=p4_cl.Phi()+dphi;
75 double e_subtr=p4_cl.E();
76 p4_cl.SetPtEtaPhiE(e_subtr/std::cosh(eta_prime),eta_prime,phi_prime,e_subtr);
77 }
78 else missingMoment=true;
79
80 return missingMoment;
81}
Scalar mag() const
mag method
@ CENTER_MAG
Cluster Centroid ( )
TLorentzVector FourMom_t
Definition of the 4-momentum type.
float z() const
Returns the z position.
float y() const
Returns the y position.
float x() const
Returns the x position.
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

int HIClusterSubtraction::execute ( ) const
virtual

Method to be called for each event.

Returns 0 for success.

Implements IJetExecuteTool.

Definition at line 83 of file HIClusterSubtraction.cxx.

84{
85 //const jet::cellset_t & badcells = badCellMap.cells() ;
86 //retrieve UE
87 const xAOD::HIEventShapeContainer* shape = 0;
88 SG::ReadHandle<xAOD::HIEventShapeContainer> readHandleEvtShape ( m_eventShapeKey );
89 shape = readHandleEvtShape.cptr();
90 const HIEventShapeIndex* es_index = m_eventShapeMapTool->getIndexFromShape( shape );
91 if(es_index == nullptr) ATH_MSG_FATAL("The HIEventShapeMapTool returned a null pointer. Binning scheme not coherent");
92 const xAOD::HIEventShape* eshape = nullptr;
93 CHECK(m_modulatorTool->getShape(eshape), 1);
94
95 //New implementation: make a deep copy of original HIClusters and apply subtraction to clusters in the new container
96 SG::ReadHandle<xAOD::CaloClusterContainer> readHandleClusters ( m_inClusterKey );
97 // Now a handle to write the deep Copy
98 SG::WriteHandle<xAOD::CaloClusterContainer> writeHandleDeepCopyClusters ( m_outClusterKey );
99 // Preparing keys and container to perfrom the origin correction
100 const xAOD::Vertex* primVertex=nullptr;
101 const xAOD::VertexContainer* vertices=nullptr;
102 // Boolean to flag that at least a vertex is present in the vertex container
103 bool isOriginPossible = true;
104 // Finding the primary vertex in case origin correction has to be performed
106 {
107 // ReadHandle to retrieve the vertex container
108 SG::ReadHandle<xAOD::VertexContainer> readHandleVertexContainer ( m_vertexContainer );
109 vertices = readHandleVertexContainer.get();
110 for (const auto *vertice : *vertices)
111 {
112 if(vertice->vertexType() == xAOD::VxType::PriVtx)
113 {
114 primVertex=vertice;
115 break;
116 }
117 }
118 if(!primVertex && vertices->size() > 0)
119 {
120 ATH_MSG_WARNING("No primary vertices found, using first in container");
121 primVertex=vertices->at(0);
122 }
123 if(!primVertex && vertices->size() == 0)
124 {
125 ATH_MSG_WARNING("No primary vertices found, and vertex container empty. Abortin Origin correction for this event.");
126 isOriginPossible = false;
127 }
128 }
129 bool missingMoment=false;
130
131 const auto *originalCluster = readHandleClusters.cptr();
132 // Create the new container and its auxiliary store.
135 copyClusters->setStore(copyClustersAux);
136 copyClusters->reserve (originalCluster->size());
137
138 for (const xAOD::CaloCluster* oldCluster : *originalCluster) {
140 copyClusters->push_back (newClu);
141 *newClu=*oldCluster;
142 }
143
144 for(xAOD::CaloClusterContainer::iterator itr=copyClusters->begin(); itr!=copyClusters->end(); ++itr)
145 {
146 xAOD::CaloCluster* cl= *itr;
148 //Unsubtracted state record done by the subtractor tool functions.
149 if(m_setMoments)
150 {
151 //This flag is set to false for HIJetClustersSubtractorTool and true for HIJetCellSubtractorTool,
152 // but for the second we don't do origin correction. In principle the code is structured to do the same as the
153 //else for m_setMoments=true and HIJetClustersSubtractorTool, therefore we add the code for origin correction also here
154 m_subtractorTool->subtractWithMoments(cl, shape, es_index, m_modulatorTool, eshape);
155 if(isOriginPossible && m_originCorrection)
156 {
157 missingMoment = HIClusterSubtraction::doOriginCorrection( cl, primVertex, p4 );
159 }
160 }
161 else
162 {
163 m_subtractorTool->subtract(p4,cl,shape,es_index,m_modulatorTool,eshape);
165
166 if(isOriginPossible && m_originCorrection)
167 {
168 ATH_MSG_DEBUG("Applying origin correction"
169 << std::setw(12) << "Before:"
170 << std::setw(10) << std::setprecision(3) << p4.Pt()*1e-3
171 << std::setw(10) << std::setprecision(3) << p4.Eta()
172 << std::setw(10) << std::setprecision(3) << p4.Phi()
173 << std::setw(10) << std::setprecision(3) << p4.E()*1e-3
174 << std::setw(10) << std::setprecision(3) << p4.M()*1e-3);
175
176 missingMoment = HIClusterSubtraction::doOriginCorrection( cl, primVertex, p4 );
178
179 ATH_MSG_DEBUG("Applying origin correction"
180 << std::setw(12) << "After:"
181 << std::setw(10) << std::setprecision(3) << p4.Pt()*1e-3
182 << std::setw(10) << std::setprecision(3) << p4.Eta()
183 << std::setw(10) << std::setprecision(3) << p4.Phi()
184 << std::setw(10) << std::setprecision(3) << p4.E()*1e-3
185 << std::setw(10) << std::setprecision(3) << p4.M()*1e-3);
186 }
187 }
188 }//End of iterator over CaloClusterContainer
189
190 for(const auto & clusterCorrectionTool : m_clusterCorrectionTools)
191 {
192 ATH_MSG_DEBUG(" Applying correction = " << clusterCorrectionTool->name() );
193 CHECK(clusterCorrectionTool->execute(Gaudi::Hive::currentContext(), copyClusters), 1);
194 }//End loop over correction tools
195
196 if(missingMoment) ATH_MSG_WARNING("No origin correction applied, CENTERMAG missing");
197
198 // Make sure that memory is managed safely
199 std::unique_ptr<xAOD::CaloClusterContainer> outClusters(copyClusters);
200 std::unique_ptr<xAOD::CaloClusterAuxContainer> deepAux(copyClustersAux);
201
202 if(writeHandleDeepCopyClusters.record ( std::move(outClusters), std::move(deepAux)).isFailure() ){
203 ATH_MSG_ERROR("Unable to write DeepCopy Copy containers for subtracted clusters with key: " << m_outClusterKey.key());
204 return 1;
205 }
206 return 0;
207}
#define ATH_MSG_ERROR(x)
#define ATH_MSG_FATAL(x)
#define ATH_MSG_WARNING(x)
#define ATH_MSG_DEBUG(x)
#define CHECK(...)
Evaluate an expression and check for errors.
const T * get(size_type n) const
Access an element, as an rvalue.
void reserve(size_type n)
Attempt to preallocate enough memory for a specified number of elements.
value_type push_back(value_type pElem)
Add an element to the end of the collection.
DataModel_detail::iterator< DataVector > iterator
Definition DataVector.h:842
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
Gaudi::Property< bool > m_setMoments
ToolHandle< IHIUEModulatorTool > m_modulatorTool
ToolHandle< IHISubtractorTool > m_subtractorTool
SG::WriteHandleKey< xAOD::CaloClusterContainer > m_outClusterKey
|brief New writeHandleKey to store the shallow copy used for new CaloClusterTreatment
bool doOriginCorrection(xAOD::CaloCluster *cl, const xAOD::Vertex *origin, xAOD::IParticle::FourMom_t &p4_cl) const
ToolHandleArray< CaloClusterCollectionProcessor > m_clusterCorrectionTools
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_inClusterKey
Name of input cluster container.
SG::ReadHandleKey< xAOD::HIEventShapeContainer > m_eventShapeKey
Name of HIEventShapeContainer defining background.
Gaudi::Property< bool > m_originCorrection
ToolHandle< IHIEventShapeMapTool > m_eventShapeMapTool
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexContainer
|brief Name of Vertex Container for origin correction
constexpr xAOD::CaloCluster::State subtractedClusterState()
void setClusterP4(const xAOD::CaloCluster::FourMom_t &p, xAOD::CaloCluster *cl, xAOD::CaloCluster::State s)
constexpr xAOD::CaloCluster::State subtractedOriginCorrectedClusterState()
@ PriVtx
Primary vertex.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.
HIEventShapeContainer_v2 HIEventShapeContainer
Define the latest version of the container.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.
CaloClusterAuxContainer_v2 CaloClusterAuxContainer
Define the latest version of the calorimeter cluster auxiliary container.
HIEventShape_v2 HIEventShape
Definition of the latest event info version.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ getKey()

SG::sgkey_t asg::AsgTool::getKey ( const void * ptr) const
inherited

Get the (hashed) key of an object that is in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the SG::sgkey_t key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getName
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The hashed key of the object in the store. If not found, an invalid (zero) key.

Definition at line 119 of file AsgTool.cxx.

119 {
120
121#ifdef XAOD_STANDALONE
122 // In case we use @c xAOD::TEvent, we have a direct function call
123 // for this.
124 return evtStore()->event()->getKey( ptr );
125#else
126 const SG::DataProxy* proxy = evtStore()->proxy( ptr );
127 return ( proxy == nullptr ? 0 : proxy->sgkey() );
128#endif // XAOD_STANDALONE
129 }
ServiceHandle< StoreGateSvc > & evtStore()

◆ getName()

const std::string & asg::AsgTool::getName ( const void * ptr) const
inherited

Get the name of an object that is / should be in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the std::string name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getKey
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The string name of the object in the store. If not found, an empty string.

Definition at line 106 of file AsgTool.cxx.

106 {
107
108#ifdef XAOD_STANDALONE
109 // In case we use @c xAOD::TEvent, we have a direct function call
110 // for this.
111 return evtStore()->event()->getName( ptr );
112#else
113 const SG::DataProxy* proxy = evtStore()->proxy( ptr );
114 static const std::string dummy = "";
115 return ( proxy == nullptr ? dummy : proxy->name() );
116#endif // XAOD_STANDALONE
117 }

◆ getProperty()

template<class T>
const T * asg::AsgTool::getProperty ( const std::string & name) const
inherited

Get one of the tool's properties.

◆ initialize()

StatusCode HIClusterSubtraction::initialize ( void )
virtual

Dummy implementation of the initialisation function.

It's here to allow the dual-use tools to skip defining an initialisation function. Since many are doing so...

Reimplemented from asg::AsgTool.

Definition at line 28 of file HIClusterSubtraction.cxx.

29{
30 //Keys initialization
31 ATH_CHECK( m_eventShapeKey.initialize() );
32 ATH_CHECK( m_inClusterKey.initialize() );
33 ATH_CHECK( m_outClusterKey.initialize() );
34 //Vertex container needs to be initialized only if origin correction will take place
36
37 for (const auto& tool : m_clusterCorrectionTools)
38 {
39 StatusCode sc = tool.retrieve();
40 if (sc.isFailure()) ATH_MSG_ERROR("Failed to retrieve correction tool " << tool);
41 else ATH_MSG_DEBUG("Successfully retrieved correction tool " << tool);
42 }
43 return StatusCode::SUCCESS;
44}
#define ATH_CHECK
Evaluate an expression and check for errors.
static Double_t sc
::StatusCode StatusCode
StatusCode definition for legacy code.

◆ inputContainerNames()

int IJetExecuteTool::inputContainerNames ( std::vector< std::string > & connames)
virtualinherited

Method to return the list of input containers.

The names of required input containers are appended to connames. Returns nonzero for error. Default returns 0 and adds no names.

Reimplemented in JetRecTool.

Definition at line 11 of file IJetExecuteTool.cxx.

11 {
12 return 0;
13}

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msg_level_name()

const std::string & asg::AsgTool::msg_level_name ( ) const
inherited

A deprecated function for getting the message level's name.

Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:

MSG::name( msg().level() )

This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.

Returns
The string name of the current minimum message level that's printed

Definition at line 101 of file AsgTool.cxx.

101 {
102
103 return MSG::name( msg().level() );
104 }
MsgStream & msg() const
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
Definition MsgLevel.cxx:19

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputContainerNames()

int IJetExecuteTool::outputContainerNames ( std::vector< std::string > & connames)
virtualinherited

Method to return the list of output containers.

The names of produced output containers are appended to connames. Returns nonzero for error. Default returns 0 and adds no names.

Reimplemented in JetRecTool.

Definition at line 17 of file IJetExecuteTool.cxx.

17 {
18 return 0;
19}

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ print()

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_clusterCorrectionTools

ToolHandleArray<CaloClusterCollectionProcessor> HIClusterSubtraction::m_clusterCorrectionTools { this, "ClusterCorrectionTools", {}, "" }
private

Definition at line 66 of file HIClusterSubtraction.h.

66{ this, "ClusterCorrectionTools", {}, "" };

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_eventShapeKey

SG::ReadHandleKey< xAOD::HIEventShapeContainer > HIClusterSubtraction::m_eventShapeKey { this, "EventShapeKey", "EventShapeKey", "Name of HIEventShapeContainer defining background"}
private

Name of HIEventShapeContainer defining background.

Definition at line 58 of file HIClusterSubtraction.h.

58{ this, "EventShapeKey", "EventShapeKey", "Name of HIEventShapeContainer defining background"};

◆ m_eventShapeMapTool

ToolHandle<IHIEventShapeMapTool> HIClusterSubtraction::m_eventShapeMapTool { this, "EventShapeMapTool", "HIEventShapeMapTool", "Handle to Event Shape Map Tool"}
private

Definition at line 65 of file HIClusterSubtraction.h.

65{ this, "EventShapeMapTool", "HIEventShapeMapTool", "Handle to Event Shape Map Tool"};

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_inClusterKey

SG::ReadHandleKey< xAOD::CaloClusterContainer > HIClusterSubtraction::m_inClusterKey { this, "ClusterKey", "ClusterKey", "Name of the input Cluster Container"}
private

Name of input cluster container.

Definition at line 54 of file HIClusterSubtraction.h.

54{ this, "ClusterKey", "ClusterKey", "Name of the input Cluster Container"};

◆ m_modulatorTool

ToolHandle<IHIUEModulatorTool> HIClusterSubtraction::m_modulatorTool { this, "Modulator" , "HIUEModulatorTool" , "Handle to IHIModulatorTool" }
private

Definition at line 64 of file HIClusterSubtraction.h.

64{ this, "Modulator" , "HIUEModulatorTool" , "Handle to IHIModulatorTool" };

◆ m_originCorrection

Gaudi::Property< bool > HIClusterSubtraction::m_originCorrection { this, "ApplyOriginCorrection", false, "Apply Origin Correction boolean switch"}
private

Definition at line 72 of file HIClusterSubtraction.h.

72{ this, "ApplyOriginCorrection", false, "Apply Origin Correction boolean switch"};

◆ m_outClusterKey

SG::WriteHandleKey< xAOD::CaloClusterContainer > HIClusterSubtraction::m_outClusterKey { this, "OutClusterKey", "OutClusterKey", "Name of the output Cluster Container (deep Copy)"}
private

|brief New writeHandleKey to store the shallow copy used for new CaloClusterTreatment

Definition at line 56 of file HIClusterSubtraction.h.

56{ this, "OutClusterKey", "OutClusterKey", "Name of the output Cluster Container (deep Copy)"};

◆ m_setMoments

Gaudi::Property< bool > HIClusterSubtraction::m_setMoments { this, "SetMoments", true, "Set Moments boolean switch"}
private

Definition at line 69 of file HIClusterSubtraction.h.

69{ this, "SetMoments", true, "Set Moments boolean switch"};

◆ m_subtractorTool

ToolHandle<IHISubtractorTool> HIClusterSubtraction::m_subtractorTool { this, "Subtractor", "HIJetSubtractorToolBase", "Handle to IHISubtractorTool which does calculates subtracted kinematics" }
private

Definition at line 63 of file HIClusterSubtraction.h.

63{ this, "Subtractor", "HIJetSubtractorToolBase", "Handle to IHISubtractorTool which does calculates subtracted kinematics" };

◆ m_updateMode

Gaudi::Property< bool > HIClusterSubtraction::m_updateMode { this, "UpdateOnly", false, "Update Mode boolean switch"}
private

Definition at line 70 of file HIClusterSubtraction.h.

70{ this, "UpdateOnly", false, "Update Mode boolean switch"};

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vertexContainer

SG::ReadHandleKey< xAOD::VertexContainer > HIClusterSubtraction::m_vertexContainer { this, "VertexContainer", "PrimaryVertices", "Vertex container for primary vertices"}
private

|brief Name of Vertex Container for origin correction

Definition at line 60 of file HIClusterSubtraction.h.

60{ this, "VertexContainer", "PrimaryVertices", "Vertex container for primary vertices"};

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: