|
ATLAS Offline Software
|
Go to the documentation of this file.
12 static const float f_tolerance = 1;
16 METAssocTestAlg::METAssocTestAlg(
const std::string&
name, ISvcLocator* pSvcLocator) :
27 ATH_MSG_FATAL(
"METMapSuffix (e.g. AntiKt4EMTopo) must be set!" );
28 return StatusCode::FAILURE;
36 return StatusCode::SUCCESS;
48 return StatusCode::FAILURE;
51 for(
const auto *
const assoc : *map) {
56 ATH_MSG_VERBOSE(
" Now on MET association for jet " << assoc->refJet()->index() );
66 return StatusCode::SUCCESS;
78 for(
size_t iobj=0; iobj<assoc.
objects().
size(); ++iobj) {
79 helper.setObjSelectionFlag(&assoc,iobj,
true);
85 ATH_MSG_VERBOSE(
" Jet constituent-scale pt: " << jetconstp4.pt() <<
", E: " << jetconstp4.e() );
86 ATH_MSG_VERBOSE(
" Max constituent overlap pt: " << overlapcalvec.
cpt() <<
", E: " << overlapcalvec.
ce() );
89 ATH_MSG_VERBOSE(
" Max track overlap pt: " << overlaptrkvec.
cpt() <<
", E: " << overlaptrkvec.
ce() );
92 if(overlapcalvec.
ce()-jetconstp4.e()>f_tolerance) {
96 if(overlaptrkvec.
ce()-jettrkvec.
ce()>f_tolerance) {
101 return StatusCode::SUCCESS;
114 for(
size_t iobj=0; iobj<assoc.
objects().
size(); ++iobj) {
118 helper.resetObjSelectionFlags();
119 helper.setObjSelectionFlag(&assoc,iobj,
true);
128 if(overlapcalvec.
ce()-jetconstp4.e()>f_tolerance) {
133 if(overlaptrkvec.
ce()-jettrkvec.
ce()>f_tolerance) {
140 return StatusCode::SUCCESS;
151 for(
size_t ikey=0; ikey<assoc.
calkey().
size(); ++ikey) {
156 if(calvec.
ce()-jetconstp4.e()>f_tolerance) {
158 for(
size_t iobj=0; iobj<assoc.
objects().
size(); ++iobj) {
159 if( ((1<<iobj)&assoc.
calkey()[ikey]) == 0 ) {
171 for(
size_t ikey=0; ikey<assoc.
trkkey().
size(); ++ikey) {
176 if(trkvec.
ce()-jettrkvec.
ce()>f_tolerance) {
178 for(
size_t iobj=0; iobj<assoc.
objects().
size(); ++iobj) {
179 if( ((1<<iobj)&assoc.
trkkey()[ikey]) == 0 ) {
189 return StatusCode::SUCCESS;
195 for(
size_t ikey=0; ikey<assoc.
calkey().
size(); ++ikey) {
202 for(
size_t ikey=0; ikey<assoc.
trkkey().
size(); ++ikey) {
208 return StatusCode::SUCCESS;
ConstVec overlapCalVec(const MissingETAssociationHelper &helper) const
Retrieve total cluster-based vector to be subtracted from the jet.
MET association descriptor contains object links and corresponding parameters.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
#define ATH_MSG_VERBOSE(x)
Class providing the definition of the 4-vector interface.
Vector sum of constituents for subtractive overlap removal.
@ JetConstitScaleMomentum
::StatusCode StatusCode
StatusCode definition for legacy code.
const std::vector< MissingETBase::Types::bitmask_t > & trkkey() const
Get the vector of trk keys.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
ConstVec calVec(const IParticle *pPart) const
Get calo constituent vector for a given object.
ConstVec jetTrkVec() const
Get track constituent vector for the reference jet.
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.
ConstVec overlapTrkVec(const MissingETAssociationHelper &helper) const
Retrieve total track-based vector to be subtracted from the jet.
const std::vector< MissingETBase::Types::bitmask_t > & calkey() const
Get the vector of cal keys.
#define ATH_MSG_WARNING(x)
float cpt() const
Returns .
ConstVec trkVec(const IParticle *pPart) const
Get track constituent vector for a given object.
const Jet * refJet() const
Access reference jet.
float ce() const
Returns .
std::vector< const IParticle * > objects() const
Access contributing objects.