.. _program_listing_file_xAODAnaHelpers_MuonCalibrator.h: Program Listing for File MuonCalibrator.h ========================================= |exhale_lsh| :ref:`Return to documentation for file ` (``xAODAnaHelpers/MuonCalibrator.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef xAODAnaHelpers_MuonCalibrator_H #define xAODAnaHelpers_MuonCalibrator_H // algorithm wrapper #include "xAODAnaHelpers/Algorithm.h" // external tools include(s): #include #include #include "MuonMomentumCorrections/MuonCalibTool.h" class MuonCalibrator : public xAH::Algorithm { // put your configuration variables here as public variables. // that way they can be set directly from CINT and python. public: // configuration variables std::string m_inContainerName = ""; std::string m_outContainerName = ""; std::string m_calibrationMode = "noOption"; bool m_isRun3Geo = false; bool m_do2StationsHighPt = false; // sort after calibration bool m_sort = true; // systematics std::string m_inputAlgoSystNames = ""; // this is the name of the vector of names of the systematically varied containers produced by THIS algo (these will be the m_inputAlgoSystNames of the algo downstream) std::string m_outputAlgoSystNames = "MuonCalibrator_Syst"; bool m_writeSystToMetadata = false; float m_systVal = 0.0; std::string m_systName = ""; bool m_forceDataCalib = false; private: int m_numEvent; int m_numObject; std::string m_outAuxContainerName; std::string m_outSCContainerName; std::string m_outSCAuxContainerName; std::vector m_systList; // tools asg::AnaToolHandle m_muonCalibrationTool_handle{"CP::MuonCalibTool/MuonCalibrationTool", this}; // variables that don't get filled at submission time should be // protected from being send from the submission node to the worker // node (done by the //!) public: // Tree *myTree; //! // TH1 *myHist; //! // this is a standard constructor MuonCalibrator (); // these are the functions inherited from Algorithm virtual EL::StatusCode setupJob (EL::Job& job); virtual EL::StatusCode fileExecute (); virtual EL::StatusCode histInitialize (); virtual EL::StatusCode changeInput (bool firstFile); virtual EL::StatusCode initialize (); virtual EL::StatusCode execute (); virtual EL::StatusCode postExecute (); virtual EL::StatusCode finalize (); virtual EL::StatusCode histFinalize (); // this is needed to distribute the algorithm to the workers ClassDef(MuonCalibrator, 1); }; #endif