.. _program_listing_file_xAODAnaHelpers_MetContainer.h: Program Listing for File MetContainer.h ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``xAODAnaHelpers/MetContainer.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef xAODAnaHelpers_MetContainer_H #define xAODAnaHelpers_MetContainer_H #include #include #include "xAODMissingET/MissingETContainer.h" #include namespace xAH { class MetContainer { public: MetContainer(const std::string& name = "met", const std::string& detailStr="", float units = 1e3); ~MetContainer(); void setTree (TTree *tree); void setBranches(TTree *tree); void clear(); void FillMET( const xAOD::MissingETContainer* met); template void connectBranch(TTree *tree, std::string name, T_BR *variable); template void setBranch(TTree *tree, std::string name, T_BR *variable, std::string type); public: std::string m_name; HelperClasses::METInfoSwitch m_infoSwitch; bool m_debug; float m_units; public: // met float m_metFinalClus; float m_metFinalClusPx; float m_metFinalClusPy; float m_metFinalClusPhi; float m_metFinalClusSumEt; float m_metFinalClusOverSqrtSumEt; float m_metFinalClusOverSqrtHt; float m_metFinalClusSignificance; float m_metFinalClusSigDirectional; float m_metFinalClusRho; float m_metFinalClusVarL; float m_metFinalClusVarT; float m_metFinalTrk; float m_metFinalTrkPx; float m_metFinalTrkPy; float m_metFinalTrkPhi; float m_metFinalTrkSumEt; float m_metFinalTrkOverSqrtSumEt; float m_metFinalTrkOverSqrtHt; float m_metFinalTrkSignificance; float m_metFinalTrkSigDirectional; float m_metFinalTrkRho; float m_metFinalTrkVarL; float m_metFinalTrkVarT; float m_metEle; float m_metEleSumEt; float m_metElePhi; float m_metGamma; float m_metGammaSumEt; float m_metGammaPhi; float m_metTau; float m_metTauSumEt; float m_metTauPhi; float m_metMuons; float m_metMuonsSumEt; float m_metMuonsPhi; float m_metJet; float m_metJetSumEt; float m_metJetPhi; float m_metJetTrk; float m_metJetTrkSumEt; float m_metJetTrkPhi; float m_metSoftClus; float m_metSoftClusSumEt; float m_metSoftClusPhi; float m_metSoftTrk; float m_metSoftTrkSumEt; float m_metSoftTrkPhi; }; template void MetContainer::connectBranch(TTree *tree, std::string name, T_BR *variable) { tree->SetBranchStatus ((m_name + name).c_str() , 1); tree->SetBranchAddress ((m_name + name).c_str() , variable); } template void MetContainer::setBranch(TTree *tree, std::string name, T_BR *variable, std::string type) { if (!type.empty()) { tree->Branch((m_name + name).c_str(), variable, (m_name + name + "/" + type).c_str()); } else { tree->Branch((m_name + name).c_str(), variable); } } } #endif // xAODAnaHelpers_MetContainer_H