|
ATLAS Offline Software
|
#include <METRebuilder.h>
|
| METRebuilder (const std::string &name) |
| Constructor with parameters: More...
|
|
virtual | ~METRebuilder ()=default |
| Destructor: More...
|
|
virtual StatusCode | initialize () override |
| Dummy implementation of the initialisation function. More...
|
|
virtual StatusCode | execute () override |
|
virtual StatusCode | copyMET (const std::string &metKey, xAOD::MissingETContainer *metCont, const xAOD::MissingETComponentMap *metMap) override |
|
virtual StatusCode | rebuildMET (const std::string &metKey, xAOD::MissingETContainer *metCont, const xAOD::IParticleContainer *collection, const xAOD::MissingETComponentMap *metMap, bool doTracks=true) override |
|
virtual StatusCode | rebuildMET (xAOD::MissingET *met, const xAOD::IParticleContainer *collection, const xAOD::MissingETComponent *component, bool doTracks=true) override |
|
virtual StatusCode | rebuildJetMET (const std::string &jetKey, const std::string &softKey, xAOD::MissingETContainer *metCont, const xAOD::JetContainer *jets, const xAOD::MissingETComponentMap *metMap, bool doTracks=true) override |
|
virtual StatusCode | rebuildJetMET (const std::string &jetKey, const std::string &softKey, xAOD::MissingETContainer *metCont, const xAOD::JetContainer *jets, const xAOD::MissingETComponentMap *metMap, bool doTracks, bool doJvfCut, bool pureTrkSoft, const std::string &softJetScale) override |
|
virtual StatusCode | rebuildJetMET (const std::string &jetKey, const std::string &softKey, xAOD::MissingETContainer *metCont, const xAOD::JetContainer *jets, const xAOD::MissingETComponentMap *metMap, bool doTracks, bool doJvfCut, bool pureTrkSoft, const std::string &softJetScale, float &stvf) override |
|
virtual StatusCode | rebuildJetMET (xAOD::MissingET *metJet, xAOD::MissingET *metSoft, const xAOD::JetContainer *jets, const xAOD::MissingETComponent *component, bool doTracks, bool doJvfCut, bool pureTrkSoft, const std::string &softJetScale, float &stvf, const xAOD::MissingETComponent *comp_softtrk=0) override |
|
virtual void | print () const |
| Print the state of the tool. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
SG::ReadHandleKey< xAOD::MissingETComponentMap > | m_METMapKey {this, "InputMap", "METMap_RefFinal", ""} |
|
SG::ReadHandleKey< xAOD::ElectronContainer > | m_ElectronContainerKey {this, "EleColl", "ElectronCollection", ""} |
|
SG::ReadHandleKey< xAOD::PhotonContainer > | m_PhotonContainerKey {this, "GammaColl", "PhotonCollection", ""} |
|
SG::ReadHandleKey< xAOD::TauJetContainer > | m_TauJetContainerKey {this, "TauColl", "TauRecContainer", ""} |
|
SG::ReadHandleKey< xAOD::MuonContainer > | m_MuonContainerKey {this, "MuonColl", "Muons", ""} |
|
SG::ReadHandleKey< xAOD::JetContainer > | m_JetContainerKey {this, "JetColl", "AntiKt4LCTopoJets", ""} |
|
SG::ReadHandleKey< xAOD::VertexContainer > | m_PVKey {this, "VertexColl", "PrimaryVertices", ""} |
|
SG::WriteHandleKey< xAOD::MissingETContainer > | m_OutMETKey {this, "OutputContainer", "MET_MyRefFinal", ""} |
|
Gaudi::Property< std::string > | m_eleTerm {this, "EleTerm", "RefEle", ""} |
|
Gaudi::Property< std::string > | m_gammaTerm {this, "GammaTerm", "RefGamma", ""} |
|
Gaudi::Property< std::string > | m_tauTerm {this, "TauTerm", "RefTau", ""} |
|
Gaudi::Property< std::string > | m_jetTerm {this, "JetTerm", "RefJet", ""} |
|
Gaudi::Property< std::string > | m_muonTerm {this, "MuonTerm", "Muons", ""} |
|
Gaudi::Property< std::string > | m_softTerm {this, "SoftTerm", "", ""} |
|
Gaudi::Property< std::string > | m_softTermType {this, "SoftTermType", "TrackSoftTerm", ""} |
|
Gaudi::Property< std::string > | m_outMETTerm {this, "OutputTotal", "Final", ""} |
|
bool | m_doEle {} |
|
bool | m_doGamma {} |
|
bool | m_doTau {} |
|
bool | m_doMuon {} |
|
bool | m_rebuildEle {} |
|
bool | m_rebuildGamma {} |
|
bool | m_rebuildTau {} |
|
bool | m_rebuildMuon {} |
|
Gaudi::Property< double > | m_jetPtCut {this, "CalibJetPtCut", 20e3, ""} |
|
Gaudi::Property< bool > | m_jetDoJvf {this, "DoJetJVFCut", true, ""} |
|
Gaudi::Property< double > | m_jetJvfCut {this, "CalibJetJvfCut", 0.25, ""} |
|
Gaudi::Property< std::string > | m_softJetScale {this, "SoftJetScale", "", ""} |
|
bool | m_doTracks {true} |
|
bool | m_pureTrkSoft {true} |
|
Gaudi::Property< bool > | m_doSTVF {this, "ComputeSTVF", false, ""} |
|
SG::AuxElement::Decorator< char > | m_trkUsedDec {"usedByMET"} |
|
Gaudi::Property< bool > | m_trk_doPVsel {this, "DoTrackPVSel", true, ""} |
|
ToolHandle< InDet::IInDetTrackSelectionTool > | m_trkseltool |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Definition at line 56 of file METRebuilder.h.
◆ StoreGateSvc_t
◆ METRebuilder() [1/2]
met::METRebuilder::METRebuilder |
( |
const std::string & |
name | ) |
|
◆ ~METRebuilder()
virtual met::METRebuilder::~METRebuilder |
( |
| ) |
|
|
virtualdefault |
◆ METRebuilder() [2/2]
met::METRebuilder::METRebuilder |
( |
| ) |
|
|
private |
◆ acceptTrack()
◆ associateTracks()
Definition at line 629 of file METRebuilder.cxx.
633 for(
size_t iTrk=0; iTrk<
el->nTrackParticles(); ++iTrk) {
640 for(
size_t iVtx=0; iVtx<ph->
nVertices(); ++iVtx) {
672 for(
const auto& trklink : trackLinks) {
679 if(
mu->inDetTrackParticleLink().isValid()) {
◆ copyMET()
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode met::METRebuilder::execute |
( |
| ) |
|
|
overridevirtual |
Implements IMETRebuilder.
Definition at line 191 of file METRebuilder.cxx.
196 if (!METMap.isValid()) {
197 ATH_MSG_WARNING(
"Unable to retrieve MissingETComponentMap: " << METMap.key());
198 return StatusCode::SUCCESS;
203 std::unique_ptr<MissingETContainer> outCont = std::make_unique<xAOD::MissingETContainer>();
204 std::unique_ptr<MissingETAuxContainer> metAuxCont = std::make_unique<xAOD::MissingETAuxContainer>();
205 ATH_CHECK( OutMET.record(std::move(outCont),std::move(metAuxCont) ) );
210 if (!Electrons.isValid()) {
211 ATH_MSG_WARNING(
"Unable to retrieve ElectronContainer: " << Electrons.key());
212 return StatusCode::SUCCESS;
223 if (!
Gamma.isValid()) {
225 return StatusCode::FAILURE;
236 if (!TauJets.isValid()) {
237 ATH_MSG_WARNING(
"Unable to retrieve TauJetContainer: " << TauJets.key());
238 return StatusCode::FAILURE;
252 if (!
Muons.isValid()) {
254 return StatusCode::FAILURE;
266 if (!
Jets.isValid()) {
268 return StatusCode::FAILURE;
273 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
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()
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
-
ptr | The 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.
121 #ifdef XAOD_STANDALONE
127 return (
proxy ==
nullptr ? 0 :
proxy->sgkey() );
128 #endif // XAOD_STANDALONE
◆ 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
-
ptr | The 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.
108 #ifdef XAOD_STANDALONE
114 static const std::string
dummy =
"";
116 #endif // XAOD_STANDALONE
◆ getProperty()
template<class T >
const T* asg::AsgTool::getProperty |
( |
const std::string & |
name | ) |
const |
|
inherited |
Get one of the tool's properties.
◆ initialize()
StatusCode met::METRebuilder::initialize |
( |
| ) |
|
|
overridevirtual |
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 76 of file METRebuilder.cxx.
81 ATH_MSG_FATAL(
"Input MissingETComponentMap name must be provided.");
82 return StatusCode::FAILURE;
87 ATH_MSG_FATAL(
"Output MissingETContainer name must be provided.");
88 return StatusCode::FAILURE;
92 ATH_MSG_INFO (
"Configured to rebuild following MET Terms:");
129 ATH_MSG_FATAL(
"Error in configuration -- jet input and term keys must both be specified.");
130 return StatusCode::FAILURE;
158 ATH_CHECK( trkSelTool->setProperty(
"maxZ0SinTheta",1.5) );
159 ATH_CHECK( trkSelTool->setProperty(
"maxD0overSigmaD0",3.) );
160 ATH_CHECK( trkSelTool->setProperty(
"CutLevel",
"TightPrimary") );
162 m_trkseltool = ToolHandle<InDet::IInDetTrackSelectionTool>(trkSelTool);
165 std::string toolName =
"IDTrkSel_METUtil";
166 ATH_MSG_INFO(
"METRebuilder: Autoconfiguring " << toolName);
167 m_trkseltool.setTypeAndName(
"InDet::InDetTrackSelectionTool/"+toolName);
168 std::string fullToolName =
"ToolSvc."+toolName;
169 josvc->set(fullToolName +
".maxZ0SinTheta", Gaudi::Utils::toString<float>(1.5));
170 josvc->set(fullToolName +
".maxD0overSigmaD0",Gaudi::Utils::toString<float>(1.5));
171 josvc->set(fullToolName +
".CutLevel",
"TightPrimary");
188 return StatusCode::SUCCESS;
◆ inputHandles()
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() [1/2]
◆ msg() [2/2]
◆ 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.
◆ msgLvl()
◆ outputHandles()
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()
void asg::AsgTool::print |
( |
| ) |
const |
|
virtualinherited |
Print the state of the tool.
Implements asg::IAsgTool.
Reimplemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
Definition at line 131 of file AsgTool.cxx.
◆ rebuildJetMET() [1/4]
◆ rebuildJetMET() [2/4]
Implements IMETRebuilder.
Definition at line 398 of file METRebuilder.cxx.
410 ATH_MSG_WARNING(
"Could not find METComponent for " << jetKey <<
" in MET Map!");
411 return StatusCode::FAILURE;
416 return StatusCode::FAILURE;
421 MissingET* metSoft = (*metCont)[softKey];
426 ATH_MSG_WARNING(
"Could not retrieve soft track component -- STVF calculation failed!");
427 return StatusCode::FAILURE;
431 doJvfCut,pureTrkSoft,softJetScale,
◆ rebuildJetMET() [3/4]
◆ rebuildJetMET() [4/4]
Implements IMETRebuilder.
Definition at line 435 of file METRebuilder.cxx.
446 if(component->
empty())
return StatusCode::SUCCESS;
458 return StatusCode::FAILURE;
461 for(
const auto *
const vx : *PV) {
469 return StatusCode::SUCCESS;
477 float trksumpt_allsoft(0.);
480 ATH_MSG_WARNING(
"Could not retrieve soft track component -- STVF calculation failed!");
481 return StatusCode::FAILURE;
488 bool originalInputs = (testCollection == collcast);
489 bool matchCollection =
true;
493 if(!originalInputs) {
496 ATH_MSG_WARNING(
"Modified container provided without originalObjectLink -- cannot proceed.");
497 matchCollection =
false;
500 matchCollection = (sourceCollection == testCollection);
504 if(!matchCollection) {
505 ATH_MSG_WARNING(
"Problem with input object container -- skipping these terms.");
506 return StatusCode::SUCCESS;
512 iJet!=
jets->end(); ++iJet ) {
515 if(!originalInputs) pJet = *
objLinkAcc(*pJet);
524 passJVF = (*iJet)->pt()>50
e3 || fabs((*iJet)->eta())>2.4 || fabs(jvf[
pv->index()])>
m_jetJvfCut;
525 ATH_MSG_VERBOSE(
"Jet with pt " << (*iJet)->pt() <<
" has jvf = " << jvf[
pv->index()]);
530 ATH_MSG_VERBOSE(
"Retain jet with pt " << (*iJet)->pt() <<
" at full scale.");
532 metJet->
add((*iJet)->px()*jetWeight.
wpx(),
533 (*iJet)->py()*jetWeight.
wpy(),
534 (*iJet)->pt()*jetWeight.
wet());
537 double trkjetpx(0), trkjetpy(0), trkjetpt(0);
542 for(
const auto& trk : jettracks) {
544 bool badTrack =
false;
545 if( (fabs((trk)->
eta())<1.5 && (trk)->
pt()>200
e3) ||
546 (fabs((trk)->
eta())>=1.5 && (trk)->
pt()>120
e3) ) {
548 float Rerr =
Amg::error(trk->definingParametersCovMatrix(),4)/fabs(trk->qOverP());
550 if(Rerr>0.4 || trk->pt()>2*(*iJet)->pt()) badTrack =
true;
552 bool uniqueTrack =
true;
554 if(!badTrack && uniqueTrack) {
557 trkjetpx += trk->pt()*
cos(trk->phi());
558 trkjetpy += trk->pt()*
sin(trk->phi());
559 trkjetpt += trk->pt();
563 trksumpt_allsoft += trk->pt();
570 metSoft->
add(trkjetpx,trkjetpy,trkjetpt);
574 ATH_MSG_VERBOSE(
"Soft jet pt = " << jetP.Pt() <<
", track pt = " << trkjetpt);
575 if(trkjetpt>jetP.Pt() || !passJVF) {
577 <<
" at track scale (pt = " << trkjetpt <<
").");
578 metSoft->
add(trkjetpx,trkjetpy,trkjetpt);
581 <<
" at constituent scale (pt = " << jetP.Pt() <<
").");
582 metSoft->
add(jetP.Px()*jetWeight.
wpx(),
583 jetP.Py()*jetWeight.
wpy(),
584 jetP.Pt()*jetWeight.
wet());
596 <<
" mpx: " << metJet->
mpx()
597 <<
" mpy: " << metJet->
mpy()
601 <<
" mpx: " << metSoft->
mpx()
602 <<
" mpy: " << metSoft->
mpy()
607 return StatusCode::SUCCESS;
◆ rebuildMET() [1/2]
◆ rebuildMET() [2/2]
Implements IMETRebuilder.
Definition at line 310 of file METRebuilder.cxx.
315 if(component->
empty())
return StatusCode::SUCCESS;
320 bool originalInputs = (testCollection == collection);
321 bool matchCollection =
true;
322 if(!collection->
empty()) {
325 if(!originalInputs) {
328 ATH_MSG_WARNING(
"Modified container provided without originalObjectLink -- cannot proceed.");
329 matchCollection =
false;
332 matchCollection = (sourceCollection == testCollection);
335 if(!matchCollection) {
336 ATH_MSG_WARNING(
"Problem with input object container -- skipping this term.");
337 return StatusCode::SUCCESS;
347 iObj!=collection->
end(); ++iObj ) {
351 if(!originalInputs) pObj = *
objLinkAcc(*pObj);
355 ATH_MSG_VERBOSE(
"Object with pt " << (*iObj)->pt() <<
" has weight " << objWeight.
wet() );
361 met->add((*iObj)->pt()*
cos((*iObj)->phi())*objWeight.
wpx(),
362 (*iObj)->pt()*
sin((*iObj)->phi())*objWeight.
wpy(),
363 (*iObj)->pt()*objWeight.
wet());
366 ATH_MSG_VERBOSE(
"Object with pt " << (*iObj)->pt() <<
" not found." );
375 <<
" mpx: " <<
met->mpx()
376 <<
" mpy: " <<
met->mpy()
379 return StatusCode::SUCCESS;
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_detStore
◆ m_doEle
bool met::METRebuilder::m_doEle {} |
|
private |
◆ m_doGamma
bool met::METRebuilder::m_doGamma {} |
|
private |
◆ m_doMuon
bool met::METRebuilder::m_doMuon {} |
|
private |
◆ m_doSTVF
Gaudi::Property<bool> met::METRebuilder::m_doSTVF {this, "ComputeSTVF", false, ""} |
|
private |
◆ m_doTau
bool met::METRebuilder::m_doTau {} |
|
private |
◆ m_doTracks
bool met::METRebuilder::m_doTracks {true} |
|
private |
◆ m_ElectronContainerKey
◆ m_eleTerm
Gaudi::Property<std::string> met::METRebuilder::m_eleTerm {this, "EleTerm", "RefEle", ""} |
|
private |
◆ m_evtStore
◆ m_gammaTerm
Gaudi::Property<std::string> met::METRebuilder::m_gammaTerm {this, "GammaTerm", "RefGamma", ""} |
|
private |
◆ m_JetContainerKey
◆ m_jetDoJvf
Gaudi::Property<bool> met::METRebuilder::m_jetDoJvf {this, "DoJetJVFCut", true, ""} |
|
private |
◆ m_jetJvfCut
Gaudi::Property<double> met::METRebuilder::m_jetJvfCut {this, "CalibJetJvfCut", 0.25, ""} |
|
private |
◆ m_jetPtCut
Gaudi::Property<double> met::METRebuilder::m_jetPtCut {this, "CalibJetPtCut", 20e3, ""} |
|
private |
◆ m_jetTerm
Gaudi::Property<std::string> met::METRebuilder::m_jetTerm {this, "JetTerm", "RefJet", ""} |
|
private |
◆ m_METMapKey
◆ m_MuonContainerKey
◆ m_muonTerm
Gaudi::Property<std::string> met::METRebuilder::m_muonTerm {this, "MuonTerm", "Muons", ""} |
|
private |
◆ m_OutMETKey
◆ m_outMETTerm
Gaudi::Property<std::string> met::METRebuilder::m_outMETTerm {this, "OutputTotal", "Final", ""} |
|
private |
◆ m_PhotonContainerKey
◆ m_pureTrkSoft
bool met::METRebuilder::m_pureTrkSoft {true} |
|
private |
◆ m_PVKey
◆ m_rebuildEle
bool met::METRebuilder::m_rebuildEle {} |
|
private |
◆ m_rebuildGamma
bool met::METRebuilder::m_rebuildGamma {} |
|
private |
◆ m_rebuildMuon
bool met::METRebuilder::m_rebuildMuon {} |
|
private |
◆ m_rebuildTau
bool met::METRebuilder::m_rebuildTau {} |
|
private |
◆ m_softJetScale
Gaudi::Property<std::string> met::METRebuilder::m_softJetScale {this, "SoftJetScale", "", ""} |
|
private |
◆ m_softTerm
Gaudi::Property<std::string> met::METRebuilder::m_softTerm {this, "SoftTerm", "", ""} |
|
private |
◆ m_softTermType
Gaudi::Property<std::string> met::METRebuilder::m_softTermType {this, "SoftTermType", "TrackSoftTerm", ""} |
|
private |
◆ m_TauJetContainerKey
◆ m_tauTerm
Gaudi::Property<std::string> met::METRebuilder::m_tauTerm {this, "TauTerm", "RefTau", ""} |
|
private |
◆ m_trk_doPVsel
Gaudi::Property<bool> met::METRebuilder::m_trk_doPVsel {this, "DoTrackPVSel", true, ""} |
|
private |
◆ m_trkseltool
◆ m_trkUsedDec
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
SG::ReadHandleKey< xAOD::VertexContainer > m_PVKey
size_t nVertices() const
Return the number xAOD::Vertex/vertices that match the photon candidate.
Const iterator class for DataVector/DataList.
Electron_v1 Electron
Definition of the current "egamma version".
size_t nTrackParticles() const
Get the number of tracks associated with this vertex.
Gaudi::Property< std::string > m_gammaTerm
SG::AuxElement::Decorator< char > m_trkUsedDec
float sumet() const
Returns.
Weight weight(const IParticle *pPart) const
Get kinematic weight for a given object.
SG::ReadHandleKey< xAOD::MissingETComponentMap > m_METMapKey
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
double wet() const
Returns .
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
Gaudi::Property< double > m_jetJvfCut
static size_t invalidIndex()
Access invalid index indicator.
const ort::objLinkAccessor_t objLinkAcc("overlapObject")
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
bool empty() const
Test if the key is blank.
Class providing the definition of the 4-vector interface.
static Types::bitmask_t idTrack(Region reg=Region::FullAcceptance)
Bit pattern indicating a ID Track MET term.
@ SoftEvent
Indicator for the MET term from reconstructed soft event signals (tracks, clusters) or MC truth parti...
virtual void setOwner(IDataHandleHolder *o)=0
SG::ReadHandleKey< xAOD::TauJetContainer > m_TauJetContainerKey
StatusCode buildMETSum(const std::string &totalName, xAOD::MissingETContainer *metCont)
Gaudi::Property< std::string > m_softJetScale
static const MissingETComponent * getComponent(const MissingETComponentMap *pMap, const IParticle *pPart)
Access non-modifiable contribution object.
virtual StatusCode rebuildJetMET(const std::string &jetKey, const std::string &softKey, xAOD::MissingETContainer *metCont, const xAOD::JetContainer *jets, const xAOD::MissingETComponentMap *metMap, bool doTracks=true) override
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Gaudi::Property< std::string > m_muonTerm
Gaudi::Property< bool > m_jetDoJvf
Gaudi::Property< std::string > m_softTerm
Helper class to provide type-safe access to aux data.
Class describing a tau jet.
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonContainerKey
Gaudi::Property< std::string > m_jetTerm
SG::ReadHandleKey< xAOD::JetContainer > m_JetContainerKey
const T * front() const
Access the first element in the collection as an rvalue.
std::vector< ElementLink< xAOD::TrackParticleContainer > > trackParticleLinks(const xAOD::TauJet *tau, xAOD::TauJetParameters::TauTrackFlag flag=xAOD::TauJetParameters::TauTrackFlag::classifiedCharged)
static const MissingET * getMissingET(const MissingETComponentMap *pMap, const IParticle *pPart)
float mpx() const
Returns .
Gaudi::Property< bool > m_trk_doPVsel
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
const TrackParticle * trackParticle(size_t i) const
Get the pointer to a given track that was used in vertex reco.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
double wpy() const
Returns .
const std::string & name() const
Identifier getters.
Athena::TPCnvVers::Old Athena::TPCnvVers::Old MissingET
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
void add(const IParticle *particle)
Add particle kinematics to MET.
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.
virtual StatusCode copyMET(const std::string &metKey, xAOD::MissingETContainer *metCont, const xAOD::MissingETComponentMap *metMap) override
Gaudi::Property< bool > m_doSTVF
Gaudi::Property< std::string > m_eleTerm
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
value_type push_back(value_type pElem)
Add an element to the end of the collection.
const xAOD::TrackParticle * getOriginalTrackParticleFromGSF(const xAOD::TrackParticle *trkPar)
Helper function for getting the "Original" Track Particle (i.e before GSF) via the GSF Track Particle...
MissingETBase::Types::bitmask_t source() const
MET object source tag.
size_t findIndex(const IParticle *pPart) const
Find index of given object in contributing object store.
double wpx() const
Returns .
virtual StatusCode rebuildMET(const std::string &metKey, xAOD::MissingETContainer *metCont, const xAOD::IParticleContainer *collection, const xAOD::MissingETComponentMap *metMap, bool doTracks=true) override
Photon_v1 Photon
Definition of the current "egamma version".
struct TBPatternUnitContext Muon
Gaudi::Property< double > m_jetPtCut
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
bool acceptTrack(const xAOD::TrackParticle *trk, const xAOD::Vertex *pv) const
Class describing a Vertex.
const MissingET * metObject() const
Access MET object.
#define ATH_MSG_WARNING(x)
Kinematic weight descriptor.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Gaudi::Property< std::string > m_softTermType
@ Tau
The object is a tau (jet)
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
StatusCode fillMET(xAOD::MissingET *&met, xAOD::MissingETContainer *metCont, const std::string &metKey, const MissingETBase::Types::bitmask_t metSource)
SG::ReadHandleKey< xAOD::ElectronContainer > m_ElectronContainerKey
Class describing a TrackParticle.
Gaudi::Property< std::string > m_tauTerm
float mpy() const
Returns .
SG::WriteHandleKey< xAOD::MissingETContainer > m_OutMETKey
const xAOD::Vertex * vertex(size_t index=0) const
Pointer to the xAOD::Vertex/es that match the photon candidate.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Gaudi::Property< std::string > m_outMETTerm
bool empty() const noexcept
Returns true if the collection is empty.
ToolHandle< InDet::IInDetTrackSelectionTool > m_trkseltool
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
SG::ReadHandleKey< xAOD::PhotonContainer > m_PhotonContainerKey
MET component descriptor contains object links and corresponding parameters.
bool empty() const
Empty list of contributing objects indicator.
void associateTracks(const xAOD::IParticle *obj)
std::vector< const IParticle * > objects() const
Access contributing objects.