\(\mu\)¶
-
class MuonSelector : public xAH::Algorithm¶
Public Functions
-
MuonSelector()¶
-
~MuonSelector()¶
-
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()¶
-
bool executeSelection(const xAOD::MuonContainer *inMuons, float mcEvtWeight, bool countPass, ConstDataVector<xAOD::MuonContainer> *selectedMuons)¶
-
virtual int passCuts(const xAOD::Muon *muon, const xAOD::Vertex *primaryVertex)¶
Public Members
-
bool m_useCutFlow = true¶
-
std::string m_inContainerName = ""¶
input container name
-
std::string m_outContainerName = ""¶
output container name
-
std::string m_outAuxContainerName¶
output auxiliary container name
-
std::string m_inputAlgoSystNames = ""¶
-
std::string m_outputAlgoSystNames = "MuonSelector_Syst"¶
-
bool m_decorateSelectedObjects = true¶
decorate selected objects - default “passSel”
-
bool m_createSelectedContainer = false¶
fill using SG::VIEW_ELEMENTS to be light weight
-
int m_nToProcess = -1¶
look at n objects
-
int m_pass_min = -1¶
minimum number of objects passing cuts
-
int m_pass_max = -1¶
maximum number of objects passing cuts
-
float m_pT_max = 1e8¶
require pT < pt_max
-
float m_pT_min = 1e8¶
require pT > pt_min
-
bool m_pT_NaNcheck = false¶
check if pT is NaN
-
std::string m_muonQualityStr = "Medium"¶
require quality
-
bool m_isRun3Geo = false¶
Switch on Run3 geometry for muon selector tool.
-
float m_eta_max = 1e8¶
require type require |eta| < eta_max
-
float m_d0_max = 1e8¶
require d0 < m_d0_max
-
float m_d0sig_max = 1e8¶
require d0 significance (at BL) < m_d0sig_max
-
float m_z0sintheta_max = 1e8¶
require z0*sin(theta) (at BL - corrected with vertex info) < m_z0sintheta_max
-
bool m_removeCosmicMuon = false¶
Remove cosmic muons that fail absolute z0 and d0 selections.
-
bool m_removeEventBadMuon = true¶
Remove events with a bad muon, defined by poor q/p.
-
bool m_doIsolation = true¶
enable or disable isolation
-
std::string m_MinIsoWPCut = ""¶
reject objects which do not pass this isolation cut - default = “” (no cut)
-
std::string m_IsoWPList = "FCTightTrackOnly_FixedRad,FCLoose_FixedRad,FCTight_FixedRad,FixedCutPflowTight,FixedCutPflowLoose"¶
decorate objects with ‘isIsolated_*’ flag for each WP in this input list - default = all current ASG WPs
-
std::string m_CaloIsoEff = "0.1*x+90"¶
to define a custom WP - make sure “UserDefined” is added in the above input list!
-
std::string m_TrackIsoEff = "98"¶
to define a custom WP - make sure “UserDefined” is added in the above input list!
-
std::string m_CaloBasedIsoType = "topoetcone20"¶
to define a custom WP - make sure “UserDefined” is added in the above input list!
-
std::string m_TrackBasedIsoType = "ptvarcone30"¶
to define a custom WP - make sure “UserDefined” is added in the above input list!
-
std::string m_singleMuTrigChains = ""¶
A comma-separated string w/ alll the HLT single muon trigger chains for which you want to perform the matching. If left empty (as it is by default), no trigger matching will be attempted at all
-
std::string m_diMuTrigChains = ""¶
A comma-separated string w/ all the HLT dimuon trigger chains for which you want to perform the matching. If left empty (as it is by default), no trigger matching will be attempted at all
-
double m_minDeltaR = 0.1¶
Recommended threshold for muon triggers: see https://svnweb.cern.ch/trac/atlasoff/browser/Trigger/TrigAnalysis/TriggerMatchingTool/trunk/src/TestMatchingToolAlg.cxx.
-
bool m_merged_muons = false¶
Element links need to be updated if merged muons are used (LRT + std) / false by default.
-
std::string m_trigInputPrefix = ""¶
Input prefix of trigger decision tool.
-
bool m_doLRT = false¶
add LRT muon information
-
std::string m_isoDecSuffix = ""¶
Private Members
-
int m_muonQuality¶
-
int m_numEvent¶
-
int m_numObject¶
-
int m_numEventPass¶
-
int m_weightNumEventPass¶
-
int m_numObjectPass¶
-
TH1D *m_cutflowHist = nullptr¶
-
TH1D *m_cutflowHistW = nullptr¶
-
int m_cutflow_bin¶
-
bool m_isUsedBefore = false¶
-
TH1D *m_mu_cutflowHist_1 = nullptr¶
-
TH1D *m_mu_cutflowHist_2 = nullptr¶
-
int m_mu_cutflow_all¶
-
int m_mu_cutflow_eta_and_quaility_cut¶
-
int m_mu_cutflow_ptmax_cut¶
-
int m_mu_cutflow_ptmin_cut¶
-
int m_mu_cutflow_ptnan_check¶
-
int m_mu_cutflow_type_cut¶
-
int m_mu_cutflow_z0sintheta_cut¶
-
int m_mu_cutflow_d0_cut¶
-
int m_mu_cutflow_d0sig_cut¶
-
int m_mu_cutflow_iso_cut¶
-
int m_mu_cutflow_cosmic_cut¶
-
std::vector<std::string> m_IsoKeys¶
-
std::vector<std::string> m_singleMuTrigChainsList¶
-
std::vector<std::string> m_diMuTrigChainsList¶
/* contains all the HLT trigger chains tokens extracted from m_singleMuTrigChains */
-
asg::AnaToolHandle<CP::IIsolationSelectionTool> m_isolationSelectionTool_handle = {"CP::IsolationSelectionTool/IsolationSelectionTool", this}¶
/* contains all the HLT trigger chains tokens extracted from m_diMuTrigChains */
-
CP::IsolationSelectionTool *m_isolationSelectionTool = {nullptr}¶
-
asg::AnaToolHandle<CP::IMuonSelectionTool> m_muonSelectionTool_handle = {"CP::MuonSelectionTool/MuonSelectionTool", this}¶
-
asg::AnaToolHandle<Trig::IMatchingTool> m_trigMuonMatchTool_handle¶
-
asg::AnaToolHandle<Trig::TrigDecisionTool> m_trigDecTool_handle = {"Trig::TrigDecisionTool/TrigDecisionTool"}¶
-
asg::AnaToolHandle<Trig::IMatchScoringTool> m_scoreTool = {"Trig::DRScoringTool/DRScoringTool"}¶
-
bool m_doTrigMatch = true¶
This internal variable gets set to false if no triggers are defined or if TrigDecisionTool is missing.
-
MuonSelector()¶