Skip to content
Snippets Groups Projects
Commit 12aa2e3f authored by Teng Jian Khoo's avatar Teng Jian Khoo Committed by Graeme Stewart
Browse files

Reinstate ISystematicsTool inheritance (METInterface-00-02-08)

	* Reinstate ISystematicsTool inheritance
	* Tagging as METInterface-00-02-08

2016-10-19 Attila Krasznahorkay <Attila.Krasznahorkay@cern.ch>
	* Made sure that the dictionary generation would work. As the
	  interfaces are not actually in the met:: namespace...
	* Tagging as METInterface-00-02-07

2016-10-14 TJ Khoo <khoo@cern.ch>
	* Making markInvisible just call rebuildMET for consistency
	* This makes sure that invisible objects are treated correctly in ptHard
	* Tagging as METInterface-00-02-06

2016-10-05 TJ Khoo <khoo@cern.ch>
	* Updating to use object-on-term decorations
	* Tagging as METInterface-00-02-05
parent 2fbac538
No related branches found
No related tags found
No related merge requests found
......@@ -36,19 +36,6 @@ public:
virtual StatusCode rebuildMET(const std::string& metKey,
xAOD::Type::ObjectType metType,
xAOD::MissingETContainer* metCont,
const xAOD::IParticleContainer* collection,
const xAOD::MissingETAssociationMap* map,
std::vector<const xAOD::IParticle*>& uniques,
MissingETBase::UsageHandler::Policy objScale=MissingETBase::UsageHandler::PhysicsObject) = 0;
// Convenience method that doesn't return the uniques list
virtual StatusCode rebuildMET(const std::string& metKey,
xAOD::Type::ObjectType metType,
xAOD::MissingETContainer* metCont,
const xAOD::IParticleContainer* collection,
const xAOD::MissingETAssociationMap* map,
MissingETBase::UsageHandler::Policy objScale=MissingETBase::UsageHandler::PhysicsObject) = 0;
// Convenience method that doesn't return the uniques list
virtual StatusCode rebuildMET(xAOD::MissingET* met,
const xAOD::IParticleContainer* collection,
const xAOD::MissingETAssociationMap* map,
MissingETBase::UsageHandler::Policy objScale=MissingETBase::UsageHandler::PhysicsObject) = 0;
......@@ -56,13 +43,11 @@ public:
virtual StatusCode rebuildMET(xAOD::MissingET* met,
const xAOD::IParticleContainer* collection,
const xAOD::MissingETAssociationMap* map,
std::vector<const xAOD::IParticle*>& uniques,
MissingETBase::UsageHandler::Policy objScale=MissingETBase::UsageHandler::PhysicsObject) = 0;
// Full implementation with option flags
virtual StatusCode rebuildMET(xAOD::MissingET* met,
const xAOD::IParticleContainer* collection,
const xAOD::MissingETAssociationMap* map,
std::vector<const xAOD::IParticle*>& uniques,
MissingETBase::UsageHandler::Policy p,
bool removeOverlap,
MissingETBase::UsageHandler::Policy objScale=MissingETBase::UsageHandler::PhysicsObject) = 0;
......@@ -80,25 +65,7 @@ public:
const xAOD::MissingETContainer* metCoreCont,
const xAOD::MissingETAssociationMap* map,
bool doJetJVT) = 0;
// Version that doesn't return the uniques list
virtual StatusCode rebuildJetMET(const std::string& metJetKey,
const std::string& metSoftKey,
xAOD::MissingETContainer* metCont,
const xAOD::JetContainer* jets,
const xAOD::MissingETContainer* metCoreCont,
const xAOD::MissingETAssociationMap* map,
bool doJetJVT,
std::vector<const xAOD::IParticle*>& uniques) = 0;
// Version with two soft terms
virtual StatusCode rebuildJetMET(const std::string& metJetKey,
const std::string& softClusKey,
const std::string& softTrkKey,
xAOD::MissingETContainer* metCont,
const xAOD::JetContainer* jets,
const xAOD::MissingETContainer* metCoreCont,
const xAOD::MissingETAssociationMap* map,
bool doJetJVT,
std::vector<const xAOD::IParticle*>& uniques) = 0;
virtual StatusCode rebuildJetMET(const std::string& metJetKey,
const std::string& softClusKey,
const std::string& softTrkKey,
......@@ -116,7 +83,6 @@ public:
xAOD::MissingET* metSoftTrk,
const xAOD::MissingET* coreSoftTrk,
bool doJetJVT,
std::vector<const xAOD::IParticle*>& uniques,
bool tracksForHardJets=false,
std::vector<const xAOD::IParticle*>* softConst=0) = 0;
......@@ -128,23 +94,13 @@ public:
const xAOD::MissingETContainer* metCoreCont,
const xAOD::MissingETAssociationMap* map,
bool doJetJVT) = 0;
// Version that doesn't return the uniques list
virtual StatusCode rebuildTrackMET(const std::string& metJetKey,
const std::string& metSoftKey,
xAOD::MissingETContainer* metCont,
const xAOD::JetContainer* jets,
const xAOD::MissingETContainer* metCoreCont,
const xAOD::MissingETAssociationMap* map,
bool doJetJVT,
std::vector<const xAOD::IParticle*>& uniques) = 0;
// Full version receiving MET pointers
virtual StatusCode rebuildTrackMET(xAOD::MissingET* metJet,
const xAOD::JetContainer* jets,
const xAOD::MissingETAssociationMap* map,
xAOD::MissingET* metSoftTrk,
const xAOD::MissingET* coreSoftTrk,
bool doJetJVT,
std::vector<const xAOD::IParticle*>& uniques) = 0;
bool doJetJVT) = 0;
///////////////////////////////////////////////////////////////////
// Additional utility commands
......@@ -152,7 +108,7 @@ public:
virtual StatusCode markInvisible(const xAOD::IParticleContainer* collection,
const xAOD::MissingETAssociationMap* map,
MissingETBase::UsageHandler::Policy p=MissingETBase::UsageHandler::TrackCluster) = 0;
xAOD::MissingETContainer* metCont) = 0;
virtual StatusCode buildMETSum(const std::string& totalName,
xAOD::MissingETContainer* metCont,
......
......@@ -65,7 +65,8 @@ namespace met {
}
class IMETSystematicsTool : virtual public asg::IAsgTool
class IMETSystematicsTool : virtual public asg::IAsgTool,
virtual public CP::ISystematicsTool
{
// Declare the interface that the class provides
ASG_TOOL_INTERFACE( IMETSystematicsTool )
......@@ -73,20 +74,20 @@ class IMETSystematicsTool : virtual public asg::IAsgTool
public:
virtual ~IMETSystematicsTool() {}
virtual void setRandomSeed(int seed) const = 0;
//we don't inherit from CorrectionTool directly, but we are something close to that
virtual CP::CorrectionCode applyCorrection(xAOD::MissingET& met,
const xAOD::MissingETAssociationMap * map=nullptr,
const xAOD::JetContainer * jetCont = nullptr
const xAOD::MissingETAssociationMap * map=nullptr
) const = 0;
virtual CP::CorrectionCode correctedCopy(const xAOD::MissingET& met, xAOD::MissingET*& outputmet,
const xAOD::MissingETAssociationMap * map=nullptr,
const xAOD::JetContainer * jetCont = nullptr
const xAOD::MissingETAssociationMap * map=nullptr
) const = 0;
virtual CP::SystematicCode applySystematicVariation(const CP::SystematicSet & set) = 0;
virtual CP::SystematicSet affectingSystematics() const = 0;
virtual CP::SystematicSet recommendedSystematics() const = 0;
virtual bool isAffectedBySystematic(const CP::SystematicVariation & systematic) const = 0;
// virtual CP::SystematicCode applySystematicVariation(const CP::SystematicSet & set) = 0;
// virtual CP::SystematicSet affectingSystematics() const = 0;
// virtual CP::SystematicSet recommendedSystematics() const = 0;
// virtual bool isAffectedBySystematic(const CP::SystematicVariation & systematic) const = 0;
}; // class IMETSystematicsTool
......
<lcgdict>
<namespace name="met"/>
<class name="met::IMETMaker" />
<class name="met::IMETRebuilder" />
<class name="met::IMETSystematicsTool" />
<class name="IMETMaker" />
<class name="IMETRebuilder" />
<class name="IMETSystematicsTool" />
<!-- Suppress the unwanted classes found by ROOT 6. -->
<!-- Hopefully we can remove these extra lines at one point... -->
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment