77 return StatusCode::SUCCESS;
94 return (clus) ?
accept(clus) :
false;
110 if(!clus)
return false;
135 std::vector<const xAOD::IParticle*>& acceptedSignals,
140 bool objsused =
false;
153 ATH_MSG_DEBUG( acceptedSignals.size() <<
" retained after overlap removal");
155 return acceptedSignals.empty();
160 std::vector<const xAOD::IParticle*>& acceptedSignals)
const
164 return resolveOverlap(dummyObject, metMap, acceptedSignals, dummyObjWeight);
172 vector<const IParticle*> signalList;
180 signalList.reserve(caloClusCont->size());
187 if(iter==metMap->
end()) {
189 return StatusCode::SUCCESS;
195 for(
const auto *iClus : *caloClusCont) {
197 if( this->
accept(iClus)) {
199 signalList.push_back(iClus);
203 ATH_MSG_DEBUG(
"Selected " << signalList.size() <<
" topoclusters for soft MET");
213 signalList.reserve(trackParCont->size());
219 if(iter==metMap->
end()) {
221 return StatusCode::SUCCESS;
227 for(
const auto *iTrk : *trackParCont) {
229 if( this->
accept(iTrk) ) {
231 signalList.push_back(iTrk);
235 ATH_MSG_DEBUG(
"Selected " << signalList.size() <<
" tracks for soft MET");
241 if( this->
resolveOverlap(metMap,signalList) )
return StatusCode::SUCCESS;
244 vector<const IParticle*> dummyList;
247 for(
const IParticle* part : signalList) this->
addToMET(part,dummyList,metTerm,metMap,unitWeight);
251 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
Base class to evaluate cluster kinematics with a different vertex / signal state.
DataModel_detail::iterator< DataVector > iterator
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual double e() const
The total energy of the particle.
Class providing the definition of the 4-vector interface.
bool checkUsage(const IParticle *pPart, MissingETBase::UsageHandler::Policy p=MissingETBase::UsageHandler::OnlyCluster) const
Check if a given object is already used in MET.
bool setStatusWord(MissingETBase::Types::bitmask_t sw=MissingETBase::Status::clearedStatus())
Set the statusword of a MET term.
void setSource(MissingETBase::Types::bitmask_t src)
Set the source of the MET object.
uint64_t bitmask_t
Type for status word bit mask.
xAOD::MissingETComponent_v1::Weight weight_t
Type for kinematic weight.
@ OnlyTrack
Track based only.
@ OnlyCluster
CaloCluster based only.
@ TrackParticle
The object is a charged track particle.
@ CaloCluster
The object is a calorimeter cluster.
MissingETComponent_v1 MissingETComponent
Version control by type definition.
MissingETComponentMap_v1 MissingETComponentMap
Version control by type definition.
MissingET_v1 MissingET
Version control by type defintion.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.
static Types::bitmask_t idTrack(Region reg=Region::FullAcceptance)
Bit pattern indicating a ID Track MET term.
static Types::bitmask_t cluster(Region reg=Region::FullAcceptance)
Bit mask for MET term from any cluster signal objects.
static Types::bitmask_t softEvent(Region reg=Region::FullAcceptance)
Standard MET term from reconstructed soft event.
static Types::bitmask_t contributedSoftTerm()
General soft term contribution tag accessor.
static MissingETComponentMap::const_iterator find(const MissingETComponentMap *pMap, const MissingET *pmetObj)
Find non-modifiable contribution for a given MET object.
Collection of functions managing the MET composition map and association map.