ATLAS Offline Software
IMETRebuilder.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // IMETRebuilder.h
8 // Header file for interface IMETRebuilder
9 //
10 // This is the tool that rebuilds MET at analysis level
11 //
12 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
13 //
14 // Author: TJ Khoo
16 
17 #ifndef METINTERFACE_IMETREBUILDER_H
18 #define METINTERFACE_IMETREBUILDER_H
19 
20 #include "AsgTools/IAsgTool.h"
25 #include "xAODJet/JetContainer.h"
26 
27 class IMETRebuilder : virtual public asg::IAsgTool {
29 
30  public:
31 
32  virtual StatusCode execute() = 0;
33 
34  virtual StatusCode copyMET(const std::string& metKey,
35  xAOD::MissingETContainer* metCont,
36  const xAOD::MissingETComponentMap* metMap) = 0;
37 
38  virtual StatusCode rebuildMET(const std::string& metKey,
39  xAOD::MissingETContainer* metCont,
40  const xAOD::IParticleContainer* collection,
41  const xAOD::MissingETComponentMap* metMap,
42  bool doTracks=true) = 0;
43 
45  const xAOD::IParticleContainer* collection,
46  const xAOD::MissingETComponent* component,
47  bool doTracks) = 0;
48 
50 
51  virtual StatusCode rebuildJetMET(const std::string& jetKey,
52  const std::string& softKey,
53  xAOD::MissingETContainer* metCont,
54  const xAOD::JetContainer* jets,
55  const xAOD::MissingETComponentMap* metMap,
56  bool doTracks=true) = 0;
57 
58  virtual StatusCode rebuildJetMET(const std::string& jetKey,
59  const std::string& softKey,
60  xAOD::MissingETContainer* metCont,
61  const xAOD::JetContainer* jets,
62  const xAOD::MissingETComponentMap* metMap,
63  bool doTracks,
64  bool doJvfCut,
65  bool pureTrkSoft,
66  const std::string& softJetScale) = 0;
67 
68  virtual StatusCode rebuildJetMET(const std::string& jetKey,
69  const std::string& softKey,
70  xAOD::MissingETContainer* metCont,
71  const xAOD::JetContainer* jets,
72  const xAOD::MissingETComponentMap* metMap,
73  bool doTracks,
74  bool doJvfCut,
75  bool pureTrkSoft,
76  const std::string& softJetScale,
77  float& stvf) = 0;
78 
80  xAOD::MissingET* metSoft,
81  const xAOD::JetContainer* jets,
82  const xAOD::MissingETComponent* component,
83  bool doTracks,
84  bool doJvfCut,
85  bool pureTrkSoft,
86  const std::string& softJetScale,
87  float& stvf,
88  const xAOD::MissingETComponent* comp_softtrk) = 0;
89 };
90 
91 #endif
xAOD::MissingETComponentMap_v1
Definition: MissingETComponentMap_v1.h:25
IMETRebuilder::execute
virtual StatusCode execute()=0
IMETRebuilder::rebuildJetMET
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
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
MissingETComponent.h
met
Definition: IMETSignificance.h:24
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IParticleContainer.h
IMETRebuilder::rebuildJetMET
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)=0
xAOD::MissingET_v1
Principal data object for Missing ET.
Definition: MissingET_v1.h:25
IMETRebuilder::rebuildMET
virtual StatusCode rebuildMET(xAOD::MissingET *met, const xAOD::IParticleContainer *collection, const xAOD::MissingETComponent *component, bool doTracks)=0
IMETRebuilder::copyMET
virtual StatusCode copyMET(const std::string &metKey, xAOD::MissingETContainer *metCont, const xAOD::MissingETComponentMap *metMap)=0
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
IMETRebuilder::rebuildJetMET
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)=0
IMETRebuilder::rebuildJetMET
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)=0
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
xAOD::MissingETContainer_v1
Container for xAOD::MissingET_v1 objects.
Definition: MissingETContainer_v1.h:21
JetContainer.h
IMETRebuilder::rebuildMET
virtual StatusCode rebuildMET(const std::string &metKey, xAOD::MissingETContainer *metCont, const xAOD::IParticleContainer *collection, const xAOD::MissingETComponentMap *metMap, bool doTracks=true)=0
MissingETComponentMap.h
defineDB.jets
list jets
Definition: JetTagCalibration/share/defineDB.py:24
IMETRebuilder
Definition: IMETRebuilder.h:27
MissingETContainer.h
xAOD::MissingETComponent_v1
MET component descriptor contains object links and corresponding parameters.
Definition: MissingETComponent_v1.h:24