#include "CxAODMaker/DiTauMassHandler.h" #include "EventLoop/StatusCode.h" #include "EventLoop/StatusCode.h" #include "xAODRootAccess/TEvent.h" #include "xAODCore/AuxInfoBase.h" #include "xAODCore/ShallowAuxInfo.h" #include "xAODCore/ShallowCopy.h" #include "CxAODTools/ConfigStore.h" #include "CxAODTools/ReturnCheck.h" // Fill same event info but via different tool to avoid storing the MMC for variations that aren't relavent // Can be called like all the other tools from the analysis and can be overwriten for different analyses // Need to deal with syst varaitions that affect MMC output // Add a getSelection() to event selector and use this to get the selected objects rather than querrying SG // - Put this in a func call to fill the inputs to the MMC such that just this can be overwritten // Think this was to be called from AnalysisBase a bit like jet regression witj allowing to overwrite this and a flag to turn on/off // - Not fully sure about this though DiTauMassHandler::DiTauMassHandler(ConfigStore & config, xAOD::TEvent * event) : m_config(config), m_debug(false), m_msgLevel(MSG::WARNING), m_event(event) { m_config.getif("debug", m_debug); } DiTauMassHandler::~DiTauMassHandler() { } EL::StatusCode DiTauMassHandler::initialize() { } EL::StatusCode DiTauMassHandler::addVariations(const std::vector &variations) { // here we filter the variations that affect the DiTau mass for (TString variation : variations) { // TODO: check for duplications? maybe use set... if (variation.EqualTo("Nominal")) continue; if (variation.EqualTo("Original")) continue; // allow scale factors bool allow = false; //allow |= variation.Contains("MUON_EFF"); //allow |= variation.Contains("EL_EFF"); if (!allow) continue; m_variations.push_back(variation); } return EL::StatusCode::SUCCESS; } EL::StatusCode DiTauMassHandler::executeEvent() { } EL::StatusCode DiTauMassHandler::setOutputContainer() { } void DiTauMassHandler::setVariables(xAOD::EventInfo* eventInfoIn, xAOD::EventInfo* eventInfoOut) { } EL::StatusCode DiTauMassHandler::fillOutputContainer() { } xAOD::EventInfo * DiTauMassHandler::getOutEventInfoVariation(const TString &variation, bool fallbackToNominal) { } EL::StatusCode DiTauMassHandler::clearEvent() { }