.. _program_listing_file_xAODAnaHelpers_ParticlePIDManager.h: Program Listing for File ParticlePIDManager.h ============================================= |exhale_lsh| :ref:`Return to documentation for file ` (``xAODAnaHelpers/ParticlePIDManager.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef xAODAnaHelpers_ParticlePIDManager_H #define xAODAnaHelpers_ParticlePIDManager_H // package include(s): #include "xAODAnaHelpers/HelperClasses.h" #include "xAODAnaHelpers/HelperFunctions.h" #include #include "AsgMessaging/StatusCode.h" #include "ElectronPhotonSelectorTools/AsgElectronLikelihoodTool.h" #include "ElectronPhotonSelectorTools/AsgElectronIsEMSelector.h" #include "ElectronPhotonSelectorTools/egammaPIDdefs.h" #include "ElectronPhotonSelectorTools/LikelihoodEnums.h" // EDM include(s): #include "xAODEgamma/ElectronContainer.h" #include "xAODEgamma/Electron.h" // ROOT include(s): #include "TObject.h" // C++ include(s) #include ANA_MSG_HEADER(msgPIDManager) class ElectronLHPIDManager { public: ElectronLHPIDManager (); ElectronLHPIDManager ( std::string WP, bool debug = false ); ~ElectronLHPIDManager(); StatusCode setupWPs( bool configTools, std::string selector_name = "" ); /* set default values for decorations (do it for all WPs) */ StatusCode setDecorations( const xAOD::Electron* electron ); const std::string getSelectedWP (); /* returns a map containing all the tools */ std::multimap< std::string, AsgElectronLikelihoodTool* > getAllWPTools() { return m_allWPTools; }; /* returns a map containing only the tools w/ (WP >= selected WP) */ std::multimap< std::string, AsgElectronLikelihoodTool* > getValidWPTools() { return m_validWPTools; }; /* returns a string containing all the WPs */ const std::set getAllWPs() { return m_allWPAuxDecors; }; /* returns a string containing only the WPs >= selected WP */ const std::set getValidWPs() { return m_validWPs; }; private: std::string m_selectedWP; bool m_debug; std::multimap m_allWPTools; std::multimap m_validWPTools; std::set m_allWPAuxDecors; std::set m_validWPs; AsgElectronLikelihoodTool* m_asgElectronLikelihoodTool_VeryLoose; AsgElectronLikelihoodTool* m_asgElectronLikelihoodTool_Loose; AsgElectronLikelihoodTool* m_asgElectronLikelihoodTool_LooseBL; AsgElectronLikelihoodTool* m_asgElectronLikelihoodTool_Medium; AsgElectronLikelihoodTool* m_asgElectronLikelihoodTool_Tight; AsgElectronLikelihoodTool* m_asgElectronLikelihoodTool_VeryLooseLLP; AsgElectronLikelihoodTool* m_asgElectronLikelihoodTool_LooseLLP; AsgElectronLikelihoodTool* m_asgElectronLikelihoodTool_MediumLLP; AsgElectronLikelihoodTool* m_asgElectronLikelihoodTool_TightLLP; }; class ElectronCutBasedPIDManager { public: ElectronCutBasedPIDManager (); ElectronCutBasedPIDManager ( std::string WP, bool debug = false ); ~ElectronCutBasedPIDManager(); StatusCode setupWPs( bool configTools, std::string selector_name = "" ); /* set default values for decorations (do it for all WPs) */ StatusCode setDecorations( const xAOD::Electron* electron ); const std::string getSelectedWP ( ) { return m_selectedWP; } /* returns a map containing all the tools */ std::multimap< std::string, AsgElectronIsEMSelector* > getAllWPTools() { return m_allWPTools; }; /* returns a map containing only the tools w/ (WP >= selected WP) */ std::multimap< std::string, AsgElectronIsEMSelector* > getValidWPTools() { return m_validWPTools; }; /* returns a string containing all the WPs */ const std::set getAllWPs() { return m_allWPAuxDecors; }; /* returns a string containing only the WPs >= selected WP */ const std::set getValidWPs() { return m_validWPs; }; private: std::string m_selectedWP; bool m_debug; std::multimap m_allWPTools; std::multimap m_validWPTools; std::set m_allWPAuxDecors; std::set m_validWPs; AsgElectronIsEMSelector* m_asgElectronIsEMSelector_Loose; AsgElectronIsEMSelector* m_asgElectronIsEMSelector_Medium; AsgElectronIsEMSelector* m_asgElectronIsEMSelector_Tight; }; #endif