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

'expanded interface for METMaker' (METInterface-00-01-01)

parent f2c19652
No related branches found
No related tags found
No related merge requests found
///////////////////////// -*- C++ -*- /////////////////////////////
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
// IMETMaker.h
// Header file for interface IMETMaker
//
// This is the tool that rebuilds MET at analysis level
//
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
//
// Author: TJ Khoo
///////////////////////////////////////////////////////////////////
#ifndef METINTERFACE_IMETMAKER_H
#define METINTERFACE_IMETMAKER_H
#include "AsgTools/IAsgTool.h"
#include "xAODBase/IParticleContainer.h"
#include "xAODMissingET/MissingETContainer.h"
#include "xAODMissingET/MissingETAssociationMap.h"
#include "xAODJet/JetContainer.h"
class IMETMaker : virtual public asg::IAsgTool {
ASG_TOOL_INTERFACE(IMETMaker)
public:
// virtual StatusCode execute() = 0;
virtual StatusCode rebuildMET(xAOD::MissingET* met,
const xAOD::IParticleContainer* collection,
const xAOD::MissingETAssociationMap* map,
std::vector<const xAOD::IParticle*>& uniques) = 0;
virtual StatusCode rebuildMET(xAOD::MissingET* met,
const xAOD::IParticleContainer* collection,
const xAOD::MissingETAssociationMap* map) = 0;
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) = 0;
virtual StatusCode rebuildJetMET(xAOD::MissingET* metJet,
const xAOD::JetContainer* jets,
const xAOD::MissingETAssociationMap* map,
std::vector<const xAOD::IParticle*>& uniques,
xAOD::MissingET* metSoftClus,
const xAOD::MissingET* coreSoftClus,
xAOD::MissingET* metSoftTrk,
const xAOD::MissingET* coreSoftTrk) = 0;
virtual StatusCode rebuildJetMET(xAOD::MissingET* metJet,
const xAOD::JetContainer* jets,
const xAOD::MissingETAssociationMap* map,
xAOD::MissingET* metSoftClus,
const xAOD::MissingET* coreSoftClus,
xAOD::MissingET* metSoftTrk,
const xAOD::MissingET* coreSoftTrk) = 0;
virtual StatusCode buildMETSum(const std::string& totalName,
xAOD::MissingETContainer* metCont,
MissingETBase::Types::bitmask_t softTermsSource) = 0;
};
#endif
///////////////////////// -*- C++ -*- /////////////////////////////
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
// IMETRebuilder.h
// Header file for interface IMETRebuilder
//
// This is the tool that rebuilds MET at analysis level
//
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
//
// Author: TJ Khoo
///////////////////////////////////////////////////////////////////
#ifndef METINTERFACE_IMETREBUILDER_H
#define METINTERFACE_IMETREBUILDER_H
#include "AsgTools/IAsgTool.h"
#include "xAODBase/IParticleContainer.h"
#include "xAODMissingET/MissingETContainer.h"
#include "xAODMissingET/MissingETComponent.h"
#include "xAODMissingET/MissingETComponentMap.h"
#include "xAODJet/JetContainer.h"
class IMETRebuilder : virtual public asg::IAsgTool {
ASG_TOOL_INTERFACE(IMETRebuilder)
public:
virtual StatusCode execute() = 0;
virtual StatusCode rebuildMET(const std::string& metKey,
xAOD::MissingETContainer* metCont,
const xAOD::IParticleContainer* collection,
const xAOD::MissingETComponentMap* metMap,
bool doTracks=true) = 0;
virtual StatusCode rebuildMET(xAOD::MissingET* met,
const xAOD::IParticleContainer* collection,
const xAOD::MissingETComponent* component,
bool doTracks) = 0;
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;
virtual StatusCode rebuildJetMET(xAOD::MissingET* metJet,
xAOD::MissingET* metSoft,
const xAOD::MissingET* oldSoft,
const xAOD::JetContainer* jets,
const xAOD::MissingETComponent* component,
bool doTracks) = 0;
virtual StatusCode buildMETSum(const std::string& totalName,
xAOD::MissingETContainer* metCont) = 0;
};
#endif
# this makefile also gets parsed by shell scripts
# therefore it does not support full make syntax and features
# edit with care
# for full documentation check:
# https://twiki.cern.ch/twiki/bin/viewauth/Atlas/RootCore#Package_Makefile
PACKAGE = METInterface
PACKAGE_PRELOAD =
PACKAGE_CXXFLAGS =
PACKAGE_OBJFLAGS =
PACKAGE_LDFLAGS =
PACKAGE_BINFLAGS =
PACKAGE_LIBFLAGS =
PACKAGE_DEP = AsgTools xAODBase xAODCore xAODMissingET
PACKAGE_TRYDEP =
PACKAGE_CLEAN =
PACKAGE_NOGRID =
PACKAGE_PEDANTIC = 0
PACKAGE_NOOPT = 0
PACKAGE_NOCC = 1
PACKAGE_REFLEX = 0
include $(ROOTCOREDIR)/Makefile-common
## automatically generated CMT requirements file
package METInterface
author TJ Khoo
## for athena policies: this has to be the first use statement
use AtlasPolicy AtlasPolicy-*
## framework dependencies
use AsgTools AsgTools-* Control/AthToolSupport
## EDM
use xAODBase xAODBase-* Event/xAOD
use xAODMissingET xAODMissingET-* Event/xAOD
use xAODJet xAODJet-* Event/xAOD
##
branches METInterface doc
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