\(\mu\)¶
-
class
MuonSelector
: public xAH::Algorithm¶ Public Functions
-
MuonSelector
()¶
-
~MuonSelector
()¶
-
EL::StatusCode
setupJob
(EL::Job &job)¶
-
EL::StatusCode
fileExecute
()¶
-
EL::StatusCode
histInitialize
()¶
-
EL::StatusCode
changeInput
(bool firstFile)¶
-
EL::StatusCode
initialize
()¶
-
EL::StatusCode
execute
()¶
-
EL::StatusCode
postExecute
()¶
-
EL::StatusCode
finalize
()¶
-
EL::StatusCode
histFinalize
()¶
-
bool
executeSelection
(const xAOD::MuonContainer *inMuons, float mcEvtWeight, bool countPass, ConstDataVector<xAOD::MuonContainer> *selectedMuons)¶
-
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
-
std::string
m_muonQualityStr
= "Medium"¶ require quality
-
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.
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_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", }¶ /* 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", }¶
-
asg::AnaToolHandle<Trig::IMatchingTool>
m_trigMuonMatchTool_handle
¶
-
asg::AnaToolHandle<Trig::TrigDecisionTool>
m_trigDecTool_handle
= {"Trig::TrigDecisionTool/TrigDecisionTool"}¶
-
bool
m_doTrigMatch
= true¶ This internal variable gets set to false if no triggers are defined or if TrigDecisionTool is missing.
-